diff options
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_master_semaphore.cpp')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_master_semaphore.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_master_semaphore.cpp b/src/video_core/renderer_vulkan/vk_master_semaphore.cpp index be5a1144ce..ba364d99a0 100644 --- a/src/video_core/renderer_vulkan/vk_master_semaphore.cpp +++ b/src/video_core/renderer_vulkan/vk_master_semaphore.cpp @@ -104,7 +104,13 @@ void MasterSemaphore::Wait(u64 tick) { } // If none of the above is hit, fallback to a regular wait - while (!semaphore.Wait(tick)) { + try { + while (!semaphore.Wait(tick)) { + } + } catch (const vk::Exception& exception) { + // The throw ends the process; say why first (a device loss reached nothing else here). + LOG_CRITICAL(Render_Vulkan, "Waiting for GPU tick {} failed: {}", tick, exception.what()); + throw; } Refresh(); |
