aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/intel/vulkan/anv_batch_chain.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/intel/vulkan/anv_batch_chain.c b/src/intel/vulkan/anv_batch_chain.c
index 633a726583d..b1deae8e51c 100644
--- a/src/intel/vulkan/anv_batch_chain.c
+++ b/src/intel/vulkan/anv_batch_chain.c
@@ -1660,6 +1660,9 @@ anv_cmd_buffer_execbuf(struct anv_device *device,
assert(!pdevice->has_syncobj);
if (in_fence == -1) {
in_fence = impl->fd;
+ if (in_fence == -1)
+ return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
+ impl->fd = -1;
} else {
int merge = anv_gem_sync_file_merge(device, in_fence, impl->fd);
if (merge == -1)
@@ -1667,10 +1670,9 @@ anv_cmd_buffer_execbuf(struct anv_device *device,
close(impl->fd);
close(in_fence);
+ impl->fd = -1;
in_fence = merge;
}
-
- impl->fd = -1;
break;
case ANV_SEMAPHORE_TYPE_DRM_SYNCOBJ: