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:
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);
}
}
}