anv: Implement VK_KHR_driver_properties
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 20 Jun 2018 03:27:36 +0000 (20:27 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 1 Oct 2018 18:21:12 +0000 (13:21 -0500)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/intel/vulkan/anv_device.c
src/intel/vulkan/anv_extensions.py

index aa75de4e1ac0886091492ecbeadde1d14a4767af..d392541c0c18ed997d531fccb52cfb1135d79271 100644 (file)
@@ -37,6 +37,7 @@
 #include "util/build_id.h"
 #include "util/disk_cache.h"
 #include "util/mesa-sha1.h"
+#include "git_sha1.h"
 #include "vk_util.h"
 #include "common/gen_defines.h"
 
@@ -1114,6 +1115,28 @@ void anv_GetPhysicalDeviceProperties2(
          break;
       }
 
+      case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR: {
+         VkPhysicalDeviceDriverPropertiesKHR *driver_props =
+            (VkPhysicalDeviceDriverPropertiesKHR *) ext;
+
+         driver_props->driverID = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR;
+         memset(driver_props->driverName, 0, VK_MAX_DRIVER_NAME_SIZE_KHR);
+         strcpy(driver_props->driverName,
+                "Intel open-source Mesa driver");
+
+         memset(driver_props->driverInfo, 0, VK_MAX_DRIVER_INFO_SIZE_KHR);
+         strcpy(driver_props->driverInfo,
+                "Mesa " PACKAGE_VERSION MESA_GIT_SHA1);
+
+         driver_props->conformanceVersion = (VkConformanceVersionKHR) {
+            .major = 1,
+            .minor = 1,
+            .subminor = 2,
+            .patch = 0,
+         };
+         break;
+      }
+
       case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: {
          VkPhysicalDeviceIDProperties *id_props =
             (VkPhysicalDeviceIDProperties *)ext;
index 951505a854e4dd10abbb633679ea25039baeeae4..d4915c9501320b73d3aac273ef07f47abe26a8a1 100644 (file)
@@ -78,6 +78,7 @@ EXTENSIONS = [
     Extension('VK_KHR_descriptor_update_template',        1, True),
     Extension('VK_KHR_device_group',                      1, True),
     Extension('VK_KHR_device_group_creation',             1, True),
+    Extension('VK_KHR_driver_properties',                 1, True),
     Extension('VK_KHR_external_fence',                    1,
               'device->has_syncobj_wait'),
     Extension('VK_KHR_external_fence_capabilities',       1, True),