MCPcopy Create free account
hub / github.com/begla/Intrinsic / initVkSurface

Method initVkSurface

IntrinsicCore/src/IntrinsicRendererRenderSystem.cpp:755–788  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

753// <-
754
755void 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

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected