aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Image
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2020-01-12 20:27:50 -0300
committerjduncanator <1518948+jduncanator@users.noreply.github.com>2020-01-13 10:27:50 +1100
commitb8e3909d800ff5947683bb169d8efda2ef63d697 (patch)
tree653a2e60b42cb45fbeb1ad76aa6b827bc1e38966 /Ryujinx.Graphics.Gpu/Image
parent8b90924c1ebf7e65d1f170df5dd1ac6c2596926f (diff)
Add a GetSpan method to the memory manager and use it on GPU (#877)
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Image')
-rw-r--r--Ryujinx.Graphics.Gpu/Image/SamplerPool.cs2
-rw-r--r--Ryujinx.Graphics.Gpu/Image/Texture.cs2
-rw-r--r--Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs4
-rw-r--r--Ryujinx.Graphics.Gpu/Image/TexturePool.cs4
4 files changed, 6 insertions, 6 deletions
diff --git a/Ryujinx.Graphics.Gpu/Image/SamplerPool.cs b/Ryujinx.Graphics.Gpu/Image/SamplerPool.cs
index f10f800c..2abf96de 100644
--- a/Ryujinx.Graphics.Gpu/Image/SamplerPool.cs
+++ b/Ryujinx.Graphics.Gpu/Image/SamplerPool.cs
@@ -43,7 +43,7 @@ namespace Ryujinx.Graphics.Gpu.Image
{
ulong address = Address + (ulong)(uint)id * DescriptorSize;
- Span<byte> data = Context.PhysicalMemory.Read(address, DescriptorSize);
+ ReadOnlySpan<byte> data = Context.PhysicalMemory.GetSpan(address, DescriptorSize);
SamplerDescriptor descriptor = MemoryMarshal.Cast<byte, SamplerDescriptor>(data)[0];
diff --git a/Ryujinx.Graphics.Gpu/Image/Texture.cs b/Ryujinx.Graphics.Gpu/Image/Texture.cs
index e33de1fa..7d5e9079 100644
--- a/Ryujinx.Graphics.Gpu/Image/Texture.cs
+++ b/Ryujinx.Graphics.Gpu/Image/Texture.cs
@@ -304,7 +304,7 @@ namespace Ryujinx.Graphics.Gpu.Image
return;
}
- Span<byte> data = _context.PhysicalMemory.Read(Address, Size);
+ ReadOnlySpan<byte> data = _context.PhysicalMemory.GetSpan(Address, Size);
if (Info.IsLinear)
{
diff --git a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs
index 984d45a9..7cc7f046 100644
--- a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs
+++ b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs
@@ -197,7 +197,7 @@ namespace Ryujinx.Graphics.Gpu.Image
address = bufferManager.GetGraphicsUniformBufferAddress(stageIndex, binding.CbufSlot);
}
- packedId = MemoryMarshal.Cast<byte, int>(_context.PhysicalMemory.Read(address + (ulong)binding.CbufOffset * 4, 4))[0];
+ packedId = MemoryMarshal.Cast<byte, int>(_context.PhysicalMemory.GetSpan(address + (ulong)binding.CbufOffset * 4, 4))[0];
}
else
{
@@ -321,7 +321,7 @@ namespace Ryujinx.Graphics.Gpu.Image
address += (uint)wordOffset * 4;
- return BitConverter.ToInt32(_context.PhysicalMemory.Read(address, 4));
+ return BitConverter.ToInt32(_context.PhysicalMemory.GetSpan(address, 4));
}
/// <summary>
diff --git a/Ryujinx.Graphics.Gpu/Image/TexturePool.cs b/Ryujinx.Graphics.Gpu/Image/TexturePool.cs
index f6aede79..a4f54c52 100644
--- a/Ryujinx.Graphics.Gpu/Image/TexturePool.cs
+++ b/Ryujinx.Graphics.Gpu/Image/TexturePool.cs
@@ -85,7 +85,7 @@ namespace Ryujinx.Graphics.Gpu.Image
{
ulong address = Address + (ulong)(uint)id * DescriptorSize;
- Span<byte> data = Context.PhysicalMemory.Read(address, DescriptorSize);
+ ReadOnlySpan<byte> data = Context.PhysicalMemory.GetSpan(address, DescriptorSize);
return MemoryMarshal.Cast<byte, TextureDescriptor>(data)[0];
}
@@ -107,7 +107,7 @@ namespace Ryujinx.Graphics.Gpu.Image
if (texture != null)
{
- Span<byte> data = Context.PhysicalMemory.Read(address, DescriptorSize);
+ ReadOnlySpan<byte> data = Context.PhysicalMemory.GetSpan(address, DescriptorSize);
TextureDescriptor descriptor = MemoryMarshal.Cast<byte, TextureDescriptor>(data)[0];