diff options
Diffstat (limited to 'Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions')
5 files changed, 12 insertions, 12 deletions
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 diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleDown.glsl b/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleDown.glsl index 45012550..71d901d5 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleDown.glsl +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleDown.glsl @@ -2,10 +2,10 @@ float Helper_ShuffleDown(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 = gl_SubGroupInvocationARB + index; + uint srcThreadId = $SUBGROUP_INVOCATION$ + index; valid = srcThreadId <= maxThreadId; - float v = readInvocationARB(x, srcThreadId); + float v = $SUBGROUP_BROADCAST$(x, srcThreadId); return valid ? v : x; }
\ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleUp.glsl b/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleUp.glsl index 0781678a..ae264d87 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleUp.glsl +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleUp.glsl @@ -1,9 +1,9 @@ float Helper_ShuffleUp(float x, uint index, uint mask, out bool valid) { uint segMask = (mask >> 8) & 0x1fu; - uint minThreadId = gl_SubGroupInvocationARB & segMask; - uint srcThreadId = gl_SubGroupInvocationARB - index; + uint minThreadId = $SUBGROUP_INVOCATION$ & segMask; + uint srcThreadId = $SUBGROUP_INVOCATION$ - index; valid = int(srcThreadId) >= int(minThreadId); - float v = readInvocationARB(x, srcThreadId); + float v = $SUBGROUP_BROADCAST$(x, srcThreadId); return valid ? v : x; }
\ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleXor.glsl b/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleXor.glsl index 59db5444..789089d6 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleXor.glsl +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleXor.glsl @@ -2,10 +2,10 @@ float Helper_ShuffleXor(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 = gl_SubGroupInvocationARB ^ index; + uint srcThreadId = $SUBGROUP_INVOCATION$ ^ index; valid = srcThreadId <= maxThreadId; - float v = readInvocationARB(x, srcThreadId); + float v = $SUBGROUP_BROADCAST$(x, srcThreadId); return valid ? v : x; }
\ No newline at end of file diff --git a/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/SwizzleAdd.glsl b/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/SwizzleAdd.glsl index 7df3e57f..ed00dfec 100644 --- a/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/SwizzleAdd.glsl +++ b/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/SwizzleAdd.glsl @@ -2,6 +2,6 @@ float Helper_SwizzleAdd(float x, float y, int mask) { vec4 xLut = vec4(1.0, -1.0, 1.0, 0.0); vec4 yLut = vec4(1.0, 1.0, -1.0, 1.0); - int lutIdx = mask >> int(gl_SubGroupInvocationARB & 3u) * 2; + int lutIdx = mask >> int($SUBGROUP_INVOCATION$ & 3u) * 2; return x * xLut[lutIdx] + y * yLut[lutIdx]; }
\ No newline at end of file |
