diff --git a/renderdoc/driver/d3d12/d3d12_overlay.cpp b/renderdoc/driver/d3d12/d3d12_overlay.cpp index a8ff6969c..52b78321d 100644 --- a/renderdoc/driver/d3d12/d3d12_overlay.cpp +++ b/renderdoc/driver/d3d12/d3d12_overlay.cpp @@ -145,8 +145,12 @@ struct D3D12QuadOverdrawCallback : public D3D12DrawcallCallback // disable depth/stencil writes pipeDesc.DepthStencilState.DepthWriteMask = D3D12_DEPTH_WRITE_MASK_ZERO; - pipeDesc.DepthStencilState.FrontFace.StencilFunc = D3D12_COMPARISON_FUNC_ALWAYS; - pipeDesc.DepthStencilState.BackFace.StencilFunc = D3D12_COMPARISON_FUNC_ALWAYS; + pipeDesc.DepthStencilState.FrontFace.StencilPassOp = D3D12_STENCIL_OP_KEEP; + pipeDesc.DepthStencilState.FrontFace.StencilFailOp = D3D12_STENCIL_OP_KEEP; + pipeDesc.DepthStencilState.FrontFace.StencilDepthFailOp = D3D12_STENCIL_OP_KEEP; + pipeDesc.DepthStencilState.BackFace.StencilPassOp = D3D12_STENCIL_OP_KEEP; + pipeDesc.DepthStencilState.BackFace.StencilFailOp = D3D12_STENCIL_OP_KEEP; + pipeDesc.DepthStencilState.BackFace.StencilDepthFailOp = D3D12_STENCIL_OP_KEEP; pipeDesc.DepthStencilState.StencilWriteMask = 0; pipeDesc.PS = m_QuadWritePS; diff --git a/renderdoc/driver/vulkan/vk_overlay.cpp b/renderdoc/driver/vulkan/vk_overlay.cpp index da3e3f3b1..27fa3d9e6 100644 --- a/renderdoc/driver/vulkan/vk_overlay.cpp +++ b/renderdoc/driver/vulkan/vk_overlay.cpp @@ -126,15 +126,10 @@ struct VulkanQuadOverdrawCallback : public VulkanDrawcallCallback att->colorWriteMask = 0x0; } - // disable depth/stencil writes + // disable depth/stencil writes but keep any tests enabled VkPipelineDepthStencilStateCreateInfo *ds = (VkPipelineDepthStencilStateCreateInfo *)pipeCreateInfo.pDepthStencilState; ds->depthWriteEnable = false; - ds->stencilTestEnable = false; - ds->depthBoundsTestEnable = false; - ds->front.compareOp = ds->back.compareOp = VK_COMPARE_OP_ALWAYS; - ds->front.compareMask = ds->back.compareMask = ds->front.writeMask = ds->back.writeMask = 0xff; - ds->front.reference = ds->back.reference = 0; ds->front.passOp = ds->front.failOp = ds->front.depthFailOp = VK_STENCIL_OP_KEEP; ds->back.passOp = ds->back.failOp = ds->back.depthFailOp = VK_STENCIL_OP_KEEP;