[vk] Clean up Extended Dynamic State code (#2947)

- Removed forced dynamic state 0 logic
- Restore and update the removal of broken states on certain drivers
- Inside 'vk_rasterizer.cpp' make 'UpdateDynamicStates' only check device
   capabilities directly instead of relying on user settings.
- Add a 'Force Unsupported Extensions' toggle that:
   "Bypasses all driver workarounds and safety checks.
     May cause crashes, graphical glitches, or instability.
     Only enable for testing purposes."

Cleans up EDS logic and adds new 'Force Unsupported Extensions' toggle,
Fixes vertex explosions in 'Pokemon: Legends ZA' when EDS is set to 0.

Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2947
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: JPikachu <jpikachu@eden-emu.dev>
Co-committed-by: JPikachu <jpikachu@eden-emu.dev>
This commit is contained in:
JPikachu
2025-11-05 02:20:09 +01:00
committed by crueter
parent 4b34a5c9fa
commit 612da00d1b
8 changed files with 77 additions and 100 deletions
@@ -329,6 +329,13 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QObject* parent)
tr("Extended Dynamic State"),
tr("Controls the number of features that can be used in Extended Dynamic State.\nHigher numbers allow for more features and can increase performance, but may cause issues.\nThe default value is per-system."));
INSERT(Settings,
force_unsupported_extensions,
tr("Force Unsupported Extensions"),
tr("Bypasses all driver workarounds and safety checks.\n"
"May cause crashes, graphical glitches, or instability.\n"
"Only enable for testing purposes."));
INSERT(Settings,
provoking_vertex,
tr("Provoking Vertex"),