From d0fa4933b78974d737c5e8abd0c4a64aeb7b93f3 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Thu, 8 Jul 2021 14:08:55 -0700 Subject: [PATCH] venus: fix empty submits with BOs Empty submits with BOs (!batch_count && bo_count) were incorrectly skipped. Signed-off-by: Chia-I Wu Reviewed-by: Yiwei Zhang Part-of: --- src/virtio/vulkan/vn_renderer_virtgpu.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/virtio/vulkan/vn_renderer_virtgpu.c b/src/virtio/vulkan/vn_renderer_virtgpu.c index 80f2fff166f..5b6a25cdf8b 100644 --- a/src/virtio/vulkan/vn_renderer_virtgpu.c +++ b/src/virtio/vulkan/vn_renderer_virtgpu.c @@ -542,6 +542,17 @@ sim_submit(struct virtgpu *gpu, const struct vn_renderer_submit *submit) } } + if (!submit->batch_count && submit->bo_count) { + struct drm_virtgpu_execbuffer args = { + .bo_handles = (uintptr_t)gem_handles, + .num_bo_handles = submit->bo_count, + }; + + ret = drmIoctl(gpu->fd, DRM_IOCTL_VIRTGPU_EXECBUFFER, &args); + if (ret) + vn_log(gpu->instance, "failed to execbuffer: %s", strerror(errno)); + } + free(gem_handles); return ret;