docs(render): close V6f's shader obligation; record why the Vulkan world path is blocked
Two things to write down after slice V6f. The obligation §5 recorded against V6e is discharged. terrain_modern was "the one production pair still not Vulkan-expressible"; its three blockers - the two loose matrices, the loose tiling array, and the GL-only sampler-from-handle construction - are gone, and 8/9 pairs now compile. The ninth is `mesh`, which the plan already records as having no consumer at all, so every shader acdream actually draws with is Vulkan-expressible. V6f gets its own slice row and its own line in the user-gate debt table: terrain through a doorway clip region is the one terrain path the offline gate cannot see, and it now has a second UBO binding beside the clip block, so a bind-order mistake would surface exactly there. The larger entry is §5.5.7, which records a measurement rather than an opinion. §5.5.6 selected option (B) - V4c/V4d's content returning as the Vulkan world path behind a fork at the thin submission seam - and V6f set out to build that fork. It cannot be built yet, for a reason the plan had not stated: the Vulkan path constructs no game state at all. GameWindow.Run returns at :695, before Window.Create and therefore before OnLoad, which is the only caller of the composition pipeline. A capture confirms it (artifacts/vk-world/): what the Vulkan backend draws today is V6c's verification scene and V6d's generated UI sprite, correctly and completely, and nothing else. A backend-selected fork would therefore have a GL arm that runs and a Vulkan arm nothing can reach - the unexercised second path §3.1 and §7.1 exist to prevent. Worse for sequencing, the parked V4c/V4d code could not drive Vulkan even if it were reached: it binds GL bindless handles as a storage buffer because §5.3 deferred the real port to V4t, and GroupKey carries the raw ulong. V4t is a hard prerequisite, and it rewrites exactly the code the fork's Vulkan arm would contain. Landing the fork first means writing that arm twice. One validation-layer run is recorded with it, and it found two defects that outlive the slice, both pre-existing and both on the path any world frame takes. The pipeline layout declares all ten storage bindings as STORAGE_BUFFER_DYNAMIC against a device limit of eight - the pinned binding model meeting a real limit, wanting a decision rather than a patch. And any depth-off pipeline in a pass that carries depth declares VK_FORMAT_UNDEFINED where the attachment's real format is required. Also noted: the render-target-view-in-table usage V6f was told to expect did NOT fire, so it should be re-checked rather than carried forward as known-and-accepted. The section closes with the recommended order - composition host, the validation defects, V4t, then the fork - and with a cheaper intermediate milestone worth considering: terrain, water and sky only, for which V6f's work is the whole shader prerequisite. Also: the roadmap's Campaign V paragraph gains a shipped-so-far line, and #250 gains a third test of the same class. One full App run during this slice reported 2,752 bytes against an expected 0 in CurrentRenderSceneOracleTests.SurfaceOverrideFingerprint_DictionaryHotPathAllocatesNothing, on a diff that touches only GLSL and terrain's uniform plumbing; it passed alone and in four other full runs of the same binary. Documentation only - no code, no gates. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
30e94da607
commit
f8dbe2ee4a
3 changed files with 113 additions and 8 deletions
|
|
@ -32,7 +32,13 @@ are deleted at V11; re-homing the dev panels onto the retained UI is a tracked
|
|||
follow-up. Targets versus the GL baseline (520 FPS, CPU/GPU p50 1.869/1.096 ms,
|
||||
652 MiB working set): CPU p50 ≤ 1.60 ms, GPU p50 ≤ 1.00 ms, working set
|
||||
≤ 600 MiB, 0 B/frame managed allocation — with parity on all four as the cutover
|
||||
floor.
|
||||
floor. Shipped so far: V0–V2, V4a, V4b, V5, V6a–V6f. V4c/V4d were reverted and
|
||||
their GL re-land is closed — an AMD GL driver defect, established by a
|
||||
cross-vendor 10/10 on NVIDIA — so their content returns as the Vulkan world path
|
||||
(plan §5.5.5–§5.5.6). V6f made every production shader Vulkan-expressible and
|
||||
then measured that world path: it is blocked behind a Vulkan composition host,
|
||||
three validation-layer defects, and V4t's texture stack, all recorded with
|
||||
evidence in plan §5.5.7.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue