venus: forward ARM driverVersion for ANGLE workarounds
authorYiwei Zhang <zzyiwei@chromium.org>
Fri, 31 Mar 2023 07:34:49 +0000 (07:34 +0000)
committerMarge Bot <emma+marge@anholt.net>
Tue, 11 Apr 2023 03:17:56 +0000 (03:17 +0000)
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22242>

src/virtio/vulkan/vn_physical_device.c

index bf59bfb..1f6f6fd 100644 (file)
@@ -710,7 +710,13 @@ vn_physical_device_init_properties(struct vn_physical_device *physical_dev)
       vk10_props->apiVersion = ver;
    }
 
-   vk10_props->driverVersion = vk_get_driver_version();
+   /* ANGLE relies on ARM proprietary driver version for workarounds */
+   const char *engine_name = instance->base.base.app_info.engine_name;
+   const bool forward_driver_version =
+      vk12_props->driverID == VK_DRIVER_ID_ARM_PROPRIETARY && engine_name &&
+      strcmp(engine_name, "ANGLE") == 0;
+   if (!forward_driver_version)
+      vk10_props->driverVersion = vk_get_driver_version();
 
    char device_name[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
    int device_name_len =