@@ -92,7 +92,7 @@ struct FFT<2,false, Scalar, device_capabilities>
92
92
complex_t<Scalar> hi = {hiVec.x, hiVec.y};
93
93
94
94
// special first iteration - only if workgroupsize > subgroupsize
95
- if (_NBL_HLSL_WORKGROUP_SIZE_ ^ glsl::gl_SubgroupSize ())
95
+ if (_NBL_HLSL_WORKGROUP_SIZE_ > glsl::gl_SubgroupSize ())
96
96
fft::DIF<Scalar>::radix2 (fft::twiddle<false , Scalar>(threadID, _NBL_HLSL_WORKGROUP_SIZE_), lo, hi);
97
97
98
98
// Run bigger steps until Subgroup-sized
@@ -105,7 +105,7 @@ struct FFT<2,false, Scalar, device_capabilities>
105
105
}
106
106
107
107
// special last workgroup-shuffle - only if workgroupsize > subgroupsize
108
- if (_NBL_HLSL_WORKGROUP_SIZE_ ^ glsl::gl_SubgroupSize ())
108
+ if (_NBL_HLSL_WORKGROUP_SIZE_ > glsl::gl_SubgroupSize ())
109
109
{
110
110
// Wait for all threads to be done with reads in the last loop before writing to shared mem
111
111
sharedmemAdaptor.workgroupExecutionAndMemoryBarrier ();
@@ -168,7 +168,7 @@ struct FFT<2,true, Scalar, device_capabilities>
168
168
subgroup::FFT<true , Scalar, device_capabilities>::__call (lo, hi);
169
169
170
170
// special first workgroup-shuffle - only if workgroupsize > subgroupsize
171
- if (_NBL_HLSL_WORKGROUP_SIZE_ ^ glsl::gl_SubgroupSize ())
171
+ if (_NBL_HLSL_WORKGROUP_SIZE_ > glsl::gl_SubgroupSize ())
172
172
{
173
173
exchangeValues<SharedMemoryAccessor, Scalar>(lo, hi, threadID, glsl::gl_SubgroupSize (), sharedmemAdaptor);
174
174
}
@@ -182,7 +182,7 @@ struct FFT<2,true, Scalar, device_capabilities>
182
182
}
183
183
184
184
// special last iteration - only if workgroupsize > subgroupsize
185
- if (_NBL_HLSL_WORKGROUP_SIZE_ ^ glsl::gl_SubgroupSize ())
185
+ if (_NBL_HLSL_WORKGROUP_SIZE_ > glsl::gl_SubgroupSize ())
186
186
{
187
187
fft::DIT<Scalar>::radix2 (fft::twiddle<true , Scalar>(threadID, _NBL_HLSL_WORKGROUP_SIZE_), lo, hi);
188
188
divides_assign< complex_t<Scalar> > divAss;
0 commit comments