GS:MTL: Extend render pass restart avoidance code to depth-only passes

Previously only worked when the depth texture was removed, but not when the color texture was removed
This commit is contained in:
refractionpcsx2 2023-05-03 21:08:31 +01:00
parent e133e89b6b
commit fe4788ae3f
1 changed files with 2 additions and 0 deletions

View File

@ -2100,6 +2100,8 @@ void GSDeviceMTL::RenderHW(GSHWDrawConfig& config)
config.ds = nullptr;
if (!config.ds && m_current_render.color_target == rt && stencil == m_current_render.stencil_target && m_current_render.depth_target != config.tex)
config.ds = m_current_render.depth_target;
if (!rt && config.ds == m_current_render.depth_target && m_current_render.color_target != config.tex)
rt = m_current_render.color_target;
if (!rt && !config.ds)
{
// If we were rendering depth-only and depth gets cleared by the above check, that turns into rendering nothing, which should be a no-op