Skip to content

Commit 5c53659

Browse files
ask user for padded data right away
1 parent 53d3b18 commit 5c53659

File tree

4 files changed

+11
-41
lines changed

4 files changed

+11
-41
lines changed

examples_tests/49.ComputeFFT/fft_convolve_ifft.comp

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ layout(local_size_x=_NBL_GLSL_WORKGROUP_SIZE_, local_size_y=1, local_size_z=1) i
22

33

44
#define _NBL_GLSL_EXT_FFT_GET_PARAMETERS_DEFINED_
5-
#define _NBL_GLSL_EXT_FFT_GET_DATA_DEFINED_
65
#define _NBL_GLSL_EXT_FFT_SET_DATA_DEFINED_
76
#define _NBL_GLSL_EXT_FFT_GET_PADDED_DATA_DEFINED_
87
#include "nbl/builtin/glsl/ext/FFT/fft.glsl"
@@ -29,14 +28,6 @@ layout(push_constant) uniform PushConstants
2928
return ret;
3029
}
3130

32-
nbl_glsl_complex nbl_glsl_ext_FFT_getData(in uvec3 coordinate, in uint channel)
33-
{
34-
nbl_glsl_complex retValue = nbl_glsl_complex(0, 0);
35-
uvec3 dimension = nbl_glsl_ext_FFT_Parameters_t_getDimensions();
36-
uint index = channel * (dimension.x * dimension.y * dimension.z) + coordinate.z * (dimension.x * dimension.y) + coordinate.y * (dimension.x) + coordinate.x;
37-
retValue = inoutData[index];
38-
return retValue;
39-
}
4031

4132
void nbl_glsl_ext_FFT_setData(in uvec3 coordinate, in uint channel, in nbl_glsl_complex complex_value)
4233
{
@@ -58,7 +49,9 @@ nbl_glsl_complex nbl_glsl_ext_FFT_getPaddedData(in uvec3 coordinate, in uint cha
5849
return nbl_glsl_complex(0, 0);
5950
}
6051

61-
return nbl_glsl_ext_FFT_getData(clamped_coord, channel);
52+
uvec3 dimension = nbl_glsl_ext_FFT_Parameters_t_getDimensions();
53+
uint index = channel * (dimension.x * dimension.y * dimension.z) + clamped_coord.z * (dimension.x * dimension.y) + clamped_coord.y * (dimension.x) + clamped_coord.x;
54+
return inoutData[index];
6255
}
6356

6457
void convolve(in uint item_per_thread_count, in uint ch)

examples_tests/49.ComputeFFT/last_fft.comp

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
layout(local_size_x=_NBL_GLSL_WORKGROUP_SIZE_, local_size_y=1, local_size_z=1) in;
22

33
#define _NBL_GLSL_EXT_FFT_GET_PARAMETERS_DEFINED_
4-
#define _NBL_GLSL_EXT_FFT_GET_DATA_DEFINED_
54
#define _NBL_GLSL_EXT_FFT_SET_DATA_DEFINED_
65
#define _NBL_GLSL_EXT_FFT_GET_PADDED_DATA_DEFINED_
76
#include "nbl/builtin/glsl/ext/FFT/fft.glsl"
@@ -28,15 +27,6 @@ layout(push_constant) uniform PushConstants
2827
nbl_glsl_ext_FFT_Parameters_t ret;
2928
ret = pc.params;
3029
return ret;
31-
}
32-
33-
nbl_glsl_complex nbl_glsl_ext_FFT_getData(in uvec3 coordinate, in uint channel)
34-
{
35-
nbl_glsl_complex retValue = nbl_glsl_complex(0, 0);
36-
uvec3 dimension = nbl_glsl_ext_FFT_Parameters_t_getDimensions();
37-
uint index = channel * (dimension.x * dimension.y * dimension.z) + coordinate.z * (dimension.x * dimension.y) + coordinate.y * (dimension.x) + coordinate.x;
38-
retValue = inData[index];
39-
return retValue;
4030
}
4131

4232
void nbl_glsl_ext_FFT_setData(in uvec3 coordinate, in uint channel, in nbl_glsl_complex complex_value)
@@ -61,7 +51,9 @@ nbl_glsl_complex nbl_glsl_ext_FFT_getPaddedData(in uvec3 coordinate, in uint cha
6151
return nbl_glsl_complex(0, 0);
6252
}
6353

64-
return nbl_glsl_ext_FFT_getData(clamped_coord, channel);
54+
uvec3 dimension = nbl_glsl_ext_FFT_Parameters_t_getDimensions();
55+
uint index = channel * (dimension.x * dimension.y * dimension.z) + clamped_coord.z * (dimension.x * dimension.y) + clamped_coord.y * (dimension.x) + clamped_coord.x;
56+
return inData[index];
6557
}
6658

6759
void main()

include/nbl/builtin/glsl/ext/FFT/default_compute_fft.comp

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
layout(local_size_x=_NBL_GLSL_WORKGROUP_SIZE_, local_size_y=1, local_size_z=1) in;
55

66
#define _NBL_GLSL_EXT_FFT_GET_PARAMETERS_DEFINED_
7-
#define _NBL_GLSL_EXT_FFT_GET_DATA_DEFINED_
87
#define _NBL_GLSL_EXT_FFT_SET_DATA_DEFINED_
98
#define _NBL_GLSL_EXT_FFT_GET_PADDED_DATA_DEFINED_
109
#include "nbl/builtin/glsl/ext/FFT/fft.glsl"
@@ -55,19 +54,11 @@ layout(push_constant) uniform PushConstants
5554
layout (offset = 0) nbl_glsl_ext_FFT_Parameters_t params;
5655
} pc;
5756

58-
nbl_glsl_ext_FFT_Parameters_t nbl_glsl_ext_FFT_getParameters() {
57+
nbl_glsl_ext_FFT_Parameters_t nbl_glsl_ext_FFT_getParameters()
58+
{
5959
nbl_glsl_ext_FFT_Parameters_t ret;
6060
ret = pc.params;
6161
return ret;
62-
}
63-
64-
nbl_glsl_complex nbl_glsl_ext_FFT_getData(in uvec3 coordinate, in uint channel)
65-
{
66-
nbl_glsl_complex retValue = nbl_glsl_complex(0, 0);
67-
uvec3 dimension = nbl_glsl_ext_FFT_Parameters_t_getDimensions();
68-
uint index = channel * (dimension.x * dimension.y * dimension.z) + coordinate.z * (dimension.x * dimension.y) + coordinate.y * (dimension.x) + coordinate.x;
69-
retValue = inData[index];
70-
return retValue;
7162
}
7263

7364
void nbl_glsl_ext_FFT_setData(in uvec3 coordinate, in uint channel, in nbl_glsl_complex complex_value)
@@ -90,7 +81,9 @@ nbl_glsl_complex nbl_glsl_ext_FFT_getPaddedData(in uvec3 coordinate, in uint cha
9081
return nbl_glsl_complex(0, 0);
9182
}
9283

93-
return nbl_glsl_ext_FFT_getData(clamped_coord, channel);
84+
uvec3 dimension = nbl_glsl_ext_FFT_Parameters_t_getDimensions();
85+
uint index = channel * (dimension.x * dimension.y * dimension.z) + clamped_coord.z * (dimension.x * dimension.y) + clamped_coord.y * (dimension.x) + clamped_coord.x;
86+
return inData[index];
9487
}
9588

9689
void main()

include/nbl/builtin/glsl/ext/FFT/fft.glsl

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,6 @@
2424
#define _NBL_GLSL_EXT_FFT_FILL_WITH_ZERO_ 1
2525

2626

27-
#ifndef _NBL_GLSL_EXT_FFT_GET_DATA_DECLARED_
28-
#define _NBL_GLSL_EXT_FFT_GET_DATA_DECLARED_
29-
vec2 nbl_glsl_ext_FFT_getData(in uvec3 coordinate, in uint channel);
30-
#endif
31-
3227
#ifndef _NBL_GLSL_EXT_FFT_SET_DATA_DECLARED_
3328
#define _NBL_GLSL_EXT_FFT_SET_DATA_DECLARED_
3429
void nbl_glsl_ext_FFT_setData(in uvec3 coordinate, in uint channel, in vec2 complex_value);
@@ -42,9 +37,6 @@ vec2 nbl_glsl_ext_FFT_getPaddedData(in uvec3 coordinate, in uint channel);
4237
#ifndef _NBL_GLSL_EXT_FFT_GET_PARAMETERS_DEFINED_
4338
#error "You need to define `nbl_glsl_ext_FFT_getParameters` and mark `_NBL_GLSL_EXT_FFT_GET_PARAMETERS_DEFINED_`!"
4439
#endif
45-
#ifndef _NBL_GLSL_EXT_FFT_GET_DATA_DEFINED_
46-
#error "You need to define `nbl_glsl_ext_FFT_getData` and mark `_NBL_GLSL_EXT_FFT_GET_DATA_DEFINED_`!"
47-
#endif
4840
#ifndef _NBL_GLSL_EXT_FFT_SET_DATA_DEFINED_
4941
#error "You need to define `nbl_glsl_ext_FFT_setData` and mark `_NBL_GLSL_EXT_FFT_SET_DATA_DEFINED_`!"
5042
#endif

0 commit comments

Comments
 (0)