[Mesa-dev] [PATCH 1/6] vulkan: Update the XML and headers to 1.1.97

Iago Toral itoral at igalia.com
Fri Jan 11 09:28:49 UTC 2019


I dropped a comment in patch 4 which may or may not be relevant and
then a couple nitpicks in patch 6 that you can take or ignore. Either
way, the series is:

Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

On Mon, 2019-01-07 at 09:39 -0600, Jason Ekstrand wrote:
> ---
>  include/vulkan/vulkan.h             |   2 +-
>  include/vulkan/vulkan_android.h     |   2 +-
>  include/vulkan/vulkan_core.h        | 155 +++++++++++++++++++++++-
>  include/vulkan/vulkan_fuchsia.h     |   2 +-
>  include/vulkan/vulkan_ios.h         |   2 +-
>  include/vulkan/vulkan_macos.h       |   2 +-
>  include/vulkan/vulkan_vi.h          |   2 +-
>  include/vulkan/vulkan_wayland.h     |   2 +-
>  include/vulkan/vulkan_win32.h       |   2 +-
>  include/vulkan/vulkan_xcb.h         |   2 +-
>  include/vulkan/vulkan_xlib.h        |   2 +-
>  include/vulkan/vulkan_xlib_xrandr.h |   2 +-
>  src/vulkan/registry/vk.xml          | 175 +++++++++++++++++++++++---
> --
>  13 files changed, 311 insertions(+), 41 deletions(-)
> 
> diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
> index 77da63783e6..a3be4af6c46 100644
> --- a/include/vulkan/vulkan.h
> +++ b/include/vulkan/vulkan.h
> @@ -2,7 +2,7 @@
>  #define VULKAN_H_ 1
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/include/vulkan/vulkan_android.h
> b/include/vulkan/vulkan_android.h
> index 07aaeda28e3..e70376c8867 100644
> --- a/include/vulkan/vulkan_android.h
> +++ b/include/vulkan/vulkan_android.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/include/vulkan/vulkan_core.h
> b/include/vulkan/vulkan_core.h
> index 72542c72ec8..caeecd9bed1 100644
> --- a/include/vulkan/vulkan_core.h
> +++ b/include/vulkan/vulkan_core.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> @@ -43,7 +43,7 @@ extern "C" {
>  #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) &
> 0x3ff)
>  #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
>  // Version of this file
> -#define VK_HEADER_VERSION 96
> +#define VK_HEADER_VERSION 97
>  
>  
>  #define VK_NULL_HANDLE 0
> @@ -148,6 +148,7 @@ typedef enum VkResult {
>      VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT =
> -1000158000,
>      VK_ERROR_FRAGMENTATION_EXT = -1000161000,
>      VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
> +    VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = -1000244000,
>      VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
>      VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR =
> VK_ERROR_INVALID_EXTERNAL_HANDLE,
>      VK_RESULT_BEGIN_RANGE = VK_ERROR_FRAGMENTED_POOL,
> @@ -444,6 +445,8 @@ typedef enum VkStructureType {
>      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATU
> RES_EXT = 1000190002,
>      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR =
> 1000196000,
>      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR
> = 1000197000,
> +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTI
> ES_KHR = 1000199000,
> +    VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR
> = 1000199001,
>      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEA
> TURES_NV = 1000201000,
>      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV =
> 1000202000,
>      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV =
> 1000202001,
> @@ -460,7 +463,14 @@ typedef enum VkStructureType {
>      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIE
> S_EXT = 1000218001,
>      VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_E
> XT = 1000218002,
>      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_E
> XT = 1000221000,
> +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT =
> 1000237000,
> +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT =
> 1000238000,
> +    VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT =
> 1000238001,
> +    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT =
> 1000244000,
> +    VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = 1000244001,
> +    VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT =
> 1000244002,
>      VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT =
> 1000246000,
> +    VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
>      VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT =
> VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
>      VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR =
> VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
>      VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR =
> VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
> @@ -1539,6 +1549,7 @@ typedef enum VkBufferCreateFlagBits {
>      VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
>      VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
>      VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
> +    VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT =
> 0x00000010,
>      VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
>  } VkBufferCreateFlagBits;
>  typedef VkFlags VkBufferCreateFlags;
> @@ -1557,6 +1568,7 @@ typedef enum VkBufferUsageFlagBits {
>      VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT =
> 0x00001000,
>      VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
>      VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = 0x00000400,
> +    VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = 0x00020000,
>      VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
>  } VkBufferUsageFlagBits;
>  typedef VkFlags VkBufferUsageFlags;
> @@ -6192,6 +6204,40 @@ typedef struct
> VkPhysicalDeviceFloatControlsPropertiesKHR {
>  
>  
>  
> +#define VK_KHR_depth_stencil_resolve 1
> +#define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
> +#define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME
> "VK_KHR_depth_stencil_resolve"
> +
> +
> +typedef enum VkResolveModeFlagBitsKHR {
> +    VK_RESOLVE_MODE_NONE_KHR = 0,
> +    VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = 0x00000001,
> +    VK_RESOLVE_MODE_AVERAGE_BIT_KHR = 0x00000002,
> +    VK_RESOLVE_MODE_MIN_BIT_KHR = 0x00000004,
> +    VK_RESOLVE_MODE_MAX_BIT_KHR = 0x00000008,
> +    VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
> +} VkResolveModeFlagBitsKHR;
> +typedef VkFlags VkResolveModeFlagsKHR;
> +
> +typedef struct VkSubpassDescriptionDepthStencilResolveKHR {
> +    VkStructureType                     sType;
> +    const void*                         pNext;
> +    VkResolveModeFlagBitsKHR            depthResolveMode;
> +    VkResolveModeFlagBitsKHR            stencilResolveMode;
> +    const
> VkAttachmentReference2KHR*    pDepthStencilResolveAttachment;
> +} VkSubpassDescriptionDepthStencilResolveKHR;
> +
> +typedef struct VkPhysicalDeviceDepthStencilResolvePropertiesKHR {
> +    VkStructureType          sType;
> +    void*                    pNext;
> +    VkResolveModeFlagsKHR    supportedDepthResolveModes;
> +    VkResolveModeFlagsKHR    supportedStencilResolveModes;
> +    VkBool32                 independentResolveNone;
> +    VkBool32                 independentResolve;
> +} VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
> +
> +
> +
>  #define VK_KHR_swapchain_mutable_format 1
>  #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
>  #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME
> "VK_KHR_swapchain_mutable_format"
> @@ -8926,6 +8972,72 @@ typedef struct
> VkPhysicalDeviceScalarBlockLayoutFeaturesEXT {
>  #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME
> "VK_GOOGLE_decorate_string"
>  
>  
> +#define VK_EXT_memory_budget 1
> +#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
> +#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
> +
> +typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
> +    VkStructureType    sType;
> +    void*              pNext;
> +    VkDeviceSize       heapBudget[VK_MAX_MEMORY_HEAPS];
> +    VkDeviceSize       heapUsage[VK_MAX_MEMORY_HEAPS];
> +} VkPhysicalDeviceMemoryBudgetPropertiesEXT;
> +
> +
> +
> +#define VK_EXT_memory_priority 1
> +#define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
> +#define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME
> "VK_EXT_memory_priority"
> +
> +typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
> +    VkStructureType    sType;
> +    void*              pNext;
> +    VkBool32           memoryPriority;
> +} VkPhysicalDeviceMemoryPriorityFeaturesEXT;
> +
> +typedef struct VkMemoryPriorityAllocateInfoEXT {
> +    VkStructureType    sType;
> +    const void*        pNext;
> +    float              priority;
> +} VkMemoryPriorityAllocateInfoEXT;
> +
> +
> +
> +#define VK_EXT_buffer_device_address 1
> +typedef uint64_t VkDeviceAddress;
> +
> +#define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
> +#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME
> "VK_EXT_buffer_device_address"
> +
> +typedef struct VkPhysicalDeviceBufferAddressFeaturesEXT {
> +    VkStructureType    sType;
> +    void*              pNext;
> +    VkBool32           bufferDeviceAddress;
> +    VkBool32           bufferDeviceAddressCaptureReplay;
> +    VkBool32           bufferDeviceAddressMultiDevice;
> +} VkPhysicalDeviceBufferAddressFeaturesEXT;
> +
> +typedef struct VkBufferDeviceAddressInfoEXT {
> +    VkStructureType    sType;
> +    const void*        pNext;
> +    VkBuffer           buffer;
> +} VkBufferDeviceAddressInfoEXT;
> +
> +typedef struct VkBufferDeviceAddressCreateInfoEXT {
> +    VkStructureType    sType;
> +    const void*        pNext;
> +    VkDeviceSize       deviceAddress;
> +} VkBufferDeviceAddressCreateInfoEXT;
> +
> +
> +typedef VkDeviceAddress (VKAPI_PTR
> *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const
> VkBufferDeviceAddressInfoEXT* pInfo);
> +
> +#ifndef VK_NO_PROTOTYPES
> +VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
> +    VkDevice                                    device,
> +    const VkBufferDeviceAddressInfoEXT*         pInfo);
> +#endif
> +
>  #define VK_EXT_separate_stencil_usage 1
>  #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
>  #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME
> "VK_EXT_separate_stencil_usage"
> @@ -8938,6 +9050,45 @@ typedef struct
> VkImageStencilUsageCreateInfoEXT {
>  
>  
>  
> +#define VK_EXT_validation_features 1
> +#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 1
> +#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME
> "VK_EXT_validation_features"
> +
> +
> +typedef enum VkValidationFeatureEnableEXT {
> +    VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
> +    VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_E
> XT = 1,
> +    VK_VALIDATION_FEATURE_ENABLE_BEGIN_RANGE_EXT =
> VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT,
> +    VK_VALIDATION_FEATURE_ENABLE_END_RANGE_EXT =
> VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT,
> +    VK_VALIDATION_FEATURE_ENABLE_RANGE_SIZE_EXT =
> (VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT -
> VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT + 1),
> +    VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
> +} VkValidationFeatureEnableEXT;
> +
> +typedef enum VkValidationFeatureDisableEXT {
> +    VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
> +    VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
> +    VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
> +    VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
> +    VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
> +    VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
> +    VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
> +    VK_VALIDATION_FEATURE_DISABLE_BEGIN_RANGE_EXT =
> VK_VALIDATION_FEATURE_DISABLE_ALL_EXT,
> +    VK_VALIDATION_FEATURE_DISABLE_END_RANGE_EXT =
> VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT,
> +    VK_VALIDATION_FEATURE_DISABLE_RANGE_SIZE_EXT =
> (VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT -
> VK_VALIDATION_FEATURE_DISABLE_ALL_EXT + 1),
> +    VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
> +} VkValidationFeatureDisableEXT;
> +
> +typedef struct VkValidationFeaturesEXT {
> +    VkStructureType                         sType;
> +    const void*                             pNext;
> +    uint32_t                                enabledValidationFeature
> Count;
> +    const
> VkValidationFeatureEnableEXT*     pEnabledValidationFeatures;
> +    uint32_t                                disabledValidationFeatur
> eCount;
> +    const
> VkValidationFeatureDisableEXT*    pDisabledValidationFeatures;
> +} VkValidationFeaturesEXT;
> +
> +
> +
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/include/vulkan/vulkan_fuchsia.h
> b/include/vulkan/vulkan_fuchsia.h
> index e0ed5455adc..1c335fd3863 100644
> --- a/include/vulkan/vulkan_fuchsia.h
> +++ b/include/vulkan/vulkan_fuchsia.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/include/vulkan/vulkan_ios.h
> b/include/vulkan/vulkan_ios.h
> index a0924816d52..d221a9baad9 100644
> --- a/include/vulkan/vulkan_ios.h
> +++ b/include/vulkan/vulkan_ios.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/include/vulkan/vulkan_macos.h
> b/include/vulkan/vulkan_macos.h
> index ff0b7018013..5d6b6aeb9a1 100644
> --- a/include/vulkan/vulkan_macos.h
> +++ b/include/vulkan/vulkan_macos.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/include/vulkan/vulkan_vi.h b/include/vulkan/vulkan_vi.h
> index 015166bfc60..3e37bab69a6 100644
> --- a/include/vulkan/vulkan_vi.h
> +++ b/include/vulkan/vulkan_vi.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/include/vulkan/vulkan_wayland.h
> b/include/vulkan/vulkan_wayland.h
> index 5ba0827aa30..33a22de3bdc 100644
> --- a/include/vulkan/vulkan_wayland.h
> +++ b/include/vulkan/vulkan_wayland.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/include/vulkan/vulkan_win32.h
> b/include/vulkan/vulkan_win32.h
> index 6a85409ebec..b9d63d47f43 100644
> --- a/include/vulkan/vulkan_win32.h
> +++ b/include/vulkan/vulkan_win32.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/include/vulkan/vulkan_xcb.h
> b/include/vulkan/vulkan_xcb.h
> index ba036006021..f21290974af 100644
> --- a/include/vulkan/vulkan_xcb.h
> +++ b/include/vulkan/vulkan_xcb.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/include/vulkan/vulkan_xlib.h
> b/include/vulkan/vulkan_xlib.h
> index e1d967e0187..ce3d36ddcf7 100644
> --- a/include/vulkan/vulkan_xlib.h
> +++ b/include/vulkan/vulkan_xlib.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/include/vulkan/vulkan_xlib_xrandr.h
> b/include/vulkan/vulkan_xlib_xrandr.h
> index 117d01799e6..25efb077f72 100644
> --- a/include/vulkan/vulkan_xlib_xrandr.h
> +++ b/include/vulkan/vulkan_xlib_xrandr.h
> @@ -6,7 +6,7 @@ extern "C" {
>  #endif
>  
>  /*
> -** Copyright (c) 2015-2018 The Khronos Group Inc.
> +** Copyright (c) 2015-2019 The Khronos Group Inc.
>  **
>  ** Licensed under the Apache License, Version 2.0 (the "License");
>  ** you may not use this file except in compliance with the License.
> diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml
> index d60f41187fe..18e4d02905f 100644
> --- a/src/vulkan/registry/vk.xml
> +++ b/src/vulkan/registry/vk.xml
> @@ -1,7 +1,7 @@
>  <?xml version="1.0" encoding="UTF-8"?>
>  <registry>
>      <comment>
> -Copyright (c) 2015-2018 The Khronos Group Inc.
> +Copyright (c) 2015-2019 The Khronos Group Inc.
>  
>  Licensed under the Apache License, Version 2.0 (the "License");
>  you may not use this file except in compliance with the License.
> @@ -146,7 +146,7 @@ server.
>          <type category="define">// Vulkan 1.1 version number
>  #define <name>VK_API_VERSION_1_1</name>
> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always
> be set to 0</type>
>          <type category="define">// Version of this file
> -#define <name>VK_HEADER_VERSION</name> 96</type>
> +#define <name>VK_HEADER_VERSION</name> 97</type>
>  
>          <type category="define">
>  #define <name>VK_DEFINE_HANDLE</name>(object) typedef struct
> object##_T* object;</type>
> @@ -170,6 +170,7 @@ server.
>          <type category="basetype">typedef <type>uint32_t</type>
> <name>VkBool32</name>;</type>
>          <type category="basetype">typedef <type>uint32_t</type>
> <name>VkFlags</name>;</type>
>          <type category="basetype">typedef <type>uint64_t</type>
> <name>VkDeviceSize</name>;</type>
> +        <type category="basetype">typedef <type>uint64_t</type>
> <name>VkDeviceAddress</name>;</type>
>  
>              <comment>Basic C types, pulled in via
> vk_platform.h</comment>
>          <type requires="vk_platform" name="void"/>
> @@ -308,6 +309,7 @@ server.
>          <type                                             category="
> bitmask">typedef <type>VkFlags</type>
> <name>VkPipelineRasterizationConservativeStateCreateFlagsEXT</name>;<
> /type>
>          <type requires="VkDescriptorBindingFlagBitsEXT"
> category="bitmask">typedef <type>VkFlags</type>
> <name>VkDescriptorBindingFlagsEXT</name>;</type>
>          <type
> requires="VkConditionalRenderingFlagBitsEXT"   category="bitmask">typ
> edef <type>VkFlags</type>
> <name>VkConditionalRenderingFlagsEXT</name>;</type>
> +        <type
> requires="VkResolveModeFlagBitsKHR"         category="bitmask">typede
> f <type>VkFlags</type> <name>VkResolveModeFlagsKHR</name>;</type>
>          <type                                             category="
> bitmask">typedef <type>VkFlags</type>
> <name>VkPipelineRasterizationStateStreamCreateFlagsEXT</name>;</type>
>  
>  
> @@ -464,6 +466,7 @@ server.
>          <type name="VkQueueGlobalPriorityEXT" category="enum"/>
>          <type name="VkTimeDomainEXT" category="enum"/>
>          <type name="VkConservativeRasterizationModeEXT"
> category="enum"/>
> +        <type name="VkResolveModeFlagBitsKHR" category="enum"/>
>          <type name="VkGeometryFlagBitsNV" category="enum"/>
>          <type name="VkGeometryInstanceFlagBitsNV" category="enum"/>
>          <type name="VkBuildAccelerationStructureFlagBitsNV"
> category="enum"/>
> @@ -486,6 +489,8 @@ server.
>          <type name="VkExternalMemoryHandleTypeFlagBitsNV"
> category="enum"/>
>          <type name="VkExternalMemoryFeatureFlagBitsNV"
> category="enum"/>
>          <type name="VkValidationCheckEXT" category="enum"/>
> +        <type name="VkValidationFeatureEnableEXT" category="enum"/>
> +        <type name="VkValidationFeatureDisableEXT" category="enum"/>
>          <type name="VkExternalMemoryHandleTypeFlagBits"
> category="enum"/>
>          <type category="enum"
> name="VkExternalMemoryHandleTypeFlagBitsKHR"         alias="VkExterna
> lMemoryHandleTypeFlagBits"/>
>          <type name="VkExternalMemoryFeatureFlagBits"
> category="enum"/>
> @@ -1728,6 +1733,14 @@ server.
>              <member><type>uint32_t</type>                         <n
> ame>disabledValidationCheckCount</name><comment>Number of validation
> checks to disable</comment></member>
>              <member len="disabledValidationCheckCount">const
> <type>VkValidationCheckEXT</type>*
> <name>pDisabledValidationChecks</name><comment>Validation checks to
> disable</comment></member>
>          </type>
> +        <type category="struct" name="VkValidationFeaturesEXT"
> structextends="VkInstanceCreateInfo">
> +            <member
> values="VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT"><type>VkStructureT
> ype</type>  <name>sType</name><comment>Must be
> VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT</comment></member>
> +            <member>const
> <type>void</type>*                      <name>pNext</name></member>
> +            <member
> optional="true"><type>uint32_t</type>                         <name>e
> nabledValidationFeatureCount</name><comment>Number of validation
> features to enable</comment></member>
> +            <member len="enabledValidationFeatureCount">const
> <type>VkValidationFeatureEnableEXT</type>*
> <name>pEnabledValidationFeatures</name><comment>Validation features
> to enable</comment></member>
> +            <member
> optional="true"><type>uint32_t</type>                         <name>d
> isabledValidationFeatureCount</name><comment>Number of validation
> features to disable</comment></member>
> +            <member len="disabledValidationFeatureCount">const
> <type>VkValidationFeatureDisableEXT</type>*
> <name>pDisabledValidationFeatures</name><comment>Validation features
> to disable</comment></member>
> +        </type>
>          <type category="struct"
> name="VkPipelineRasterizationStateRasterizationOrderAMD"
> structextends="VkPipelineRasterizationStateCreateInfo">
>              <member
> values="VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_
> ORDER_AMD"><type>VkStructureType</type> <name>sType</name></member>
>              <member>const
> <type>void</type>*                      <name>pNext</name></member>
> @@ -2462,15 +2475,15 @@ server.
>              <member
> values="VK_STRUCTURE_TYPE_HDR_METADATA_EXT"><type>VkStructureType</ty
> pe> <name>sType</name></member>
>              <member>const
> <type>void</type>*    <name>pNext</name></member>
>                  <comment> From SMPTE 2086</comment>
> -            <member><type>VkXYColorEXT</type>   <name>displayPrimary
> Red</name><comment>Display primary's Red</comment></member>
> -            <member><type>VkXYColorEXT</type>   <name>displayPrimary
> Green</name><comment>Display primary's Green</comment></member>
> -            <member><type>VkXYColorEXT</type>   <name>displayPrimary
> Blue</name><comment>Display primary's Blue</comment></member>
> -            <member><type>VkXYColorEXT</type>   <name>whitePoint</na
> me><comment>Display primary's Blue</comment></member>
> -            <member><type>float</type>          <name>maxLuminance</
> name><comment>Display maximum luminance</comment></member>
> -            <member><type>float</type>          <name>minLuminance</
> name><comment>Display minimum luminance</comment></member>
> +            <member
> noautovalidity="true"><type>VkXYColorEXT</type>   <name>displayPrimar
> yRed</name><comment>Display primary's Red</comment></member>
> +            <member
> noautovalidity="true"><type>VkXYColorEXT</type>   <name>displayPrimar
> yGreen</name><comment>Display primary's Green</comment></member>
> +            <member
> noautovalidity="true"><type>VkXYColorEXT</type>   <name>displayPrimar
> yBlue</name><comment>Display primary's Blue</comment></member>
> +            <member
> noautovalidity="true"><type>VkXYColorEXT</type>   <name>whitePoint</n
> ame><comment>Display primary's Blue</comment></member>
> +            <member
> noautovalidity="true"><type>float</type>          <name>maxLuminance<
> /name><comment>Display maximum luminance</comment></member>
> +            <member
> noautovalidity="true"><type>float</type>          <name>minLuminance<
> /name><comment>Display minimum luminance</comment></member>
>                  <comment> From CTA 861.3</comment>
> -            <member><type>float</type>          <name>maxContentLigh
> tLevel</name><comment>Content maximum luminance</comment></member>
> -            <member><type>float</type>          <name>maxFrameAverag
> eLightLevel</name></member>
> +            <member
> noautovalidity="true"><type>float</type>          <name>maxContentLig
> htLevel</name><comment>Content maximum luminance</comment></member>
> +            <member
> noautovalidity="true"><type>float</type>          <name>maxFrameAvera
> geLightLevel</name></member>
>          </type>
>          <type category="struct" name="VkRefreshCycleDurationGOOGLE"
> returnedonly="true">
>              <member><type>uint64_t</type>                         <n
> ame>refreshDuration</name><comment>Number of nanoseconds from the
> start of one refresh cycle to the next</comment></member>
> @@ -2513,7 +2526,7 @@ server.
>              <member>const
> <type>void</type>*                      <name>pNext</name></member>
>              <member><type>VkBool32</type>               <name>viewpo
> rtWScalingEnable</name></member>
>              <member><type>uint32_t</type>               <name>viewpo
> rtCount</name></member>
> -            <member len="viewportCount">const
> <type>VkViewportWScalingNV</type>*      <name>pViewportWScalings</nam
> e></member>
> +            <member noautovalidity="true" optional="true"
> len="viewportCount">const
> <type>VkViewportWScalingNV</type>*      <name>pViewportWScalings</nam
> e></member>
>          </type>
>          <type category="struct" name="VkViewportSwizzleNV">
>              <member><type>VkViewportCoordinateSwizzleNV</type>      
>     <name>x</name></member>
> @@ -3325,6 +3338,21 @@ server.
>              <member><type>VkPipelineStageFlagBits</type>   <name>sta
> ge</name></member>
>              <member noautovalidity="true"><type>void</type>*
> <name>pCheckpointMarker</name></member>
>          </type>
> +        <type category="struct"
> name="VkPhysicalDeviceDepthStencilResolvePropertiesKHR"
> structextends="VkPhysicalDeviceProperties2" returnedonly="true">
> +            <member
> values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPE
> RTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
> +            <member><type>void</type>*                              
>   <name>pNext</name></member>
> +            <member><type>VkResolveModeFlagsKHR</type>              
>   <name>supportedDepthResolveModes</name><comment>supported depth
> resolve modes</comment></member>
> +            <member><type>VkResolveModeFlagsKHR</type>              
>   <name>supportedStencilResolveModes</name><comment>supported stencil
> resolve modes</comment></member>
> +            <member><type>VkBool32</type>                           
>   <name>independentResolveNone</name><comment>depth and stencil
> resolve modes can be set independently if one of them is
> none</comment></member>
> +            <member><type>VkBool32</type>                           
>   <name>independentResolve</name><comment>depth and stencil resolve
> modes can be set independently</comment></member>
> +        </type>
> +        <type category="struct"
> name="VkSubpassDescriptionDepthStencilResolveKHR"
> structextends="VkSubpassDescription2KHR">
> +            <member
> values="VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_K
> HR"><type>VkStructureType</type> <name>sType</name></member>
> +            <member>const
> <type>void</type>*                                              <name
> >pNext</name></member>
> +            <member><type>VkResolveModeFlagBitsKHR</type>           
>                       <name>depthResolveMode</name><comment>depth
> resolve mode</comment></member>
> +            <member><type>VkResolveModeFlagBitsKHR</type>           
>                       <name>stencilResolveMode</name><comment>stencil
> resolve mode</comment></member>
> +            <member optional="true">const
> <type>VkAttachmentReference2KHR</type>*         <name>pDepthStencilRe
> solveAttachment</name><comment>depth/stencil resolve
> attachment</comment></member>
> +        </type>
>          <type category="struct" name="VkImageViewASTCDecodeModeEXT"
> structextends="VkImageViewCreateInfo">
>              <member
> values="VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT"><type>VkSt
> ructureType</type> <name>sType</name></member>
>              <member>const
> <type>void</type>*                      <name>pNext</name></member>
> @@ -3647,6 +3675,39 @@ server.
>              <member><type>void</type>*                              
>  <name>pNext</name></member>
>              <member><type>VkBool32</type>                           
>  <name>scalarBlockLayout</name></member>
>          </type>
> +        <type category="struct"
> name="VkPhysicalDeviceMemoryBudgetPropertiesEXT"
> structextends="VkPhysicalDeviceMemoryProperties2"
> returnedonly="true">
> +            <member
> values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EX
> T"><type>VkStructureType</type> <name>sType</name></member>
> +            <member
> noautovalidity="true"><type>void</type>*        <name>pNext</name></m
> ember>
> +            <member><type>VkDeviceSize</type>                       
> <name>heapBudget</name>[<enum>VK_MAX_MEMORY_HEAPS</enum>]</member>
> +            <member><type>VkDeviceSize</type>                       
> <name>heapUsage</name>[<enum>VK_MAX_MEMORY_HEAPS</enum>]</member>
> +        </type>
> +        <type category="struct"
> name="VkPhysicalDeviceMemoryPriorityFeaturesEXT"
> structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
> +            <member
> values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EX
> T"><type>VkStructureType</type> <name>sType</name></member>
> +            <member
> noautovalidity="true"><type>void</type>*        <name>pNext</name></m
> ember>
> +            <member><type>VkBool32</type>                           
> <name>memoryPriority</name></member>
> +        </type>
> +        <type category="struct"
> name="VkMemoryPriorityAllocateInfoEXT"
> structextends="VkMemoryAllocateInfo">
> +            <member
> values="VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT"><type>Vk
> StructureType</type> <name>sType</name></member>
> +            <member>const
> <type>void</type>*                        <name>pNext</name></member>
> +            <member><type>float</type>                              
> <name>priority</name></member>
> +        </type>
> +        <type category="struct"
> name="VkPhysicalDeviceBufferAddressFeaturesEXT"
> structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
> +            <member
> values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT
> "><type>VkStructureType</type> <name>sType</name></member>
> +            <member
> noautovalidity="true"><type>void</type>*        <name>pNext</name></m
> ember>
> +            <member><type>VkBool32</type>                           
> <name>bufferDeviceAddress</name></member>
> +            <member><type>VkBool32</type>                           
> <name>bufferDeviceAddressCaptureReplay</name></member>
> +            <member><type>VkBool32</type>                           
> <name>bufferDeviceAddressMultiDevice</name></member>
> +        </type>
> +        <type category="struct" name="VkBufferDeviceAddressInfoEXT">
> +            <member
> values="VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT"><type>VkStr
> uctureType</type> <name>sType</name></member>
> +            <member>const
> <type>void</type>*                                            <name>p
> Next</name></member>
> +            <member><type>VkBuffer</type>                           
>                     <name>buffer</name></member>
> +        </type>
> +        <type category="struct"
> name="VkBufferDeviceAddressCreateInfoEXT"
> structextends="VkBufferCreateInfo">
> +            <member
> values="VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT"><typ
> e>VkStructureType</type> <name>sType</name></member>
> +            <member>const
> <type>void</type>*                      <name>pNext</name></member>
> +            <member><type>VkDeviceSize</type>                     <n
> ame>deviceAddress</name></member>
> +        </type>
>      </types>
>  
>      <comment>Vulkan enumerant (token) definitions</comment>
> @@ -4535,6 +4596,21 @@ server.
>          <enum value="1"     name="VK_VALIDATION_CHECK_SHADERS_EXT"/>
>              <comment>Placeholder for validation enums to be defined
> for VK_EXT_Validation_flags extension</comment>
>      </enums>
> +    <enums name="VkValidationFeatureEnableEXT" type="enum">
> +        <enum
> value="0"     name="VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT"/>
> +        <enum
> value="1"     name="VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE
> _BINDING_SLOT_EXT"/>
> +            <comment>Placeholder for validation feature enable enums
> to be defined for VK_EXT_validation_features extension</comment>
> +    </enums>
> +    <enums name="VkValidationFeatureDisableEXT" type="enum">
> +        <enum
> value="0"     name="VK_VALIDATION_FEATURE_DISABLE_ALL_EXT"/>
> +        <enum
> value="1"     name="VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT"/>
> +        <enum
> value="2"     name="VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT"/
> >
> +        <enum
> value="3"     name="VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT"
> />
> +        <enum
> value="4"     name="VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EX
> T"/>
> +        <enum
> value="5"     name="VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT"/>
> +        <enum
> value="6"     name="VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT"
> />
> +            <comment>Placeholder for validation feature disable
> enums to be defined for VK_EXT_validation_features
> extension</comment>
> +    </enums>
>      <enums name="VkSubgroupFeatureFlagBits" type="bitmask">
>          <enum
> bitpos="0"    name="VK_SUBGROUP_FEATURE_BASIC_BIT"              comme
> nt="Basic subgroup operations"/>
>          <enum
> bitpos="1"    name="VK_SUBGROUP_FEATURE_VOTE_BIT"               comme
> nt="Vote subgroup operations"/>
> @@ -4764,6 +4840,13 @@ server.
>      <enums name="VkConditionalRenderingFlagBitsEXT" type="bitmask">
>          <enum
> bitpos="0"    name="VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT"/>
>      </enums>
> +    <enums name="VkResolveModeFlagBitsKHR" type="bitmask">
> +        <enum value="0" name="VK_RESOLVE_MODE_NONE_KHR"/>
> +        <enum bitpos="0"
> name="VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR"/>
> +        <enum bitpos="1" name="VK_RESOLVE_MODE_AVERAGE_BIT_KHR"/>
> +        <enum bitpos="2" name="VK_RESOLVE_MODE_MIN_BIT_KHR"/>
> +        <enum bitpos="3" name="VK_RESOLVE_MODE_MAX_BIT_KHR"/>
> +    </enums>
>      <enums name="VkShadingRatePaletteEntryNV" type="enum">
>          <enum value="0"
> name="VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV"/>
>          <enum value="1"
> name="VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV"/>
> @@ -5151,7 +5234,7 @@ server.
>              <param><type>VkDeviceSize</type>
> <name>stride</name></param>
>              <param optional="true"><type>VkQueryResultFlags</type>
> <name>flags</name></param>
>          </command>
> -        <command successcodes="VK_SUCCESS"
> errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY
> ">
> +        <command successcodes="VK_SUCCESS"
> errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY
> ,VK_ERROR_INVALID_DEVICE_ADDRESS_EXT">
>              <proto><type>VkResult</type>
> <name>vkCreateBuffer</name></proto>
>              <param><type>VkDevice</type> <name>device</name></param>
>              <param>const <type>VkBufferCreateInfo</type>*
> <name>pCreateInfo</name></param>
> @@ -7011,6 +7094,11 @@ server.
>              <param><type>VkImage</type> <name>image</name></param>
>              <param><type>VkImageDrmFormatModifierPropertiesEXT</type
> >* <name>pProperties</name></param>
>          </command>
> +        <command>
> +            <proto><type>VkDeviceAddress</type>
> <name>vkGetBufferDeviceAddressEXT</name></proto>
> +            <param><type>VkDevice</type> <name>device</name></param>
> +            <param>const <type>VkBufferDeviceAddressInfoEXT</type>*
> <name>pInfo</name></param>
> +        </command>
>      </commands>
>  
>      <feature api="vulkan" name="VK_VERSION_1_0" number="1.0"
> comment="Vulkan core API interface definitions">
> @@ -7847,7 +7935,8 @@ server.
>                  <enum bitpos="27"
> extends="VkPipelineStageFlagBits"     name="VK_PIPELINE_STAGE_RESERVE
> D_27_BIT_KHR"/>
>                  <enum bitpos="30"
> extends="VkAccessFlagBits"            name="VK_ACCESS_RESERVED_30_BIT
> _KHR"/>
>                  <enum bitpos="31"
> extends="VkAccessFlagBits"            name="VK_ACCESS_RESERVED_31_BIT
> _KHR"/>
> -                <enum bitpos="14"
> extends="VkBufferUsageFlagBits"       name="VK_BUFFER_USAGE_RESERVED_
> 14_BIT_KHR"/>
> +                <enum bitpos="15"
> extends="VkBufferUsageFlagBits"       name="VK_BUFFER_USAGE_RESERVED_
> 15_BIT_KHR"/>
> +                <enum bitpos="16"
> extends="VkBufferUsageFlagBits"       name="VK_BUFFER_USAGE_RESERVED_
> 16_BIT_KHR"/>
>                  <enum bitpos="13"
> extends="VkImageUsageFlagBits"        name="VK_IMAGE_USAGE_RESERVED_1
> 3_BIT_KHR"/>
>                  <enum bitpos="14"
> extends="VkImageUsageFlagBits"        name="VK_IMAGE_USAGE_RESERVED_1
> 4_BIT_KHR"/>
>                  <enum bitpos="15"
> extends="VkImageUsageFlagBits"        name="VK_IMAGE_USAGE_RESERVED_1
> 5_BIT_KHR"/>
> @@ -7865,6 +7954,7 @@ server.
>                  <enum bitpos="28"
> extends="VkAccessFlagBits"            name="VK_ACCESS_RESERVED_28_BIT
> _KHR"/>
>                  <enum bitpos="29"
> extends="VkAccessFlagBits"            name="VK_ACCESS_RESERVED_29_BIT
> _KHR"/>
>                  <enum bitpos="13"
> extends="VkBufferUsageFlagBits"       name="VK_BUFFER_USAGE_RESERVED_
> 13_BIT_KHR"/>
> +                <enum bitpos="14"
> extends="VkBufferUsageFlagBits"       name="VK_BUFFER_USAGE_RESERVED_
> 14_BIT_KHR"/>
>                  <enum bitpos="10"
> extends="VkImageUsageFlagBits"        name="VK_IMAGE_USAGE_RESERVED_1
> 0_BIT_KHR"/>
>                  <enum bitpos="11"
> extends="VkImageUsageFlagBits"        name="VK_IMAGE_USAGE_RESERVED_1
> 1_BIT_KHR"/>
>                  <enum bitpos="12"
> extends="VkImageUsageFlagBits"        name="VK_IMAGE_USAGE_RESERVED_1
> 2_BIT_KHR"/>
> @@ -9888,10 +9978,15 @@ server.
>                  <enum bitpos="8"
> extends="VkSubgroupFeatureFlagBits"        name="VK_SUBGROUP_FEATURE_
> PARTITIONED_BIT_NV"/>
>              </require>
>          </extension>
> -        <extension name="VK_KHR_extension_200" number="200"
> author="KHR" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" 
> supported="disabled">
> +        <extension name="VK_KHR_depth_stencil_resolve" number="200"
> type="device" requires="VK_KHR_create_renderpass2" author="KHR"
> contact="Jan-Harald Fredriksen @janharald" supported="vulkan">
>              <require>
> -                <enum
> value="0"                                         name="VK_KHR_EXTENS
> ION_200_SPEC_VERSION"/>
> -                <enum
> value=""VK_KHR_extension_200""          name="VK_KHR_EXTENS
> ION_200_EXTENSION_NAME"/>
> +                <enum
> value="1"                                             name="VK_KHR_DE
> PTH_STENCIL_RESOLVE_SPEC_VERSION"/>
> +                <enum
> value=""VK_KHR_depth_stencil_resolve""      name="VK_KHR_DE
> PTH_STENCIL_RESOLVE_EXTENSION_NAME"/>
> +                <enum offset="0"
> extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PH
> YSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR"/>
> +                <enum offset="1"
> extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_SU
> BPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR"/>
> +                <type
> name="VkSubpassDescriptionDepthStencilResolveKHR"/>
> +                <type
> name="VkPhysicalDeviceDepthStencilResolvePropertiesKHR"/>
> +                <type name="VkResolveModeFlagBitsKHR"/>
>              </require>
>          </extension>
>          <extension name="VK_KHR_swapchain_mutable_format"
> number="201" type="device" author="KHR"
> requires="VK_KHR_swapchain,VK_KHR_maintenance2,VK_KHR_image_format_li
> st" contact="Daniel Rakos @drakos-arm" supported="vulkan">
> @@ -10173,16 +10268,22 @@ server.
>                  <enum
> value=""VK_KHR_extension_237""              name="VK_KHR_EX
> TENSION_237_EXTENSION_NAME"/>
>              </require>
>          </extension>
> -        <extension name="VK_KHR_extension_238" number="238"
> author="KHR" contact="Jeff Bolz @jeffbolznv" supported="disabled">
> +        <extension name="VK_EXT_memory_budget" number="238"
> type="device" requires="VK_KHR_get_physical_device_properties2"
> author="EXT" contact="Jeff Bolz @jeffbolznv" supported="vulkan">
>              <require>
> -                <enum
> value="0"                                             name="VK_KHR_EX
> TENSION_238_SPEC_VERSION"/>
> -                <enum
> value=""VK_KHR_extension_238""              name="VK_KHR_EX
> TENSION_238_EXTENSION_NAME"/>
> +                <enum
> value="1"                                             name="VK_EXT_ME
> MORY_BUDGET_SPEC_VERSION"/>
> +                <enum
> value=""VK_EXT_memory_budget""              name="VK_EXT_ME
> MORY_BUDGET_EXTENSION_NAME"/>
> +                <enum offset="0"
> extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PH
> YSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT"/>
> +                <type
> name="VkPhysicalDeviceMemoryBudgetPropertiesEXT"/>
>              </require>
>          </extension>
> -        <extension name="VK_KHR_extension_239" number="239"
> author="KHR" contact="Jeff Bolz @jeffbolznv" supported="disabled">
> +        <extension name="VK_EXT_memory_priority" number="239"
> type="device"
> requires="VK_KHR_get_physical_device_properties2"  author="EXT"
> contact="Jeff Bolz @jeffbolznv" supported="vulkan">
>              <require>
> -                <enum
> value="0"                                             name="VK_KHR_EX
> TENSION_239_SPEC_VERSION"/>
> -                <enum
> value=""VK_KHR_extension_239""              name="VK_KHR_EX
> TENSION_239_EXTENSION_NAME"/>
> +                <enum
> value="1"                                             name="VK_EXT_ME
> MORY_PRIORITY_SPEC_VERSION"/>
> +                <enum
> value=""VK_EXT_memory_priority""            name="VK_EXT_ME
> MORY_PRIORITY_EXTENSION_NAME"/>
> +                <enum offset="0"
> extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PH
> YSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT"/>
> +                <enum offset="1"
> extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_ME
> MORY_PRIORITY_ALLOCATE_INFO_EXT"/>
> +                <type
> name="VkPhysicalDeviceMemoryPriorityFeaturesEXT"/>
> +                <type name="VkMemoryPriorityAllocateInfoEXT"/>
>              </require>
>          </extension>
>          <extension name="VK_KHR_extension_240" number="240"
> author="KHR" contact="Sandeep Shinde @nvidia" supported="disabled">
> @@ -10215,10 +10316,20 @@ server.
>                  <enum
> value=""VK_MESA_extension_244""              name="VK_MESA_
> EXTENSION_244_EXTENSION_NAME"/>
>              </require>
>          </extension>
> -        <extension name="VK_NV_extension_245" number="245"
> author="NV" contact="Jeff Bolz @jeffbolznv" supported="disabled">
> +        <extension name="VK_EXT_buffer_device_address" number="245"
> type="device" requires="VK_KHR_get_physical_device_properties2"
> author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan">
>              <require>
> -                <enum
> value="0"                                             name="VK_NV_EXT
> ENSION_245_SPEC_VERSION"/>
> -                <enum
> value=""VK_NV_extension_245""               name="VK_NV_EXT
> ENSION_245_EXTENSION_NAME"/>
> +                <enum
> value="2"                                             name="VK_EXT_BU
> FFER_DEVICE_ADDRESS_SPEC_VERSION"/>
> +                <enum
> value=""VK_EXT_buffer_device_address""      name="VK_EXT_BU
> FFER_DEVICE_ADDRESS_EXTENSION_NAME"/>
> +                <enum offset="0"
> extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_PH
> YSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT"/>
> +                <enum offset="1"
> extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_BU
> FFER_DEVICE_ADDRESS_INFO_EXT"/>
> +                <enum offset="2"
> extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_BU
> FFER_DEVICE_ADDRESS_CREATE_INFO_EXT"/>
> +                <enum bitpos="17"
> extends="VkBufferUsageFlagBits"           name="VK_BUFFER_USAGE_SHADE
> R_DEVICE_ADDRESS_BIT_EXT"/>
> +                <enum
> bitpos="4"  extends="VkBufferCreateFlagBits"          name="VK_BUFFER
> _CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT"/>
> +                <enum offset="0" dir="-"
> extends="VkResult"                 name="VK_ERROR_INVALID_DEVICE_ADDR
> ESS_EXT"/>
> +                <type
> name="VkPhysicalDeviceBufferAddressFeaturesEXT"/>
> +                <type name="VkBufferDeviceAddressInfoEXT"/>
> +                <type name="VkBufferDeviceAddressCreateInfoEXT"/>
> +                <command name="vkGetBufferDeviceAddressEXT"/>
>              </require>
>          </extension>
>          <extension name="VK_EXT_extension_246" number="246"
> author="EXT" contact="Tobias Hector @tobski" supported="disabled">
> @@ -10235,10 +10346,12 @@ server.
>                  <type name="VkImageStencilUsageCreateInfoEXT"/>
>              </require>
>          </extension>
> -        <extension name="VK_EXT_extension_248" number="248"
> author="EXT" contact="Karl Schultz @karlschultz"
> supported="disabled">
> +        <extension name="VK_EXT_validation_features" number="248"
> type="instance" author="LUNARG" contact="Karl Schultz @karl-lunarg"
> supported="vulkan">
>              <require>
> -                <enum
> value="0"                                             name="VK_EXT_EX
> TENSION_248_SPEC_VERSION"/>
> -                <enum
> value=""VK_EXT_extension_248""              name="VK_EXT_EX
> TENSION_248_EXTENSION_NAME"/>
> +                <enum
> value="1"                                             name="VK_EXT_VA
> LIDATION_FEATURES_SPEC_VERSION"/>
> +                <enum
> value=""VK_EXT_validation_features""        name="VK_EXT_VA
> LIDATION_FEATURES_EXTENSION_NAME"/>
> +                <enum offset="0"
> extends="VkStructureType"                  name="VK_STRUCTURE_TYPE_VA
> LIDATION_FEATURES_EXT"/>
> +                <type name="VkValidationFeaturesEXT"/>
>              </require>
>          </extension>
>          <extension name="VK_KHR_extension_249" number="249"
> author="KHR" contact="Keith Packard @keithp" supported="disabled">
> @@ -10247,5 +10360,11 @@ server.
>                  <enum
> value=""VK_KHR_extension_249""              name="VK_KHR_EX
> TENSION_249_EXTENSION_NAME"/>
>              </require>
>          </extension>
> +        <extension name="VK_NV_extension_250" number="250"
> author="NV" contact="Jeff Bolz @jeffbolznv" supported="disabled">
> +            <require>
> +                <enum
> value="0"                                              name="VK_NV_EX
> TENSION_250_SPEC_VERSION"/>
> +                <enum
> value=""VK_NV_extension_250""                name="VK_NV_EX
> TENSION_250_EXTENSION_NAME"/>
> +            </require>
> +        </extension>
>      </extensions>
>  </registry>



More information about the mesa-dev mailing list