fix: don't rebind pipeline unless dirty

This commit is contained in:
Samuliak 2024-05-19 13:32:09 +02:00 committed by Isaac Marovitz
parent 0444e43654
commit bb425bf640

View file

@ -123,6 +123,8 @@ namespace Ryujinx.Graphics.Metal
} }
private void SetPipelineState(MTLRenderCommandEncoder renderCommandEncoder) { private void SetPipelineState(MTLRenderCommandEncoder renderCommandEncoder) {
if (_currentState.Dirty.Pipeline)
{
var renderPipelineDescriptor = new MTLRenderPipelineDescriptor(); var renderPipelineDescriptor = new MTLRenderPipelineDescriptor();
for (int i = 0; i < EncoderState.MaxColorAttachments; i++) for (int i = 0; i < EncoderState.MaxColorAttachments; i++)
@ -207,6 +209,7 @@ namespace Ryujinx.Graphics.Metal
_currentState.BlendColor.Blue, _currentState.BlendColor.Blue,
_currentState.BlendColor.Alpha); _currentState.BlendColor.Alpha);
} }
}
public void UpdateIndexBuffer(BufferRange buffer, IndexType type) public void UpdateIndexBuffer(BufferRange buffer, IndexType type)
{ {