Commit: dd5c899bbbb6b5932a856c66a992b0dbe8a5ca15
Parent: 42441eb3ef6d07e569d55b16aca67e51b93c67b6
Author: Randy Palamar
Date: Tue, 24 Mar 2026 07:11:25 -0600
core: mark pipeline as iq when API provided type is *Complex
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/beamformer_core.c b/beamformer_core.c
@@ -351,10 +351,13 @@ plan_compute_pipeline(BeamformerComputePlan *cp, BeamformerParameterBlock *pb)
if (demodulate) run_cuda_hilbert = 0;
- cp->iq_pipeline = demodulate || run_cuda_hilbert;
+ BeamformerDataKind data_kind = pb->pipeline.data_kind;
+ cp->iq_pipeline = data_kind == BeamformerDataKind_Float32Complex ||
+ data_kind == BeamformerDataKind_Int16Complex ||
+ demodulate || run_cuda_hilbert;
f32 sampling_frequency = pb->parameters.sampling_frequency;
- u32 decimation_rate = MAX(pb->parameters.decimation_rate, 1);
+ u32 decimation_rate = Max(pb->parameters.decimation_rate, 1);
u32 sample_count = pb->parameters.sample_count;
if (demodulate) {
sample_count /= (2 * decimation_rate);
@@ -374,7 +377,6 @@ plan_compute_pipeline(BeamformerComputePlan *cp, BeamformerParameterBlock *pb)
// TODO(rnp): subgroup size
u32 subgroup_size = gl_parameters.vendor_id == GLVendor_NVIDIA ? 32 : 64;
- BeamformerDataKind data_kind = pb->pipeline.data_kind;
cp->pipeline.shader_count = 0;
for (u32 i = 0; i < pb->pipeline.shader_count; i++) {
BeamformerShaderParameters *sp = pb->pipeline.parameters + i;