diff --git a/src/Ryujinx.Graphics.Metal/MetalRenderer.cs b/src/Ryujinx.Graphics.Metal/MetalRenderer.cs index 1c4db1a01c..787f01c6e2 100644 --- a/src/Ryujinx.Graphics.Metal/MetalRenderer.cs +++ b/src/Ryujinx.Graphics.Metal/MetalRenderer.cs @@ -54,6 +54,12 @@ namespace Ryujinx.Graphics.Metal public BufferHandle CreateBuffer(int size, BufferAccess access) { var buffer = _device.NewBuffer((ulong)size, MTLResourceOptions.ResourceStorageModeShared); + + if (access == BufferAccess.FlushPersistent) + { + buffer.SetPurgeableState(MTLPurgeableState.NonVolatile); + } + var bufferPtr = buffer.NativePtr; return Unsafe.As(ref bufferPtr); }