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;