Mesa (main): venus: Add driconf option to enable implicit fencing

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 2 18:38:35 UTC 2022


Module: Mesa
Branch: main
Commit: c642ebf8ab7c7c027a07a72812a5bff83511159d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c642ebf8ab7c7c027a07a72812a5bff83511159d

Author: Renato Pereyra <renatopereyra at google.com>
Date:   Thu May 26 18:22:16 2022 -0700

venus: Add driconf option to enable implicit fencing

Signed-off-by: Renato Pereyra <renatopereyra at google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16735>

---

 src/util/driconf.h              | 7 +++++++
 src/virtio/vulkan/vn_instance.c | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/src/util/driconf.h b/src/util/driconf.h
index 2eb02fdd914..1bc31edd413 100644
--- a/src/util/driconf.h
+++ b/src/util/driconf.h
@@ -504,6 +504,13 @@
    DRI_CONF_OPT_B(format_l8_srgb_enable_readback, def, \
                   "Force-enable reading back L8_SRGB textures")
 
+/**
+ * \brief venus specific configuration options
+ */
+#define DRI_CONF_VENUS_IMPLICIT_FENCING(def) \
+   DRI_CONF_OPT_B(venus_implicit_fencing, def, \
+                  "Assume the virtio-gpu kernel driver supports implicit fencing")
+
 /**
  * \brief RADV specific configuration options
  */
diff --git a/src/virtio/vulkan/vn_instance.c b/src/virtio/vulkan/vn_instance.c
index 21357050d20..7b03ab34be3 100644
--- a/src/virtio/vulkan/vn_instance.c
+++ b/src/virtio/vulkan/vn_instance.c
@@ -64,6 +64,7 @@ static const driOptionDescription vn_dri_options[] = {
       DRI_CONF_VK_X11_OVERRIDE_MIN_IMAGE_COUNT(0)
       DRI_CONF_VK_X11_STRICT_IMAGE_COUNT(false)
       DRI_CONF_VK_XWAYLAND_WAIT_READY(true)
+      DRI_CONF_VENUS_IMPLICIT_FENCING(false)
    DRI_CONF_SECTION_END
    DRI_CONF_SECTION_DEBUG
       DRI_CONF_VK_WSI_FORCE_BGRA8_UNORM_FIRST(false)
@@ -787,6 +788,9 @@ vn_CreateInstance(const VkInstanceCreateInfo *pCreateInfo,
                        instance->base.base.app_info.engine_name,
                        instance->base.base.app_info.engine_version);
 
+   instance->renderer->info.has_implicit_fencing =
+      driQueryOptionb(&instance->dri_options, "venus_implicit_fencing");
+
    *pInstance = instance_handle;
 
    return VK_SUCCESS;



More information about the mesa-commit mailing list