From 581c67b75aa3c089c86f764b67e6de7476a13993 Mon Sep 17 00:00:00 2001 From: skal Date: Sun, 22 Mar 2026 12:53:13 +0100 Subject: feat(cnn_v3): wire trained weights into CNNv3Effect + add timeline test sequence MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CNNv3Effect constructor loads ASSET_WEIGHTS_CNN_V3 via GetAsset on startup - seq_compiler.py: CLASS_TO_HEADER supports full #include paths for cnn_v3/ classes - timeline.seq: add cnn_v3_test sequence at 48s (GBufferEffect → CNNv3Effect) - test_cnn_v3_parity: zero_weights test now explicitly uploads zeros to override asset handoff(Gemini): CNNv3Effect ready; export weights to workspaces/main/weights/ and seek to 48s to test --- src/tests/gpu/test_cnn_v3_parity.cc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/tests') diff --git a/src/tests/gpu/test_cnn_v3_parity.cc b/src/tests/gpu/test_cnn_v3_parity.cc index 4b41c94..15fe818 100644 --- a/src/tests/gpu/test_cnn_v3_parity.cc +++ b/src/tests/gpu/test_cnn_v3_parity.cc @@ -188,6 +188,12 @@ static std::vector run_cnn_v3(WebGPUTestFixture& fixture, if (weights_u32) { effect.upload_weights(ctx.queue, weights_u32, weights_bytes); + } else { + // Explicitly zero weights to override any asset-loaded defaults. + // kWeightsBufBytes = ((1964+1)/2)*4 = 3928 + const uint32_t zero_size = ((1964u + 1u) / 2u) * 4u; + std::vector zeros(zero_size, 0); + effect.upload_weights(ctx.queue, zeros.data(), zero_size); } // Run 5 compute passes -- cgit v1.2.3