Skip to content

test(vk): cover staging fallback ownership and publication - #1741

Merged
NotRexed merged 1 commit into
NotRexed:mainfrom
Arkex-ai:test/staging-fallback-publication
Nov 10, 2026
Merged

NotRexed merged 1 commit into
NotRexed:mainfrom
Arkex-ai:test/staging-fallback-publication

Conversation

@Arkex-ai

@Arkex-ai Arkex-ai commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

The complete texture-staging source fixture no longer compiles after #1505 and #1514: it lacks the ASTC failure diagnostic, <atomic> and the new unmapped-arena destruction boundary. This breaks the game-free source checks on current main, independently of any later feature patch.

Restore the fixture dependencies and execute the new fallback path with separate modeled host/device caches. Preserve the existing publication, atom-alignment, reuse and failure assertions; add cases for a smaller mapped arena, an allocated-but-unmapped large attempt, both attempts unmapped, ASTC fallback publication and completed fallback reuse. Model destruction ownership explicitly and reject flushing dead allocations. ASTC gathers now cross multiple noncoherent atoms, so a truncated flush cannot pass merely because atom rounding covers the whole tiny test payload.

Only the two test files change. The authored large-arena threshold is2MiB to bound test memory while keeping production's actual1MiB size rounding. Production Vulkan code, the API, retirement policy and shaders are unchanged.

Validation at fe1c22ceb699830965d75168bfe13efc9db690ef, based on main 8bac8aa67dc1260e18cb1bf50e844b0d943967eb:

  • 24 coherent/noncoherent execution cases pass with LLVM/MinGW, Linux GCC and ASan/UBSan.
  • Nine behavioral mutants are rejected: missing/wrong-sized fallback, unmapped admission or cleanup leak, missing CPU/ASTC publication, truncated ASTC flush and incorrect publication offsets.
  • Full local suite: 247 passed / 2 failed / 20 skipped, versus main 246 / 3 / 20. The staging fixture compilation failure is removed. The remaining NUP symlink-privilege and missing Windows-SDK guard failures are identical local environment failures in both runs. No assertion, compiler warning or workflow check is disabled.
  • Fresh all-open file-overlap check found no existing PR changing these two fixture files. No game data is needed or included; this test-only repair makes no native GPU-OOM, performance or campaign claim.

Exact-head fork workflows have been dispatched and are pending:

Current-head validation

Current head fe1c22c, based on main 8bac8aa. Earlier local/runtime results describe their recorded source hashes.

Fork runs are separate from upstream Actions approval; no maintainer approval gate is bypassed.

Restore the complete staging/ASTC source fixture after the BC retry and arena fallback changes. Exercise mapped fallback, unmapped cleanup, reuse and multi-atom visibility without weakening the existing assertions or changing production.

Assisted-by: GPT-6 (OpenAI)
@NotRexed
NotRexed merged commit aabf446 into NotRexed:main Nov 10, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants