2
0

sdl_vulkan.odin 971 B

12345678910111213141516171819202122232425
  1. package sdl2
  2. import "core:c"
  3. import vk "vendor:vulkan"
  4. when ODIN_OS == "windows" { foreign import lib "SDL2.lib" }
  5. when ODIN_OS == "linux" { foreign import lib "system:SDL2" }
  6. when ODIN_OS == "darwin" { foreign import lib "system:SDL2" }
  7. when ODIN_OS == "freebsd" { foreign import lib "system:SDL2" }
  8. VkInstance :: vk.Instance
  9. VkSurfaceKHR :: vk.SurfaceKHR
  10. vulkanInstance :: VkInstance
  11. vulkanSurface :: VkSurfaceKHR
  12. @(default_calling_convention="c", link_prefix="SDL_")
  13. foreign lib {
  14. Vulkan_LoadLibrary :: proc(path: cstring) -> c.int ---
  15. Vulkan_GetVkGetInstanceProcAddr :: proc() -> rawptr ---
  16. Vulkan_UnloadLibrary :: proc() ---
  17. Vulkan_GetInstanceExtensions :: proc(window: ^Window, pCount: ^c.uint, pNames: [^]cstring) -> bool ---
  18. Vulkan_CreateSurface :: proc(window: ^Window, instance: VkInstance, surface: ^VkSurfaceKHR) -> bool ---
  19. Vulkan_GetDrawableSize :: proc(window: ^Window, w, h: ^c.int) ---
  20. }