Mesa (main): venus: fix empty submits with BOs
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jul 8 22:04:51 UTC 2021
Module: Mesa
Branch: main
Commit: d0fa4933b78974d737c5e8abd0c4a64aeb7b93f3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0fa4933b78974d737c5e8abd0c4a64aeb7b93f3
Author: Chia-I Wu <olvaffe at gmail.com>
Date: Thu Jul 8 14:08:55 2021 -0700
venus: fix empty submits with BOs
Empty submits with BOs (!batch_count && bo_count) were incorrectly
skipped.
Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11791>
---
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;
More information about the mesa-commit
mailing list