diff --git a/include/vk_video/vulkan_video_codec_h264std.h b/include/vk_video/vulkan_video_codec_h264std.h index d3ebec6a14a..21c7b667fd5 100644 --- a/include/vk_video/vulkan_video_codec_h264std.h +++ b/include/vk_video/vulkan_video_codec_h264std.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H264STD_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h264std_decode.h b/include/vk_video/vulkan_video_codec_h264std_decode.h index b1e79429d84..f7eb8edbdf1 100644 --- a/include/vk_video/vulkan_video_codec_h264std_decode.h +++ b/include/vk_video/vulkan_video_codec_h264std_decode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h264std_encode.h b/include/vk_video/vulkan_video_codec_h264std_encode.h index 7bd96aa7bc2..a5fa50c24e9 100644 --- a/include/vk_video/vulkan_video_codec_h264std_encode.h +++ b/include/vk_video/vulkan_video_codec_h264std_encode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h265std.h b/include/vk_video/vulkan_video_codec_h265std.h index 862f8817f67..4233bdc89ce 100644 --- a/include/vk_video/vulkan_video_codec_h265std.h +++ b/include/vk_video/vulkan_video_codec_h265std.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H265STD_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h265std_decode.h b/include/vk_video/vulkan_video_codec_h265std_decode.h index d8660d12e9a..7eee9b389e0 100644 --- a/include/vk_video/vulkan_video_codec_h265std_decode.h +++ b/include/vk_video/vulkan_video_codec_h265std_decode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h265std_encode.h b/include/vk_video/vulkan_video_codec_h265std_encode.h index 5a419b14bee..b7fb7e89ec2 100644 --- a/include/vk_video/vulkan_video_codec_h265std_encode.h +++ b/include/vk_video/vulkan_video_codec_h265std_encode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codecs_common.h b/include/vk_video/vulkan_video_codecs_common.h index 1e498265e16..f486d3ca3fe 100644 --- a/include/vk_video/vulkan_video_codecs_common.h +++ b/include/vk_video/vulkan_video_codecs_common.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODECS_COMMON_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vk_android_native_buffer.h b/include/vulkan/vk_android_native_buffer.h index 52d7a948fe1..746103bc1f4 100644 --- a/include/vulkan/vk_android_native_buffer.h +++ b/include/vulkan/vk_android_native_buffer.h @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + #ifndef __VK_ANDROID_NATIVE_BUFFER_H__ #define __VK_ANDROID_NATIVE_BUFFER_H__ @@ -35,106 +36,217 @@ extern "C" { #endif #define VK_ANDROID_native_buffer 1 -#define VK_ANDROID_NATIVE_BUFFER_EXTENSION_NUMBER 11 -/* NOTE ON VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 6 +#define VK_ANDROID_NATIVE_BUFFER_EXTENSION_NUMBER 11 +/* + * NOTE ON VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 6 * * This version of the extension transitions from gralloc0 to gralloc1 usage * flags (int -> 2x uint64_t). The WSI implementation will temporarily continue * to fill out deprecated fields in VkNativeBufferANDROID, and will call the * deprecated vkGetSwapchainGrallocUsageANDROID if the new * vkGetSwapchainGrallocUsage2ANDROID is not supported. This transitionary - * backwards-compatibility support is temporary, and will likely be removed in + * backwards-compatibility support is temporary, and will likely be removed * (along with all gralloc0 support) in a future release. */ -#define VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 7 -#define VK_ANDROID_NATIVE_BUFFER_EXTENSION_NAME "VK_ANDROID_native_buffer" +/* + * NOTE ON VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 8 + * + * This version of the extension doesn't introduce new types or structs, but is + * to accommodate the new struct VkBindImageMemorySwapchainInfoKHR added in + * VK_KHR_swapchain spec version 69. When VkBindImageMemorySwapchainInfoKHR is + * chained in the pNext chain of VkBindImageMemoryInfo, a VkNativeBufferANDROID + * that holds the correct gralloc handle according to the imageIndex specified + * in VkBindImageMemorySwapchainInfoKHR will be additionally chained to the + * pNext chain of VkBindImageMemoryInfo and passed down to the driver. + */ +/* + * NOTE ON VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 9 + * + * This version of the extension is largely designed to clean up the mix of + * GrallocUsage and GrallocUsage2 + */ +#define VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 9 +#define VK_ANDROID_NATIVE_BUFFER_EXTENSION_NAME "VK_ANDROID_native_buffer" -#define VK_ANDROID_NATIVE_BUFFER_ENUM(type,id) ((type)(1000000000 + (1000 * (VK_ANDROID_NATIVE_BUFFER_EXTENSION_NUMBER - 1)) + (id))) -#define VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID VK_ANDROID_NATIVE_BUFFER_ENUM(VkStructureType, 0) -#define VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID VK_ANDROID_NATIVE_BUFFER_ENUM(VkStructureType, 1) -#define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID VK_ANDROID_NATIVE_BUFFER_ENUM(VkStructureType, 2) +#define VK_ANDROID_NATIVE_BUFFER_ENUM(type, id) \ + ((type)(1000000000 + \ + (1000 * (VK_ANDROID_NATIVE_BUFFER_EXTENSION_NUMBER - 1)) + (id))) +#define VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID \ + VK_ANDROID_NATIVE_BUFFER_ENUM(VkStructureType, 0) +#define VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID \ + VK_ANDROID_NATIVE_BUFFER_ENUM(VkStructureType, 1) +#define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID \ + VK_ANDROID_NATIVE_BUFFER_ENUM(VkStructureType, 2) +#define VK_STRUCTURE_TYPE_GRALLOC_USAGE_INFO_ANDROID \ + VK_ANDROID_NATIVE_BUFFER_ENUM(VkStructureType, 3) +/* clang-format off */ typedef enum VkSwapchainImageUsageFlagBitsANDROID { VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID = 0x00000001, VK_SWAPCHAIN_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkSwapchainImageUsageFlagBitsANDROID; typedef VkFlags VkSwapchainImageUsageFlagsANDROID; + +/* + * struct VkNativeBufferUsage2ANDROID + * + * consumer: gralloc1 consumer usage flag + * producer: gralloc1 producer usage flag + */ typedef struct { - VkStructureType sType; // must be VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID - const void* pNext; + uint64_t consumer; + uint64_t producer; +} VkNativeBufferUsage2ANDROID; - // Buffer handle and stride returned from gralloc alloc() - buffer_handle_t handle; - int stride; - - // Gralloc format and usage requested when the buffer was allocated. - int format; - int usage; // DEPRECATED in SPEC_VERSION 6 - - // -- Added in SPEC_VERSION 6 -- - struct { - uint64_t consumer; - uint64_t producer; - } usage2; +/* + * struct VkNativeBufferANDROID + * + * sType: VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID + * pNext: NULL or a pointer to a structure extending this structure + * handle: buffer handle returned from gralloc alloc() + * stride: stride returned from gralloc alloc() + * format: gralloc format requested when the buffer was allocated + * usage: gralloc usage requested when the buffer was allocated + * usage2: gralloc usage requested when the buffer was allocated + * usage3: gralloc usage requested when the buffer was allocated + */ +typedef struct { + VkStructureType sType; + const void* pNext; + buffer_handle_t handle; + int stride; + int format; + int usage; /* DEPRECATED in SPEC_VERSION 6 */ + VkNativeBufferUsage2ANDROID usage2; /* DEPRECATED in SPEC_VERSION 9 */ + uint64_t usage3; /* ADDED in SPEC_VERSION 9 */ } VkNativeBufferANDROID; +/* + * struct VkSwapchainImageCreateInfoANDROID + * + * sType: VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID + * pNext: NULL or a pointer to a structure extending this structure + * usage: is a bitmask of VkSwapchainImageUsageFlagsANDROID + */ typedef struct { - VkStructureType sType; // must be VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID - const void* pNext; - - VkSwapchainImageUsageFlagsANDROID usage; + VkStructureType sType; + const void* pNext; + VkSwapchainImageUsageFlagsANDROID usage; } VkSwapchainImageCreateInfoANDROID; +/* + * struct VkPhysicalDevicePresentationPropertiesANDROID + * + * sType: VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID + * pNext: NULL or a pointer to a structure extending this structure + * sharedImage: specifies if the image can be shared with the display system + */ typedef struct { - VkStructureType sType; // must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID - const void* pNext; - - VkBool32 sharedImage; + VkStructureType sType; + const void* pNext; + VkBool32 sharedImage; } VkPhysicalDevicePresentationPropertiesANDROID; -// -- DEPRECATED in SPEC_VERSION 6 -- -typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsageANDROID)(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage); -// -- ADDED in SPEC_VERSION 6 -- -typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsage2ANDROID)(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage); -typedef VkResult (VKAPI_PTR *PFN_vkAcquireImageANDROID)(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence); -typedef VkResult (VKAPI_PTR *PFN_vkQueueSignalReleaseImageANDROID)(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd); +/* + * struct VkGrallocUsageInfoANDROID + * + * sType: VK_STRUCTURE_TYPE_GRALLOC_USAGE_INFO_ANDROID + * pNext: NULL or a pointer to a structure extending this structure + * format: value specifying the format the image will be created with + * imageUsage: bitmask of VkImageUsageFlagBits describing intended usage + */ +typedef struct { + VkStructureType sType; + const void* pNext; + VkFormat format; + VkImageUsageFlags imageUsage; +} VkGrallocUsageInfoANDROID; + +/* DEPRECATED in SPEC_VERSION 6 */ +typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsageANDROID)( + VkDevice device, + VkFormat format, + VkImageUsageFlags imageUsage, + int* grallocUsage); + +/* DEPRECATED in SPEC_VERSION 9 */ +typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsage2ANDROID)( + VkDevice device, + VkFormat format, + VkImageUsageFlags imageUsage, + VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, + uint64_t* grallocConsumerUsage, + uint64_t* grallocProducerUsage); + +/* ADDED in SPEC_VERSION 9 */ +typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsage3ANDROID)( + VkDevice device, + const VkGrallocUsageInfoANDROID* grallocUsageInfo, + uint64_t* grallocUsage); + +typedef VkResult (VKAPI_PTR *PFN_vkAcquireImageANDROID)( + VkDevice device, + VkImage image, + int nativeFenceFd, + VkSemaphore semaphore, + VkFence fence); + +typedef VkResult (VKAPI_PTR *PFN_vkQueueSignalReleaseImageANDROID)( + VkQueue queue, + uint32_t waitSemaphoreCount, + const VkSemaphore* pWaitSemaphores, + VkImage image, + int* pNativeFenceFd); #ifndef VK_NO_PROTOTYPES -// -- DEPRECATED in SPEC_VERSION 6 -- + +/* DEPRECATED in SPEC_VERSION 6 */ VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsageANDROID( - VkDevice device, - VkFormat format, - VkImageUsageFlags imageUsage, - int* grallocUsage + VkDevice device, + VkFormat format, + VkImageUsageFlags imageUsage, + int* grallocUsage ); -// -- ADDED in SPEC_VERSION 6 -- + +/* DEPRECATED in SPEC_VERSION 9 */ VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsage2ANDROID( - VkDevice device, - VkFormat format, - VkImageUsageFlags imageUsage, + VkDevice device, + VkFormat format, + VkImageUsageFlags imageUsage, VkSwapchainImageUsageFlagsANDROID swapchainImageUsage, - uint64_t* grallocConsumerUsage, - uint64_t* grallocProducerUsage + uint64_t* grallocConsumerUsage, + uint64_t* grallocProducerUsage ); + +/* ADDED in SPEC_VERSION 9 */ +VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsage3ANDROID( + VkDevice device, + const VkGrallocUsageInfoANDROID* grallocUsageInfo, + uint64_t* grallocUsage +); + VKAPI_ATTR VkResult VKAPI_CALL vkAcquireImageANDROID( - VkDevice device, - VkImage image, - int nativeFenceFd, - VkSemaphore semaphore, - VkFence fence + VkDevice device, + VkImage image, + int nativeFenceFd, + VkSemaphore semaphore, + VkFence fence ); + VKAPI_ATTR VkResult VKAPI_CALL vkQueueSignalReleaseImageANDROID( - VkQueue queue, - uint32_t waitSemaphoreCount, - const VkSemaphore* pWaitSemaphores, - VkImage image, - int* pNativeFenceFd + VkQueue queue, + uint32_t waitSemaphoreCount, + const VkSemaphore* pWaitSemaphores, + VkImage image, + int* pNativeFenceFd ); + #endif +/* clang-format on */ #ifdef __cplusplus } #endif -#endif // __VK_ANDROID_NATIVE_BUFFER_H__ +#endif /* __VK_ANDROID_NATIVE_BUFFER_H__ */ diff --git a/include/vulkan/vk_icd.h b/include/vulkan/vk_icd.h index fa90fcf75d3..1133fa36701 100644 --- a/include/vulkan/vk_icd.h +++ b/include/vulkan/vk_icd.h @@ -2,9 +2,9 @@ // File: vk_icd.h // /* - * Copyright (c) 2015-2016, 2022 The Khronos Group Inc. - * Copyright (c) 2015-2016, 2022 Valve Corporation - * Copyright (c) 2015-2016, 2022 LunarG, Inc. + * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2023 The Khronos Group Inc. + * Copyright (c) 2015-2023 Valve Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,9 +19,7 @@ * limitations under the License. * */ - -#ifndef VKICD_H -#define VKICD_H +#pragma once #include "vulkan.h" #include @@ -258,5 +256,3 @@ typedef struct { VkIcdSurfaceBase base; } VkIcdSurfaceImagePipe; #endif // VK_USE_PLATFORM_FUCHSIA - -#endif // VKICD_H diff --git a/include/vulkan/vk_layer.h b/include/vulkan/vk_layer.h index 0651870c70a..7954f71d831 100644 --- a/include/vulkan/vk_layer.h +++ b/include/vulkan/vk_layer.h @@ -2,9 +2,9 @@ // File: vk_layer.h // /* - * Copyright (c) 2015-2017 The Khronos Group Inc. - * Copyright (c) 2015-2017 Valve Corporation - * Copyright (c) 2015-2017 LunarG, Inc. + * Copyright (c) 2015-2023 LunarG, Inc. + * Copyright (c) 2015-2023 The Khronos Group Inc. + * Copyright (c) 2015-2023 Valve Corporation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,21 +19,14 @@ * limitations under the License. * */ +#pragma once /* Need to define dispatch table * Core struct can then have ptr to dispatch table at the top * Along with object ptrs for current and next OBJ */ -#pragma once -#include "vulkan.h" -#if defined(__GNUC__) && __GNUC__ >= 4 -#define VK_LAYER_EXPORT __attribute__((visibility("default"))) -#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590) -#define VK_LAYER_EXPORT __attribute__((visibility("default"))) -#else -#define VK_LAYER_EXPORT -#endif +#include "vulkan_core.h" #define MAX_NUM_UNKNOWN_EXTS 250 diff --git a/include/vulkan/vk_platform.h b/include/vulkan/vk_platform.h index 3ff8c5d1467..ed67a6004a8 100644 --- a/include/vulkan/vk_platform.h +++ b/include/vulkan/vk_platform.h @@ -2,7 +2,7 @@ // File: vk_platform.h // /* -** Copyright 2014-2022 The Khronos Group Inc. +** Copyright 2014-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h index 3510ac912b6..426cff58d72 100644 --- a/include/vulkan/vulkan.h +++ b/include/vulkan/vulkan.h @@ -2,7 +2,7 @@ #define VULKAN_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -84,6 +84,14 @@ #include "vulkan_screen.h" #endif + +#ifdef VK_USE_PLATFORM_SCI +#include +#include +#include "vulkan_sci.h" +#endif + + #ifdef VK_ENABLE_BETA_EXTENSIONS #include "vulkan_beta.h" #endif diff --git a/include/vulkan/vulkan_android.h b/include/vulkan/vulkan_android.h index 11f5397966c..2e1dfa9ba22 100644 --- a/include/vulkan/vulkan_android.h +++ b/include/vulkan/vulkan_android.h @@ -2,7 +2,7 @@ #define VULKAN_ANDROID_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h index cfeda0eb366..a872040735a 100644 --- a/include/vulkan/vulkan_beta.h +++ b/include/vulkan/vulkan_beta.h @@ -2,7 +2,7 @@ #define VULKAN_BETA_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index a6c5b4c93ce..86e1546a933 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -2,7 +2,7 @@ #define VULKAN_CORE_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -22,7 +22,7 @@ extern "C" { #define VK_VERSION_1_0 1 #include "vk_platform.h" -#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; +#define VK_DEFINE_HANDLE(object) typedef struct object##_T* (object); #ifndef VK_USE_64_BIT_PTR_DEFINES @@ -52,43 +52,43 @@ extern "C" { #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE #if (VK_USE_64_BIT_PTR_DEFINES==1) - #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *(object); #else - #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t (object); #endif #endif -// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. -#define VK_MAKE_VERSION(major, minor, patch) \ - ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) +#define VK_MAKE_API_VERSION(variant, major, minor, patch) \ + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. -//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 - -#define VK_MAKE_API_VERSION(variant, major, minor, patch) \ - ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) +//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 // Vulkan 1.0 version number #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 238 +#define VK_HEADER_VERSION 241 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) +// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. +#define VK_MAKE_VERSION(major, minor, patch) \ + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) + // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. -#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) +#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. -#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) +#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) -#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29) -#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU) -#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) +#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) +#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) +#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) typedef uint32_t VkBool32; typedef uint64_t VkDeviceAddress; @@ -946,9 +946,14 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007, VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, + VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, @@ -999,6 +1004,9 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, + VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, @@ -1803,10 +1811,13 @@ typedef enum VkDynamicState { VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, + VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, + VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, + VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, @@ -2352,6 +2363,7 @@ typedef enum VkQueryPipelineStatisticFlagBits { VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, + VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000, VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkQueryPipelineStatisticFlagBits; typedef VkFlags VkQueryPipelineStatisticFlags; @@ -2512,6 +2524,7 @@ typedef enum VkShaderStageFlagBits { VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, + VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000, VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, @@ -5641,6 +5654,7 @@ typedef enum VkDriverId { VK_DRIVER_ID_MESA_VENUS = 22, VK_DRIVER_ID_MESA_DOZEN = 23, VK_DRIVER_ID_MESA_NVK = 24, + VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, @@ -6475,6 +6489,7 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HU static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL; static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; typedef VkFlags64 VkAccessFlags2; @@ -11158,7 +11173,7 @@ typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { #define VK_EXT_discard_rectangles 1 -#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 +#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" typedef enum VkDiscardRectangleModeEXT { @@ -11183,6 +11198,8 @@ typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { } VkPipelineDiscardRectangleStateCreateInfoEXT; typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); +typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); +typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); #ifndef VK_NO_PROTOTYPES VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( @@ -11190,6 +11207,14 @@ VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); + +VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT( + VkCommandBuffer commandBuffer, + VkBool32 discardRectangleEnable); + +VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT( + VkCommandBuffer commandBuffer, + VkDiscardRectangleModeEXT discardRectangleMode); #endif @@ -12610,7 +12635,7 @@ typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { #define VK_NV_scissor_exclusive 1 -#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1 +#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { VkStructureType sType; @@ -12625,9 +12650,16 @@ typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { VkBool32 exclusiveScissor; } VkPhysicalDeviceExclusiveScissorFeaturesNV; +typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables); typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); #ifndef VK_NO_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV( + VkCommandBuffer commandBuffer, + uint32_t firstExclusiveScissor, + uint32_t exclusiveScissorCount, + const VkBool32* pExclusiveScissorEnables); + VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, @@ -15416,6 +15448,41 @@ VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" +#define VK_HUAWEI_cluster_culling_shader 1 +#define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 1 +#define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader" +typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI { + VkStructureType sType; + void* pNext; + VkBool32 clustercullingShader; + VkBool32 multiviewClusterCullingShader; +} VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI; + +typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI { + VkStructureType sType; + void* pNext; + uint32_t maxWorkGroupCount[3]; + uint32_t maxWorkGroupSize[3]; + uint32_t maxOutputClusterCount; +} VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI; + +typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); +typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); + +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI( + VkCommandBuffer commandBuffer, + uint32_t groupCountX, + uint32_t groupCountY, + uint32_t groupCountZ); + +VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset); +#endif + + #define VK_EXT_border_color_swizzle 1 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" @@ -15454,6 +15521,38 @@ VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( #endif +#define VK_ARM_shader_core_properties 1 +#define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 +#define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" +typedef struct VkPhysicalDeviceShaderCorePropertiesARM { + VkStructureType sType; + void* pNext; + uint32_t pixelRate; + uint32_t texelRate; + uint32_t fmaRate; +} VkPhysicalDeviceShaderCorePropertiesARM; + + + +#define VK_EXT_image_sliced_view_of_3d 1 +#define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 +#define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" +#define VK_REMAINING_3D_SLICES_EXT (~0U) +typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 imageSlicedViewOf3D; +} VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; + +typedef struct VkImageViewSlicedCreateInfoEXT { + VkStructureType sType; + const void* pNext; + uint32_t sliceOffset; + uint32_t sliceCount; +} VkImageViewSlicedCreateInfoEXT; + + + #define VK_VALVE_descriptor_set_host_mapping 1 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" @@ -16361,6 +16460,35 @@ typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { +#define VK_EXT_pipeline_library_group_handles 1 +#define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 +#define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" +typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 pipelineLibraryGroupHandles; +} VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; + + + +#define VK_QCOM_multiview_per_view_render_areas 1 +#define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 +#define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" +typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { + VkStructureType sType; + void* pNext; + VkBool32 multiviewPerViewRenderAreas; +} VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; + +typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM { + VkStructureType sType; + const void* pNext; + uint32_t perViewRenderAreaCount; + const VkRect2D* pPerViewRenderAreas; +} VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; + + + #define VK_KHR_acceleration_structure 1 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" diff --git a/include/vulkan/vulkan_directfb.h b/include/vulkan/vulkan_directfb.h index ab3504efafd..81d22fa7a46 100644 --- a/include/vulkan/vulkan_directfb.h +++ b/include/vulkan/vulkan_directfb.h @@ -2,7 +2,7 @@ #define VULKAN_DIRECTFB_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_fuchsia.h b/include/vulkan/vulkan_fuchsia.h index 61774ff9cb7..c11d9e65b59 100644 --- a/include/vulkan/vulkan_fuchsia.h +++ b/include/vulkan/vulkan_fuchsia.h @@ -2,7 +2,7 @@ #define VULKAN_FUCHSIA_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_ggp.h b/include/vulkan/vulkan_ggp.h index 19dfd22617e..2c0d5edf100 100644 --- a/include/vulkan/vulkan_ggp.h +++ b/include/vulkan/vulkan_ggp.h @@ -2,7 +2,7 @@ #define VULKAN_GGP_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_ios.h b/include/vulkan/vulkan_ios.h index 57922054393..8c6d9e72a57 100644 --- a/include/vulkan/vulkan_ios.h +++ b/include/vulkan/vulkan_ios.h @@ -2,7 +2,7 @@ #define VULKAN_IOS_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_macos.h b/include/vulkan/vulkan_macos.h index 8e197c7cff4..3310e11ab52 100644 --- a/include/vulkan/vulkan_macos.h +++ b/include/vulkan/vulkan_macos.h @@ -2,7 +2,7 @@ #define VULKAN_MACOS_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_metal.h b/include/vulkan/vulkan_metal.h index 11b9640919d..7127651c1da 100644 --- a/include/vulkan/vulkan_metal.h +++ b/include/vulkan/vulkan_metal.h @@ -2,7 +2,7 @@ #define VULKAN_METAL_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_screen.h b/include/vulkan/vulkan_screen.h index f0ef40a6caf..1067c046346 100644 --- a/include/vulkan/vulkan_screen.h +++ b/include/vulkan/vulkan_screen.h @@ -2,7 +2,7 @@ #define VULKAN_SCREEN_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_vi.h b/include/vulkan/vulkan_vi.h index 0355e7a162c..6726470533c 100644 --- a/include/vulkan/vulkan_vi.h +++ b/include/vulkan/vulkan_vi.h @@ -2,7 +2,7 @@ #define VULKAN_VI_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_wayland.h b/include/vulkan/vulkan_wayland.h index 9afd0b76d5f..42b28018490 100644 --- a/include/vulkan/vulkan_wayland.h +++ b/include/vulkan/vulkan_wayland.h @@ -2,7 +2,7 @@ #define VULKAN_WAYLAND_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_win32.h b/include/vulkan/vulkan_win32.h index a8e46c89b9a..5b65a36a6d6 100644 --- a/include/vulkan/vulkan_win32.h +++ b/include/vulkan/vulkan_win32.h @@ -2,7 +2,7 @@ #define VULKAN_WIN32_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_xcb.h b/include/vulkan/vulkan_xcb.h index 68e61b88f0d..b49aa4e2c5c 100644 --- a/include/vulkan/vulkan_xcb.h +++ b/include/vulkan/vulkan_xcb.h @@ -2,7 +2,7 @@ #define VULKAN_XCB_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_xlib.h b/include/vulkan/vulkan_xlib.h index ea5360ab647..186cdd5ef14 100644 --- a/include/vulkan/vulkan_xlib.h +++ b/include/vulkan/vulkan_xlib.h @@ -2,7 +2,7 @@ #define VULKAN_XLIB_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_xlib_xrandr.h b/include/vulkan/vulkan_xlib_xrandr.h index 8fc35cfc56e..9a3b62991ab 100644 --- a/include/vulkan/vulkan_xlib_xrandr.h +++ b/include/vulkan/vulkan_xlib_xrandr.h @@ -2,7 +2,7 @@ #define VULKAN_XLIB_XRANDR_H_ 1 /* -** Copyright 2015-2022 The Khronos Group Inc. +** Copyright 2015-2023 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml index ca2ca43854e..8693f9d3970 100644 --- a/src/vulkan/registry/vk.xml +++ b/src/vulkan/registry/vk.xml @@ -1,7 +1,7 @@ -Copyright 2015-2022 The Khronos Group Inc. +Copyright 2015-2023 The Khronos Group Inc. SPDX-License-Identifier: Apache-2.0 OR MIT @@ -32,6 +32,7 @@ branch of the member gitlab server. + @@ -66,7 +67,7 @@ branch of the member gitlab server. - + @@ -90,6 +91,8 @@ branch of the member gitlab server. + + In the current header structure, each platform's interfaces are confined to a platform-specific header (vulkan_xlib.h, @@ -130,41 +133,56 @@ branch of the member gitlab server. + + + + + - // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. + // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. #define VK_MAKE_VERSION(major, minor, patch) \ - ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) - // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. -#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) - // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. -#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) - // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) + // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. +#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) + // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. +#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) + // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ - ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) - #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29) - #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU) - #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) + #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) + #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) + #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) + // Vulkan SC variant number +#define VKSC_API_VARIANT 1 + // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. -//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 - // Vulkan 1.0 version number +//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 + // Vulkan 1.0 version number #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 - // Vulkan 1.1 version number + // Vulkan 1.1 version number #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 - // Vulkan 1.2 version number + // Vulkan 1.2 version number #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 // Vulkan 1.3 version number #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 - // Version of this file -#define VK_HEADER_VERSION 238 - // Complete version of this file + // Vulkan SC 1.0 version number +#define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 + + // Version of this file +#define VK_HEADER_VERSION 241 + // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) + // Version of this file +#define VK_HEADER_VERSION 12 + // Complete version of this file +#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) -#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; +#define VK_DEFINE_HANDLE(object) typedef struct object##_T* (object); #ifndef VK_USE_64_BIT_PTR_DEFINES @@ -192,9 +210,9 @@ branch of the member gitlab server. #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE #if (VK_USE_64_BIT_PTR_DEFINES==1) - #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *(object); #else - #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; + #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t (object); #endif #endif @@ -267,9 +285,11 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkSamplerCreateFlags; typedef VkFlags VkPipelineLayoutCreateFlags; typedef VkFlags VkPipelineCacheCreateFlags; - typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + typedef VkFlags VkPipelineDepthStencilStateCreateFlags; typedef VkFlags VkPipelineDynamicStateCreateFlags; - typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; typedef VkFlags VkPipelineMultisampleStateCreateFlags; typedef VkFlags VkPipelineRasterizationStateCreateFlags; typedef VkFlags VkPipelineViewportStateCreateFlags; @@ -342,6 +362,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkPipelineCompilerControlFlagsAMD; typedef VkFlags VkShaderCorePropertiesFlagsAMD; typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; + typedef VkFlags VkRefreshObjectFlagsKHR; typedef VkFlags64 VkAccessFlags2; typedef VkFlags64 VkPipelineStageFlags2; @@ -539,6 +560,9 @@ typedef void* MTLSharedEvent_id; VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) + VK_NV_external_sci_sync2 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphoreSciSyncPoolNV) + Types generated from corresponding enums tags below @@ -692,6 +716,13 @@ typedef void* MTLSharedEvent_id; + + + + + + + @@ -702,6 +733,7 @@ typedef void* MTLSharedEvent_id; + @@ -895,6 +927,12 @@ typedef void* MTLSharedEvent_id; const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData); + The PFN_vkFaultCallbackFunction type is used by VKSC_VERSION_1_0 + typedef void (VKAPI_PTR *PFN_vkFaultCallbackFunction)( + VkBool32 unrecordedFaults, + uint32_t faultCount, + const VkFaultData* pFaults); + The PFN_vkDeviceMemoryReportCallbackEXT type is used by the VK_EXT_device_memory_report extension typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, @@ -1011,8 +1049,8 @@ typedef void* MTLSharedEvent_id; VkDeviceCreateFlags flags uint32_t queueCreateInfoCount const VkDeviceQueueCreateInfo* pQueueCreateInfos - uint32_t enabledLayerCount - const char* const* ppEnabledLayerNamesOrdered list of layer names to be enabled + uint32_t enabledLayerCount + const char* const* ppEnabledLayerNamesOrdered list of layer names to be enabled uint32_t enabledExtensionCount const char* const* ppEnabledExtensionNames const VkPhysicalDeviceFeatures* pEnabledFeatures @@ -1368,8 +1406,9 @@ typedef void* MTLSharedEvent_id; const void* pNext VkPipelineShaderStageCreateFlags flags VkShaderStageFlagBits stageShader stage - VkShaderModule moduleModule containing entry point - const char* pNameNull-terminated entry point name + VkShaderModule moduleModule containing entry point + const char* pNameNull-terminated entry point name + const char* pNameNull-terminated entry point name const VkSpecializationInfo* pSpecializationInfo @@ -1503,8 +1542,9 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext VkPipelineCreateFlags flagsPipeline creation flags - uint32_t stageCount - const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage + uint32_t stageCount + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage + const VkPipelineShaderStageCreateInfo* pStagesOne entry for each active shader stage const VkPipelineVertexInputStateCreateInfo* pVertexInputState const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState const VkPipelineTessellationStateCreateInfo* pTessellationState @@ -1524,7 +1564,8 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext VkPipelineCacheCreateFlags flags - size_t initialDataSizeSize of initial data to populate cache, in bytes + size_t initialDataSizeSize of initial data to populate cache, in bytes + size_t initialDataSizeSize of initial data to populate cache, in bytes const void* pInitialDataInitial data to populate cache @@ -1535,6 +1576,30 @@ typedef void* MTLSharedEvent_id; uint32_t deviceID uint8_t pipelineCacheUUID[VK_UUID_SIZE] + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + uint64_t codeSize + uint64_t codeOffset + + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + uint8_t pipelineIdentifier[VK_UUID_SIZE] + uint64_t pipelineMemorySize + uint64_t jsonSize + uint64_t jsonOffset + uint32_t stageIndexCount + uint32_t stageIndexStride + uint64_t stageIndexOffset + + + The fields in this structure are non-normative since structure packing is implementation-defined in C. The specification defines the normative layout. + VkPipelineCacheHeaderVersionOne headerVersionOne + VkPipelineCacheValidationVersion validationVersion + uint32_t implementationData + uint32_t pipelineIndexCount + uint32_t pipelineIndexStride + uint64_t pipelineIndexOffset + VkShaderStageFlags stageFlagsWhich stages use the range uint32_t offsetStart of the range, in bytes @@ -2083,7 +2148,8 @@ typedef void* MTLSharedEvent_id; VkCompositeAlphaFlagBitsKHR compositeAlphaThe alpha blending mode used when compositing this surface with other surfaces in the window system VkPresentModeKHR presentModeWhich presentation mode to use for presents on this swap chain VkBool32 clippedSpecifies whether presentable images may be affected by window clip regions - VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any + VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any + VkSwapchainKHR oldSwapchainExisting swap chain to replace, if any VkStructureType sType @@ -2116,6 +2182,14 @@ typedef void* MTLSharedEvent_id; uint32_t disabledValidationFeatureCountNumber of validation features to disable const VkValidationFeatureDisableEXT* pDisabledValidationFeaturesValidation features to disable + + VkStructureType sType + const void* pNext + uint32_t vendorID + uint32_t deviceID + uint32_t key + uint64_t value + VkStructureType sType const void* pNext @@ -2187,6 +2261,35 @@ typedef void* MTLSharedEvent_id; const SECURITY_ATTRIBUTES* pAttributes DWORD dwAccess + + VkStructureType sType + const void* pNext + NvSciBufAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkExternalMemoryHandleTypeFlagBits handleType + NvSciBufObj handle + + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + VkExternalMemoryHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + uint32_t memoryTypeBits + + + VkStructureType sType + void* pNext + VkBool32 sciBufImport + VkBool32 sciBufExport + + VkStructureType sType const void* pNext @@ -2698,6 +2801,80 @@ typedef void* MTLSharedEvent_id; VkFence fence VkExternalFenceHandleTypeFlagBits handleType + + VkStructureType sType + const void* pNext + NvSciSyncAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkFence fence + VkExternalFenceHandleTypeFlagBits handleType + void* handle + + + VkStructureType sType + const void* pNext + VkFence fence + VkExternalFenceHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + NvSciSyncAttrList pAttributes + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkExternalSemaphoreHandleTypeFlagBits handleType + void* handle + + + VkStructureType sType + const void* pNext + VkSemaphore semaphore + VkExternalSemaphoreHandleTypeFlagBits handleType + + + VkStructureType sType + const void* pNext + VkSciSyncClientTypeNV clientType + VkSciSyncPrimitiveTypeNV primitiveType + + + VkStructureType sType + void* pNext + VkBool32 sciSyncFence + VkBool32 sciSyncSemaphore + VkBool32 sciSyncImport + VkBool32 sciSyncExport + + + VkStructureType sType + void* pNext + VkBool32 sciSyncFence + VkBool32 sciSyncSemaphore2 + VkBool32 sciSyncImport + VkBool32 sciSyncExport + + + VkStructureType sType + const void* pNext + NvSciSyncObj handle + + + VkStructureType sType + const void* pNext + VkSemaphoreSciSyncPoolNV semaphorePool + const NvSciSyncFence* pFence + + + VkStructureType sType + const void* pNext + uint32_t semaphoreSciSyncPoolRequestCount + VkStructureType sType void* pNext @@ -3180,6 +3357,12 @@ typedef void* MTLSharedEvent_id; const void* pNext VkImageUsageFlags usage + + VkStructureType sType + const void* pNext + uint32_t sliceOffset + uint32_t sliceCount + VkStructureType sType @@ -4834,6 +5017,11 @@ typedef void* MTLSharedEvent_id; const void* pNext uint32_t counterPassIndexIndex for which counter pass to submit + + VkStructureType sType + const void* pNext + uint32_t maxPerformanceQueriesPerPoolMaximum number of VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR queries in a query pool + VkStructureType sType const void* pNext @@ -5062,6 +5250,13 @@ typedef void* MTLSharedEvent_id; void* pNext uint32_t maxSubpassShadingWorkgroupSizeAspectRatio + + VkStructureType sType + void* pNext + uint32_t maxWorkGroupCount[3] + uint32_t maxWorkGroupSize[3] + uint32_t maxOutputClusterCount + VkStructureType sType const void* pNext @@ -5323,6 +5518,19 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 deviceCoherentMemory + + VkStructureType sType + void* pNext + VkFaultLevel faultLevel + VkFaultType faultType + + + VkStructureType sType + void* pNext + uint32_t faultCount + VkFaultData*pFaults + PFN_vkFaultCallbackFunction pfnFaultCallback + VkStructureType sType void* pNext @@ -5500,6 +5708,17 @@ typedef void* MTLSharedEvent_id; uint32_t libraryCount const VkPipeline* pLibraries + + VkObjectType objectType + uint64_t objectHandle + VkRefreshObjectFlagsKHR flags + + + VkStructureType sType + const void* pNext + uint32_t objectCount + const VkRefreshObjectKHR* pObjects + VkStructureType sType void* pNext @@ -5593,6 +5812,13 @@ typedef void* MTLSharedEvent_id; const void* pNext VkDeviceDiagnosticsConfigFlagsNV flags + + VkStructureType sType + const void* pNext + uint8_t pipelineIdentifier[VK_UUID_SIZE] + VkPipelineMatchControl matchControl + VkDeviceSize poolEntrySize + VkStructureType sType void* pNext @@ -5666,6 +5892,12 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 subpassShading + + VkStructureType sType + void*pNext + VkBool32 clustercullingShader + VkBool32 multiviewClusterCullingShader + VkStructureType sType const void* pNext @@ -5867,6 +6099,11 @@ typedef void* MTLSharedEvent_id; VkBool32 image2DViewOf3D VkBool32 sampler2DViewOf3D + + VkStructureType sType + void* pNext + VkBool32 imageSlicedViewOf3D + VkStructureType sType void* pNext @@ -6027,6 +6264,97 @@ typedef void* MTLSharedEvent_id; VkBool32 synchronization2 + + VkStructureType sType + void* pNext + VkBool32 deviceNoDynamicHostAllocations + VkBool32 deviceDestroyFreesMemory + VkBool32 commandPoolMultipleCommandBuffersRecording + VkBool32 commandPoolResetCommandBuffer + VkBool32 commandBufferSimultaneousUse + VkBool32 secondaryCommandBufferNullOrImagelessFramebuffer + VkBool32 recycleDescriptorSetMemory + VkBool32 recyclePipelineMemory + uint32_t maxRenderPassSubpasses + uint32_t maxRenderPassDependencies + uint32_t maxSubpassInputAttachments + uint32_t maxSubpassPreserveAttachments + uint32_t maxFramebufferAttachments + uint32_t maxDescriptorSetLayoutBindings + uint32_t maxQueryFaultCount + uint32_t maxCallbackFaultCount + uint32_t maxCommandPoolCommandBuffers + VkDeviceSize maxCommandBufferSize + + + VkStructureType sType + const void* pNext + VkDeviceSize poolEntrySize + uint32_t poolEntryCount + + + VkStructureType sType + const void* pNext + uint32_t pipelineCacheCreateInfoCount + const VkPipelineCacheCreateInfo* pPipelineCacheCreateInfos + uint32_t pipelinePoolSizeCount + const VkPipelinePoolSize* pPipelinePoolSizes + uint32_t semaphoreRequestCount + uint32_t commandBufferRequestCount + uint32_t fenceRequestCount + uint32_t deviceMemoryRequestCount + uint32_t bufferRequestCount + uint32_t imageRequestCount + uint32_t eventRequestCount + uint32_t queryPoolRequestCount + uint32_t bufferViewRequestCount + uint32_t imageViewRequestCount + uint32_t layeredImageViewRequestCount + uint32_t pipelineCacheRequestCount + uint32_t pipelineLayoutRequestCount + uint32_t renderPassRequestCount + uint32_t graphicsPipelineRequestCount + uint32_t computePipelineRequestCount + uint32_t descriptorSetLayoutRequestCount + uint32_t samplerRequestCount + uint32_t descriptorPoolRequestCount + uint32_t descriptorSetRequestCount + uint32_t framebufferRequestCount + uint32_t commandPoolRequestCount + uint32_t samplerYcbcrConversionRequestCount + uint32_t surfaceRequestCount + uint32_t swapchainRequestCount + uint32_t displayModeRequestCount + uint32_t subpassDescriptionRequestCount + uint32_t attachmentDescriptionRequestCount + uint32_t descriptorSetLayoutBindingRequestCount + uint32_t descriptorSetLayoutBindingLimit + uint32_t maxImageViewMipLevels + uint32_t maxImageViewArrayLayers + uint32_t maxLayeredImageViewMipLevels + uint32_t maxOcclusionQueriesPerPool + uint32_t maxPipelineStatisticsQueriesPerPool + uint32_t maxTimestampQueriesPerPool + uint32_t maxImmutableSamplersPerDescriptorSetLayout + + + VkStructureType sType + const void* pNext + VkDeviceSize commandPoolReservedSize + uint32_t commandPoolMaxCommandBuffers + + + VkStructureType sType + void* pNext + VkDeviceSize commandPoolAllocated + VkDeviceSize commandPoolReservedSize + VkDeviceSize commandBufferAllocated + + + VkStructureType sType + void* pNext + VkBool32 shaderAtomicInstructions + VkStructureType sType void* pNext @@ -7114,7 +7442,8 @@ typedef void* MTLSharedEvent_id; const void* pNext VkRenderingFlags flags uint32_t viewMask - uint32_t colorAttachmentCount + uint32_t colorAttachmentCount + uint32_t colorAttachmentCount const VkFormat* pColorAttachmentFormats VkFormat depthAttachmentFormat VkFormat stencilAttachmentFormat @@ -7645,6 +7974,11 @@ typedef void* MTLSharedEvent_id; uint32_t applicationVersion uint32_t engineNameOffset + + VkStructureType sType + void* pNext + VkBool32 pipelineLibraryGroupHandles + VkDeviceAddress srcAddress VkDeviceAddress dstAddress @@ -7749,6 +8083,24 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 multiviewPerViewViewports + + VkStructureType sType + void* pNext + uint32_t pixelRate + uint32_t texelRate + uint32_t fmaRate + + + VkStructureType sType + void* pNext + VkBool32 multiviewPerViewRenderAreas + + + VkStructureType sType + const void* pNext + uint32_t perViewRenderAreaCount + const VkRect2D* pPerViewRenderAreas + @@ -7766,6 +8118,7 @@ typedef void* MTLSharedEvent_id; + @@ -8548,7 +8901,7 @@ typedef void* MTLSharedEvent_id; - + @@ -8573,7 +8926,7 @@ typedef void* MTLSharedEvent_id; - + @@ -8644,7 +8997,7 @@ typedef void* MTLSharedEvent_id; - + NVX_device_generated_commands formerly used these enum values, but that extension has been removed @@ -8652,7 +9005,7 @@ typedef void* MTLSharedEvent_id; value 32 / name VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT - + @@ -8773,7 +9126,7 @@ typedef void* MTLSharedEvent_id; - + @@ -8942,6 +9295,7 @@ typedef void* MTLSharedEvent_id; + @@ -9089,9 +9443,9 @@ typedef void* MTLSharedEvent_id; - - - + + + @@ -9119,14 +9473,16 @@ typedef void* MTLSharedEvent_id; - + - + + + @@ -9169,6 +9525,24 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + @@ -9181,6 +9555,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -9330,10 +9707,22 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + @@ -9817,7 +10206,14 @@ typedef void* MTLSharedEvent_id; VkImageCreateFlags flags VkImageFormatProperties* pImageFormatProperties - + + VkResult vkCreateDevice + VkPhysicalDevice physicalDevice + const VkDeviceCreateInfo* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkDevice* pDevice + + VkResult vkCreateDevice VkPhysicalDevice physicalDevice const VkDeviceCreateInfo* pCreateInfo @@ -9847,7 +10243,13 @@ typedef void* MTLSharedEvent_id; uint32_t* pPropertyCount VkExtensionProperties* pProperties - + + VkResult vkEnumerateDeviceLayerProperties + VkPhysicalDevice physicalDevice + uint32_t* pPropertyCount + VkLayerProperties* pProperties + + VkResult vkEnumerateDeviceLayerProperties VkPhysicalDevice physicalDevice uint32_t* pPropertyCount @@ -10158,7 +10560,14 @@ typedef void* MTLSharedEvent_id; VkShaderModule shaderModule const VkAllocationCallbacks* pAllocator - + + VkResult vkCreatePipelineCache + VkDevice device + const VkPipelineCacheCreateInfo* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkPipelineCache* pPipelineCache + + VkResult vkCreatePipelineCache VkDevice device const VkPipelineCacheCreateInfo* pCreateInfo @@ -10185,7 +10594,7 @@ typedef void* MTLSharedEvent_id; uint32_t srcCacheCount const VkPipelineCache* pSrcCaches - + VkResult vkCreateGraphicsPipelines VkDevice device VkPipelineCache pipelineCache @@ -10194,7 +10603,16 @@ typedef void* MTLSharedEvent_id; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines - + + VkResult vkCreateGraphicsPipelines + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkGraphicsPipelineCreateInfo* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + VkResult vkCreateComputePipelines VkDevice device VkPipelineCache pipelineCache @@ -10203,6 +10621,15 @@ typedef void* MTLSharedEvent_id; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines + + VkResult vkCreateComputePipelines + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkComputePipelineCreateInfo* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + VkResult vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI VkDevice device @@ -10540,6 +10967,19 @@ typedef void* MTLSharedEvent_id; void vkCmdSubpassShadingHUAWEI VkCommandBuffer commandBuffer + + void vkCmdDrawClusterHUAWEI + VkCommandBuffer commandBuffer + uint32_t groupCountX + uint32_t groupCountY + uint32_t groupCountZ + + + void vkCmdDrawClusterIndirectHUAWEI + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + void vkCmdCopyBuffer VkCommandBuffer commandBuffer @@ -10831,7 +11271,8 @@ typedef void* MTLSharedEvent_id; VkResult vkCreateSharedSwapchainsKHR VkDevice device uint32_t swapchainCount - const VkSwapchainCreateInfoKHR* pCreateInfos + const VkSwapchainCreateInfoKHR* pCreateInfos + const VkSwapchainCreateInfoKHR* pCreateInfos const VkAllocationCallbacks* pAllocator VkSwapchainKHR* pSwapchains @@ -10871,7 +11312,8 @@ typedef void* MTLSharedEvent_id; VkResult vkCreateSwapchainKHR VkDevice device - const VkSwapchainCreateInfoKHR* pCreateInfo + const VkSwapchainCreateInfoKHR* pCreateInfo + const VkSwapchainCreateInfoKHR* pCreateInfo const VkAllocationCallbacks* pAllocator VkSwapchainKHR* pSwapchain @@ -11220,6 +11662,24 @@ typedef void* MTLSharedEvent_id; const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo VkRemoteAddressNV* pAddress + + VkResult vkGetMemorySciBufNV + VkDevice device + const VkMemoryGetSciBufInfoNV* pGetSciBufInfo + NvSciBufObj* pHandle + + + VkResult vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV + VkPhysicalDevice physicalDevice + VkExternalMemoryHandleTypeFlagBits handleType + NvSciBufObj handle + VkMemorySciBufPropertiesNV* pMemorySciBufProperties + + + VkResult vkGetPhysicalDeviceSciBufAttributesNV + VkPhysicalDevice physicalDevice + NvSciBufAttrList pAttributes + void vkGetPhysicalDeviceExternalSemaphoreProperties VkPhysicalDevice physicalDevice @@ -11289,6 +11749,58 @@ typedef void* MTLSharedEvent_id; VkDevice device const VkImportFenceFdInfoKHR* pImportFenceFdInfo + + VkResult vkGetFenceSciSyncFenceNV + VkDevice device + const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo + void* pHandle + + + VkResult vkGetFenceSciSyncObjNV + VkDevice device + const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo + void* pHandle + + + VkResult vkImportFenceSciSyncFenceNV + VkDevice device + const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo + + + VkResult vkImportFenceSciSyncObjNV + VkDevice device + const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo + + + VkResult vkGetSemaphoreSciSyncObjNV + VkDevice device + const VkSemaphoreGetSciSyncInfoNV* pGetSciSyncInfo + void* pHandle + + + VkResult vkImportSemaphoreSciSyncObjNV + VkDevice device + const VkImportSemaphoreSciSyncInfoNV* pImportSemaphoreSciSyncInfo + + + VkResult vkGetPhysicalDeviceSciSyncAttributesNV + VkPhysicalDevice physicalDevice + const VkSciSyncAttributesInfoNV* pSciSyncAttributesInfo + NvSciSyncAttrList pAttributes + + + VkResult vkCreateSemaphoreSciSyncPoolNV + VkDevice device + const VkSemaphoreSciSyncPoolCreateInfoNV* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSemaphoreSciSyncPoolNV* pSemaphorePool + + + void vkDestroySemaphoreSciSyncPoolNV + VkDevice device + VkSemaphoreSciSyncPoolNV semaphorePool + const VkAllocationCallbacks* pAllocator + VkResult vkReleaseDisplayEXT VkPhysicalDevice physicalDevice @@ -11514,6 +12026,16 @@ typedef void* MTLSharedEvent_id; uint32_t discardRectangleCount const VkRect2D* pDiscardRectangles + + void vkCmdSetDiscardRectangleEnableEXT + VkCommandBuffer commandBuffer + VkBool32 discardRectangleEnable + + + void vkCmdSetDiscardRectangleModeEXT + VkCommandBuffer commandBuffer + VkDiscardRectangleModeEXT discardRectangleMode + void vkCmdSetSampleLocationsEXT VkCommandBuffer commandBuffer @@ -11948,6 +12470,13 @@ typedef void* MTLSharedEvent_id; uint32_t exclusiveScissorCount const VkRect2D* pExclusiveScissors + + void vkCmdSetExclusiveScissorEnableNV + VkCommandBuffer commandBuffer + uint32_t firstExclusiveScissor + uint32_t exclusiveScissorCount + const VkBool32* pExclusiveScissorEnables + void vkCmdBindShadingRateImageNV VkCommandBuffer commandBuffer @@ -12195,7 +12724,7 @@ typedef void* MTLSharedEvent_id; size_t dataSize void* pData - + VkResult vkCreateRayTracingPipelinesNV VkDevice device VkPipelineCache pipelineCache @@ -12204,7 +12733,16 @@ typedef void* MTLSharedEvent_id; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines - + + VkResult vkCreateRayTracingPipelinesNV + VkDevice device + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkRayTracingPipelineCreateInfoNV* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + + VkResult vkCreateRayTracingPipelinesKHR VkDevice device VkDeferredOperationKHR deferredOperation @@ -12214,6 +12752,16 @@ typedef void* MTLSharedEvent_id; const VkAllocationCallbacks* pAllocator VkPipeline* pPipelines + + VkResult vkCreateRayTracingPipelinesKHR + VkDevice device + VkDeferredOperationKHR deferredOperation + VkPipelineCache pipelineCache + uint32_t createInfoCount + const VkRayTracingPipelineCreateInfoKHR* pCreateInfos + const VkAllocationCallbacks* pAllocator + VkPipeline* pPipelines + VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV VkPhysicalDevice physicalDevice @@ -12420,6 +12968,14 @@ typedef void* MTLSharedEvent_id; uint32_t lineStippleFactor uint16_t lineStipplePattern + + VkResult vkGetFaultData + VkDevice device + VkFaultQueryBehavior faultQueryBehavior + VkBool32* pUnrecordedFaults + uint32_t* pFaultCount + VkFaultData* pFaults + VkResult vkGetPhysicalDeviceToolProperties VkPhysicalDevice physicalDevice @@ -12837,6 +13393,17 @@ typedef void* MTLSharedEvent_id; const VkResolveImageInfo2* pResolveImageInfo + + void vkCmdRefreshObjectsKHR + VkCommandBuffer commandBuffer + const VkRefreshObjectListKHR* pRefreshObjects + + + VkResult vkGetPhysicalDeviceRefreshableObjectTypesKHR + VkPhysicalDevice physicalDevice + uint32_t* pRefreshableObjectTypeCount + VkObjectType* pRefreshableObjectTypes + void vkCmdSetFragmentShadingRateKHR VkCommandBuffer commandBuffer @@ -12935,6 +13502,13 @@ typedef void* MTLSharedEvent_id; uint32_t* pCheckpointDataCount VkCheckpointData2NV* pCheckpointData + + void vkGetCommandPoolMemoryConsumption + VkDevice device + VkCommandPool commandPool + VkCommandBuffer commandBuffer + VkCommandPoolMemoryConsumption* pConsumption + VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR VkPhysicalDevice physicalDevice @@ -13398,7 +13972,7 @@ typedef void* MTLSharedEvent_id; - + @@ -13912,7 +14486,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14066,7 +14640,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14239,12 +14813,12 @@ typedef void* MTLSharedEvent_id; - + - + @@ -14439,7 +15013,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14704,8 +15278,144 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -14727,7 +15437,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14748,7 +15458,7 @@ typedef void* MTLSharedEvent_id; - + This duplicates definitions in VK_KHR_device_group below @@ -14772,7 +15482,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14803,7 +15513,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14813,7 +15523,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14824,7 +15534,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14835,7 +15545,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14846,13 +15556,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -14863,7 +15573,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14901,8 +15611,9 @@ typedef void* MTLSharedEvent_id; - - + + + @@ -14914,7 +15625,7 @@ typedef void* MTLSharedEvent_id; - + This duplicates definitions in other extensions, below @@ -14927,7 +15638,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14938,7 +15649,7 @@ typedef void* MTLSharedEvent_id; - + @@ -14988,7 +15699,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15006,7 +15717,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15095,7 +15806,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15131,7 +15842,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15160,7 +15871,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15272,7 +15983,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15311,7 +16022,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15355,7 +16066,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15376,7 +16087,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15400,7 +16111,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15420,27 +16131,27 @@ typedef void* MTLSharedEvent_id; - + - + - + - + - + - + - + @@ -15469,7 +16180,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15479,7 +16190,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15488,10 +16199,11 @@ typedef void* MTLSharedEvent_id; - + - - + + + @@ -15500,7 +16212,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15539,7 +16251,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15549,7 +16261,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15560,7 +16272,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15599,7 +16311,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15629,14 +16341,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -15645,7 +16357,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15669,7 +16381,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15697,7 +16409,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15719,7 +16431,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15729,7 +16441,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15747,8 +16459,8 @@ typedef void* MTLSharedEvent_id; - - + + @@ -15770,7 +16482,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15803,7 +16515,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15817,7 +16529,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15833,7 +16545,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15847,7 +16559,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15855,7 +16567,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15880,7 +16592,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15891,7 +16603,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15907,7 +16619,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15919,7 +16631,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15928,16 +16640,16 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -15956,7 +16668,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15966,7 +16678,7 @@ typedef void* MTLSharedEvent_id; - + @@ -15974,7 +16686,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16000,11 +16712,11 @@ typedef void* MTLSharedEvent_id; - + - + @@ -16025,14 +16737,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -16040,19 +16752,19 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -16073,7 +16785,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16113,11 +16825,11 @@ typedef void* MTLSharedEvent_id; - - + + - + @@ -16138,18 +16850,22 @@ typedef void* MTLSharedEvent_id; - + - + + + + + @@ -16158,7 +16874,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16170,7 +16886,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16185,9 +16901,10 @@ typedef void* MTLSharedEvent_id; + - + @@ -16205,10 +16922,10 @@ typedef void* MTLSharedEvent_id; - + - + @@ -16230,7 +16947,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16245,7 +16962,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16275,7 +16992,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16287,7 +17004,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16311,7 +17028,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16322,7 +17039,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16336,7 +17053,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16348,7 +17065,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16380,13 +17097,17 @@ typedef void* MTLSharedEvent_id; + + + + - - + + @@ -16414,7 +17135,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16428,7 +17149,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16438,7 +17159,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16458,7 +17179,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16468,7 +17189,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16484,21 +17205,21 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -16508,7 +17229,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16544,7 +17265,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16565,12 +17286,12 @@ typedef void* MTLSharedEvent_id; - + - + @@ -16628,7 +17349,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16649,7 +17370,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16667,7 +17388,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16702,7 +17423,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16721,7 +17442,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16729,7 +17450,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16798,7 +17519,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16883,11 +17604,11 @@ typedef void* MTLSharedEvent_id; - + - + @@ -16932,7 +17653,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16963,7 +17684,7 @@ typedef void* MTLSharedEvent_id; - + @@ -16973,13 +17694,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -17058,7 +17779,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17075,7 +17796,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17098,7 +17819,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17128,7 +17849,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17159,7 +17880,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17169,7 +17890,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17197,7 +17918,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17293,7 +18014,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17309,12 +18030,12 @@ typedef void* MTLSharedEvent_id; - + - - + + @@ -17330,7 +18051,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17365,17 +18086,17 @@ typedef void* MTLSharedEvent_id; - + - - + + - + @@ -17389,7 +18110,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17397,7 +18118,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17419,7 +18140,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17427,7 +18148,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17451,7 +18172,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17462,7 +18183,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17476,7 +18197,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17497,7 +18218,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17521,7 +18242,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17534,7 +18255,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17573,7 +18294,7 @@ typedef void* MTLSharedEvent_id; name="VK_PIPELINE_CACHE_CREATE_RESERVED_1_BIT_EXT"/> - + @@ -17597,7 +18318,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17609,14 +18330,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -17633,14 +18354,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -17648,7 +18369,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17666,7 +18387,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17674,7 +18395,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17682,19 +18403,21 @@ typedef void* MTLSharedEvent_id; - + - + - + + + - + @@ -17706,7 +18429,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17739,7 +18462,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17752,7 +18475,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17786,7 +18509,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17794,7 +18517,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17802,7 +18525,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17814,7 +18537,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17824,7 +18547,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17838,7 +18561,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17849,7 +18572,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17869,7 +18592,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17886,7 +18609,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17904,8 +18627,8 @@ typedef void* MTLSharedEvent_id; - - + + @@ -17914,7 +18637,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17928,7 +18651,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17952,11 +18675,11 @@ typedef void* MTLSharedEvent_id; - + - + @@ -17972,7 +18695,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18006,7 +18729,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18020,13 +18743,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -18034,7 +18757,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18044,7 +18767,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18052,7 +18775,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18060,7 +18783,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18089,7 +18812,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18117,13 +18840,13 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -18136,7 +18859,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18146,7 +18869,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18155,7 +18878,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18170,7 +18893,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18185,7 +18908,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18193,7 +18916,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18201,7 +18924,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18209,7 +18932,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18222,7 +18945,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18236,18 +18959,18 @@ typedef void* MTLSharedEvent_id; - + - + - + - + @@ -18257,7 +18980,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18291,7 +19014,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18306,7 +19029,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18314,7 +19037,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18341,7 +19064,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18356,7 +19079,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18405,7 +19128,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18430,26 +19153,26 @@ typedef void* MTLSharedEvent_id; - + - + - + - + @@ -18457,7 +19180,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18473,7 +19196,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18493,7 +19216,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18501,7 +19224,7 @@ typedef void* MTLSharedEvent_id; - + This extension requires buffer_device_address functionality. @@ -18549,7 +19272,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18565,7 +19288,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18575,7 +19298,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18585,7 +19308,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18602,7 +19325,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18617,7 +19340,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18625,7 +19348,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18635,7 +19358,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18711,7 +19434,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18729,7 +19452,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18739,7 +19462,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18765,7 +19488,7 @@ typedef void* MTLSharedEvent_id; - + @@ -18779,16 +19502,13 @@ typedef void* MTLSharedEvent_id; - - - - - - - + + + + - + @@ -18838,12 +19558,12 @@ typedef void* MTLSharedEvent_id; - + - + @@ -18898,10 +19618,17 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + @@ -18968,7 +19695,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19007,65 +19734,65 @@ typedef void* MTLSharedEvent_id; - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -19076,7 +19803,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19128,7 +19855,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19154,7 +19881,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19172,7 +19899,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19180,7 +19907,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19190,7 +19917,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19204,7 +19931,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19212,7 +19939,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19227,7 +19954,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19250,7 +19977,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19270,7 +19997,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19280,7 +20007,7 @@ typedef void* MTLSharedEvent_id; - + VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT and @@ -19303,7 +20030,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19314,7 +20041,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19322,13 +20049,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -19336,7 +20063,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19344,7 +20071,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19378,7 +20105,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19400,7 +20127,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19413,7 +20140,7 @@ typedef void* MTLSharedEvent_id; - + VkPhysicalDevice4444FormatsFeaturesEXT and @@ -19428,7 +20155,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19446,7 +20173,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19466,7 +20193,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19474,7 +20201,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19482,7 +20209,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19493,7 +20220,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19505,7 +20232,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19519,7 +20246,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19533,7 +20260,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19543,7 +20270,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19557,7 +20284,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19567,7 +20294,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19593,7 +20320,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19621,7 +20348,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19636,7 +20363,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19649,7 +20376,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19699,7 +20426,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19716,7 +20443,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19728,7 +20455,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19742,7 +20469,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19755,20 +20482,60 @@ typedef void* MTLSharedEvent_id; - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - + + + + + + + + + + + + + + + + + + @@ -19777,7 +20544,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19790,7 +20557,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19808,7 +20575,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19831,7 +20598,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19843,7 +20610,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19870,7 +20637,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19879,14 +20646,14 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -19897,12 +20664,12 @@ typedef void* MTLSharedEvent_id; - + - - + + @@ -19920,7 +20687,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19930,7 +20697,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19944,7 +20711,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19966,7 +20733,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20079,12 +20846,19 @@ typedef void* MTLSharedEvent_id; - + - - - - + + + + + + + + + + + @@ -20123,7 +20897,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20133,7 +20907,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20142,7 +20916,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20166,10 +20940,12 @@ typedef void* MTLSharedEvent_id; - + - - + + + + @@ -20184,11 +20960,15 @@ typedef void* MTLSharedEvent_id; - + - - - + + + + + + + @@ -20198,7 +20978,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20212,7 +20992,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20220,7 +21000,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20241,7 +21021,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20254,7 +21034,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20268,7 +21048,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20295,14 +21075,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -20318,7 +21098,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20330,10 +21110,12 @@ typedef void* MTLSharedEvent_id; - + - - + + + + @@ -20342,7 +21124,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20364,7 +21146,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20380,7 +21162,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20472,7 +21254,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20558,7 +21340,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20601,7 +21383,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20618,7 +21400,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20634,7 +21416,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20679,7 +21461,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20687,14 +21469,14 @@ typedef void* MTLSharedEvent_id; - + - + - + @@ -20809,7 +21591,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20822,7 +21604,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20844,7 +21626,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20852,13 +21634,46 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -20887,7 +21702,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20913,7 +21728,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20923,10 +21738,12 @@ typedef void* MTLSharedEvent_id; - + - - + + + + @@ -20971,6 +21788,40 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -22540,6 +23391,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -22930,7 +23784,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23028,5 +23882,8 @@ typedef void* MTLSharedEvent_id; + + +