Refactor vulkan_surface_create

This commit is contained in:
twinaphex 2016-02-19 12:23:16 +01:00
parent db074e1c1a
commit cebefa6ae1
2 changed files with 12 additions and 24 deletions

View File

@ -46,6 +46,7 @@ enum vulkan_wsi_type
VULKAN_WSI_WAYLAND, VULKAN_WSI_WAYLAND,
VULKAN_WSI_ANDROID, VULKAN_WSI_ANDROID,
VULKAN_WSI_WIN32, VULKAN_WSI_WIN32,
VULKAN_WSI_XCB,
VULKAN_WSI_XLIB VULKAN_WSI_XLIB
}; };

View File

@ -954,18 +954,12 @@ static bool vulkan_surface_create(gfx_ctx_vulkan_data_t *vk,
surf_info.display = (struct wl_display*)display; surf_info.display = (struct wl_display*)display;
surf_info.surface = (struct wl_surface*)surface; surf_info.surface = (struct wl_surface*)surface;
vk->fpCreateWaylandSurfaceKHR(vk->context.instance, if (vk->fpCreateWaylandSurfaceKHR(vk->context.instance,
&surf_info, NULL, &vk->vk_surface); &surf_info, NULL, &vk->vk_surface) != VK_SUCCESS)
if (!vulkan_create_swapchain(
vk, width, height, swap_interval))
return false; return false;
} }
return true;
#else
break;
#endif #endif
break;
case VULKAN_WSI_ANDROID: case VULKAN_WSI_ANDROID:
#ifdef ANDROID #ifdef ANDROID
{ {
@ -980,15 +974,9 @@ static bool vulkan_surface_create(gfx_ctx_vulkan_data_t *vk,
if (vk->fpCreateAndroidSurfaceKHR(vk->context.instance, if (vk->fpCreateAndroidSurfaceKHR(vk->context.instance,
&surf_info, NULL, &vk->vk_surface) != VK_SUCCESS) &surf_info, NULL, &vk->vk_surface) != VK_SUCCESS)
return false; return false;
if (!vulkan_create_swapchain(
vk, width, height, swap_interval))
return false;
} }
return true;
#else
break;
#endif #endif
break;
case VULKAN_WSI_WIN32: case VULKAN_WSI_WIN32:
#ifdef _WIN32 #ifdef _WIN32
{ {
@ -1004,20 +992,19 @@ static bool vulkan_surface_create(gfx_ctx_vulkan_data_t *vk,
if (vk->fpCreateWin32SurfaceKHR(vk->context.instance, if (vk->fpCreateWin32SurfaceKHR(vk->context.instance,
&surf_info, NULL, &vk->vk_surface) != VK_SUCCESS) &surf_info, NULL, &vk->vk_surface) != VK_SUCCESS)
return false; return false;
if (!vulkan_create_swapchain(
vk, width, height, swap_interval))
return false;
} }
#else
break;
#endif #endif
break;
case VULKAN_WSI_NONE: case VULKAN_WSI_NONE:
default: default:
break; return false;
} }
return false; if (!vulkan_create_swapchain(
vk, width, height, swap_interval))
return false;
return true;
} }
#endif #endif