ogl_beamforming

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

Commit: 04eedad1a4dcfcb9c0f3ee37a4c1d11606b4d00f
Parent: 47fbb837a68eb7a2bdeae47cae86b680d999fa74
Author: Randy Palamar
Date:   Fri, 14 Aug 2026 06:16:00 -0700

gpu: drop uneeded renderdoc capture path template function

Diffstat:
Mbeamformer.c | 5++---
Mbeamformer.h | 1-
Mbeamformer_internal.h | 27+++++++++++++++++++--------
Mutil.h | 20--------------------
Mutil_os.c | 5++---
5 files changed, 23 insertions(+), 35 deletions(-)

diff --git a/beamformer.c b/beamformer.c @@ -183,9 +183,8 @@ beamformer_init(BeamformerInput *input) ctx->upload_worker.arena = arena_create(); #if BEAMFORMER_RENDERDOC_HOOKS - start_frame_capture = input->renderdoc_start_frame_capture; - end_frame_capture = input->renderdoc_end_frame_capture; - set_capture_path_template = input->renderdoc_set_capture_file_path_template; + start_frame_capture = input->renderdoc_start_frame_capture; + end_frame_capture = input->renderdoc_end_frame_capture; #endif vk_load(input->vulkan_library_handle, &ctx->error_stream); diff --git a/beamformer.h b/beamformer.h @@ -307,7 +307,6 @@ typedef struct { #if BEAMFORMER_RENDERDOC_HOOKS void *renderdoc_start_frame_capture; void *renderdoc_end_frame_capture; - void *renderdoc_set_capture_file_path_template; #endif } BeamformerInput; diff --git a/beamformer_internal.h b/beamformer_internal.h @@ -137,7 +137,6 @@ typedef struct { #include "threads.c" #include "util_os_ui.c" -#include "util_os.c" /////////////////////////// // NOTE: vulkan layer API @@ -202,13 +201,23 @@ DEBUG_IMPORT u64 * gpu_read_timestamps(GPUTimeline timeline, u64 *coun #if BEAMFORMER_RENDERDOC_HOOKS DEBUG_IMPORT void * vk_renderdoc_instance_handle(void); -DEBUG_IMPORT renderdoc_start_frame_capture_fn *start_frame_capture; -DEBUG_IMPORT renderdoc_set_capture_path_template_fn *set_capture_path_template; -DEBUG_IMPORT renderdoc_end_frame_capture_fn *end_frame_capture; -#define start_renderdoc_capture() do { \ - if (set_capture_path_template) set_capture_path_template("captures/ogl.rdc"); \ - if (start_frame_capture) start_frame_capture(vk_renderdoc_instance_handle(), 0); \ -} while(0) +#define RENDERDOC_GET_API_FN(name) b32 name(u32 version, void **out_api) +typedef RENDERDOC_GET_API_FN(renderdoc_get_api_fn); + +#define RENDERDOC_START_FRAME_CAPTURE_FN(name) void name(void *instance_handle, i64 window_handle) +typedef RENDERDOC_START_FRAME_CAPTURE_FN(renderdoc_start_frame_capture_fn); + +#define RENDERDOC_END_FRAME_CAPTURE_FN(name) b32 name(void *instance_handle, i64 window_handle) +typedef RENDERDOC_END_FRAME_CAPTURE_FN(renderdoc_end_frame_capture_fn); + +typedef alignas(16) u8 RenderDocAPI[216]; +#define RENDERDOC_API_FN_ADDR(a, offset) (*(i64 *)((*a) + offset)) +#define RENDERDOC_START_FRAME_CAPTURE(a) (renderdoc_start_frame_capture_fn *)RENDERDOC_API_FN_ADDR(a, 152) +#define RENDERDOC_END_FRAME_CAPTURE(a) (renderdoc_end_frame_capture_fn *) RENDERDOC_API_FN_ADDR(a, 168) + +DEBUG_IMPORT renderdoc_start_frame_capture_fn *start_frame_capture; +DEBUG_IMPORT renderdoc_end_frame_capture_fn *end_frame_capture; +#define start_renderdoc_capture() if (start_frame_capture) start_frame_capture(vk_renderdoc_instance_handle(), 0) #define end_renderdoc_capture() if (end_frame_capture) end_frame_capture(vk_renderdoc_instance_handle(), 0) #define renderdoc_attached(...) (start_frame_capture != 0) @@ -218,6 +227,8 @@ DEBUG_IMPORT renderdoc_end_frame_capture_fn *end_frame_capture; #define renderdoc_attached(...) (0) #endif +#include "util_os.c" + /////////////////////////////// // NOTE: CUDA Library Bindings diff --git a/util.h b/util.h @@ -232,26 +232,6 @@ typedef struct { #define OS_THREAD_ENTRY_POINT_FN(name) u64 name(void *user_context) -#define OS_WRITE_NEW_FILE_FN(name) b32 name(char *fname, str8 raw) - -#define RENDERDOC_GET_API_FN(name) b32 name(u32 version, void **out_api) -typedef RENDERDOC_GET_API_FN(renderdoc_get_api_fn); - -#define RENDERDOC_START_FRAME_CAPTURE_FN(name) void name(void *instance_handle, iptr window_handle) -typedef RENDERDOC_START_FRAME_CAPTURE_FN(renderdoc_start_frame_capture_fn); - -#define RENDERDOC_END_FRAME_CAPTURE_FN(name) b32 name(void *instance_handle, iptr window_handle) -typedef RENDERDOC_END_FRAME_CAPTURE_FN(renderdoc_end_frame_capture_fn); - -#define RENDERDOC_SET_CAPTURE_PATH_TEMPLATE_FN(name) void name(const char *template) -typedef RENDERDOC_SET_CAPTURE_PATH_TEMPLATE_FN(renderdoc_set_capture_path_template_fn); - -typedef alignas(16) u8 RenderDocAPI[216]; -#define RENDERDOC_API_FN_ADDR(a, offset) (*(iptr *)((*a) + offset)) -#define RENDERDOC_START_FRAME_CAPTURE(a) (renderdoc_start_frame_capture_fn *) RENDERDOC_API_FN_ADDR(a, 152) -#define RENDERDOC_END_FRAME_CAPTURE(a) (renderdoc_end_frame_capture_fn *) RENDERDOC_API_FN_ADDR(a, 168) -#define RENDERDOC_SET_CAPTURE_PATH_TEMPLATE(a) (renderdoc_set_capture_path_template_fn *) RENDERDOC_API_FN_ADDR(a, 184) - #include "meta.h" #include "util.c" #include "math.c" diff --git a/util_os.c b/util_os.c @@ -34,9 +34,8 @@ load_renderdoc_functions(BeamformerInput *input, OSLibrary rdoc) if (get_api) { RenderDocAPI *api = 0; if (get_api(10600, (void **)&api)) { - input->renderdoc_start_frame_capture = RENDERDOC_START_FRAME_CAPTURE(api); - input->renderdoc_end_frame_capture = RENDERDOC_END_FRAME_CAPTURE(api); - input->renderdoc_set_capture_file_path_template = RENDERDOC_SET_CAPTURE_PATH_TEMPLATE(api); + input->renderdoc_start_frame_capture = RENDERDOC_START_FRAME_CAPTURE(api); + input->renderdoc_end_frame_capture = RENDERDOC_END_FRAME_CAPTURE(api); } } }