mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-12 13:00:32 +00:00
Add VK_Workgroup_Zoo unit tests for subgroup Vote operations
subgroupAny() subgroupAll() subgroupBallot()
This commit is contained in:
@@ -290,11 +290,29 @@ void main()
|
||||
}
|
||||
else if(IsTest(9))
|
||||
{
|
||||
// Query function : unit tests
|
||||
// Query functions : unit tests
|
||||
data.x = float(gl_SubgroupSize);
|
||||
data.y = float(gl_SubgroupInvocationID);
|
||||
data.z = float(subgroupElect());
|
||||
}
|
||||
else if(IsTest(10))
|
||||
{
|
||||
// Vote functions : unit tests
|
||||
data.x = float(subgroupAny(id*2 > id+10));
|
||||
data.y = float(subgroupAll(id < gl_SubgroupSize));
|
||||
if (id > 10)
|
||||
{
|
||||
data.z = float(subgroupAll(id > 10));
|
||||
uvec4 ballot = subgroupBallot(id > 20);
|
||||
data.w = bitCount(ballot.x) + bitCount(ballot.y) + bitCount(ballot.z) + bitCount(ballot.w);
|
||||
}
|
||||
else
|
||||
{
|
||||
data.z = float(subgroupAll(id > 3));
|
||||
uvec4 ballot = subgroupBallot(id > 4);
|
||||
data.w = bitCount(ballot.x) + bitCount(ballot.y) + bitCount(ballot.z) + bitCount(ballot.w);
|
||||
}
|
||||
}
|
||||
SetOuput(data);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user