From 139059e1fdbcace3e233c6109a61446b14b774e4 Mon Sep 17 00:00:00 2001 From: skal Date: Tue, 10 Feb 2026 15:58:46 +0100 Subject: fix: Resolve CNN effect black screen bug (framebuffer capture + uniforms) Two bugs causing black screen when CNN post-processing activated: 1. Framebuffer capture timing: Capture ran inside post-effect loop after ping-pong swaps, causing layers 1+ to capture wrong buffer. Moved capture before loop to copy framebuffer_a once before post-chain starts. 2. Missing uniforms update: CNNEffect never updated uniforms_ buffer, leaving uniforms.resolution uninitialized (0,0). UV calculation p.xy/uniforms.resolution produced NaN, causing all texture samples to return black. Added uniforms update in update_bind_group(). Files modified: - src/gpu/effect.cc: Capture before post-chain (lines 308-346) - src/gpu/effects/cnn_effect.cc: Add uniforms update (lines 132-142) - workspaces/main/shaders/cnn/cnn_layer.wgsl: Remove obsolete comment - doc/CNN_DEBUG.md: Historical debugging doc - CLAUDE.md: Reference CNN_DEBUG.md in historical section Co-Authored-By: Claude Sonnet 4.5 --- workspaces/main/shaders/cnn/cnn_layer.wgsl | 1 - 1 file changed, 1 deletion(-) (limited to 'workspaces/main/shaders/cnn/cnn_layer.wgsl') diff --git a/workspaces/main/shaders/cnn/cnn_layer.wgsl b/workspaces/main/shaders/cnn/cnn_layer.wgsl index 2285ef9..5834f78 100644 --- a/workspaces/main/shaders/cnn/cnn_layer.wgsl +++ b/workspaces/main/shaders/cnn/cnn_layer.wgsl @@ -52,6 +52,5 @@ struct CNNLayerParams { result = input; } - // Blend with ORIGINAL input from layer 0 return mix(original, result, params.blend_amount); } -- cgit v1.2.3