sdl_vulkan.odin 867 B

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