fast path on not windows
This commit is contained in:
@@ -93,8 +93,8 @@ void main() {
|
||||
barrier();
|
||||
|
||||
|
||||
#ifdef IS_WINDOWS
|
||||
//hate amd hate amd hate amd hate amd
|
||||
|
||||
uint val = warpPrefixSum[gl_LocalInvocationID.x&3u];
|
||||
|
||||
subgroupBarrier();
|
||||
@@ -105,6 +105,14 @@ void main() {
|
||||
if (gl_LocalInvocationID.x<4) {
|
||||
warpPrefixSum[gl_LocalInvocationID.x] = extraJank;
|
||||
}
|
||||
#else
|
||||
if (gl_LocalInvocationID.x<4) {
|
||||
uint val = warpPrefixSum[gl_SubgroupInvocationID];
|
||||
subgroupBarrier();
|
||||
//Use warp to do entire add in 1 reduction
|
||||
warpPrefixSum[gl_SubgroupInvocationID] = subgroupExclusiveAdd(val);
|
||||
}
|
||||
#endif
|
||||
|
||||
memoryBarrierShared();
|
||||
barrier();
|
||||
|
||||
Reference in New Issue
Block a user