mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-12-25 22:46:01 +00:00
27 lines
569 B
C#
27 lines
569 B
C#
|
using SharpMetal.Metal;
|
||
|
using System;
|
||
|
using System.Runtime.Versioning;
|
||
|
|
||
|
namespace Ryujinx.Graphics.Metal
|
||
|
{
|
||
|
[SupportedOSPlatform("macos")]
|
||
|
public readonly struct DisposableBuffer : IDisposable
|
||
|
{
|
||
|
public MTLBuffer Value { get; }
|
||
|
|
||
|
public DisposableBuffer(MTLBuffer buffer)
|
||
|
{
|
||
|
Value = buffer;
|
||
|
}
|
||
|
|
||
|
public void Dispose()
|
||
|
{
|
||
|
if (Value != IntPtr.Zero)
|
||
|
{
|
||
|
Value.SetPurgeableState(MTLPurgeableState.Empty);
|
||
|
Value.Dispose();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|