DisposableBuffer.cs 596 B

1234567891011121314151617181920212223242526
  1. using Silk.NET.Vulkan;
  2. using System;
  3. using Buffer = Silk.NET.Vulkan.Buffer;
  4. namespace Ryujinx.Graphics.Vulkan
  5. {
  6. readonly struct DisposableBuffer : IDisposable
  7. {
  8. private readonly Vk _api;
  9. private readonly Device _device;
  10. public Buffer Value { get; }
  11. public DisposableBuffer(Vk api, Device device, Buffer buffer)
  12. {
  13. _api = api;
  14. _device = device;
  15. Value = buffer;
  16. }
  17. public void Dispose()
  18. {
  19. _api.DestroyBuffer(_device, Value, Span<AllocationCallbacks>.Empty);
  20. }
  21. }
  22. }