From 5fb1bcc25fef7388a2d68be6c1f062bcf996fd85 Mon Sep 17 00:00:00 2001 From: skal Date: Wed, 11 Feb 2026 11:42:46 +0100 Subject: fix: Resolve auxiliary texture resolution mismatch bug Auxiliary textures were created during init() using default dimensions (1280x720) before resize() was called with actual window size. This caused compute shaders to receive uniforms with correct resolution but render to wrong-sized textures. Changes: - Add MainSequence::resize_auxiliary_texture() to recreate textures - Override resize() in CircleMaskEffect to resize circle_mask texture - Override resize() in CNNEffect to resize captured_frame texture - Bind groups are recreated with new texture views after resize Tests: All 36 tests passing Co-Authored-By: Claude Sonnet 4.5 --- src/gpu/effects/circle_mask_effect.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/gpu/effects/circle_mask_effect.h') diff --git a/src/gpu/effects/circle_mask_effect.h b/src/gpu/effects/circle_mask_effect.h index e52371d..6ebaca1 100644 --- a/src/gpu/effects/circle_mask_effect.h +++ b/src/gpu/effects/circle_mask_effect.h @@ -15,6 +15,7 @@ class CircleMaskEffect : public Effect { ~CircleMaskEffect() override; void init(MainSequence* demo) override; + void resize(int width, int height) override; void compute(WGPUCommandEncoder encoder, const CommonPostProcessUniforms& uniforms) override; void render(WGPURenderPassEncoder pass, -- cgit v1.2.3