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 struct VkAllocationCallbacks *, surface: VkSurfaceKHR *,) bool { return c.SDL_Vulkan_CreateSurface(window, instance, 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) char const * const * { return c.SDL_Vulkan_GetInstanceExtensions(@ptrCast(count)); } pub inline fn vulkan_DestroySurface(instance: VkInstance, surface: VkSurfaceKHR, allocator: const struct VkAllocationCallbacks *) void { return c.SDL_Vulkan_DestroySurface(instance, surface, allocator); } pub inline fn vulkan_GetPresentationSupport(instance: VkInstance, physicalDevice: VkPhysicalDevice, queueFamilyIndex: u32) bool { return c.SDL_Vulkan_GetPresentationSupport(instance, physicalDevice, queueFamilyIndex); }