aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/Image/TextureView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Image/TextureView.cs')
-rw-r--r--Ryujinx.Graphics.OpenGL/Image/TextureView.cs14
1 files changed, 4 insertions, 10 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Image/TextureView.cs b/Ryujinx.Graphics.OpenGL/Image/TextureView.cs
index 5e7b5f22..460d1da4 100644
--- a/Ryujinx.Graphics.OpenGL/Image/TextureView.cs
+++ b/Ryujinx.Graphics.OpenGL/Image/TextureView.cs
@@ -119,7 +119,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
_renderer.TextureCopy.Copy(this, (TextureView)destination, srcRegion, dstRegion, linearFilter);
}
- public byte[] GetData()
+ public unsafe ReadOnlySpan<byte> GetData()
{
int size = 0;
@@ -134,17 +134,11 @@ namespace Ryujinx.Graphics.OpenGL.Image
}
else
{
- byte[] data = new byte[size];
+ IntPtr target = _renderer.PersistentBuffers.Default.GetHostArray(size);
- unsafe
- {
- fixed (byte* ptr = data)
- {
- WriteTo((IntPtr)ptr);
- }
- }
+ WriteTo(target);
- return data;
+ return new ReadOnlySpan<byte>(target.ToPointer(), size);
}
}