[Mesa-dev] [PATCH] anv: Use a single global API patch version

Jason Ekstrand jason at jlekstrand.net
Sun Jun 17 23:29:21 UTC 2018


The Vulkan API has only one patch version shared among all of the
major.minor versions.  We should also advertise the same patch version
regardless of major.minor.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106941
---
 src/intel/vulkan/anv_extensions.py     | 17 ++++++++++-------
 src/intel/vulkan/anv_extensions_gen.py |  2 +-
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/intel/vulkan/anv_extensions.py b/src/intel/vulkan/anv_extensions.py
index 8160864685f..18851c0ff90 100644
--- a/src/intel/vulkan/anv_extensions.py
+++ b/src/intel/vulkan/anv_extensions.py
@@ -44,20 +44,22 @@ class Extension:
         self.enable = _bool_to_c_expr(enable)
 
 class ApiVersion:
-    def __init__(self, max_patch_version, enable):
-        self.max_patch_version = max_patch_version
+    def __init__(self, version, enable):
+        self.version = version
         self.enable = _bool_to_c_expr(enable)
 
+API_PATCH_VERSION = 76
+
 # Supported API versions.  Each one is the maximum patch version for the given
 # version.  Version come in increasing order and each version is available if
 # it's provided "enable" condition is true and all previous versions are
 # available.
 API_VERSIONS = [
-    ApiVersion('1.0.57',    True),
+    ApiVersion('1.0',   True),
 
     # DRM_IOCTL_SYNCOBJ_WAIT is required for VK_KHR_external_fence which is a
     # required core feature in Vulkan 1.1
-    ApiVersion('1.1.0',     'device->has_syncobj_wait'),
+    ApiVersion('1.1',   'device->has_syncobj_wait'),
 ]
 
 MAX_API_VERSION = None # Computed later
@@ -160,6 +162,7 @@ class VkVersion:
 
 MAX_API_VERSION = VkVersion('0.0.0')
 for version in API_VERSIONS:
-    version.max_patch_version = VkVersion(version.max_patch_version)
-    assert version.max_patch_version > MAX_API_VERSION
-    MAX_API_VERSION = version.max_patch_version
+    version.version = VkVersion(version.version)
+    version.version.patch = API_PATCH_VERSION
+    assert version.version > MAX_API_VERSION
+    MAX_API_VERSION = version.version
diff --git a/src/intel/vulkan/anv_extensions_gen.py b/src/intel/vulkan/anv_extensions_gen.py
index 5ea82204eea..b75cb3e6fbb 100644
--- a/src/intel/vulkan/anv_extensions_gen.py
+++ b/src/intel/vulkan/anv_extensions_gen.py
@@ -157,7 +157,7 @@ anv_physical_device_api_version(struct anv_physical_device *device)
 %for version in API_VERSIONS:
     if (!(${version.enable}))
         return version;
-    version = ${version.max_patch_version.c_vk_version()};
+    version = ${version.version.c_vk_version()};
 
 %endfor
     return version;
-- 
2.17.1



More information about the mesa-dev mailing list