Mesa (main): venus: add debug info for experimental features during init

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 15 21:36:26 UTC 2021


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

Author: Yiwei Zhang <zzyiwei at chromium.org>
Date:   Tue Jun 15 20:06:35 2021 +0000

venus: add debug info for experimental features during init

Signed-off-by: Yiwei Zhang <zzyiwei at chromium.org>
Reviewed-by: Chia-I Wu <olvaffe at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11387>

---

 src/virtio/vulkan/vn_device.c | 30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

diff --git a/src/virtio/vulkan/vn_device.c b/src/virtio/vulkan/vn_device.c
index 58951d2983d..bb9f1fc8039 100644
--- a/src/virtio/vulkan/vn_device.c
+++ b/src/virtio/vulkan/vn_device.c
@@ -178,6 +178,29 @@ vn_instance_init_ring(struct vn_instance *instance)
    return VK_SUCCESS;
 }
 
+static void
+vn_instance_init_experimental_features(struct vn_instance *instance)
+{
+   if (instance->renderer_info.vk_mesa_venus_protocol_spec_version !=
+       100000) {
+      if (VN_DEBUG(INIT))
+         vn_log(instance, "renderer supports no experimental features");
+      return;
+   }
+
+   size_t size = sizeof(instance->experimental);
+   vn_call_vkGetVenusExperimentalFeatureData100000MESA(
+      instance, &size, &instance->experimental);
+   if (VN_DEBUG(INIT)) {
+      vn_log(instance,
+             "VkVenusExperimentalFeatures100000MESA is as below:"
+             "\n\tmemoryResourceAllocationSize = %u"
+             "\n\tglobalFencing = %u",
+             instance->experimental.memoryResourceAllocationSize,
+             instance->experimental.globalFencing);
+   }
+}
+
 static VkResult
 vn_instance_init_renderer(struct vn_instance *instance)
 {
@@ -1923,12 +1946,7 @@ vn_CreateInstance(const VkInstanceCreateInfo *pCreateInfo,
    if (result != VK_SUCCESS)
       goto fail;
 
-   if (instance->renderer_info.vk_mesa_venus_protocol_spec_version ==
-       100000) {
-      size_t size = sizeof(instance->experimental);
-      vn_call_vkGetVenusExperimentalFeatureData100000MESA(
-         instance, &size, &instance->experimental);
-   }
+   vn_instance_init_experimental_features(instance);
 
    result = vn_instance_init_renderer_versions(instance);
    if (result != VK_SUCCESS)



More information about the mesa-commit mailing list