Skip to content

Commit 321c4b5

Browse files
official half-float storage is working
1 parent afd9cb4 commit 321c4b5

File tree

2 files changed

+3
-12
lines changed

2 files changed

+3
-12
lines changed

examples_tests/49.ComputeFFT/main.cpp

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ int main()
342342
);
343343
}();
344344

345-
constexpr bool useHalfFloats = false;
345+
constexpr bool useHalfFloats = true;
346346
// Allocate Output Buffer
347347
auto fftOutputBuffer_0 = driver->createDeviceLocalGPUBufferOnDedMem(FFTClass::getOutputBufferSize(useHalfFloats,srcDim,srcNumChannels));
348348
auto fftOutputBuffer_1 = driver->createDeviceLocalGPUBufferOnDedMem(FFTClass::getOutputBufferSize(useHalfFloats,srcDim,srcNumChannels));
@@ -519,8 +519,8 @@ int main()
519519
assert(passes==2u);
520520

521521
// Ker Image FFT X
522+
auto fft_x = core::make_smart_refctd_ptr<FFTClass>(driver, kerDim.height, useHalfFloats);
522523
{
523-
auto fft_x = core::make_smart_refctd_ptr<FFTClass>(driver,kerDim.height,useHalfFloats);
524524
auto fftPipeline_ImageInput = driver->createGPUComputePipeline(nullptr,core::smart_refctd_ptr(imageFirstFFTPipelineLayout),createShader(driver,fft_x.get(),"../image_first_fft.comp"));
525525
driver->bindComputePipeline(fftPipeline_ImageInput.get());
526526
driver->bindDescriptorSets(EPBP_COMPUTE, imageFirstFFTPipelineLayout.get(), 0u, 1u, &fftDescriptorSet_Ker_FFT_X.get(), nullptr);
@@ -533,15 +533,7 @@ int main()
533533
FFTClass::dispatchHelper(driver, fftPipeline_SSBOInput->getLayout(), fftPushConstants[1], fftDispatchInfo[1]);
534534

535535
// Ker Normalization
536-
auto fftPipeline_KernelNormalization = driver->createGPUComputePipeline(nullptr, core::smart_refctd_ptr(fftPipelineLayout_KernelNormalization),
537-
[&]() -> auto
538-
{
539-
IAssetLoader::SAssetLoadParams lp;
540-
auto shaderAsset = am->getAsset("../normalization.comp", lp);
541-
auto stuff = driver->getGPUObjectsFromAssets<asset::ICPUSpecializedShader>(shaderAsset.getContents(),nullptr);
542-
return *stuff->begin();
543-
}()
544-
);
536+
auto fftPipeline_KernelNormalization = driver->createGPUComputePipeline(nullptr,core::smart_refctd_ptr(fftPipelineLayout_KernelNormalization),createShader(driver,fft_x.get(),"../normalization.comp"));
545537
driver->bindComputePipeline(fftPipeline_KernelNormalization.get());
546538
driver->bindDescriptorSets(EPBP_COMPUTE, fftPipelineLayout_KernelNormalization.get(), 0u, 1u, &fftDescriptorSet_KernelNormalization.get(), nullptr);
547539
{

examples_tests/49.ComputeFFT/normalization.comp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#version 430 core
21
layout(local_size_x=16, local_size_y=16, local_size_z=1) in;
32

43
#include <nbl/builtin/glsl/ext/FFT/types.glsl>

0 commit comments

Comments
 (0)