Skip to content

Commit 809a3f7

Browse files
GS/DX12: Expand the fb optimization hit detection.
1 parent cd9530e commit 809a3f7

1 file changed

Lines changed: 8 additions & 11 deletions

File tree

pcsx2/GS/Renderers/DX12/GSDevice12.cpp

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4415,19 +4415,16 @@ void GSDevice12::RenderHW(GSHWDrawConfig& config)
44154415
(draw_ds && static_cast<GSTexture12*>(draw_ds)->GetSRVDescriptor() == m_tfx_textures[0])))
44164416
PSSetShaderResource(0, nullptr, false);
44174417

4418-
if (InRenderPass() && (m_current_render_target == draw_rt || m_current_depth_target == draw_ds))
4418+
// Avoid restarting the render pass just to switch from rt+depth to rt and vice versa.
4419+
// Keep the depth even if doing colclip hw draws, because the next draw will probably re-enable depth.
4420+
if (InRenderPass() && !(draw_rt || draw_rt_rov) && draw_ds && m_current_render_target && config.tex != m_current_render_target &&
4421+
m_current_render_target->GetSize() == draw_ds->GetSize())
44194422
{
4420-
// avoid restarting the render pass just to switch from rt+depth to rt and vice versa
4421-
// keep the depth even if doing colclip hw draws, because the next draw will probably re-enable depth
4422-
if (!(draw_rt || draw_rt_rov) && m_current_render_target && config.tex != m_current_render_target &&
4423-
draw_ds && m_current_render_target->GetSize() == draw_ds->GetSize())
4424-
{
4425-
draw_rt = m_current_render_target;
4426-
m_pipeline_selector.rt = true;
4427-
}
4423+
draw_rt = m_current_render_target;
4424+
m_pipeline_selector.rt = true;
44284425
}
4429-
else if (!(draw_ds || draw_ds_rov) && m_current_depth_target && config.tex != m_current_depth_target &&
4430-
draw_rt && m_current_depth_target->GetSize() == draw_rt->GetSize())
4426+
else if (InRenderPass() && !(draw_ds || draw_ds_rov) && draw_rt && m_current_depth_target && config.tex != m_current_depth_target &&
4427+
m_current_depth_target->GetSize() == draw_rt->GetSize())
44314428
{
44324429
draw_ds = m_current_depth_target;
44334430
m_pipeline_selector.ds = true;

0 commit comments

Comments
 (0)