ogl_beamforming

Ultrasound Beamforming Implemented with OpenGL
git clone anongit@rnpnr.xyz:ogl_beamforming.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

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:
Mbeamformer_core.c | 8+++++---
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;