From ebb1a07857fe25fdaa66b2f86303bc8fbd621cfe Mon Sep 17 00:00:00 2001 From: skal Date: Tue, 10 Feb 2026 13:56:06 +0100 Subject: fix: Capture scene framebuffer before post-processing for CNN effect CNNEffect's "original" input was black because FadeEffect (priority 1) ran before CNNEffect (priority 1), fading the scene. Changed framebuffer capture to use framebuffer_a (scene output) instead of current_input (post-chain). Also add seq_compiler validation to detect post-process priority collisions within and across concurrent sequences, preventing similar render order issues. Updated stub_types.h WGPULoadOp enum values to match webgpu.h spec. Co-Authored-By: Claude Sonnet 4.5 --- src/gpu/effects/cnn_effect.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gpu/effects/cnn_effect.cc') diff --git a/src/gpu/effects/cnn_effect.cc b/src/gpu/effects/cnn_effect.cc index f5d0a51..cb00455 100644 --- a/src/gpu/effects/cnn_effect.cc +++ b/src/gpu/effects/cnn_effect.cc @@ -142,7 +142,7 @@ void CNNEffect::update_bind_group(WGPUTextureView input_view) { bge[3].buffer = params_buffer_.get().buffer; bge[3].size = params_buffer_.get().size; bge[4].binding = 4; - bge[4].textureView = original_view_ ? original_view_ : input_view_; // Fallback + bge[4].textureView = original_view_ ? original_view_ : input_view_; WGPUBindGroupDescriptor bgd = {}; bgd.layout = bgl; -- cgit v1.2.3