From cee712105850ac3385cd0091a923438167433f9f Mon Sep 17 00:00:00 2001 From: TSR Berry <20988865+TSRBerry@users.noreply.github.com> Date: Sat, 8 Apr 2023 01:22:00 +0200 Subject: Move solution and projects to src --- .../CodeGen/Glsl/HelperFunctions/ShuffleUp.glsl | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleUp.glsl (limited to 'src/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleUp.glsl') diff --git a/src/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleUp.glsl b/src/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleUp.glsl new file mode 100644 index 00000000..ae264d87 --- /dev/null +++ b/src/Ryujinx.Graphics.Shader/CodeGen/Glsl/HelperFunctions/ShuffleUp.glsl @@ -0,0 +1,9 @@ +float Helper_ShuffleUp(float x, uint index, uint mask, out bool valid) +{ + uint segMask = (mask >> 8) & 0x1fu; + uint minThreadId = $SUBGROUP_INVOCATION$ & segMask; + uint srcThreadId = $SUBGROUP_INVOCATION$ - index; + valid = int(srcThreadId) >= int(minThreadId); + float v = $SUBGROUP_BROADCAST$(x, srcThreadId); + return valid ? v : x; +} \ No newline at end of file -- cgit v1.2.3