From 13588f396249dc71048265d6e92d205d07daac21 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Fri, 11 Apr 2025 08:45:49 +0100 Subject: [PATCH] Alter VK, D3D12 Subgroup_Zoo tests to increase convergence/merge usage --- util/test/demos/d3d12/d3d12_subgroup_zoo.cpp | 7 +++++++ util/test/demos/vk/vk_subgroup_zoo.cpp | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/util/test/demos/d3d12/d3d12_subgroup_zoo.cpp b/util/test/demos/d3d12/d3d12_subgroup_zoo.cpp index e27bf58af..b4acf17fe 100644 --- a/util/test/demos/d3d12/d3d12_subgroup_zoo.cpp +++ b/util/test/demos/d3d12/d3d12_subgroup_zoo.cpp @@ -356,6 +356,13 @@ void main(uint3 inTid : SV_DispatchThreadID) data.z = WavePrefixSum(data.x); data.w = WavePrefixProduct(1 + data.y); } + else + { + data.x = WavePrefixCountBits(id > 23); + data.y = WavePrefixCountBits(id < 1); + data.z = WavePrefixSum(data.x); + data.w = WavePrefixSum(data.y); + } } else if(IsTest(13)) { diff --git a/util/test/demos/vk/vk_subgroup_zoo.cpp b/util/test/demos/vk/vk_subgroup_zoo.cpp index ba99808f5..b48064ee4 100644 --- a/util/test/demos/vk/vk_subgroup_zoo.cpp +++ b/util/test/demos/vk/vk_subgroup_zoo.cpp @@ -336,6 +336,15 @@ void main() data.z = subgroupExclusiveAdd(data.x); data.w = subgroupExclusiveMul(1 + data.y); } + else + { + uvec4 bits = subgroupBallot(id > 23); + data.x = subgroupBallotExclusiveBitCount(bits); + bits = subgroupBallot(id < 1); + data.y = subgroupBallotExclusiveBitCount(bits); + data.z = subgroupExclusiveAdd(data.x); + data.w = subgroupExclusiveAdd(data.y); + } } else if(IsTest(13)) {