@@ -286,7 +286,7 @@ layout(binding = 0, std430) restrict readonly buffer ImageInputBuffer
286
286
#define _NBL_GLSL_EXT_FFT_INPUT_DESCRIPTOR_DEFINED_
287
287
layout(binding = 1, std430) restrict writeonly buffer SpectrumOutputBuffer
288
288
{
289
- f16vec2 outSpectrum[];
289
+ vec2 outSpectrum[];
290
290
};
291
291
#define _NBL_GLSL_EXT_FFT_OUTPUT_DESCRIPTOR_DEFINED_
292
292
@@ -327,7 +327,7 @@ uint nbl_glsl_ext_FFT_Parameters_t_getPaddingType()
327
327
void nbl_glsl_ext_FFT_setData(in uvec3 coordinate, in uint channel, in nbl_glsl_complex complex_value)
328
328
{
329
329
const uint index = ((channel<<nbl_glsl_ext_FFT_Parameters_t_getLog2FFTSize())+coordinate.x)*pc.data.imageHeight+coordinate.y;
330
- outSpectrum[index] = f16vec2( complex_value) ;
330
+ outSpectrum[index] = complex_value;
331
331
}
332
332
#define _NBL_GLSL_EXT_FFT_SET_DATA_DEFINED_
333
333
@@ -419,7 +419,7 @@ layout(binding = 0, std430) restrict buffer ImageOutputBuffer
419
419
#define _NBL_GLSL_EXT_FFT_OUTPUT_DESCRIPTOR_DEFINED_
420
420
layout(binding = 1, std430) restrict readonly buffer SpectrumInputBuffer
421
421
{
422
- f16vec2 inSpectrum[];
422
+ vec2 inSpectrum[];
423
423
};
424
424
#define _NBL_GLSL_EXT_FFT_INPUT_DESCRIPTOR_DEFINED_
425
425
layout(binding = 3, std430) restrict readonly buffer IntensityBuffer
@@ -539,7 +539,7 @@ nbl_glsl_complex nbl_glsl_ext_FFT_getPaddedData(ivec3 coordinate, in uint channe
539
539
if (!nbl_glsl_ext_FFT_wrap_coord(coordinate))
540
540
return nbl_glsl_complex(0.f,0.f);
541
541
const uint index = ((channel<<nbl_glsl_ext_FFT_Parameters_t_getLog2FFTSize())+coordinate.x)*pc.data.imageHeight+coordinate.y;
542
- return nbl_glsl_complex( inSpectrum[index]) ;
542
+ return inSpectrum[index];
543
543
}
544
544
)===" ));
545
545
struct SpecializationConstants
@@ -1039,9 +1039,10 @@ nbl_glsl_complex nbl_glsl_ext_FFT_getPaddedData(ivec3 coordinate, in uint channe
1039
1039
attachBufferImageRange (EII_NORMAL,normalPixelBuffer.getObject (),inImageByteOffset[EII_NORMAL],interleavedPixelBytesize);
1040
1040
for (uint32_t j=0u ; j<denoiserInputCount; j++)
1041
1041
{
1042
- uint64_t deinterleavedPixelBytesize = getTexelOrBlockBytesize<EF_R16G16B16A16_SFLOAT>(); // TODO do it with EF_R16G16B16_SFLOAT
1043
- outImageByteOffset[j] = j*param.width *param.height *deinterleavedPixelBytesize;
1044
- attachBufferImageRange (EII_COUNT+j,temporaryPixelBuffer.getObject (),outImageByteOffset[j],j ? deinterleavedPixelBytesize:fftScratchSize);
1042
+ outImageByteOffset[j] = j*param.width *param.height *forcedOptiXFormatPixelStride;
1043
+ attachBufferImageRange (EII_COUNT+j,temporaryPixelBuffer.getObject (),outImageByteOffset[j],forcedOptiXFormatPixelStride);
1044
+ if (j==0u )
1045
+ infos[EII_COUNT].buffer .size = fftScratchSize;
1045
1046
}
1046
1047
attachWholeBuffer (EII_COUNT*2u ,histogramBuffer.get ());
1047
1048
attachWholeBuffer (EII_COUNT*2u +1u ,intensityBuffer.getObject ());
@@ -1152,7 +1153,7 @@ nbl_glsl_complex nbl_glsl_ext_FFT_getPaddedData(ivec3 coordinate, in uint channe
1152
1153
shaderConstants.flags &= 0b10u ;
1153
1154
driver->pushConstants (sharedPipelineLayout.get (), video::IGPUSpecializedShader::ESS_COMPUTE, offsetof (CommonPushConstants,flags), sizeof (uint32_t ), &shaderConstants.flags );
1154
1155
// Bloom
1155
- uint32_t workgroupCounts[2 ] = { (param.width + kComputeWGSize - 1u ) / kComputeWGSize ,param.height }; // TODO: change
1156
+ uint32_t workgroupCounts[2 ] = { (param.width + kComputeWGSize - 1u ) / kComputeWGSize ,param.height };
1156
1157
{
1157
1158
core::smart_refctd_ptr<IGPUImageView> kerImageView;
1158
1159
{
0 commit comments