From 2e6332eb6dfdee1db1e444a0c21313c0def6495f Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 14 May 2016 01:12:32 +0200 Subject: [PATCH] Strip out all WSI platform surface instance extensions * We'll add the WSI extensions needed for creating windows on the active platform, so others are unnecessary and possibly unsupported. --- .../vulkan/wrappers/vk_device_funcs.cpp | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp index b6f568286..47f1d0292 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp @@ -99,6 +99,26 @@ void WrappedVulkan::Initialise(VkInitParams ¶ms) params.Extensions.push_back("VK_EXT_debug_report"); #endif + // strip out any WSI extensions. We'll add the ones we want for creating windows + // on the current platforms below, and we don't replay any of the WSI functionality + // directly so these extensions aren't needed + for(auto it = params.Extensions.begin(); it != params.Extensions.end();) + { + if(*it == "VK_KHR_xlib_surface" || + *it == "VK_KHR_xcb_surface" || + *it == "VK_KHR_wayland_surface" || + *it == "VK_KHR_mir_surface" || + *it == "VK_KHR_android_surface" || + *it == "VK_KHR_win32_surface") + { + it = params.Extensions.erase(it); + } + else + { + ++it; + } + } + AddRequiredExtensions(true, params.Extensions); const char **layerscstr = new const char *[params.Layers.size()];