diff --git a/renderdoc/driver/vulkan/vk_resources.h b/renderdoc/driver/vulkan/vk_resources.h index 18ba56ec0..a90d0240e 100644 --- a/renderdoc/driver/vulkan/vk_resources.h +++ b/renderdoc/driver/vulkan/vk_resources.h @@ -1329,6 +1329,7 @@ struct ImageLayouts int layerCount, levelCount, sampleCount; VkExtent3D extent; VkFormat format; + VkImageType imageType; }; DECLARE_REFLECTION_STRUCT(ImageLayouts); diff --git a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp index 585707d2d..0d5af8585 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_resource_funcs.cpp @@ -1464,6 +1464,7 @@ bool WrappedVulkan::Serialise_vkCreateImage(SerialiserType &ser, VkDevice device layouts.levelCount = CreateInfo.mipLevels; layouts.extent = CreateInfo.extent; layouts.format = CreateInfo.format; + layouts.imageType = CreateInfo.imageType; range.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; if(IsDepthOnlyFormat(CreateInfo.format)) @@ -1759,6 +1760,7 @@ VkResult WrappedVulkan::vkCreateImage(VkDevice device, const VkImageCreateInfo * layout->sampleCount = (int)pCreateInfo->samples; layout->extent = pCreateInfo->extent; layout->format = pCreateInfo->format; + layout->imageType = pCreateInfo->imageType; layout->subresourceStates.clear(); diff --git a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp index 5cad936c1..9e9ff6bd4 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp @@ -448,6 +448,7 @@ bool WrappedVulkan::Serialise_vkCreateSwapchainKHR(SerialiserType &ser, VkDevice m_ImageLayouts[liveId].extent = iminfo.extent; m_ImageLayouts[liveId].format = iminfo.format; + m_ImageLayouts[liveId].imageType = iminfo.type; m_ImageLayouts[liveId].subresourceStates.clear(); m_ImageLayouts[liveId].subresourceStates.push_back(ImageRegionState( @@ -584,6 +585,7 @@ void WrappedVulkan::WrapAndProcessCreatedSwapchain(VkDevice device, { SCOPED_LOCK(m_ImageLayoutsLock); m_ImageLayouts[imid].format = pCreateInfo->imageFormat; + m_ImageLayouts[imid].imageType = VK_IMAGE_TYPE_2D; m_ImageLayouts[imid].subresourceStates.clear(); m_ImageLayouts[imid].subresourceStates.push_back(ImageRegionState(