Fix handling of timeouts > INT64_MAX
This was causing a busy wait loop if vkWaitForFences is called
with a large enough timeout.
MA-424 #done
Change-Id: Idbbc6c0a4d73f6da3f8957cadeb3754ae7ee99e8
diff --git a/src/intel/vulkan/anv_magma.cc b/src/intel/vulkan/anv_magma.cc
index f2553ec..799637f 100644
--- a/src/intel/vulkan/anv_magma.cc
+++ b/src/intel/vulkan/anv_magma.cc
@@ -421,7 +421,7 @@
int64_t abs_timeout_ns, bool wait_all, uint64_t timeout_ns)
{
auto timeout_ms = std::chrono::duration_cast<std::chrono::milliseconds>(
- std::chrono::nanoseconds(timeout_ns));
+ std::chrono::nanoseconds(timeout_ns > INT64_MAX ? INT64_MAX : timeout_ns));
magma_status_t status = magma_wait_semaphores(fences, fence_count, timeout_ms.count(), wait_all);
switch (status) {
case MAGMA_STATUS_OK: