mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-26 11:50:59 +00:00
The depth bounds test doesn't run if there is no depth target bound
This commit is contained in:
@@ -1420,7 +1420,8 @@ struct D3D12TestsFailedCallback : public D3D12PixelHistoryCallback
|
||||
D3D12_EXPANDED_PIPELINE_STATE_STREAM_DESC pipeDesc;
|
||||
origPSO->Fill(pipeDesc);
|
||||
|
||||
if(pipeDesc.DepthStencilState.DepthBoundsTestEnable)
|
||||
// When a depth buffer is not bound (e.g. when TIR is enabled), the Depth Bounds Test must always pass.
|
||||
if(pipeDesc.DepthStencilState.DepthBoundsTestEnable && pipeState.GetDSVID() != ResourceId())
|
||||
m_EventDepthBounds[eid] = {pipeState.depthBoundsMin, pipeState.depthBoundsMax};
|
||||
else
|
||||
m_EventDepthBounds[eid] = {};
|
||||
|
||||
@@ -4868,8 +4868,10 @@ rdcarray<PixelModification> VulkanReplay::PixelHistory(rdcarray<EventUsage> even
|
||||
|
||||
if((history[h].preMod.depth < depthBounds.first ||
|
||||
history[h].preMod.depth > depthBounds.second) &&
|
||||
depthBounds.second > depthBounds.first)
|
||||
depthBounds.second > depthBounds.first && dfmt != VK_FORMAT_UNDEFINED)
|
||||
{
|
||||
history[h].depthBoundsFailed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user