From 7b7d02c55c709408ede2d5a75e0280db6835d806 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 14 Jan 2016 22:03:06 +0100 Subject: [PATCH] Fix a couple of cases where depth/stencil aspects could still be wrong --- renderdoc/driver/vulkan/vk_initstate.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/vulkan/vk_initstate.cpp b/renderdoc/driver/vulkan/vk_initstate.cpp index eba88f8ab..0015355ce 100644 --- a/renderdoc/driver/vulkan/vk_initstate.cpp +++ b/renderdoc/driver/vulkan/vk_initstate.cpp @@ -1550,6 +1550,9 @@ bool WrappedVulkan::Serialise_InitialState(ResourceId resid, WrappedVkRes *) { aspectFlags, 0, 1, 0, 1 } }; + if(aspectFlags == VK_IMAGE_ASPECT_DEPTH_BIT && !IsDepthOnlyFormat(fmt)) + srcimBarrier.subresourceRange.aspectMask |= VK_IMAGE_ASPECT_STENCIL_BIT; + VkDeviceSize bufOffset = 0; // copy each slice/mip individually @@ -1890,7 +1893,7 @@ void WrappedVulkan::Apply_InitialState(WrappedVkRes *live, VulkanResourceManager } VkClearDepthStencilValue clearval = { 1.0f, 0 }; - VkImageSubresourceRange range = { VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT, 0, VK_REMAINING_MIP_LEVELS, 0, VK_REMAINING_ARRAY_LAYERS }; + VkImageSubresourceRange range = { barrier.subresourceRange.aspectFlags, 0, VK_REMAINING_MIP_LEVELS, 0, VK_REMAINING_ARRAY_LAYERS }; ObjDisp(cmd)->CmdClearDepthStencilImage(Unwrap(cmd), ToHandle(live), VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, &clearval, 1, &range);