summaryrefslogtreecommitdiff
path: root/src/tests/gpu/test_cnn_v3_parity.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-03-22 12:53:13 +0100
committerskal <pascal.massimino@gmail.com>2026-03-22 12:53:13 +0100
commit581c67b75aa3c089c86f764b67e6de7476a13993 (patch)
tree38c1bc78c8e688b6c75eedd140c5a49bc48a4404 /src/tests/gpu/test_cnn_v3_parity.cc
parent16cbcb6d9461d8d40eb69cdafef6b35368654b66 (diff)
feat(cnn_v3): wire trained weights into CNNv3Effect + add timeline test sequence
- 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
Diffstat (limited to 'src/tests/gpu/test_cnn_v3_parity.cc')
-rw-r--r--src/tests/gpu/test_cnn_v3_parity.cc6
1 files changed, 6 insertions, 0 deletions
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<float> 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<uint8_t> zeros(zero_size, 0);
+ effect.upload_weights(ctx.queue, zeros.data(), zero_size);
}
// Run 5 compute passes