diff --git a/pcsx2/GS/Renderers/DX11/GSDevice11.cpp b/pcsx2/GS/Renderers/DX11/GSDevice11.cpp index 1ec59424d8..d7b322a9fe 100644 --- a/pcsx2/GS/Renderers/DX11/GSDevice11.cpp +++ b/pcsx2/GS/Renderers/DX11/GSDevice11.cpp @@ -3059,23 +3059,19 @@ void GSDevice11::RenderHW(GSHWDrawConfig& config) // Avoid changing framebuffer just to switch from rt+depth to rt and vice versa. // Make sure no tex is bound as both rtv and srv at the same time. // All conflicts should've been taken care of by PSUnbindConflictingSRVs. - if (!(draw_rt || draw_rt_rov) && draw_ds && m_state.rtv && m_state.current_rt && m_state.rtv == *static_cast(m_state.current_rt) && - m_state.current_ds == draw_ds && config.tex != m_state.current_rt && m_state.current_rt->GetSize() == draw_ds->GetSize()) + if (!(draw_rt || draw_rt_rov) && draw_ds && m_state.current_rt && config.tex != m_state.current_rt && m_state.current_rt->GetSize() == draw_ds->GetSize()) { draw_rt = m_state.current_rt; } - else if (!(draw_ds || draw_ds_rov) && draw_rt && m_state.dsv && m_state.current_ds && m_state.dsv == *static_cast(m_state.current_ds) && - m_state.current_rt == draw_rt && config.tex != m_state.current_ds && m_state.current_ds->GetSize() == draw_rt->GetSize()) + else if (!(draw_ds || draw_ds_rov) && draw_rt && m_state.current_ds && config.tex != m_state.current_ds && m_state.current_ds->GetSize() == draw_rt->GetSize()) { draw_ds = m_state.current_ds; } - else if (!(draw_rt || draw_rt_rov) && draw_ds_rov && m_state.rt_uav && m_state.current_rt_uav && m_state.rt_uav == *static_cast(m_state.current_rt_uav) && - m_state.current_ds_uav == draw_ds_rov && config.tex != m_state.current_rt_uav) + else if (!(draw_rt || draw_rt_rov) && draw_ds_rov && m_state.current_rt_uav && config.tex != m_state.current_rt_uav) { draw_rt_rov = m_state.current_rt_uav; } - else if (!(draw_ds || draw_ds_rov) && draw_rt_rov && m_state.ds_uav && m_state.current_ds_uav && m_state.ds_uav == *static_cast(m_state.current_ds_uav) && - m_state.current_rt_uav == draw_rt_rov && config.tex != m_state.current_ds_uav) + else if (!(draw_ds || draw_ds_rov) && draw_rt_rov && m_state.current_ds_uav && config.tex != m_state.current_ds_uav) { draw_ds_rov = m_state.current_ds_uav; }