From feea00a6c429e5d8656d62123d5923de69da3f10 Mon Sep 17 00:00:00 2001 From: Rohan Garg Date: Fri, 30 Jun 2023 17:12:15 +0200 Subject: [PATCH] anv: retry batchbuffer submission with i915 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: José Roberto de Souza Signed-off-by: Rohan Garg Part-of: --- src/intel/vulkan/i915/anv_batch_chain.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/intel/vulkan/i915/anv_batch_chain.c b/src/intel/vulkan/i915/anv_batch_chain.c index b3dc1b2edf2..93878147b07 100644 --- a/src/intel/vulkan/i915/anv_batch_chain.c +++ b/src/intel/vulkan/i915/anv_batch_chain.c @@ -539,10 +539,16 @@ static int anv_gem_execbuffer(struct anv_device *device, struct drm_i915_gem_execbuffer2 *execbuf) { - if (execbuf->flags & I915_EXEC_FENCE_OUT) - return intel_ioctl(device->fd, DRM_IOCTL_I915_GEM_EXECBUFFER2_WR, execbuf); - else - return intel_ioctl(device->fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, execbuf); + int ret; + const unsigned long request = (execbuf->flags & I915_EXEC_FENCE_OUT) ? + DRM_IOCTL_I915_GEM_EXECBUFFER2_WR : + DRM_IOCTL_I915_GEM_EXECBUFFER2; + + do { + ret = intel_ioctl(device->fd, request, execbuf); + } while (ret && errno == ENOMEM); + + return ret; } static VkResult