From 5795bb15282498b3824a5d15fe1ff78b85a18c23 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Wed, 27 May 2020 11:07:10 -0300 Subject: Support separate textures and samplers (#1216) * Support separate textures and samplers * Add missing bindless flag, fix SNORM format on buffer textures * Add missing separation * Add comments about the new handles --- Ryujinx.Graphics.Gpu/Engine/Compute.cs | 9 ++------- Ryujinx.Graphics.Gpu/Engine/Methods.cs | 4 +--- 2 files changed, 3 insertions(+), 10 deletions(-) (limited to 'Ryujinx.Graphics.Gpu/Engine') diff --git a/Ryujinx.Graphics.Gpu/Engine/Compute.cs b/Ryujinx.Graphics.Gpu/Engine/Compute.cs index 7b4b1e8a..0386df95 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Compute.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Compute.cs @@ -4,7 +4,6 @@ using Ryujinx.Graphics.Gpu.Shader; using Ryujinx.Graphics.Gpu.State; using Ryujinx.Graphics.Shader; using System; -using System.Runtime.InteropServices; namespace Ryujinx.Graphics.Gpu.Engine { @@ -91,9 +90,7 @@ namespace Ryujinx.Graphics.Gpu.Engine cbDescAddress += (ulong)cbDescOffset; - ReadOnlySpan cbDescriptorData = _context.PhysicalMemory.GetSpan(cbDescAddress, 0x10); - - SbDescriptor cbDescriptor = MemoryMarshal.Cast(cbDescriptorData)[0]; + SbDescriptor cbDescriptor = _context.PhysicalMemory.Read(cbDescAddress); BufferManager.SetComputeUniformBuffer(cb.Slot, cbDescriptor.PackAddress(), (uint)cbDescriptor.Size); } @@ -110,9 +107,7 @@ namespace Ryujinx.Graphics.Gpu.Engine sbDescAddress += (ulong)sbDescOffset; - ReadOnlySpan sbDescriptorData = _context.PhysicalMemory.GetSpan(sbDescAddress, 0x10); - - SbDescriptor sbDescriptor = MemoryMarshal.Cast(sbDescriptorData)[0]; + SbDescriptor sbDescriptor = _context.PhysicalMemory.Read(sbDescAddress); BufferManager.SetComputeStorageBuffer(sb.Slot, sbDescriptor.PackAddress(), (uint)sbDescriptor.Size); } diff --git a/Ryujinx.Graphics.Gpu/Engine/Methods.cs b/Ryujinx.Graphics.Gpu/Engine/Methods.cs index acb5ad5c..733f15c1 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Methods.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Methods.cs @@ -292,9 +292,7 @@ namespace Ryujinx.Graphics.Gpu.Engine sbDescAddress += (ulong)sbDescOffset; - ReadOnlySpan sbDescriptorData = _context.PhysicalMemory.GetSpan(sbDescAddress, 0x10); - - SbDescriptor sbDescriptor = MemoryMarshal.Cast(sbDescriptorData)[0]; + SbDescriptor sbDescriptor = _context.PhysicalMemory.Read(sbDescAddress); BufferManager.SetGraphicsStorageBuffer(stage, sb.Slot, sbDescriptor.PackAddress(), (uint)sbDescriptor.Size); } -- cgit v1.2.3