From 4cba0994a1a8a7e0919333e12ffd609ab4b9d9b0 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 9 Jun 2016 13:07:19 -0700 Subject: [PATCH] Coverity: Correctly handle stencil only formats in VK minmax/histogram --- renderdoc/driver/vulkan/vk_replay.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_replay.cpp b/renderdoc/driver/vulkan/vk_replay.cpp index 7310c322b..156afa84e 100644 --- a/renderdoc/driver/vulkan/vk_replay.cpp +++ b/renderdoc/driver/vulkan/vk_replay.cpp @@ -3865,7 +3865,9 @@ bool VulkanReplay::GetMinMax(ResourceId texid, uint32_t sliceFace, uint32_t mip, VkImage liveIm = m_pDriver->GetResourceManager()->GetCurrentHandle(texid); VkImageAspectFlags aspectFlags = VK_IMAGE_ASPECT_COLOR_BIT; - if(IsDepthStencilFormat(layouts.format)) + if(IsStencilOnlyFormat(layouts.format)) + aspectFlags = VK_IMAGE_ASPECT_STENCIL_BIT; + else if(IsDepthStencilFormat(layouts.format)) aspectFlags = VK_IMAGE_ASPECT_DEPTH_BIT; CreateTexImageView(aspectFlags, liveIm, iminfo); @@ -4114,7 +4116,9 @@ bool VulkanReplay::GetHistogram(ResourceId texid, uint32_t sliceFace, uint32_t m VkImage liveIm = m_pDriver->GetResourceManager()->GetCurrentHandle(texid); VkImageAspectFlags aspectFlags = VK_IMAGE_ASPECT_COLOR_BIT; - if(IsDepthStencilFormat(layouts.format)) + if(IsStencilOnlyFormat(layouts.format)) + aspectFlags = VK_IMAGE_ASPECT_STENCIL_BIT; + else if(IsDepthStencilFormat(layouts.format)) aspectFlags = VK_IMAGE_ASPECT_DEPTH_BIT; CreateTexImageView(aspectFlags, liveIm, iminfo);