From 1b1685d9ce66b03585c2747a53a766e4bea17e34 Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Sat, 19 Mar 2016 10:38:52 -0600 Subject: [PATCH] layers: GH156 (bug-155): Check for WSI enables https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/155 --- layers/swapchain.cpp | 102 ++++++++++++++++++++++----------------------------- 1 file changed, 43 insertions(+), 59 deletions(-) diff --git a/layers/swapchain.cpp b/layers/swapchain.cpp index c2fb1b4..3134e36 100644 --- a/layers/swapchain.cpp +++ b/layers/swapchain.cpp @@ -1964,19 +1964,17 @@ VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkD layer_data *my_data; my_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map); - VkLayerDispatchTable *pDisp = my_data->device_dispatch_table; - if (my_data->deviceMap.size() != 0 && my_data->deviceMap[device].swapchainExtensionEnabled) { - if (!strcmp("vkCreateSwapchainKHR", funcName)) - return reinterpret_cast(vkCreateSwapchainKHR); - if (!strcmp("vkDestroySwapchainKHR", funcName)) - return reinterpret_cast(vkDestroySwapchainKHR); - if (!strcmp("vkGetSwapchainImagesKHR", funcName)) - return reinterpret_cast(vkGetSwapchainImagesKHR); - if (!strcmp("vkAcquireNextImageKHR", funcName)) - return reinterpret_cast(vkAcquireNextImageKHR); - if (!strcmp("vkQueuePresentKHR", funcName)) - return reinterpret_cast(vkQueuePresentKHR); - } + VkLayerDispatchTable *pDisp = my_data->device_dispatch_table; + if (!strcmp("vkCreateSwapchainKHR", funcName)) + return reinterpret_cast(vkCreateSwapchainKHR); + if (!strcmp("vkDestroySwapchainKHR", funcName)) + return reinterpret_cast(vkDestroySwapchainKHR); + if (!strcmp("vkGetSwapchainImagesKHR", funcName)) + return reinterpret_cast(vkGetSwapchainImagesKHR); + if (!strcmp("vkAcquireNextImageKHR", funcName)) + return reinterpret_cast(vkAcquireNextImageKHR); + if (!strcmp("vkQueuePresentKHR", funcName)) + return reinterpret_cast(vkQueuePresentKHR); if (!strcmp("vkGetDeviceQueue", funcName)) return reinterpret_cast(vkGetDeviceQueue); @@ -2022,63 +2020,49 @@ VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(V } #ifdef VK_USE_PLATFORM_ANDROID_KHR - if (my_data->instanceMap.size() != 0 && my_data->instanceMap[instance].androidSurfaceExtensionEnabled) { - if (!strcmp("vkCreateAndroidSurfaceKHR", funcName)) - return reinterpret_cast(vkCreateAndroidSurfaceKHR); - } + if (!strcmp("vkCreateAndroidSurfaceKHR", funcName)) + return reinterpret_cast(vkCreateAndroidSurfaceKHR); #endif // VK_USE_PLATFORM_ANDROID_KHR #ifdef VK_USE_PLATFORM_MIR_KHR - if (my_data->instanceMap.size() != 0 && my_data->instanceMap[instance].mirSurfaceExtensionEnabled) { - if (!strcmp("vkCreateMirSurfaceKHR", funcName)) - return reinterpret_cast(vkCreateMirSurfaceKHR); - if (!strcmp("vkGetPhysicalDeviceMirPresentationSupportKHR", funcName)) - return reinterpret_cast(vkGetPhysicalDeviceMirPresentationSupportKHR); - } + if (!strcmp("vkCreateMirSurfaceKHR", funcName)) + return reinterpret_cast(vkCreateMirSurfaceKHR); + if (!strcmp("vkGetPhysicalDeviceMirPresentationSupportKHR", funcName)) + return reinterpret_cast(vkGetPhysicalDeviceMirPresentationSupportKHR); #endif // VK_USE_PLATFORM_MIR_KHR #ifdef VK_USE_PLATFORM_WAYLAND_KHR - if (my_data->instanceMap.size() != 0 && my_data->instanceMap[instance].waylandSurfaceExtensionEnabled) { - if (!strcmp("vkCreateWaylandSurfaceKHR", funcName)) - return reinterpret_cast(vkCreateWaylandSurfaceKHR); - if (!strcmp("vkGetPhysicalDeviceWaylandPresentationSupportKHR", funcName)) - return reinterpret_cast(vkGetPhysicalDeviceWaylandPresentationSupportKHR); - } + if (!strcmp("vkCreateWaylandSurfaceKHR", funcName)) + return reinterpret_cast(vkCreateWaylandSurfaceKHR); + if (!strcmp("vkGetPhysicalDeviceWaylandPresentationSupportKHR", funcName)) + return reinterpret_cast(vkGetPhysicalDeviceWaylandPresentationSupportKHR); #endif // VK_USE_PLATFORM_WAYLAND_KHR #ifdef VK_USE_PLATFORM_WIN32_KHR - if (my_data->instanceMap.size() != 0 && my_data->instanceMap[instance].win32SurfaceExtensionEnabled) { - if (!strcmp("vkCreateWin32SurfaceKHR", funcName)) - return reinterpret_cast(vkCreateWin32SurfaceKHR); - if (!strcmp("vkGetPhysicalDeviceWin32PresentationSupportKHR", funcName)) - return reinterpret_cast(vkGetPhysicalDeviceWin32PresentationSupportKHR); - } + if (!strcmp("vkCreateWin32SurfaceKHR", funcName)) + return reinterpret_cast(vkCreateWin32SurfaceKHR); + if (!strcmp("vkGetPhysicalDeviceWin32PresentationSupportKHR", funcName)) + return reinterpret_cast(vkGetPhysicalDeviceWin32PresentationSupportKHR); #endif // VK_USE_PLATFORM_WIN32_KHR #ifdef VK_USE_PLATFORM_XCB_KHR - if (my_data->instanceMap.size() != 0 && my_data->instanceMap[instance].xcbSurfaceExtensionEnabled) { - if (!strcmp("vkCreateXcbSurfaceKHR", funcName)) - return reinterpret_cast(vkCreateXcbSurfaceKHR); - if (!strcmp("vkGetPhysicalDeviceXcbPresentationSupportKHR", funcName)) - return reinterpret_cast(vkGetPhysicalDeviceXcbPresentationSupportKHR); - } + if (!strcmp("vkCreateXcbSurfaceKHR", funcName)) + return reinterpret_cast(vkCreateXcbSurfaceKHR); + if (!strcmp("vkGetPhysicalDeviceXcbPresentationSupportKHR", funcName)) + return reinterpret_cast(vkGetPhysicalDeviceXcbPresentationSupportKHR); #endif // VK_USE_PLATFORM_XCB_KHR #ifdef VK_USE_PLATFORM_XLIB_KHR - if (my_data->instanceMap.size() != 0 && my_data->instanceMap[instance].xlibSurfaceExtensionEnabled) { - if (!strcmp("vkCreateXlibSurfaceKHR", funcName)) - return reinterpret_cast(vkCreateXlibSurfaceKHR); - if (!strcmp("vkGetPhysicalDeviceXlibPresentationSupportKHR", funcName)) - return reinterpret_cast(vkGetPhysicalDeviceXlibPresentationSupportKHR); - } + if (!strcmp("vkCreateXlibSurfaceKHR", funcName)) + return reinterpret_cast(vkCreateXlibSurfaceKHR); + if (!strcmp("vkGetPhysicalDeviceXlibPresentationSupportKHR", funcName)) + return reinterpret_cast(vkGetPhysicalDeviceXlibPresentationSupportKHR); #endif // VK_USE_PLATFORM_XLIB_KHR - if (my_data->instanceMap.size() != 0 && my_data->instanceMap[instance].surfaceExtensionEnabled) { - if (!strcmp("vkDestroySurfaceKHR", funcName)) - return reinterpret_cast(vkDestroySurfaceKHR); - if (!strcmp("vkGetPhysicalDeviceSurfaceSupportKHR", funcName)) - return reinterpret_cast(vkGetPhysicalDeviceSurfaceSupportKHR); - if (!strcmp("vkGetPhysicalDeviceSurfaceCapabilitiesKHR", funcName)) - return reinterpret_cast(vkGetPhysicalDeviceSurfaceCapabilitiesKHR); - if (!strcmp("vkGetPhysicalDeviceSurfaceFormatsKHR", funcName)) - return reinterpret_cast(vkGetPhysicalDeviceSurfaceFormatsKHR); - if (!strcmp("vkGetPhysicalDeviceSurfacePresentModesKHR", funcName)) - return reinterpret_cast(vkGetPhysicalDeviceSurfacePresentModesKHR); - } + if (!strcmp("vkDestroySurfaceKHR", funcName)) + return reinterpret_cast(vkDestroySurfaceKHR); + if (!strcmp("vkGetPhysicalDeviceSurfaceSupportKHR", funcName)) + return reinterpret_cast(vkGetPhysicalDeviceSurfaceSupportKHR); + if (!strcmp("vkGetPhysicalDeviceSurfaceCapabilitiesKHR", funcName)) + return reinterpret_cast(vkGetPhysicalDeviceSurfaceCapabilitiesKHR); + if (!strcmp("vkGetPhysicalDeviceSurfaceFormatsKHR", funcName)) + return reinterpret_cast(vkGetPhysicalDeviceSurfaceFormatsKHR); + if (!strcmp("vkGetPhysicalDeviceSurfacePresentModesKHR", funcName)) + return reinterpret_cast(vkGetPhysicalDeviceSurfacePresentModesKHR); if (pTable->GetInstanceProcAddr == NULL) return NULL; -- 2.7.4