ogl_beamforming

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

Commit: ee2f58e9e845a9abf507be060429c6bdf66a6b76
Parent: 26904641f91e252780ac15f640cb58403b572713
Author: Randy Palamar
Date:   Sun, 27 Jul 2025 17:53:40 -0600

lib: ensure locked_region_upload is perfoming actions on valid shared memory

Diffstat:
Mhelpers/ogl_beamformer_lib.c | 33+++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)

diff --git a/helpers/ogl_beamformer_lib.c b/helpers/ogl_beamformer_lib.c @@ -369,30 +369,39 @@ beamformer_push_data_with_compute(void *data, u32 data_size, u32 image_plane_tag b32 beamformer_push_parameters(BeamformerParameters *bp) { - b32 result = locked_region_upload((u8 *)g_beamformer_library_context.bp + - offsetof(BeamformerSharedMemory, parameters), - bp, sizeof(*bp), BeamformerSharedMemoryLockKind_Parameters, - 0, g_beamformer_library_context.timeout_ms); + b32 result = 0; + if (check_shared_memory()) { + result = locked_region_upload((u8 *)g_beamformer_library_context.bp + + offsetof(BeamformerSharedMemory, parameters), + bp, sizeof(*bp), BeamformerSharedMemoryLockKind_Parameters, 0, + g_beamformer_library_context.timeout_ms); + } return result; } b32 beamformer_push_parameters_ui(BeamformerUIParameters *bp) { - b32 result = locked_region_upload((u8 *)g_beamformer_library_context.bp + - offsetof(BeamformerSharedMemory, parameters_ui), - bp, sizeof(*bp), BeamformerSharedMemoryLockKind_Parameters, - 0, g_beamformer_library_context.timeout_ms); + b32 result = 0; + if (check_shared_memory()) { + result = locked_region_upload((u8 *)g_beamformer_library_context.bp + + offsetof(BeamformerSharedMemory, parameters_ui), + bp, sizeof(*bp), BeamformerSharedMemoryLockKind_Parameters, 0, + g_beamformer_library_context.timeout_ms); + } return result; } b32 beamformer_push_parameters_head(BeamformerParametersHead *bp) { - b32 result = locked_region_upload((u8 *)g_beamformer_library_context.bp + - offsetof(BeamformerSharedMemory, parameters_head), - bp, sizeof(*bp), BeamformerSharedMemoryLockKind_Parameters, - 0, g_beamformer_library_context.timeout_ms); + b32 result = 0; + if (check_shared_memory()) { + result = locked_region_upload((u8 *)g_beamformer_library_context.bp + + offsetof(BeamformerSharedMemory, parameters_head), + bp, sizeof(*bp), BeamformerSharedMemoryLockKind_Parameters, 0, + g_beamformer_library_context.timeout_ms); + } return result; }