Fix return codes from anv_WaitForFences
Change-Id: Ia2978899371e0b21caa53f4cef403389859b567c
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index c455c8a..040f438 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -2352,20 +2352,20 @@
ret = anv_platform_wait_semaphore(fence->semaphore->current_platform_semaphore,
_timeout == UINT64_MAX ? UINT64_MAX
: _timeout / 1000000);
- if (ret == -ETIME) {
- return VK_TIMEOUT;
- } else if (ret < 0) {
- /* We don't know the real error. */
- return vk_errorf(VK_ERROR_DEVICE_LOST, "gem wait failed: %m");
- } else {
+ switch (ret) {
+ case 0:
fence->state = ANV_FENCE_STATE_SIGNALED;
signaled_fences = true;
if (!waitAll)
goto done;
break;
-
+ case -ETIME:
+ result = VK_TIMEOUT;
+ goto done;
default:
- return result;
+ /* We don't know the real error. */
+ device->lost = true;
+ goto done;
}
}
}