aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Vulkan/NativeArray.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.Vulkan/NativeArray.cs')
-rw-r--r--Ryujinx.Graphics.Vulkan/NativeArray.cs48
1 files changed, 0 insertions, 48 deletions
diff --git a/Ryujinx.Graphics.Vulkan/NativeArray.cs b/Ryujinx.Graphics.Vulkan/NativeArray.cs
deleted file mode 100644
index 3a851287..00000000
--- a/Ryujinx.Graphics.Vulkan/NativeArray.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-using System;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-namespace Ryujinx.Graphics.Vulkan
-{
- unsafe class NativeArray<T> : IDisposable where T : unmanaged
- {
- public T* Pointer { get; private set; }
- public int Length { get; }
-
- public ref T this[int index]
- {
- get => ref Pointer[Checked(index)];
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- private int Checked(int index)
- {
- if ((uint)index >= (uint)Length)
- {
- throw new IndexOutOfRangeException();
- }
-
- return index;
- }
-
- public NativeArray(int length)
- {
- Pointer = (T*)Marshal.AllocHGlobal(checked(length * Unsafe.SizeOf<T>()));
- Length = length;
- }
-
- public Span<T> AsSpan()
- {
- return new Span<T>(Pointer, Length);
- }
-
- public void Dispose()
- {
- if (Pointer != null)
- {
- Marshal.FreeHGlobal((IntPtr)Pointer);
- Pointer = null;
- }
- }
- }
-}