Skip to content

DX12 indirect identity: local and hosted evidence

Pre-release
Pre-release

Choose a tag to compare

DX12 indirect identity and visibility oracle evidence

Draft PR #162, source ab8019be8e0d6f1d950c623df6af575cbb2b5ee1, uses Bloom's existing bounded ordinary multi-draw fallback on DX12. A shared device/backend policy governs static GPU-driven draws, virtual draw emission, and virtual visibility. The original counted path loses per-command first-instance identity in wgpu 29. Ordinary multi-draw and individual indirect calls pass the same original four-pixel oracle. Supported Vulkan devices retain counted submission.

The visibility raster oracle also avoids the DX12 fragment interface containing both position and primitive ID. It carries linear NDC, recovers the exact pixel center, and calls the unchanged production reconstruction function. The original IDs, opposite face orientation, clear sentinel, nonuniform clip W, and 2e-5 barycentric limit remain checked. No pipeline-only diagnostic or alternate-shader test override is retained in the committed source.

Verified execution

  • The two original focused GPU oracles pass with Radeon Vulkan, Radeon DX12/FXC, Radeon DX12/DXC, WARP/FXC, and WARP/DXC: 10 verified executions with adapter identities.
  • At exact committed source ab8019b, the new production virtual-visibility default-submission oracle passes on Radeon Vulkan, Radeon DX12 and WARP. Its binned fallback and counted paths retain the full pixel/reconstructed-attribute assertions.
  • The complete local shared CI component passes on ab8019b under the Vulkan configuration: 489 library tests, device negotiation, 93 goldens, and the remaining integration checks pass. Existing ignored tests remain ignored. This is the actual shared CI entry point, not an object-only or compilation-only check.
  • The expanded local DX12 run passes 489 library tests and device negotiation, then reports 92 goldens passed, one failed and four ignored. The camera-cut check requires exact equality; maximum channel difference is 1. Three focused repetitions fail, and the unchanged parent 59244b9 also fails. Camera-history diagnosis is separate from PR #162.
  • Formatting, strict Clippy policy and repository contracts pass. The new worktree's initial missing Jolt submodule caused a package-contract failure; initializing the pinned submodule resolves that setup failure.

Hosted result and remaining crash

Tests run 34547668613 has 21 successful jobs and one failed job. The actual Windows native build and all 20 native example links pass. Example linking takes 178.709 seconds; this is an observation, not a budget. The example report records merge checkout bf555f7972adb6d89471d3c46bc194c05b6fc5f9, whose tree matches PR head ab8019b; both source receipts are retained.

The Windows shared process still crashes with STATUS_ACCESS_VIOLATION (0xc0000005, Bash exit 139) before finishing the library suite. It produces no completed lib summary, and its later golden integration tests do not run. The mandatory CI execution summary records failure. The preceding #160 crash remains unresolved; successful local serial runs and the completed #161 run are not evidence of a crash fix.

The local full DX12 configuration uses a process-local Vulkan loader override so older library helpers cannot select Vulkan. Some older helpers explicitly prefer software adapters; the run must not be read as every test using the physical Radeon. The changed oracle helpers record their actual adapters and compiler selection. No driver installation or persistent system setting is changed.

Controls and scope

The archive retains initial setup failures, shader-only reductions, old failures, all successful controls, the common-profile example-build receipts, and exact source/CI logs. Early pipeline-only probes are diagnostic isolation, not complete pixel tests. candidate-final-v1's first Vulkan default-submission attempt incorrectly read binned-only buffers on the counted path; it fails and is retained. The committed correction conditions those buffer assertions on submission mode, keeps every pixel assertion, and passes the exact-source rerun. The accompanying source-note correction distinguishes intended patches from the already-completed earlier run.

The archive excludes executable/runtime binaries and external game assets. Every payload has a SHA-256 entry and the ZIP is CRC-checked. These results advance #140/#27/#131. No complete startup/install, performance, named RTX 4080, other unavailable hardware acceptance, or merged PR is claimed.