set the inline state after restoring state

This commit is contained in:
Samuliak 2024-05-24 16:40:01 +02:00 committed by Isaac Marovitz
parent 541f1096b7
commit c3c75b2939
No known key found for this signature in database
GPG Key ID: 97250B2B09A132E1
1 changed files with 11 additions and 0 deletions

View File

@ -45,6 +45,17 @@ namespace Ryujinx.Graphics.Metal
{
_currentState = _backStates[_backStates.Count - 1];
_backStates.RemoveAt(_backStates.Count - 1);
// Set all the inline state, since it might have changed
var renderCommandEncoder = _pipeline.GetOrCreateRenderEncoder();
SetDepthClamp(renderCommandEncoder);
SetScissors(renderCommandEncoder);
SetViewports(renderCommandEncoder);
SetVertexBuffers(renderCommandEncoder, _currentState.VertexBuffers);
SetBuffers(renderCommandEncoder, _currentState.UniformBuffers, true);
SetBuffers(renderCommandEncoder, _currentState.StorageBuffers, true);
SetCullMode(renderCommandEncoder);
SetFrontFace(renderCommandEncoder);
} else
{
Logger.Error?.Print(LogClass.Gpu, "No state to restore");