diff --git a/docs/manual/editor/lighting.md b/docs/manual/editor/lighting.md index f961b31..3ea0c58 100644 --- a/docs/manual/editor/lighting.md +++ b/docs/manual/editor/lighting.md @@ -72,6 +72,10 @@ a 1×1 sampled D32 fallback image can, affected lights remain unshadowed and report unavailable shadow views. A device without sampled D32 support cannot start this renderer. Scheduled atlas tiles are cleared and redrawn each frame; there is no persistent shadow cache yet. +Both 2048² atlases are currently allocated when the renderer starts; together +they account for 32 MiB of explicit Vulkan allocation even if a scene does not +render a shadow face. The [clean Release reference](https://github.com/emil28092005/Faset_Engine/blob/main/docs/validation/p1-iteration-2026-09-24/final-release/README.md) +records the resulting memory budget miss in both small example games. Sprite-only scenes, a missing sun, and a sun with `casts_shadow: false` skip sun shadow raster work. @@ -92,7 +96,8 @@ fixed dense benchmark was slower after including tile construction, so there is no automatic scene-dependent switch yet. The Player profile reports `effective_lighting_path`, tile GPU time and grid size; optional Editor diagnostics also report stored candidates and overflowing tiles. See -[Profiling](profiling.md) and the [measured Forward+ study](https://github.com/emil28092005/Faset_Engine/blob/main/docs/studies/23-p3-forward-plus-2026-09-24.md). +[Profiling](profiling.md), the [original Forward+ study](https://github.com/emil28092005/Faset_Engine/blob/main/docs/studies/23-p3-forward-plus-2026-09-24.md), +and the [combined-code repeat](https://github.com/emil28092005/Faset_Engine/blob/main/docs/studies/24-p3-integrated-forward-plus-2026-09-24.md). ## Add a point light through MCP diff --git a/docs/manual/editor/profiling.md b/docs/manual/editor/profiling.md index 7a09d24..ca123c3 100644 --- a/docs/manual/editor/profiling.md +++ b/docs/manual/editor/profiling.md @@ -236,7 +236,11 @@ separately labelled workload. Compare `gpu_build_plus_raster_ms`, which includes frame with `--tile-diagnostics on` reports candidate and overflow counts but adds a GPU readback, so do not mix it into the timed runs. The [Forward+ measurement](https://github.com/emil28092005/Faset_Engine/blob/main/docs/studies/23-p3-forward-plus-2026-09-24.md) retains -raw frames, shader hashes, and the decision. +raw frames, shader hashes, and the initial decision. The +[combined P1+P3 repeat](https://github.com/emil28092005/Faset_Engine/blob/main/docs/studies/24-p3-integrated-forward-plus-2026-09-24.md) +retains 7,560 further frame rows under both shadow settings. Timed tile-count +fields are unavailable when diagnostic readback is off; do not interpret their +placeholder zero as proof that no tile overflowed. ## Current performance scope diff --git a/docs/validation/p1-iteration-2026-09-24/README.md b/docs/validation/p1-iteration-2026-09-24/README.md index 887f961..e514f28 100644 --- a/docs/validation/p1-iteration-2026-09-24/README.md +++ b/docs/validation/p1-iteration-2026-09-24/README.md @@ -115,16 +115,18 @@ evidence. The parallel [native/manual CI](https://github.com/emil28092005/Faset_ passed on Linux and Windows. This is **software** Vulkan; Windows did not have an active Khronos validation layer (`validation_enabled: false`), and no physical Windows GPU/driver performance claim follows. The later [combined P1/P3 Windows -graphics CI](https://github.com/emil28092005/Faset_Engine/actions/runs/35942307579) -at `87230f3` passed 74/74 CTests, including real diagnostic navigation, real -Release export integration and all three relocated games. The physical-GPU -Linux reference above had active validation. +graphics CI](https://github.com/emil28092005/Faset_Engine/actions/runs/35944875002) +at clean `4a3453e` passed 74/74 CTests, including real diagnostic navigation, +real Release export integration and all three relocated games for 120 frames. +The [parallel native/manual CI](https://github.com/emil28092005/Faset_Engine/actions/runs/35944874993) +passed on Linux and Windows. The physical-GPU Linux reference above had active +validation; Windows graphics used pinned SwiftShader. ## P1 acceptance record | Area | Evidence and current limit | | --- | --- | -| Lua | Linux native and Release [relocated Lua result](../lua-release-2026-09-24/README.md), repeated in the [clean combined three-game Release reference](final-release/README.md); Windows CPU/SwiftShader [combined 74-test suite](https://github.com/emil28092005/Faset_Engine/actions/runs/35942307579) and [relocated Lua-only Release report](windows-4ac02ee/playable-report.json), 120 completed frames. | +| Lua | Linux native and Release [relocated Lua result](../lua-release-2026-09-24/README.md), repeated in the [clean combined three-game Release reference](final-release/README.md); Windows CPU/SwiftShader [combined 74-test suite](https://github.com/emil28092005/Faset_Engine/actions/runs/35944875002) and [relocated Lua-only Release report](windows-4ac02ee/playable-report.json), 120 completed frames. | | Cache and rollback | [Five verified hits](report.json), `build_cache` and `build_schema_publication` contracts for headers, toolchain, schema/shader corruption and source races; the raw failed/recovered build retains the previous pointer. | | Diagnostics | `build_diagnostics` fixtures cover Clang, clang-cl, Lua, Unicode and unparseable output. The raw real failure above found a staged-source mapping gap; [the replay](diagnostic-replay.json), parser case, warning-flood case and real BuildService integration assertion cover the correction. | | Starters/navigation | [Four runnable C++/Lua × 2D/3D starters](../p1-starters-linux-2026-09-24.md) plus launcher/CLI and source-open tests. | diff --git a/docs/validation/p3-lighting-2026-09-24/README.md b/docs/validation/p3-lighting-2026-09-24/README.md index 2c50964..7180060 100644 --- a/docs/validation/p3-lighting-2026-09-24/README.md +++ b/docs/validation/p3-lighting-2026-09-24/README.md @@ -54,7 +54,7 @@ and temporal image/cost evidence has a [separate record](../p3-temporal-2026-09- | Driver, profile, real 64×64 benchmark smoke | `render_lighting_benchmark_schema`, `render_lighting_benchmark_smoke`, `player_shutdown_diagnostics` | Full Linux Debug green at `4a3453e` | | 1920×1080 0/4/16/32/64/128 Release sweep, three repeats, both shadow states | `tools/benchmark_p3_lighting.py --sweep` | Forward and tiled repeated at clean `4a3453e`: 6,480 raw frames across three visibility modes; study 24 | | 1920×1080 paired paths, 32/64/128 dense and localized lights | `faset_p3_lighting_benchmark --lighting forward|tiled` | Dense tiled 11–13% slower; localized tiled 43–54% faster in build+raster on the reference GPU; study 24 retains another 1,080 localized frames | -| Windows native build, pinned SwiftShader GPU tests, relocated Release 2D/3D Players | `windows-graphics.yml`, `ci.yml` | Native/manual passed at `4a3453e`; Windows graphics at that revision is tracked below; `a0a4e29` passed 64 Windows CTests and two relocated 120-frame Release games | +| Windows native build, pinned SwiftShader GPU tests, relocated Release 2D/3D Players | `windows-graphics.yml`, `ci.yml` | At `4a3453e`, native/manual passed, Windows graphics passed 74/74 CTests and three relocated 120-frame Release games including Lua; software Vulkan only | The supported-atlas GPU tests create a renderer with validation requested and assert zero reported Vulkan errors; a test result is a validation-layer pass only @@ -71,7 +71,9 @@ RTX 2080 Ti with active Khronos validation and zero reported errors. The [native/manual CI run](https://github.com/emil28092005/Faset_Engine/actions/runs/35944874993) passed on Linux and Windows; the corresponding [Windows graphics run](https://github.com/emil28092005/Faset_Engine/actions/runs/35944875002) -is the integrated SwiftShader acceptance run. The P3 paired sweep was repeated +passed all 74 registered CTests on pinned SwiftShader, the real export +integration, and all three source-hidden relocated Release games for 120 frames +each. It is the integrated software-Vulkan acceptance run. The P3 paired sweep was repeated on this exact clean revision with identical binary and shader hashes across forward and tiled paths. The timed CSVs omit tile-occupancy readback: their zero-valued overflow field is **not** evidence of no overflow. Study 24 retains @@ -132,8 +134,9 @@ frames, and validation errors. An offscreen capture's `cpu_ms` includes GPU wait and readback; it is not thread CPU time. The exact Release benchmark revision, driver and original paired path data are retained in study 23. The combined clean-revision repeat and three relocated physical-GPU games are now in study -24 and the P1 record. Final Release full CTest and integrated Windows graphics -results are tracked separately from the earlier source checkpoints. +24 and the P1 record. Final Release full CTest remains separate from the +earlier source checkpoints. The integrated Windows graphics run above passed; +it is not a physical Windows GPU test. ## Limits carried forward