Commit: 98e7202c7ad6229cd30aa790f7f6c3886e4e412f
Parent: 028f01ac3e015de8bf5aa1a97cda3a6b67bbe562
Author: Randy Palamar
Date: Sat, 22 Mar 2025 07:22:08 -0600
ui: determine to append tx count to label using X-macro
Diffstat:
4 files changed, 21 insertions(+), 23 deletions(-)
diff --git a/beamformer.c b/beamformer.c
@@ -523,7 +523,7 @@ push_compute_shader_header(Arena *a, ComputeShaderID shader)
"local_size_y = " str(DAS_LOCAL_SIZE_Y) ", "
"local_size_z = " str(DAS_LOCAL_SIZE_Z) ") "
"in;\n\n"));
- #define X(type, id, pretty) push_s8(a, s8("#define DAS_ID_" #type " " #id "\n"));
+ #define X(type, id, pretty, fixed_tx) push_s8(a, s8("#define DAS_ID_" #type " " #id "\n"));
DAS_TYPES
#undef X
} break;
diff --git a/beamformer.h b/beamformer.h
@@ -115,9 +115,10 @@ typedef struct {
} FragmentShaderCtx;
typedef enum {
-#define X(type, id, pretty) DAS_ ##type = id,
+#define X(type, id, pretty, fixed_tx) DAS_ ##type = id,
DAS_TYPES
#undef X
+DAS_LAST
} DASShaderID;
typedef struct {
diff --git a/beamformer_parameters.h b/beamformer_parameters.h
@@ -23,14 +23,14 @@ typedef enum {
X(NONE, 0, "None") \
X(HADAMARD, 1, "Hadamard")
-/* X(type, id, pretty name) */
+/* X(type, id, pretty name, fixed transmits) */
#define DAS_TYPES \
- X(FORCES, 0, "FORCES") \
- X(UFORCES, 1, "UFORCES") \
- X(HERCULES, 2, "HERCULES") \
- X(RCA_VLS, 3, "VLS") \
- X(RCA_TPW, 4, "TPW") \
- X(UHERCULES, 5, "UHERCULES")
+ X(FORCES, 0, "FORCES", 1) \
+ X(UFORCES, 1, "UFORCES", 0) \
+ X(HERCULES, 2, "HERCULES", 1) \
+ X(RCA_VLS, 3, "VLS", 0) \
+ X(RCA_TPW, 4, "TPW", 0) \
+ X(UHERCULES, 5, "UHERCULES", 0)
#define DAS_LOCAL_SIZE_X 32
#define DAS_LOCAL_SIZE_Y 1
diff --git a/ui.c b/ui.c
@@ -474,22 +474,19 @@ lerp_v4(v4 a, v4 b, f32 t)
static s8
push_das_shader_id(Stream *s, DASShaderID shader, u32 transmit_count)
{
- switch (shader) {
- #define X(type, id, pretty) case id: stream_append_s8(s, s8(pretty)); break;
- DAS_TYPES
+ #define X(type, id, pretty, fixed_tx) s8(pretty),
+ static s8 pretty_names[] = { DAS_TYPES };
+ #undef X
+ #define X(type, id, pretty, fixed_tx) fixed_tx,
+ static u8 fixed_transmits[] = { DAS_TYPES };
#undef X
- default: break;
- }
- /* TODO(rnp): cleanup - generate with X macro */
- switch (shader) {
- case DAS_UFORCES:
- case DAS_RCA_VLS:
- case DAS_RCA_TPW:
- case DAS_UHERCULES:
- stream_append_byte(s, '-');
- stream_append_u64(s, transmit_count);
- default: break;
+ if ((u32)shader < (u32)DAS_LAST) {
+ stream_append_s8(s, pretty_names[shader]);
+ if (!fixed_transmits[shader]) {
+ stream_append_byte(s, '-');
+ stream_append_u64(s, transmit_count);
+ }
}
return stream_to_s8(s);