mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-04 17:10:47 +00:00
Add D3D12_Workgroup_Zoo unit tests for Wave Vote operations
WaveActiveAnyTrue() WaveActiveAllTrue() WaveActiveBallot()
This commit is contained in:
@@ -274,11 +274,29 @@ void main(uint3 inTid : SV_DispatchThreadID)
|
||||
}
|
||||
else if(IsTest(9))
|
||||
{
|
||||
// Query function : unit tests
|
||||
// Query functions : unit tests
|
||||
data.x = float(WaveGetLaneCount());
|
||||
data.y = float(WaveGetLaneIndex());
|
||||
data.z = float(WaveIsFirstLane());
|
||||
}
|
||||
else if(IsTest(10))
|
||||
{
|
||||
// Vote functions : unit tests
|
||||
data.x = float(WaveActiveAnyTrue(id*2 > id+10));
|
||||
data.y = float(WaveActiveAllTrue(id < WaveGetLaneCount()));
|
||||
if (id > 10)
|
||||
{
|
||||
data.z = float(WaveActiveAllTrue(id > 10));
|
||||
uint4 ballot = WaveActiveBallot(id > 20);
|
||||
data.w = countbits(ballot.x) + countbits(ballot.y) + countbits(ballot.z) + countbits(ballot.w);
|
||||
}
|
||||
else
|
||||
{
|
||||
data.z = float(WaveActiveAllTrue(id > 3));
|
||||
uint4 ballot = WaveActiveBallot(id > 4);
|
||||
data.w = countbits(ballot.x) + countbits(ballot.y) + countbits(ballot.z) + countbits(ballot.w);
|
||||
}
|
||||
}
|
||||
SetOuput(data);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user