view src/zamikongine/platform/windows/vulkan.nim @ 38:c3c963e7c1a6

did: tons of stuff, input, refactoring, fix some errors, some template improvment, sorry for super-commit
author Sam <sam@basx.dev>
date Wed, 18 Jan 2023 09:52:03 +0700
parents
children
line wrap: on
line source

# included in zamikongine/vulkan_helpers
const REQUIRED_PLATFORM_EXTENSIONS* = @["VK_KHR_win32_surface".cstring]

proc load_platform_extensions() =
  loadVK_KHR_win32_surface()

proc createVulkanSurface*(instance: VkInstance, window: NativeWindow): VkSurfaceKHR =
  var surfaceCreateInfo = VkWin32SurfaceCreateInfoKHR(
    sType: VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR,
    hinstance: window.hinstance,
    hwnd: window.hwnd,
  )
  checkVkResult vkCreateWin32SurfaceKHR(instance, addr(surfaceCreateInfo), nil, addr(result))