File tree Expand file tree Collapse file tree 2 files changed +9
-3
lines changed
examples_tests/49.ComputeFFT Expand file tree Collapse file tree 2 files changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -443,7 +443,7 @@ int main()
443
443
video::IGPUImage::SCreationParams imageParams;
444
444
imageParams.flags = static_cast <asset::IImage::E_CREATE_FLAGS>(0u );
445
445
imageParams.type = asset::IImage::ET_2D;
446
- imageParams.format = asset:: EF_R16G16_SFLOAT;
446
+ imageParams.format = useHalfFloats ? EF_R16G16_SFLOAT:EF_R32G32_SFLOAT ;
447
447
imageParams.extent = { paddedKerDim.width ,paddedKerDim.height ,1u };
448
448
imageParams.mipLevels = 1u ;
449
449
imageParams.arrayLayers = 1u ;
@@ -453,7 +453,7 @@ int main()
453
453
viewParams.flags = static_cast <video::IGPUImageView::E_CREATE_FLAGS>(0u );
454
454
viewParams.image = driver->createGPUImageOnDedMem (std::move (imageParams),driver->getDeviceLocalGPUMemoryReqs ());
455
455
viewParams.viewType = video::IGPUImageView::ET_2D;
456
- viewParams.format = asset:: EF_R16G16_SFLOAT;
456
+ viewParams.format = useHalfFloats ? EF_R16G16_SFLOAT:EF_R32G32_SFLOAT ;
457
457
viewParams.components = {};
458
458
viewParams.subresourceRange = {};
459
459
viewParams.subresourceRange .levelCount = 1u ;
Original file line number Diff line number Diff line change @@ -15,11 +15,17 @@ layout(push_constant) uniform PushConstants
15
15
uvec4 bitreverse_shift;
16
16
} pc;
17
17
18
+ #include <nbl/builtin/glsl/colorspace/encodeCIEXYZ.glsl>
19
+
18
20
void main()
19
21
{
20
22
nbl_glsl_complex value = nbl_glsl_ext_FFT_storage_t_get(in_data[nbl_glsl_dot(gl_GlobalInvocationID,pc.strides.xyz)]);
21
23
22
- const float power = abs(nbl_glsl_ext_FFT_storage_t_get(in_data[0]).x); // imaginary component will be 0
24
+ // imaginary component will be 0, image shall be positive
25
+ vec3 avg;
26
+ for (uint i=0u; i<3u; i++)
27
+ avg[i] = nbl_glsl_ext_FFT_storage_t_get(in_data[pc.strides.z*i]).x;
28
+ const float power = (nbl_glsl_scRGBtoXYZ*avg).y;
23
29
24
30
const uvec2 coord = bitfieldReverse(gl_GlobalInvocationID.xy)>>pc.bitreverse_shift.xy;
25
31
const nbl_glsl_complex shift = nbl_glsl_expImaginary(-nbl_glsl_PI*float(coord.x+coord.y));
You can’t perform that action at this time.
0 commit comments