From 14b0cb6b9fe8945229bbce962182c6fa2f1b2960 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Tue, 11 Jun 2024 08:40:38 +0200 Subject: [PATCH] v3dv: add more checks for device loss MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit VK_KHR_maintenance5 adds additional guarantees for functions that can return VK_ERROR_DEVICE_LOSS to return this error if the device was previously lost. Reviewed-by: Alejandro PiƱeiro Part-of: --- src/broadcom/vulkan/v3dv_event.c | 2 ++ src/broadcom/vulkan/v3dv_query.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/broadcom/vulkan/v3dv_event.c b/src/broadcom/vulkan/v3dv_event.c index a3aad37d9c7..0fe3d0f572e 100644 --- a/src/broadcom/vulkan/v3dv_event.c +++ b/src/broadcom/vulkan/v3dv_event.c @@ -450,6 +450,8 @@ v3dv_GetEventStatus(VkDevice _device, VkEvent _event) { V3DV_FROM_HANDLE(v3dv_device, device, _device); V3DV_FROM_HANDLE(v3dv_event, event, _event); + if (vk_device_is_lost(&device->vk)) + return VK_ERROR_DEVICE_LOST; return event_get_value(device, event) ? VK_EVENT_SET : VK_EVENT_RESET; } diff --git a/src/broadcom/vulkan/v3dv_query.c b/src/broadcom/vulkan/v3dv_query.c index c4ed38d9432..4647a40ebb2 100644 --- a/src/broadcom/vulkan/v3dv_query.c +++ b/src/broadcom/vulkan/v3dv_query.c @@ -773,6 +773,9 @@ v3dv_GetQueryPoolResults(VkDevice _device, V3DV_FROM_HANDLE(v3dv_device, device, _device); V3DV_FROM_HANDLE(v3dv_query_pool, pool, queryPool); + if (vk_device_is_lost(&device->vk)) + return VK_ERROR_DEVICE_LOST; + return v3dv_get_query_pool_results_cpu(device, pool, firstQuery, queryCount, pData, stride, flags); }