| 753 | // <- |
| 754 | |
| 755 | void RenderSystem::initVkSurface(void* p_PlatformHandle, void* p_PlatformWindow) |
| 756 | { |
| 757 | #if defined(VK_USE_PLATFORM_XLIB_KHR) |
| 758 | VkXlibSurfaceCreateInfoKHR surfaceCreateInfo = {}; |
| 759 | { |
| 760 | surfaceCreateInfo.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR; |
| 761 | surfaceCreateInfo.dpy = (Display*)p_PlatformHandle; |
| 762 | surfaceCreateInfo.window = (Window)p_PlatformWindow; |
| 763 | } |
| 764 | VkResult result = vkCreateXlibSurfaceKHR(_vkInstance, &surfaceCreateInfo, |
| 765 | nullptr, &_vkSurface); |
| 766 | _INTR_VK_CHECK_RESULT(result); |
| 767 | #elif defined(VK_USE_PLATFORM_WAYLAND_KHR) |
| 768 | VkWaylandSurfaceCreateInfoKHR surfaceCreateInfo = {}; |
| 769 | { |
| 770 | surfaceCreateInfo.sType = VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR; |
| 771 | surfaceCreateInfo.display = (wl_display*)p_PlatformHandle; |
| 772 | surfaceCreateInfo.surface = (wl_surface*)p_PlatformWindow; |
| 773 | } |
| 774 | VkResult result = vkCreateWaylandSurfaceKHR(_vkInstance, &surfaceCreateInfo, |
| 775 | nullptr, &_vkSurface); |
| 776 | _INTR_VK_CHECK_RESULT(result) |
| 777 | #elif defined(VK_USE_PLATFORM_WIN32_KHR) |
| 778 | VkWin32SurfaceCreateInfoKHR surfaceCreateInfo = {}; |
| 779 | { |
| 780 | surfaceCreateInfo.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR; |
| 781 | surfaceCreateInfo.hinstance = (HINSTANCE)p_PlatformHandle; |
| 782 | surfaceCreateInfo.hwnd = (HWND)p_PlatformWindow; |
| 783 | } |
| 784 | VkResult result = vkCreateWin32SurfaceKHR(_vkInstance, &surfaceCreateInfo, |
| 785 | nullptr, &_vkSurface); |
| 786 | _INTR_VK_CHECK_RESULT(result); |
| 787 | #endif // VK_USE_PLATFORM_WIN32_KHR |
| 788 | } |
| 789 | |
| 790 | // <- |
| 791 |
nothing calls this directly
no outgoing calls
no test coverage detected