Skip to content

vulkan: guard GPL layouts and malformed warm records - #3

Draft
Marssvoodoo wants to merge 1 commit into
PantACRO4life:perf/gpl-shader-warmup-v2from
Marssvoodoo:fix/gpl-warmup-guards-20261109
Draft

Marssvoodoo wants to merge 1 commit into
PantACRO4life:perf/gpl-shader-warmup-v2from
Marssvoodoo:fix/gpl-warmup-guards-20261109

Conversation

@Marssvoodoo

Copy link
Copy Markdown

Graphics libraries allocate five stage descriptor sets, including holes for absent stages. A device exposing fast linking with only four bound sets currently passes discovery and can reach an invalid layout. This checks that limit before enabling the path and preserves monolithic fallback.

Two preparation failure cases are also guarded: allocating an entry after inserting its key can leave a null map value on allocation failure, and unchecked multiplication of malformed runtime-environment counts can wrap and admit a bogus warm-up template. Entries are now constructed before publication; record extents are checked against remaining bytes before multiplication.

This targets the branch behind zortos293#579 so the existing fragment delta-rescaling fix and the GPL implementation are not resubmitted. The added tests use synthetic data only.

Validation: these selected implementations and tests are extracted from the locally built integration at Marssvoodoo/Lichii@f0589f1. That integration passed all five native suites, 16 debug-adapter tests, and observed RTX 5090 Vulkan gameplay with Wait mode. A subsequent focused run passed six GPL cases / 27 assertions. The extraction passes git diff --check; this exact clean branch has not been rebuilt, so this is a draft pending that check and upstream review. The prior 30 scoped source-review passes preceded compilation of the tested integration, and the extraction's changed base context was rechecked.

This was prepared and tested with AI assistance (Codex). No game content, shaders, saves, keys, captures, or private logs are included. No claim that these guards alone improve FPS or eliminate all first-use hitches.

Require the five descriptor sets used by graphics stage layouts before
enabling fast-linked libraries. Construct cache entries before publishing
them and validate runtime environment extents before multiplying counts.

Add synthetic feature-boundary, concurrent failure, key separation and
malformed-record regressions. Extract only these guards from the tested
integration; retain the existing fragment delta rescaling fix.
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