ogl_beamforming

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

Commit: 41cafc3e0f80428ed532f589f507f66193e4ccb8
Parent: 7d6ceed0cebbddb8308834788b82ecef2a55193b
Author: Randy Palamar
Date:   Thu, 23 Oct 2025 16:34:53 -0600

lib: delete broken entry points

beamformer_start_compute:
	had a race condition which would not start a compute if data
	was pushed and uploaded before this was called. It may appear
	to work if you uploaded more data after calling but that isn't
	the intention

beamformer_wait_for_compute_dispatch:
	happened to work because the lock was always clear when the function was
	called but it serves no real purpose (waiting is performed on rf upload)

beamformer_push_data:
	there is no way to guarantee a compute will start after you call this
	do to the race condition mentioned above. use
	beamformer_push_data_with_compute instead

Diffstat:
Mhelpers/ogl_beamformer_lib.c | 23-----------------------
Mhelpers/ogl_beamformer_lib_base.h | 9---------
2 files changed, 0 insertions(+), 32 deletions(-)

diff --git a/helpers/ogl_beamformer_lib.c b/helpers/ogl_beamformer_lib.c @@ -392,23 +392,6 @@ beamformer_compute_indirect(BeamformerViewPlaneTag tag, u32 block) return result; } -b32 -beamformer_start_compute(void) -{ - b32 result = beamformer_compute_indirect(0, 0); - return result; -} - -b32 -beamformer_wait_for_compute_dispatch(i32 timeout_ms) -{ - b32 result = beamformer_flush_commands(timeout_ms); - /* NOTE(rnp): if you are calling this function you are probably about - * to start some other work and it might be better to not do this... */ - if (result) lib_release_lock(BeamformerSharedMemoryLockKind_DispatchCompute); - return result; -} - #define BEAMFORMER_UPLOAD_FNS \ X(channel_mapping, i16, 1, ChannelMapping) \ X(focal_vectors, f32, 2, FocalVectors) \ @@ -459,12 +442,6 @@ beamformer_push_data_base(void *data, u32 data_size, i32 timeout_ms) } b32 -beamformer_push_data(void *data, u32 data_size) -{ - return beamformer_push_data_base(data, data_size, g_beamformer_library_context.timeout_ms); -} - -b32 beamformer_push_data_with_compute(void *data, u32 data_size, u32 image_plane_tag, u32 parameter_slot) { b32 result = beamformer_push_data_base(data, data_size, g_beamformer_library_context.timeout_ms); diff --git a/helpers/ogl_beamformer_lib_base.h b/helpers/ogl_beamformer_lib_base.h @@ -68,15 +68,6 @@ LIB_FN uint32_t beamformer_set_global_timeout(int32_t timeout_ms); /* NOTE: downloads the last 32 frames worth of compute timings into output */ LIB_FN uint32_t beamformer_compute_timings(BeamformerComputeStatsTable *output, int32_t timeout_ms); -/* NOTE: tells the beamformer to start beamforming */ -LIB_FN uint32_t beamformer_start_compute(void); - -/* NOTE: waits for previously queued beamform to start or for timeout_ms */ -LIB_FN uint32_t beamformer_wait_for_compute_dispatch(int32_t timeout_ms); - -/* NOTE: this function only queue an upload; you must flush (start_compute) */ -LIB_FN uint32_t beamformer_push_data(void *data, uint32_t size); - /* NOTE: pushes data and tries to immediately starts a compute */ LIB_FN uint32_t beamformer_push_data_with_compute(void *data, uint32_t size, uint32_t image_plane_tag,