mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Start implementing more WSI variants
This commit is contained in:
parent
353c421a5c
commit
db074e1c1a
@ -66,6 +66,9 @@ typedef struct gfx_ctx_vulkan_data
|
||||
PFN_vkGetSwapchainImagesKHR fpGetSwapchainImagesKHR;
|
||||
PFN_vkAcquireNextImageKHR fpAcquireNextImageKHR;
|
||||
PFN_vkQueuePresentKHR fpQueuePresentKHR;
|
||||
#ifdef _WIN32
|
||||
PFN_vkCreateWin32SurfaceKHR fpCreateWin32SurfaceKHR;
|
||||
#endif
|
||||
#ifdef ANDROID
|
||||
PFN_vkCreateAndroidSurfaceKHR fpCreateAndroidSurfaceKHR;
|
||||
#endif
|
||||
@ -622,6 +625,12 @@ static bool vulkan_init_context(gfx_ctx_vulkan_data_t *vk,
|
||||
#ifdef ANDROID
|
||||
VK_GET_INSTANCE_PROC_ADDR(vk,
|
||||
vk->context.instance, CreateAndroidSurfaceKHR);
|
||||
#endif
|
||||
break;
|
||||
case VULKAN_WSI_WIN32:
|
||||
#ifdef _WIN32
|
||||
VK_GET_INSTANCE_PROC_ADDR(vk,
|
||||
vk->context.instance, CreateWin32SurfaceKHR);
|
||||
#endif
|
||||
break;
|
||||
case VULKAN_WSI_NONE:
|
||||
@ -979,6 +988,29 @@ static bool vulkan_surface_create(gfx_ctx_vulkan_data_t *vk,
|
||||
return true;
|
||||
#else
|
||||
break;
|
||||
#endif
|
||||
case VULKAN_WSI_WIN32:
|
||||
#ifdef _WIN32
|
||||
{
|
||||
VkWin32SurfaceCreateInfoKHR surf_info;
|
||||
|
||||
memset(&surf_info, 0, sizeof(VkWin32SurfaceCreateInfoKHR));
|
||||
|
||||
surf_info.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
|
||||
surf_info.flags = 0;
|
||||
surf_info.hinstance = display;
|
||||
surf_info.hwnd = surface;
|
||||
|
||||
if (vk->fpCreateWin32SurfaceKHR(vk->context.instance,
|
||||
&surf_info, NULL, &vk->vk_surface) != VK_SUCCESS)
|
||||
return false;
|
||||
|
||||
if (!vulkan_create_swapchain(
|
||||
vk, width, height, swap_interval))
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
break;
|
||||
#endif
|
||||
case VULKAN_WSI_NONE:
|
||||
default:
|
||||
|
Loading…
x
Reference in New Issue
Block a user