render/vulkan: detect device loss

This commit is contained in:
Simon Ser 2022-10-12 16:33:20 +02:00 committed by Simon Zeni
parent 165352e32f
commit d6e2ab5145

View file

@ -922,7 +922,11 @@ static void vulkan_end(struct wlr_renderer *wlr_renderer) {
VkResult res = vkQueueSubmit(renderer->dev->queue, submit_count, VkResult res = vkQueueSubmit(renderer->dev->queue, submit_count,
submit_infos, NULL); 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); wlr_vk_error("vkQueueSubmit", res);
return; return;
} }