diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index a3be4af6c46..62b5533027a 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -38,6 +38,9 @@
#include "vulkan_macos.h"
#endif
+#ifdef VK_USE_PLATFORM_METAL_EXT
+#include "vulkan_metal.h"
+#endif
#ifdef VK_USE_PLATFORM_VI_NN
#include "vulkan_vi.h"
diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h
index 515a73e462a..166c9e019fd 100644
--- a/include/vulkan/vulkan_core.h
+++ b/include/vulkan/vulkan_core.h
@@ -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 101
+#define VK_HEADER_VERSION 102
#define VK_NULL_HANDLE 0
@@ -299,6 +299,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
+ VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
@@ -463,6 +464,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = 1000211000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
+ VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
@@ -479,6 +481,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
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,
@@ -6602,6 +6605,27 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
uint32_t vertexStride);
#endif
+#define VK_NVX_image_view_handle 1
+#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 1
+#define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
+
+typedef struct VkImageViewHandleInfoNVX {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkDescriptorType descriptorType;
+ VkSampler sampler;
+} VkImageViewHandleInfoNVX;
+
+
+typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
+ VkDevice device,
+ const VkImageViewHandleInfoNVX* pInfo);
+#endif
+
#define VK_AMD_draw_indirect_count 1
#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
@@ -9222,6 +9246,18 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
VkCooperativeMatrixPropertiesNV* pProperties);
#endif
+#define VK_EXT_ycbcr_image_arrays 1
+#define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
+#define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
+
+typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 ycbcrImageArrays;
+} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
+
+
+
#ifdef __cplusplus
}
#endif
diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml
index 8e56da51bf6..fbe08e40e9f 100644
--- a/src/vulkan/registry/vk.xml
+++ b/src/vulkan/registry/vk.xml
@@ -54,6 +54,7 @@ server.
+
@@ -70,10 +71,10 @@ server.
-
-
-
-
+
+
+
+
@@ -146,7 +147,7 @@ server.
// Vulkan 1.1 version number
#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0
// Version of this file
-#define VK_HEADER_VERSION 101
+#define VK_HEADER_VERSION 102
#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
@@ -165,6 +166,12 @@ server.
struct ANativeWindow;
struct AHardwareBuffer;
+
+#ifdef __OBJC__
+@class CAMetalLayer;
+#else
+typedef void CAMetalLayer;
+#endif
typedef uint32_t VkSampleMask;
typedef uint32_t VkBool32;
@@ -268,6 +275,7 @@ server.
typedef VkFlags VkXcbSurfaceCreateFlagsKHR;
typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
+ typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA;
typedef VkFlags VkPeerMemoryFeatureFlags;
@@ -2520,6 +2528,12 @@ server.
VkMacOSSurfaceCreateFlagsMVK flags
const void* pView
+
+ VkStructureType sType
+ const void* pNext
+ VkMetalSurfaceCreateFlagsEXT flags
+ const CAMetalLayer* pLayer
+
float xcoeff
float ycoeff
@@ -3762,6 +3776,18 @@ server.
VkComponentTypeNV DType
VkScopeNV scope
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 ycbcrImageArrays
+
+
+ VkStructureType sType
+ const void* pNext
+ VkImageView imageView
+ VkDescriptorType descriptorType
+ VkSampler sampler
+
Vulkan enumerant (token) definitions
@@ -6632,6 +6658,13 @@ server.
const VkAllocationCallbacks* pAllocator
VkSurfaceKHR* pSurface
+
+ VkResult vkCreateMetalSurfaceEXT
+ VkInstance instance
+ const VkMetalSurfaceCreateInfoEXT* pCreateInfo
+ const VkAllocationCallbacks* pAllocator
+ VkSurfaceKHR* pSurface
+
void vkCmdSetViewportWScalingNV
VkCommandBuffer commandBuffer
@@ -7178,6 +7211,11 @@ server.
uint32_t* pPropertyCount
VkCooperativeMatrixPropertiesNV* pProperties
+
+ uint32_t vkGetImageViewHandleNVX
+ VkDevice device
+ const VkImageViewHandleInfoNVX* pInfo
+
@@ -8105,10 +8143,13 @@ server.
-
+
-
-
+
+
+
+
+
@@ -10220,10 +10261,14 @@ server.
-
+
-
-
+
+
+
+
+
+
@@ -10479,10 +10524,12 @@ server.
-
+
-
-
+
+
+
+
@@ -10503,5 +10550,23 @@ server.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+