From f08a280adef015e9a9a0e9273b4edffeb1157f3a Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sun, 19 Sep 2021 09:38:39 -0300 Subject: Use shader subgroup extensions if shader ballot is not supported (#2627) * Use shader subgroup extensions if shader ballot is not supported * Shader cache version bump + cleanup * The type is still required on the table --- Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/Shuffle.glsl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/Shuffle.glsl') diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/Shuffle.glsl b/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/Shuffle.glsl index cb7c8d43..7cb4764d 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/Shuffle.glsl +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/Shuffle.glsl @@ -2,10 +2,10 @@ float Helper_Shuffle(float x, uint index, uint mask, out bool valid) { uint clamp = mask & 0x1fu; uint segMask = (mask >> 8) & 0x1fu; - uint minThreadId = gl_SubGroupInvocationARB & segMask; + uint minThreadId = $SUBGROUP_INVOCATION$ & segMask; uint maxThreadId = minThreadId | (clamp & ~segMask); uint srcThreadId = (index & ~segMask) | minThreadId; valid = srcThreadId <= maxThreadId; - float v = readInvocationARB(x, srcThreadId); + float v = $SUBGROUP_BROADCAST$(x, srcThreadId); return valid ? v : x; } \ No newline at end of file -- cgit v1.2.3