Commit: 0632855794d515fc93675469b1bac2287c79fcbd
Parent: 6910f302eb2fb36096cd547cd10b757afb11da6d
Author: Randy Palamar
Date: Thu, 3 Oct 2024 09:58:43 -0600
clear sum textures when parameters are modified via ui
Diffstat:
M | ui.c | | | 21 | +++++++++++++-------- |
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/ui.c b/ui.c
@@ -1,6 +1,15 @@
/* See LICENSE for license details. */
#include "beamformer.h"
+static void
+ui_start_compute(BeamformerCtx *ctx)
+{
+ ctx->flags |= DO_COMPUTE;
+ for (u32 i = 0; i < ctx->params->raw.output_points.w; i++)
+ glClearTexImage(ctx->csctx.sum_textures[i], 0, GL_RED, GL_FLOAT, 0);
+ ctx->params->upload = 1;
+}
+
static Color
colour_from_normalized(v4 rgba)
{
@@ -156,10 +165,8 @@ bmv_store_value(BeamformerCtx *ctx, BPModifiableValue *bmv, f32 new_val, b32 fro
return;
*value = CLAMP(new_val / bmv->scale, bmv->ilimits.x, bmv->ilimits.y);
}
- if (bmv->flags & MV_CAUSES_COMPUTE) {
- ctx->flags |= DO_COMPUTE;
- ctx->params->upload = 1;
- }
+ if (bmv->flags & MV_CAUSES_COMPUTE)
+ ui_start_compute(ctx);
if (bmv->flags & MV_GEN_MIPMAPS)
ctx->flags |= GEN_MIPMAPS;
}
@@ -742,10 +749,8 @@ draw_ui(BeamformerCtx *ctx, Arena arena)
if (coord_idx== 0)
bp->output_min_coordinate.E[coord_idx] -= size_delta;
bp->output_max_coordinate.E[coord_idx] += size_delta;
- if (size_delta) {
- ctx->flags |= DO_COMPUTE;
- ctx->params->upload = 1;
- }
+ if (size_delta)
+ ui_start_compute(ctx);
}
f32 mm = bp->output_min_coordinate.E[coord_idx] * 1e3;