diff --git a/src/d3d11/d3d11_context.cpp b/src/d3d11/d3d11_context.cpp index ec81e5f7..325b733d 100644 --- a/src/d3d11/d3d11_context.cpp +++ b/src/d3d11/d3d11_context.cpp @@ -2723,7 +2723,6 @@ namespace dxvk { return; bool needsUpdate = false; - bool needsSpill = false; if (likely(NumRTVs != D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL)) { // Native D3D11 does not change the render targets if @@ -2785,15 +2784,13 @@ namespace dxvk { if (NumRTVs == D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL) needsUpdate |= ResolveOmRtvHazards(uav); - - needsSpill = true; } } } } - if (needsUpdate || needsSpill) - BindFramebuffer(needsSpill); + if (needsUpdate) + BindFramebuffer(); } @@ -3407,7 +3404,7 @@ namespace dxvk { } - void D3D11DeviceContext::BindFramebuffer(BOOL Spill) { + void D3D11DeviceContext::BindFramebuffer() { DxvkRenderTargets attachments; // D3D11 doesn't have the concept of a framebuffer object, @@ -3429,10 +3426,9 @@ namespace dxvk { // Create and bind the framebuffer object to the context EmitCs([ - cAttachments = std::move(attachments), - cSpill = Spill + cAttachments = std::move(attachments) ] (DxvkContext* ctx) { - ctx->bindRenderTargets(cAttachments, cSpill); + ctx->bindRenderTargets(cAttachments, false); }); } @@ -3780,7 +3776,7 @@ namespace dxvk { void D3D11DeviceContext::RestoreState() { - BindFramebuffer(m_state.om.maxUav > 0); + BindFramebuffer(); BindShader (GetCommonShader(m_state.vs.shader.ptr())); BindShader (GetCommonShader(m_state.hs.shader.ptr())); diff --git a/src/d3d11/d3d11_context.h b/src/d3d11/d3d11_context.h index a03e1f96..b513c70d 100644 --- a/src/d3d11/d3d11_context.h +++ b/src/d3d11/d3d11_context.h @@ -744,8 +744,7 @@ namespace dxvk { void BindShader( const D3D11CommonShader* pShaderModule); - void BindFramebuffer( - BOOL Spill); + void BindFramebuffer(); void BindDrawBuffers( D3D11Buffer* pBufferForArgs,