[Mesa-dev] [PATCH] anv: Use a single global API patch version
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Mon Jun 18 09:33:24 UTC 2018
I was wondering whether we should pick up the patch version from the
registry.
Anyway :
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
On 18/06/18 00:29, Jason Ekstrand wrote:
> 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;
More information about the mesa-dev
mailing list