From 6ed613a6e6a66d57d2fdb045d926e42dfcdd3206 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Wed, 16 Aug 2023 21:31:07 -0300 Subject: Fix vote and shuffle shader instructions on AMD GPUs (#5540) * Move shuffle handling out of the backend to a transform pass * Handle subgroup sizes higher than 32 * Stop using the subgroup size control extension * Make GenerateShuffleFunction static * Shader cache version bump --- src/Ryujinx.Graphics.GAL/Capabilities.cs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/Ryujinx.Graphics.GAL') diff --git a/src/Ryujinx.Graphics.GAL/Capabilities.cs b/src/Ryujinx.Graphics.GAL/Capabilities.cs index f4b1d4d1..d41f8e59 100644 --- a/src/Ryujinx.Graphics.GAL/Capabilities.cs +++ b/src/Ryujinx.Graphics.GAL/Capabilities.cs @@ -52,6 +52,7 @@ namespace Ryujinx.Graphics.GAL public readonly int MaximumComputeSharedMemorySize; public readonly float MaximumSupportedAnisotropy; + public readonly int ShaderSubgroupSize; public readonly int StorageBufferOffsetAlignment; public readonly int GatherBiasPrecision; @@ -101,6 +102,7 @@ namespace Ryujinx.Graphics.GAL uint maximumImagesPerStage, int maximumComputeSharedMemorySize, float maximumSupportedAnisotropy, + int shaderSubgroupSize, int storageBufferOffsetAlignment, int gatherBiasPrecision) { @@ -148,6 +150,7 @@ namespace Ryujinx.Graphics.GAL MaximumImagesPerStage = maximumImagesPerStage; MaximumComputeSharedMemorySize = maximumComputeSharedMemorySize; MaximumSupportedAnisotropy = maximumSupportedAnisotropy; + ShaderSubgroupSize = shaderSubgroupSize; StorageBufferOffsetAlignment = storageBufferOffsetAlignment; GatherBiasPrecision = gatherBiasPrecision; } -- cgit v1.2.3