Skip to content

Deal with robustness for alloca / constant LUTs in DXIL#2389

Draft
HansKristian-Work wants to merge 8 commits intomasterfrom
misc-oob-tests
Draft

Deal with robustness for alloca / constant LUTs in DXIL#2389
HansKristian-Work wants to merge 8 commits intomasterfrom
misc-oob-tests

Conversation

@HansKristian-Work
Copy link
Copy Markdown
Owner

Add some tests which explore various cases of UB.

  • LUTs are generally robust, but can suffer from spill between LUTs. AMDVLK is not robust at all, but other drivers are. There's little cost in making this robust however, so just go for that.
  • alloca() is robust on native drivers, and we are not in DXIL atm. DXBC needs it since games rely on it, and there are games that trip our expect-assume paths, so we should enable this by default to be safe.
  • Groupshared behaves robustly across the board and our behavior matches native, so there's no point in going beyond that.
  • Also refactors the option settings finally ...
  • Bumps the bucket to 2.15 since this will replace a lot of shaders by default.

@HansKristian-Work
Copy link
Copy Markdown
Owner Author

HansKristian-Work commented Mar 10, 2025

For testing people, this requires a ton of spot checking across any DXIL based game you can come across. We're interested in game not exploding + any performance regressions you can find. Very minor (~1%) regressions are likely unavoidable. Progress can be reported on this PR for reference.

EDIT: When testing, make sure to disable Fossilize layer in Steam, since it's not certain we'll land this.

@HansKristian-Work HansKristian-Work force-pushed the misc-oob-tests branch 2 times, most recently from f3f1589 to 1c1b2b4 Compare March 11, 2025 11:08
New bucket since this enables robust alloca/LUT in DXIL.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
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