diff --git a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp index b9af32b10..1dfe8c641 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp @@ -307,7 +307,12 @@ VkResult WrappedVulkan::vkCreateSwapchainKHR( const VkSwapchainCreateInfoKHR* pCreateInfo, VkSwapchainKHR* pSwapChain) { - VkResult ret = ObjDisp(device)->CreateSwapchainKHR(Unwrap(device), pCreateInfo, pSwapChain); + VkSwapchainCreateInfoKHR createInfo = *pCreateInfo; + + // make sure we can readback to get the screenshot + createInfo.imageUsageFlags |= VK_IMAGE_USAGE_TRANSFER_SOURCE_BIT; + + VkResult ret = ObjDisp(device)->CreateSwapchainKHR(Unwrap(device), &createInfo, pSwapChain); if(ret == VK_SUCCESS) {