From d6e2ab5145aee876ad3bbfe4b485b0439cdc8295 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 12 Oct 2022 16:33:20 +0200 Subject: [PATCH] render/vulkan: detect device loss --- render/vulkan/renderer.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/render/vulkan/renderer.c b/render/vulkan/renderer.c index e35d4707..ef3184c3 100644 --- a/render/vulkan/renderer.c +++ b/render/vulkan/renderer.c @@ -922,7 +922,11 @@ static void vulkan_end(struct wlr_renderer *wlr_renderer) { VkResult res = vkQueueSubmit(renderer->dev->queue, submit_count, submit_infos, NULL); - if (res != VK_SUCCESS) { + if (res == VK_ERROR_DEVICE_LOST) { + wlr_log(WLR_ERROR, "vkQueueSubmit failed with VK_ERROR_DEVICE_LOST"); + wl_signal_emit_mutable(&wlr_renderer->events.lost, NULL); + return; + } else if (res != VK_SUCCESS) { wlr_vk_error("vkQueueSubmit", res); return; }