From 077b200096d07d514734f5ffb5208fed8500fa0f Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Tue, 1 Aug 2017 11:50:59 -0700 Subject: [PATCH] anv: Pull the API version from anv_extensions.py This way everything stays in sync and we only have the one version number. Reviewed-by: Lionel Landwerlin --- src/intel/vulkan/anv_device.c | 2 +- src/intel/vulkan/anv_extensions.py | 11 +++++++++++ src/intel/vulkan/anv_private.h | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 70b5cd1ec68..793e519ad97 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -794,7 +794,7 @@ void anv_GetPhysicalDeviceProperties( }; *pProperties = (VkPhysicalDeviceProperties) { - .apiVersion = VK_MAKE_VERSION(1, 0, 54), + .apiVersion = anv_physical_device_api_version(pdevice), .driverVersion = vk_get_driver_version(), .vendorID = 0x8086, .deviceID = pdevice->chipset_id, diff --git a/src/intel/vulkan/anv_extensions.py b/src/intel/vulkan/anv_extensions.py index 7307cacbcac..f4bfcf197bf 100644 --- a/src/intel/vulkan/anv_extensions.py +++ b/src/intel/vulkan/anv_extensions.py @@ -91,6 +91,10 @@ class VkVersion: ver_list.append(str(self.patch)) return '.'.join(ver_list) + def c_vk_version(self): + ver_list = [str(self.major), str(self.minor), str(self.patch)] + return 'VK_MAKE_VERSION(' + ', '.join(ver_list) + ')' + def __int_ver(self): # This is just an expansion of VK_VERSION patch = self.patch if self.patch is not None else 0 @@ -173,6 +177,12 @@ VkResult anv_EnumerateInstanceExtensionProperties( return vk_outarray_status(&out); } +uint32_t +anv_physical_device_api_version(struct anv_physical_device *dev) +{ + return ${MAX_API_VERSION.c_vk_version()}; +} + bool anv_physical_device_extension_supported(struct anv_physical_device *device, const char *name) @@ -218,6 +228,7 @@ if __name__ == '__main__': _init_exts_from_xml(args.xml) template_env = { + 'MAX_API_VERSION': MAX_API_VERSION, 'instance_extensions': [e for e in EXTENSIONS if e.type == 'instance'], 'device_extensions': [e for e in EXTENSIONS if e.type == 'device'], } diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 818f6990dc7..c3644914328 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -685,6 +685,7 @@ VkResult anv_init_wsi(struct anv_physical_device *physical_device); void anv_finish_wsi(struct anv_physical_device *physical_device); bool anv_instance_extension_supported(const char *name); +uint32_t anv_physical_device_api_version(struct anv_physical_device *dev); bool anv_physical_device_extension_supported(struct anv_physical_device *dev, const char *name); -- 2.30.2