don't end render pass when not neccessary

This commit is contained in:
Samuliak 2024-05-19 08:08:12 +02:00 committed by Isaac Marovitz
parent 2abadbd649
commit 918e1c16b7
3 changed files with 97 additions and 142 deletions

View file

@ -48,15 +48,16 @@ namespace Ryujinx.Graphics.Metal
public MTLRenderCommandEncoder GetOrCreateRenderEncoder()
{
if (_currentEncoder != null)
if (_currentEncoder == null || _currentEncoderType != EncoderType.Render)
{
if (_currentEncoderType == EncoderType.Render)
{
return new MTLRenderCommandEncoder(_currentEncoder.Value);
}
BeginRenderPass();
}
return BeginRenderPass();
var renderCommandEncoder = new MTLRenderCommandEncoder(_currentEncoder.Value);
_encoderStateManager.RebindState(renderCommandEncoder);
return renderCommandEncoder;
}
public MTLBlitCommandEncoder GetOrCreateBlitEncoder()