diff options
author | riperiperi <rhy3756547@hotmail.com> | 2022-11-17 17:47:41 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-17 18:47:41 +0100 |
commit | 33a4d7d1badbebd2dc05114ef17c85678baed843 (patch) | |
tree | dbf7fd4adb24d59a5adceca6c0cc36099064f917 /Ryujinx.Graphics.Gpu/Shader/GpuChannelComputeState.cs | |
parent | 391e08dd27661b72674f91450ac00d1363938251 (diff) |
GPU: Eliminate CB0 accesses when storage buffer accesses are resolved (#3847)1.1.355
* Eliminate CB0 accesses
Still some work to do, decouple from hle?
* Forgot the important part somehow
* Fix and improve alignment test
* Address Feedback
* Remove some complexity when checking storage buffer alignment
* Update Ryujinx.Graphics.Shader/Translation/Optimizations/GlobalToStorage.cs
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Shader/GpuChannelComputeState.cs')
-rw-r--r-- | Ryujinx.Graphics.Gpu/Shader/GpuChannelComputeState.cs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Gpu/Shader/GpuChannelComputeState.cs b/Ryujinx.Graphics.Gpu/Shader/GpuChannelComputeState.cs index 89a3db71..356d3f3e 100644 --- a/Ryujinx.Graphics.Gpu/Shader/GpuChannelComputeState.cs +++ b/Ryujinx.Graphics.Gpu/Shader/GpuChannelComputeState.cs @@ -33,6 +33,11 @@ namespace Ryujinx.Graphics.Gpu.Shader public readonly int SharedMemorySize; /// <summary> + /// Indicates that any storage buffer use is unaligned. + /// </summary> + public readonly bool HasUnalignedStorageBuffer; + + /// <summary> /// Creates a new GPU compute state. /// </summary> /// <param name="localSizeX">Local group size X of the compute shader</param> @@ -40,18 +45,21 @@ namespace Ryujinx.Graphics.Gpu.Shader /// <param name="localSizeZ">Local group size Z of the compute shader</param> /// <param name="localMemorySize">Local memory size of the compute shader</param> /// <param name="sharedMemorySize">Shared memory size of the compute shader</param> + /// <param name="hasUnalignedStorageBuffer">Indicates that any storage buffer use is unaligned</param> public GpuChannelComputeState( int localSizeX, int localSizeY, int localSizeZ, int localMemorySize, - int sharedMemorySize) + int sharedMemorySize, + bool hasUnalignedStorageBuffer) { LocalSizeX = localSizeX; LocalSizeY = localSizeY; LocalSizeZ = localSizeZ; LocalMemorySize = localMemorySize; SharedMemorySize = sharedMemorySize; + HasUnalignedStorageBuffer = hasUnalignedStorageBuffer; } } }
\ No newline at end of file |