ogl_beamforming

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

Commit: 79ebfea092b487fe2bd73d955527e36508d2af71
Parent: c0686bd9a265c2acb7e9f35ebaa7c81af64b6dd9
Author: Randy Palamar
Date:   Sat,  3 Oct 2026 19:14:24 -0700

das: uFORCES: be more explicit about acquisition chunk handling

Diffstat:
Mshaders/das.glsl | 9+++------
1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/shaders/das.glsl b/shaders/das.glsl @@ -336,14 +336,11 @@ RESULT_TYPE FORCES(const vec3 world_point) #define AcquisitionChunkSize 16 const u32 AcquisitionChunkCount = (AcquisitionCount + (AcquisitionChunkSize - 1)) / AcquisitionChunkSize; - for (u32 acquisition_chunk = 0; acquisition_chunk < AcquisitionChunkCount; acquisition_chunk++) { - u32 acquisition = acquisition_chunk * AcquisitionChunkSize; - if (Sparse && acquisition_chunk == 0) acquisition++; - + for (u32 acquisition = u32(Sparse); acquisition < AcquisitionCount; acquisition += AcquisitionChunkSize) { f32 transmit_indices[AcquisitionChunkSize]; for (u32 transmit = 0; transmit < AcquisitionChunkSize; transmit++) { u32 index = acquisition + transmit; - if ((AcquisitionCount % AcquisitionChunkSize) != 0 && (index >= AcquisitionCount)) + if (((AcquisitionCount + u32(Sparse)) % AcquisitionChunkSize) != 0 && (index >= AcquisitionCount)) break; f32 tx_channel = Sparse ? f32(S16(HeapBase + SparseElements - 2 * u32(Sparse)).x[index]) : f32(index); f32 transmit_x_delta = xdc_world_point.x - xdc_element_pitch.x * tx_channel; @@ -360,7 +357,7 @@ RESULT_TYPE FORCES(const vec3 world_point) f32 receive_index = sqrt(receive_x_delta * receive_x_delta + z_delta_squared) * SamplingFrequency / SpeedOfSound; f32 apodization = apodize(a_arg); for (u32 transmit = 0; transmit < AcquisitionChunkSize; transmit += 1u, rf_pointer += AcquisitionByteStride) { - if ((AcquisitionCount % AcquisitionChunkSize) != 0 && + if (((AcquisitionCount + u32(Sparse)) % AcquisitionChunkSize) != 0 && (acquisition + transmit >= AcquisitionCount)) break;