Skip to content

test(vk): execute startup pool placement and fallback checks - #2877

Open
mooki000 wants to merge 2 commits into
NotRexed:mainfrom
mooki000:test/vk-start-blocks-constructors
Open

mooki000 wants to merge 2 commits into
NotRexed:mainfrom
mooki000:test/vk-start-blocks-constructors

Conversation

@mooki000

Copy link
Copy Markdown
Contributor

What this is for: execute the real pool constructors behind hckrman101's merged #2711, rather than checking their wiring only as source text. What is measured: GCC/Clang behavior checks, Windows-target compilation, and execution of the test on Ubuntu and Windows in the fork. Not measured: new gameplay, AMD or physical 8-GB-card behavior; no renderer behavior changes here.

Refs #2711

New coverage

A refused first allocation must retry with zero initial blocks, report zero kept bytes, and return null if the retry fails. The fixture compiles the production constructors against a refusing allocator and also checks default placement, compaction off, explicit/zero counts and cached reuse. Every original numeric/wiring assertion stays; --source enables the negative comparison. The merged test checked the fallback assignments as strings but did not execute the refusal.

Checks

Arch Linux 7.2.15-1-omarchy, GCC 16.2.1 and Clang 23.1.3. Rebased head 8bf7817f1 on main 4cf785a0b; the test commit is identical to the fork-tested version (605cf9ec7 = 4788c8a77 in the range-diff). Only independent documentation rows conflicted; both sets are retained, with our rows together.

Production source GCC Clang
Merged fix 1c0cd9803 Six constructor cases and original checks pass Same
Its parent b157c3e8 Four constructor cases fail; compaction-off and preallocation-off pass Same
Rebased head 8bf7817f1 Six constructor cases and original checks pass again Same

The negative checks compile and fail behavior assertions, not missing-string checks.
Fork run 43268735876 on 185a460b: tests/test_blocks_at_start.py passes on Ubuntu (0.8 s) and Windows (13.8 s).
The run's other failures were test_readme_menu_rows.py and, on Windows, test_wb_shadow_remake.py (main failures tracked by #2857 and #2868), plus test_release_scripts.py (the nightly race fixed since by #2822). The whole workflow was not green; none of those failures is this test.
Local Windows-target compilation passed both C++ units with -std=c++20 -Wall -Wextra -Werror. Earlier full suite: 476 passed, 0 failed, 20 skipped; not repeated for this documentation-only rebase. The plain PR gate passes.

Historical rows, not new timing evidence

Four pre-merge Market runs retain their exact commits (51da0464, fix 234f72a3, combined 3972579c) in the tested-configurations table: Arch/RTX 4090, NVIDIA 615.78.08, 2560×1440, default DLSS model K at DLAA/100%, ordinary shared-card runs. They are not relabelled as this head's gameplay evidence.
Under the 7000-MiB/9-block model, utility blocks fell from nine to one for the same 102 MiB of images; final budget snapshots were 835 versus 1771 MiB. No fatal/device/driver fault; no speed or real-card paging claim. No new game run was made for this test follow-up.

Assisted-by: GPT-6 Astra
Co-Authored-By: GPT-6 Astra noreply@openai.com

mooki000 and others added 2 commits November 12, 2026 12:42
Keep the numeric and wiring checks from hckrman101. Run the real pool constructors against a refusing allocator, covering compaction off, overrides, no preallocation, retry without blocks and total failure. Keep both translation units reachable before execution for Windows-target preflight. Document the kept-block policy and the limits of the small-card model.

Assisted-by: GPT-6 Astra
Co-Authored-By: GPT-6 Astra <noreply@openai.com>
Record the four ordinary Market memory and picture checks at their actual DLAA K render size. Distinguish these shared-card runs from timing evidence and retain both model limits and the explicit mirror limit.

Assisted-by: GPT-6 Astra
Co-Authored-By: GPT-6 Astra <noreply@openai.com>
@mooki000

Copy link
Copy Markdown
Contributor Author

Rebased onto main 3c2d80cf (77691c2a): the only conflict was the shared results table, where both sides' rows are kept; the test commit is unchanged (range-diff shows only moved context in the docs), and tests/test_blocks_at_start.py passes again locally.

@mooki000
mooki000 force-pushed the test/vk-start-blocks-constructors branch from 8bf7817 to 77691c2 Compare November 12, 2026 18:42
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.

1 participant