diff options
| author | Zephyron <zephyron@citron-emu.org> | 2025-05-01 17:02:03 +1000 |
|---|---|---|
| committer | Mike Lothian <mike@fireburn.co.uk> | 2025-05-12 12:46:19 +0100 |
| commit | 321829c7d0c6d6737c47aaf52bf6d47c7b2cf8aa (patch) | |
| tree | 33f06b0ff2231d2a6df690a78287502ed7515eb4 /src/common/settings.h | |
| parent | 0963c722819df213de7408fabdc255547737c157 (diff) | |
fix(renderer_vulkan): resolve asynchronous presentation crashes and compilation errors
Fix multiple issues in the Vulkan asynchronous presentation implementation:
- Convert regular mutexes to timed_mutex for timeout support
- Use condition_variable_any for compatibility with timed_mutex
- Fix thread synchronization with proper locking and error handling
- Add VkResultToString helper to replace missing ToString function
- Implement better error recovery with recreation attempt limits
- Add comprehensive logging for better troubleshooting
These changes make the asynchronous presentation feature more robust
and less prone to deadlocks, while keeping it disabled by default since
it may still cause instability in some games.
Signed-off-by: Zephyron <zephyron@citron-emu.org>
Diffstat (limited to 'src/common/settings.h')
| -rw-r--r-- | src/common/settings.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/common/settings.h b/src/common/settings.h index 2df3325e8..495671204 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -403,11 +403,11 @@ struct Values { Category::RendererAdvanced}; SwitchableSetting<bool> async_presentation{linkage, #ifdef ANDROID - true, + false, // Disabled due to instability causing crashes #else - false, + false, // Disabled due to instability causing crashes #endif - "async_presentation", Category::RendererAdvanced}; + "async_presentation", Category::RendererAdvanced}; // Hidden from UI due to instability SwitchableSetting<bool> renderer_force_max_clock{linkage, false, "force_max_clock", Category::RendererAdvanced}; SwitchableSetting<bool> use_reactive_flushing{linkage, |
