diff --git a/util/test/demos/vk/vk_subgroup_zoo.cpp b/util/test/demos/vk/vk_subgroup_zoo.cpp index c043077e9..6c13b6d04 100644 --- a/util/test/demos/vk/vk_subgroup_zoo.cpp +++ b/util/test/demos/vk/vk_subgroup_zoo.cpp @@ -324,6 +324,19 @@ void main() data.w = subgroupShuffle(data.x, 2+id%3); } } + else if(IsTest(12)) + { + // Scan and Prefix functions : unit tests + if (id >= 2 && id <= 20) + { + uvec4 bits = subgroupBallot(id > 4); + data.x = subgroupBallotExclusiveBitCount(bits); + bits = subgroupBallot(id > 10); + data.y = subgroupBallotExclusiveBitCount(bits); + data.z = subgroupExclusiveAdd(data.x); + data.w = subgroupExclusiveMul(1 + data.y); + } + } SetOuput(data); }