Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2022-07-20 23:00:35 +0300
committerPedro J. Estébanez <pedrojrulez@gmail.com>2022-07-22 14:39:37 +0300
commit1fe470b199909a7c16b8e095c4bcdf7fbf8d1592 (patch)
treeb69f79052386738484fec7aba4c1cfcfb2f98af0 /reference
parentd8d051381f65b9606fb8016c79b7c3bab872eec3 (diff)
HLSL: Implement GroupOperation(Inclusive/Exclusive)Scan.
Diffstat (limited to 'reference')
-rw-r--r--reference/shaders-hlsl-no-opt/comp/subgroups.invalid.nofxc.sm60.comp2
1 files changed, 2 insertions, 0 deletions
diff --git a/reference/shaders-hlsl-no-opt/comp/subgroups.invalid.nofxc.sm60.comp b/reference/shaders-hlsl-no-opt/comp/subgroups.invalid.nofxc.sm60.comp
index b2f5a5a1..4c11a4b1 100644
--- a/reference/shaders-hlsl-no-opt/comp/subgroups.invalid.nofxc.sm60.comp
+++ b/reference/shaders-hlsl-no-opt/comp/subgroups.invalid.nofxc.sm60.comp
@@ -21,6 +21,8 @@ void comp_main()
float3 first = WaveReadLaneFirst(20.0f.xxx);
uint4 ballot_value = WaveActiveBallot(true);
uint bit_count = countbits(ballot_value.x) + countbits(ballot_value.y) + countbits(ballot_value.z) + countbits(ballot_value.w);
+ uint inclusive_bit_count = countbits(ballot_value.x & gl_SubgroupLeMask.x) + countbits(ballot_value.y & gl_SubgroupLeMask.y) + countbits(ballot_value.z & gl_SubgroupLeMask.z) + countbits(ballot_value.w & gl_SubgroupLeMask.w);
+ uint exclusive_bit_count = countbits(ballot_value.x & gl_SubgroupLtMask.x) + countbits(ballot_value.y & gl_SubgroupLtMask.y) + countbits(ballot_value.z & gl_SubgroupLtMask.z) + countbits(ballot_value.w & gl_SubgroupLtMask.w);
uint shuffled = WaveReadLaneAt(10u, 8u);
uint shuffled_xor = WaveReadLaneAt(30u, WaveGetLaneIndex() ^ 8u);
uint shuffled_up = WaveReadLaneAt(20u, WaveGetLaneIndex() - 4u);