35 lines
1.2 KiB
Zig
35 lines
1.2 KiB
Zig
const std = @import("std");
|
|
pub const c = @import("c.zig").c;
|
|
|
|
pub const Window = opaque {
|
|
pub inline fn vulkan_CreateSurface(window: *Window, instance: VkInstance, allocator: *const VkAllocationCallbacks, surface: [*c]VkSurfaceKHR) bool {
|
|
return c.SDL_Vulkan_CreateSurface(window, instance, @ptrCast(allocator), surface);
|
|
}
|
|
|
|
};
|
|
|
|
pub inline fn vulkan_LoadLibrary(path: [*c]const u8) bool {
|
|
return c.SDL_Vulkan_LoadLibrary(path);
|
|
}
|
|
|
|
pub inline fn vulkan_GetVkGetInstanceProcAddr() FunctionPointer {
|
|
return c.SDL_Vulkan_GetVkGetInstanceProcAddr();
|
|
}
|
|
|
|
pub inline fn vulkan_UnloadLibrary() void {
|
|
return c.SDL_Vulkan_UnloadLibrary();
|
|
}
|
|
|
|
pub inline fn vulkan_GetInstanceExtensions(count: *u32) [*c]char const * const {
|
|
return c.SDL_Vulkan_GetInstanceExtensions(@ptrCast(count));
|
|
}
|
|
|
|
pub inline fn vulkan_DestroySurface(instance: VkInstance, surface: VkSurfaceKHR, allocator: *const VkAllocationCallbacks) void {
|
|
return c.SDL_Vulkan_DestroySurface(instance, surface, @ptrCast(allocator));
|
|
}
|
|
|
|
pub inline fn vulkan_GetPresentationSupport(instance: VkInstance, physicalDevice: VkPhysicalDevice, queueFamilyIndex: u32) bool {
|
|
return c.SDL_Vulkan_GetPresentationSupport(instance, physicalDevice, queueFamilyIndex);
|
|
}
|
|
|