Skip to content

Commit f5542ea

Browse files
committed
Don't fetch possibly modified state when getting bound render targets
1 parent efbae91 commit f5542ea

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

renderdoc/driver/d3d11/d3d11_analyse.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3952,11 +3952,11 @@ ResourceId D3D11DebugManager::RenderOverlay(ResourceId texid, CompType typeHint,
39523952
if(overlay == DebugOverlay::ClearBeforePass)
39533953
m_WrappedDevice->ReplayLog(0, events[0], eReplay_WithoutDraw);
39543954

3955-
D3D11RenderState *state = m_WrappedContext->GetCurrentPipelineState();
3955+
const D3D11RenderState &state = tracker.State();
39563956

3957-
for(size_t i = 0; i < ARRAY_COUNT(state->OM.RenderTargets); i++)
3958-
if(state->OM.RenderTargets[i])
3959-
m_pImmediateContext->ClearRenderTargetView(state->OM.RenderTargets[i], black);
3957+
for(size_t i = 0; i < ARRAY_COUNT(state.OM.RenderTargets); i++)
3958+
if(state.OM.RenderTargets[i])
3959+
m_pImmediateContext->ClearRenderTargetView(state.OM.RenderTargets[i], black);
39603960

39613961
for(size_t i = 0; i < events.size(); i++)
39623962
{

renderdoc/driver/d3d11/d3d11_renderstate.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,7 @@ struct D3D11RenderStateTracker
293293
D3D11RenderStateTracker(WrappedID3D11DeviceContext *ctx);
294294
~D3D11RenderStateTracker();
295295

296+
const D3D11RenderState &State() { return m_RS; }
296297
private:
297298
D3D11RenderState m_RS;
298299
WrappedID3D11DeviceContext *m_pContext;

0 commit comments

Comments
 (0)