Citron/src/common
Zephyron 791b95822d 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>
2025-05-01 17:02:03 +10:00
..
android android: Update build system and optimize ARM NCE implementation 2025-03-11 20:48:51 +10:00
arm64 Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
fs Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
linux Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
logging feat(services): Implement nn::socket, nn::nifm, and nn::nim networking services 2025-04-20 15:35:25 +10:00
windows Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
x64 Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
CMakeLists.txt android: Initial multiplayer support 2025-03-10 22:37:56 +01:00
address_space.cpp general: Format licenses as per SPDX guidelines 2022-10-06 21:00:54 +02:00
address_space.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
address_space.inc Fix address space allocator slow path to avoid OOB 2023-05-07 15:11:16 +01:00
algorithm.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
alignment.h fssystem: rework for yuzu style 2023-08-15 17:47:40 -04:00
announce_multiplayer_room.h android: Initial multiplayer support 2025-03-10 22:37:56 +01:00
assert.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
assert.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
atomic_helpers.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
atomic_ops.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
bit_cast.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
bit_field.h externals: Update to fmt 10 and add format_as formatter for BitField 2023-05-28 15:05:55 -04:00
bit_set.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
bit_util.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
bounded_threadsafe_queue.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
cityhash.cpp chore: add missing SPDX tags 2022-04-28 18:24:11 +02:00
cityhash.h chore: add missing SPDX tags 2022-04-28 18:24:11 +02:00
common_funcs.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
common_precompiled_headers.h build: upgrade fmt and SDL2 2025-02-16 13:38:05 +10:00
common_types.h common: add missing <memory> include in common_types.h 2025-02-01 21:47:55 +10:00
concepts.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
container_hash.h container_hash: use climits 2023-03-26 10:24:33 -04:00
demangle.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
demangle.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
detached_tasks.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
detached_tasks.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
div_ceil.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
dynamic_library.cpp build: upgrade fmt and SDL2 2025-02-16 13:38:05 +10:00
dynamic_library.h common: dynamic_library: Add ctor for existing handle. 2023-06-03 00:05:31 -07:00
elf.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
error.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
error.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
expected.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
fiber.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
fiber.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
fixed_point.h general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
free_region_manager.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
hash.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
heap_tracker.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
heap_tracker.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
hex_util.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
hex_util.h build: upgrade fmt and SDL2 2025-02-16 13:38:05 +10:00
host_memory.cpp common: Enhance memory mapping safety and debugging 2025-02-09 15:40:24 +10:00
host_memory.h common: Enhance memory mapping safety and debugging 2025-02-09 15:40:24 +10:00
input.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
intrusive_list.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
intrusive_red_black_tree.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
literals.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
lru_cache.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
lz4_compression.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
lz4_compression.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
make_unique_for_overwrite.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
math_util.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
memory_detect.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
memory_detect.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
microprofile.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
microprofile.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
microprofileui.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
multi_level_page_table.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
multi_level_page_table.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
multi_level_page_table.inc Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
nvidia_flags.cpp build: upgrade fmt and SDL2 2025-02-16 13:38:05 +10:00
nvidia_flags.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
overflow.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
page_table.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
page_table.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
param_package.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
param_package.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
parent_of_member.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
point.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
polyfill_ranges.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
polyfill_thread.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
precompiled_headers.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
quaternion.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
range_map.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
range_mutex.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
range_sets.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
range_sets.inc Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
reader_writer_queue.h chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
ring_buffer.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
scm_rev.cpp.in Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
scm_rev.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
scope_exit.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
scratch_buffer.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
settings.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
settings.h fix(renderer_vulkan): resolve asynchronous presentation crashes and compilation errors 2025-05-01 17:02:03 +10:00
settings_common.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
settings_common.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
settings_enums.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
settings_input.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
settings_input.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
settings_setting.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
signal_chain.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
signal_chain.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
slot_vector.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
socket_types.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
spin_lock.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
spin_lock.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
stb.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
stb.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
steady_clock.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
steady_clock.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
stream.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
stream.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
string_util.cpp string_util: Replace deprecated wstring_convert with direct UTF conversions 2025-02-01 12:27:03 +10:00
string_util.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
swap.h Warnings cleanup for GCC 13 and Clang 16 2023-08-25 19:22:31 -04:00
telemetry.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
telemetry.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
thread.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
thread.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
thread_queue_list.h chore: add missing SPDX tags 2022-04-28 18:24:11 +02:00
thread_worker.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
threadsafe_queue.h ui: Update repository URLs to git.citron-emu.org 2025-01-28 17:33:57 +10:00
time_zone.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
time_zone.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
tiny_mt.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
tree.h Move to Clang Format 15 2023-01-29 17:49:42 -07:00
typed_address.h build: upgrade fmt and SDL2 2025-02-16 13:38:05 +10:00
uint128.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
unique_function.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
uuid.cpp build: upgrade fmt and SDL2 2025-02-16 13:38:05 +10:00
uuid.h Revert "Replace yuzu identifiers with citron" 2025-02-09 18:19:08 +10:00
vector_math.h input_common: Add property to invert an axis button 2023-05-05 17:18:35 -06:00
virtual_buffer.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
virtual_buffer.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
wall_clock.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
wall_clock.h feat: add CPU clock rate slider to settings 2025-04-16 22:02:10 +10:00
zstd_compression.cpp Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00
zstd_compression.h Revert incorrect copyright attribution for non-contributed files 2025-01-14 15:33:24 +10:00