From 8f4650a544c34b02f9a23c41bbe78c5380aa52aa Mon Sep 17 00:00:00 2001 From: Emil <65846814+emil28092005@users.noreply.github.com> Date: Thu, 24 Sep 2026 03:04:00 +0300 Subject: [PATCH] Record pinned SwiftShader P3 functional check --- .../22-p3-lighting-benchmark-2026-09-24.md | 2 ++ .../forward/swiftshader-release-p3-ctest.txt | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 docs/studies/data/p3-lighting-2026-09-24/forward/swiftshader-release-p3-ctest.txt diff --git a/docs/studies/22-p3-lighting-benchmark-2026-09-24.md b/docs/studies/22-p3-lighting-benchmark-2026-09-24.md index 1755070..1a0d8db 100644 --- a/docs/studies/22-p3-lighting-benchmark-2026-09-24.md +++ b/docs/studies/22-p3-lighting-benchmark-2026-09-24.md @@ -39,6 +39,8 @@ Each configuration's p50 is the median of three run medians. The overhead compar All 3,240 frames submitted the requested local-light count, reported zero Vulkan errors, and retained the requested visibility mode. Validation was **off** during the performance sweep; zero reported errors here is not a validation-layer pass. Separate GPU tests exercise validation and image correctness. +As a separate functional check, the same Release source passed [all five P3 CTests on the pinned Linux SwiftShader ICD](data/p3-lighting-2026-09-24/forward/swiftshader-release-p3-ctest.txt), including sun/local shadow images and the benchmark smoke case. SwiftShader is software Vulkan; these 64 × 64 tests are not another 1920 × 1080 performance measurement. The Windows SwiftShader CI and post-Forward+ runs remain separate acceptance steps. + With shadows on, four point lights request 24 faces but only 12 fit atomically in the 16-tile atlas (two full six-face point lights). The same 12 faces remain at 16–128 lights; 128 lights request 768 faces and explicitly drop 756. The corresponding local shadow GPU p50 stays near 0.018 ms. Thus the scaling above is mainly fragment shading, not additional shadow-map rendering. The table does not imply that 128 shadowed points are supported simultaneously. `gpu_ms` includes the renderer's synchronous framebuffer capture copy, while `cpu_ms` includes submission and wait. Neither is an interactive game frame rate. The gate deliberately uses GPU raster timestamps; the post-occlusion raster pass is included when active. The fixed geometry and light arrangement, GPU clock state, and one driver limit generalization to other scenes and devices. The retained raw data allow this conclusion to be recomputed without trusting the prose. diff --git a/docs/studies/data/p3-lighting-2026-09-24/forward/swiftshader-release-p3-ctest.txt b/docs/studies/data/p3-lighting-2026-09-24/forward/swiftshader-release-p3-ctest.txt new file mode 100644 index 0000000..ca340c9 --- /dev/null +++ b/docs/studies/data/p3-lighting-2026-09-24/forward/swiftshader-release-p3-ctest.txt @@ -0,0 +1,19 @@ +Test project /home/emil/Desktop/.worktrees/Faset_Engine-p3-benchmark-release/build/linux-release + Start 7: render_lighting_sun +1/5 Test #7: render_lighting_sun ................ Passed 5.08 sec + Start 8: render_lighting_local +2/5 Test #8: render_lighting_local .............. Passed 4.26 sec + Start 9: render_lighting_policy +3/5 Test #9: render_lighting_policy ............. Passed 0.00 sec + Start 17: render_lighting_benchmark_schema +4/5 Test #17: render_lighting_benchmark_schema ... Passed 5.36 sec + Start 18: render_lighting_benchmark_smoke +5/5 Test #18: render_lighting_benchmark_smoke .... Passed 1.59 sec + +100% tests passed, 0 tests failed out of 5 + +Label Time Summary: +gpu = 10.93 sec*proc (3 tests) +p3 = 16.29 sec*proc (5 tests) + +Total Test time (real) = 16.30 sec