summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorZephyron <zephyron@citron-emu.org>2025-05-01 17:02:03 +1000
committerMike Lothian <mike@fireburn.co.uk>2025-05-12 12:46:19 +0100
commit321829c7d0c6d6737c47aaf52bf6d47c7b2cf8aa (patch)
tree33f06b0ff2231d2a6df690a78287502ed7515eb4 /src/common
parent0963c722819df213de7408fabdc255547737c157 (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')
-rw-r--r--src/common/settings.h6
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,