diff --git a/include/vk_video/vulkan_video_codec_av1std.h b/include/vk_video/vulkan_video_codec_av1std.h index 932d0f66c43..75cebd74cbf 100644 --- a/include/vk_video/vulkan_video_codec_av1std.h +++ b/include/vk_video/vulkan_video_codec_av1std.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_AV1STD_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_av1std_decode.h b/include/vk_video/vulkan_video_codec_av1std_decode.h index 522628e86d1..60bf2c03987 100644 --- a/include/vk_video/vulkan_video_codec_av1std_decode.h +++ b/include/vk_video/vulkan_video_codec_av1std_decode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_av1std_encode.h b/include/vk_video/vulkan_video_codec_av1std_encode.h index ca5f6f474ea..3602fe12502 100644 --- a/include/vk_video/vulkan_video_codec_av1std_encode.h +++ b/include/vk_video/vulkan_video_codec_av1std_encode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_AV1STD_ENCODE_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_h264std.h b/include/vk_video/vulkan_video_codec_h264std.h index 7e8da7d2372..48621b6954d 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-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 01facd73206..a6bfe9d8228 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-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 410b1b25498..2d42ac321b8 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-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 20e97e399e9..23617b8f962 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-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 a2ddcaa469e..1758d4a88dd 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-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 fe2f28d57f6..e584a7262b9 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-2025 The Khronos Group Inc. +** Copyright 2015-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_vp9std.h b/include/vk_video/vulkan_video_codec_vp9std.h index 3d10e39d676..3c62f287e76 100644 --- a/include/vk_video/vulkan_video_codec_vp9std.h +++ b/include/vk_video/vulkan_video_codec_vp9std.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_VP9STD_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vk_video/vulkan_video_codec_vp9std_decode.h b/include/vk_video/vulkan_video_codec_vp9std_decode.h index 42b9bd3fb9c..ac7fa7be8c6 100644 --- a/include/vk_video/vulkan_video_codec_vp9std_decode.h +++ b/include/vk_video/vulkan_video_codec_vp9std_decode.h @@ -2,7 +2,7 @@ #define VULKAN_VIDEO_CODEC_VP9STD_DECODE_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 a5f0f3d9409..3c4d0553d08 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-2025 The Khronos Group Inc. +** Copyright 2015-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vk_icd.h b/include/vulkan/vk_icd.h index 59204a3419f..d71f5682abb 100644 --- a/include/vulkan/vk_icd.h +++ b/include/vulkan/vk_icd.h @@ -44,8 +44,9 @@ typedef VkResult(VKAPI_PTR *PFN_vkNegotiateLoaderICDInterfaceVersion)(uint32_t *pVersion); // This is defined in vk_layer.h which will be found by the loader, but if an ICD is building against this // file directly, it won't be found. -#ifndef PFN_GetPhysicalDeviceProcAddr +#ifndef IS_DEFINED_PFN_GetPhysicalDeviceProcAddr typedef PFN_vkVoidFunction(VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char *pName); +#define IS_DEFINED_PFN_GetPhysicalDeviceProcAddr #endif // Typedefs for loader/ICD interface diff --git a/include/vulkan/vk_layer.h b/include/vulkan/vk_layer.h index 19d88fce4ba..19cf5880c82 100644 --- a/include/vulkan/vk_layer.h +++ b/include/vulkan/vk_layer.h @@ -27,7 +27,10 @@ #define VK_CURRENT_CHAIN_VERSION 1 // Typedef for use in the interfaces below +#ifndef IS_DEFINED_PFN_GetPhysicalDeviceProcAddr typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName); +#define IS_DEFINED_PFN_GetPhysicalDeviceProcAddr +#endif // Version negotiation values typedef enum VkNegotiateLayerStructType { diff --git a/include/vulkan/vk_platform.h b/include/vulkan/vk_platform.h index 18e5ca34cee..e431c7631db 100644 --- a/include/vulkan/vk_platform.h +++ b/include/vulkan/vk_platform.h @@ -2,7 +2,7 @@ // File: vk_platform.h // /* -** Copyright 2014-2025 The Khronos Group Inc. +** Copyright 2014-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h index 9457a520d8c..2ed8d9c7abb 100644 --- a/include/vulkan/vulkan.h +++ b/include/vulkan/vulkan.h @@ -2,7 +2,7 @@ #define VULKAN_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_android.h b/include/vulkan/vulkan_android.h index 9b1e493b40f..1d8265e87e7 100644 --- a/include/vulkan/vulkan_android.h +++ b/include/vulkan/vulkan_android.h @@ -2,7 +2,7 @@ #define VULKAN_ANDROID_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 0f48f876961..147a3f3cc1f 100644 --- a/include/vulkan/vulkan_beta.h +++ b/include/vulkan/vulkan_beta.h @@ -2,7 +2,7 @@ #define VULKAN_BETA_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 70f9e861938..bee9c376976 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -2,7 +2,7 @@ #define VULKAN_CORE_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -66,7 +66,7 @@ extern "C" { //#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 335 +#define VK_HEADER_VERSION 340 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) @@ -655,6 +655,21 @@ typedef enum VkStructureType { #ifdef VK_ENABLE_BETA_EXTENSIONS VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004, #endif + VK_STRUCTURE_TYPE_TEXEL_BUFFER_DESCRIPTOR_INFO_EXT = 1000135000, + VK_STRUCTURE_TYPE_IMAGE_DESCRIPTOR_INFO_EXT = 1000135001, + VK_STRUCTURE_TYPE_RESOURCE_DESCRIPTOR_INFO_EXT = 1000135002, + VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT = 1000135003, + VK_STRUCTURE_TYPE_PUSH_DATA_INFO_EXT = 1000135004, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_AND_BINDING_MAPPING_EXT = 1000135005, + VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT = 1000135006, + VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT = 1000135007, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT = 1000135008, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT = 1000135009, + VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT = 1000135010, + VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT = 1000135011, + VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV = 1000135012, + VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT = 1000135013, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM = 1000135014, VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR = 1000141000, VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, @@ -841,6 +856,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT = 1000288000, VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, @@ -1162,6 +1178,7 @@ typedef enum VkStructureType { 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_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR = 1000504000, VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000, VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001, VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002, @@ -1322,6 +1339,9 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA = 1000575001, VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA = 1000575002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR = 1000579000, + VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV = 1000580000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV = 1000580001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV = 1000580002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT = 1000581000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT = 1000581001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT = 1000582000, @@ -1334,9 +1354,6 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586002, VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586003, VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS = 1000685000, - VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS = 1000453001, - VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS = 1000453002, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS = 1000453003, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI = 1000590000, VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI = 1000590001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV = 1000593000, @@ -1381,8 +1398,13 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR = 1000630002, VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR = 1000619003, VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR = 1000630004, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT = 1000635000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT = 1000635001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC = 1000637000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT = 1000642000, + VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV = 1000645000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV = 1000645001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT = 1000662000, 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 is a legacy alias @@ -2032,6 +2054,36 @@ typedef enum VkFormat { VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, + VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT = 1000288000, + VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT = 1000288001, + VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT = 1000288002, + VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT = 1000288003, + VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT = 1000288004, + VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT = 1000288005, + VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT = 1000288006, + VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT = 1000288007, + VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT = 1000288008, + VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT = 1000288009, + VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT = 1000288010, + VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT = 1000288011, + VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT = 1000288012, + VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT = 1000288013, + VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT = 1000288014, + VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT = 1000288015, + VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT = 1000288016, + VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT = 1000288017, + VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT = 1000288018, + VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT = 1000288019, + VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT = 1000288020, + VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT = 1000288021, + VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT = 1000288022, + VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT = 1000288023, + VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT = 1000288024, + VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT = 1000288025, + VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT = 1000288026, + VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT = 1000288027, + VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT = 1000288028, + VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT = 1000288029, VK_FORMAT_R8_BOOL_ARM = 1000460000, VK_FORMAT_R16G16_SFIXED5_NV = 1000464000, VK_FORMAT_R10X6_UINT_PACK16_ARM = 1000609000, @@ -2680,9 +2732,9 @@ typedef enum VkImageCreateFlagBits { VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, + VK_IMAGE_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_EXT = 0x00010000, VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, - VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000, @@ -2693,6 +2745,7 @@ typedef enum VkImageCreateFlagBits { VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, + VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = VK_IMAGE_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_EXT, VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT, VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkImageCreateFlagBits; @@ -2788,6 +2841,7 @@ typedef VkFlags VkDeviceCreateFlags; typedef enum VkDeviceQueueCreateFlagBits { VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, + VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR = 0x00000004, VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkDeviceQueueCreateFlagBits; typedef VkFlags VkDeviceQueueCreateFlags; @@ -2926,6 +2980,7 @@ typedef enum VkBufferUsageFlagBits { #ifdef VK_ENABLE_BETA_EXTENSIONS VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000, #endif + VK_BUFFER_USAGE_DESCRIPTOR_HEAP_BIT_EXT = 0x10000000, VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, @@ -5511,7 +5566,8 @@ typedef enum VkSubgroupFeatureFlagBits { VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, VK_SUBGROUP_FEATURE_ROTATE_BIT = 0x00000200, VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT = 0x00000400, - VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, + VK_SUBGROUP_FEATURE_PARTITIONED_BIT_EXT = 0x00000100, + VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = VK_SUBGROUP_FEATURE_PARTITIONED_BIT_EXT, VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_BIT, VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT, VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF @@ -7084,6 +7140,8 @@ static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; +static const VkAccessFlagBits2 VK_ACCESS_2_SAMPLER_HEAP_READ_BIT_EXT = 0x200000000000000ULL; +static const VkAccessFlagBits2 VK_ACCESS_2_RESOURCE_HEAP_READ_BIT_EXT = 0x400000000000000ULL; static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM = 0x8000000000000ULL; @@ -7798,7 +7856,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData); typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); -typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); +typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); @@ -8097,6 +8155,7 @@ static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT #ifdef VK_ENABLE_BETA_EXTENSIONS static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL; #endif +static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_DESCRIPTOR_HEAP_BIT_EXT = 0x10000000ULL; static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; static const VkBufferUsageFlagBits2 VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL; @@ -8158,6 +8217,7 @@ static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONL #ifdef VK_ENABLE_BETA_EXTENSIONS static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX = 0x100000000ULL; #endif +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DESCRIPTOR_HEAP_BIT_EXT = 0x1000000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_BUILT_IN_PRIMITIVES_BIT_KHR = 0x00001000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV = 0x200000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL; @@ -12211,7 +12271,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); -typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); +typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); #ifndef VK_NO_PROTOTYPES #ifndef VK_ONLY_EXPORTED_PROTOTYPES @@ -12895,6 +12955,18 @@ VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesKHR( #endif +// VK_KHR_internally_synchronized_queues is a preprocessor guard. Do not pass it to API calls. +#define VK_KHR_internally_synchronized_queues 1 +#define VK_KHR_INTERNALLY_SYNCHRONIZED_QUEUES_SPEC_VERSION 1 +#define VK_KHR_INTERNALLY_SYNCHRONIZED_QUEUES_EXTENSION_NAME "VK_KHR_internally_synchronized_queues" +typedef struct VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 internallySynchronizedQueues; +} VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR; + + + // VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. #define VK_KHR_cooperative_matrix 1 #define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2 @@ -14453,7 +14525,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( // VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls. #define VK_NVX_image_view_handle 1 -#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 3 +#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 4 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" typedef struct VkImageViewHandleInfoNVX { VkStructureType sType; @@ -14473,6 +14545,7 @@ typedef struct VkImageViewAddressPropertiesNVX { typedef uint32_t (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); typedef uint64_t (VKAPI_PTR *PFN_vkGetImageViewHandle64NVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); +typedef uint64_t (VKAPI_PTR *PFN_vkGetDeviceCombinedImageSamplerIndexNVX)(VkDevice device, uint64_t imageViewIndex, uint64_t samplerIndex); #ifndef VK_NO_PROTOTYPES #ifndef VK_ONLY_EXPORTED_PROTOTYPES @@ -14493,6 +14566,13 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); #endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR uint64_t VKAPI_CALL vkGetDeviceCombinedImageSamplerIndexNVX( + VkDevice device, + uint64_t imageViewIndex, + uint64_t samplerIndex); +#endif #endif @@ -15335,10 +15415,10 @@ typedef struct VkDebugUtilsMessengerCallbackDataEXT { } VkDebugUtilsMessengerCallbackDataEXT; typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( - VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, - VkDebugUtilsMessageTypeFlagsEXT messageTypes, - const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, - void* pUserData); + VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, + VkDebugUtilsMessageTypeFlagsEXT messageTypes, + const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, + void* pUserData); typedef struct VkDebugUtilsMessengerCreateInfoEXT { VkStructureType sType; @@ -15462,6 +15542,380 @@ typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFil #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" +// VK_EXT_descriptor_heap is a preprocessor guard. Do not pass it to API calls. +#define VK_EXT_descriptor_heap 1 +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorARM) +#define VK_EXT_DESCRIPTOR_HEAP_SPEC_VERSION 1 +#define VK_EXT_DESCRIPTOR_HEAP_EXTENSION_NAME "VK_EXT_descriptor_heap" + +typedef enum VkDescriptorMappingSourceEXT { + VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_CONSTANT_OFFSET_EXT = 0, + VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_PUSH_INDEX_EXT = 1, + VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_INDIRECT_INDEX_EXT = 2, + VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_INDIRECT_INDEX_ARRAY_EXT = 3, + VK_DESCRIPTOR_MAPPING_SOURCE_RESOURCE_HEAP_DATA_EXT = 4, + VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_DATA_EXT = 5, + VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_ADDRESS_EXT = 6, + VK_DESCRIPTOR_MAPPING_SOURCE_INDIRECT_ADDRESS_EXT = 7, + VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_SHADER_RECORD_INDEX_EXT = 8, + VK_DESCRIPTOR_MAPPING_SOURCE_SHADER_RECORD_DATA_EXT = 9, + VK_DESCRIPTOR_MAPPING_SOURCE_SHADER_RECORD_ADDRESS_EXT = 10, + VK_DESCRIPTOR_MAPPING_SOURCE_MAX_ENUM_EXT = 0x7FFFFFFF +} VkDescriptorMappingSourceEXT; +typedef VkFlags64 VkTensorViewCreateFlagsARM; + +// Flag bits for VkTensorViewCreateFlagBitsARM +typedef VkFlags64 VkTensorViewCreateFlagBitsARM; +static const VkTensorViewCreateFlagBitsARM VK_TENSOR_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM = 0x00000001ULL; + + +typedef enum VkSpirvResourceTypeFlagBitsEXT { + VK_SPIRV_RESOURCE_TYPE_ALL_EXT = 0x7FFFFFFF, + VK_SPIRV_RESOURCE_TYPE_SAMPLER_BIT_EXT = 0x00000001, + VK_SPIRV_RESOURCE_TYPE_SAMPLED_IMAGE_BIT_EXT = 0x00000002, + VK_SPIRV_RESOURCE_TYPE_READ_ONLY_IMAGE_BIT_EXT = 0x00000004, + VK_SPIRV_RESOURCE_TYPE_READ_WRITE_IMAGE_BIT_EXT = 0x00000008, + VK_SPIRV_RESOURCE_TYPE_COMBINED_SAMPLED_IMAGE_BIT_EXT = 0x00000010, + VK_SPIRV_RESOURCE_TYPE_UNIFORM_BUFFER_BIT_EXT = 0x00000020, + VK_SPIRV_RESOURCE_TYPE_READ_ONLY_STORAGE_BUFFER_BIT_EXT = 0x00000040, + VK_SPIRV_RESOURCE_TYPE_READ_WRITE_STORAGE_BUFFER_BIT_EXT = 0x00000080, + VK_SPIRV_RESOURCE_TYPE_ACCELERATION_STRUCTURE_BIT_EXT = 0x00000100, + VK_SPIRV_RESOURCE_TYPE_TENSOR_BIT_ARM = 0x00000200, + VK_SPIRV_RESOURCE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF +} VkSpirvResourceTypeFlagBitsEXT; +typedef VkFlags VkSpirvResourceTypeFlagsEXT; +typedef struct VkHostAddressRangeEXT { + void* address; + size_t size; +} VkHostAddressRangeEXT; + +typedef struct VkHostAddressRangeConstEXT { + const void* address; + size_t size; +} VkHostAddressRangeConstEXT; + +typedef struct VkDeviceAddressRangeEXT { + VkDeviceAddress address; + VkDeviceSize size; +} VkDeviceAddressRangeEXT; + +typedef struct VkTexelBufferDescriptorInfoEXT { + VkStructureType sType; + const void* pNext; + VkFormat format; + VkDeviceAddressRangeEXT addressRange; +} VkTexelBufferDescriptorInfoEXT; + +typedef struct VkImageDescriptorInfoEXT { + VkStructureType sType; + const void* pNext; + const VkImageViewCreateInfo* pView; + VkImageLayout layout; +} VkImageDescriptorInfoEXT; + +typedef struct VkTensorViewCreateInfoARM { + VkStructureType sType; + const void* pNext; + VkTensorViewCreateFlagsARM flags; + VkTensorARM tensor; + VkFormat format; +} VkTensorViewCreateInfoARM; + +typedef union VkResourceDescriptorDataEXT { + const VkImageDescriptorInfoEXT* pImage; + const VkTexelBufferDescriptorInfoEXT* pTexelBuffer; + const VkDeviceAddressRangeEXT* pAddressRange; + const VkTensorViewCreateInfoARM* pTensorARM; +} VkResourceDescriptorDataEXT; + +typedef struct VkResourceDescriptorInfoEXT { + VkStructureType sType; + const void* pNext; + VkDescriptorType type; + VkResourceDescriptorDataEXT data; +} VkResourceDescriptorInfoEXT; + +typedef struct VkBindHeapInfoEXT { + VkStructureType sType; + const void* pNext; + VkDeviceAddressRangeEXT heapRange; + VkDeviceSize reservedRangeOffset; + VkDeviceSize reservedRangeSize; +} VkBindHeapInfoEXT; + +typedef struct VkPushDataInfoEXT { + VkStructureType sType; + const void* pNext; + uint32_t offset; + VkHostAddressRangeConstEXT data; +} VkPushDataInfoEXT; + +typedef struct VkDescriptorMappingSourceConstantOffsetEXT { + uint32_t heapOffset; + uint32_t heapArrayStride; + const VkSamplerCreateInfo* pEmbeddedSampler; + uint32_t samplerHeapOffset; + uint32_t samplerHeapArrayStride; +} VkDescriptorMappingSourceConstantOffsetEXT; + +typedef struct VkDescriptorMappingSourcePushIndexEXT { + uint32_t heapOffset; + uint32_t pushOffset; + uint32_t heapIndexStride; + uint32_t heapArrayStride; + const VkSamplerCreateInfo* pEmbeddedSampler; + VkBool32 useCombinedImageSamplerIndex; + uint32_t samplerHeapOffset; + uint32_t samplerPushOffset; + uint32_t samplerHeapIndexStride; + uint32_t samplerHeapArrayStride; +} VkDescriptorMappingSourcePushIndexEXT; + +typedef struct VkDescriptorMappingSourceIndirectIndexEXT { + uint32_t heapOffset; + uint32_t pushOffset; + uint32_t addressOffset; + uint32_t heapIndexStride; + uint32_t heapArrayStride; + const VkSamplerCreateInfo* pEmbeddedSampler; + VkBool32 useCombinedImageSamplerIndex; + uint32_t samplerHeapOffset; + uint32_t samplerPushOffset; + uint32_t samplerAddressOffset; + uint32_t samplerHeapIndexStride; + uint32_t samplerHeapArrayStride; +} VkDescriptorMappingSourceIndirectIndexEXT; + +typedef struct VkDescriptorMappingSourceHeapDataEXT { + uint32_t heapOffset; + uint32_t pushOffset; +} VkDescriptorMappingSourceHeapDataEXT; + +typedef struct VkDescriptorMappingSourceIndirectAddressEXT { + uint32_t pushOffset; + uint32_t addressOffset; +} VkDescriptorMappingSourceIndirectAddressEXT; + +typedef struct VkDescriptorMappingSourceShaderRecordIndexEXT { + uint32_t heapOffset; + uint32_t shaderRecordOffset; + uint32_t heapIndexStride; + uint32_t heapArrayStride; + const VkSamplerCreateInfo* pEmbeddedSampler; + VkBool32 useCombinedImageSamplerIndex; + uint32_t samplerHeapOffset; + uint32_t samplerShaderRecordOffset; + uint32_t samplerHeapIndexStride; + uint32_t samplerHeapArrayStride; +} VkDescriptorMappingSourceShaderRecordIndexEXT; + +typedef struct VkDescriptorMappingSourceIndirectIndexArrayEXT { + uint32_t heapOffset; + uint32_t pushOffset; + uint32_t addressOffset; + uint32_t heapIndexStride; + const VkSamplerCreateInfo* pEmbeddedSampler; + VkBool32 useCombinedImageSamplerIndex; + uint32_t samplerHeapOffset; + uint32_t samplerPushOffset; + uint32_t samplerAddressOffset; + uint32_t samplerHeapIndexStride; +} VkDescriptorMappingSourceIndirectIndexArrayEXT; + +typedef union VkDescriptorMappingSourceDataEXT { + VkDescriptorMappingSourceConstantOffsetEXT constantOffset; + VkDescriptorMappingSourcePushIndexEXT pushIndex; + VkDescriptorMappingSourceIndirectIndexEXT indirectIndex; + VkDescriptorMappingSourceIndirectIndexArrayEXT indirectIndexArray; + VkDescriptorMappingSourceHeapDataEXT heapData; + uint32_t pushDataOffset; + uint32_t pushAddressOffset; + VkDescriptorMappingSourceIndirectAddressEXT indirectAddress; + VkDescriptorMappingSourceShaderRecordIndexEXT shaderRecordIndex; + uint32_t shaderRecordDataOffset; + uint32_t shaderRecordAddressOffset; +} VkDescriptorMappingSourceDataEXT; + +typedef struct VkDescriptorSetAndBindingMappingEXT { + VkStructureType sType; + const void* pNext; + uint32_t descriptorSet; + uint32_t firstBinding; + uint32_t bindingCount; + VkSpirvResourceTypeFlagsEXT resourceMask; + VkDescriptorMappingSourceEXT source; + VkDescriptorMappingSourceDataEXT sourceData; +} VkDescriptorSetAndBindingMappingEXT; + +typedef struct VkShaderDescriptorSetAndBindingMappingInfoEXT { + VkStructureType sType; + const void* pNext; + uint32_t mappingCount; + const VkDescriptorSetAndBindingMappingEXT* pMappings; +} VkShaderDescriptorSetAndBindingMappingInfoEXT; + +typedef struct VkOpaqueCaptureDataCreateInfoEXT { + VkStructureType sType; + const void* pNext; + const VkHostAddressRangeConstEXT* pData; +} VkOpaqueCaptureDataCreateInfoEXT; + +typedef struct VkPhysicalDeviceDescriptorHeapFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 descriptorHeap; + VkBool32 descriptorHeapCaptureReplay; +} VkPhysicalDeviceDescriptorHeapFeaturesEXT; + +typedef struct VkPhysicalDeviceDescriptorHeapPropertiesEXT { + VkStructureType sType; + void* pNext; + VkDeviceSize samplerHeapAlignment; + VkDeviceSize resourceHeapAlignment; + VkDeviceSize maxSamplerHeapSize; + VkDeviceSize maxResourceHeapSize; + VkDeviceSize minSamplerHeapReservedRange; + VkDeviceSize minSamplerHeapReservedRangeWithEmbedded; + VkDeviceSize minResourceHeapReservedRange; + VkDeviceSize samplerDescriptorSize; + VkDeviceSize imageDescriptorSize; + VkDeviceSize bufferDescriptorSize; + VkDeviceSize samplerDescriptorAlignment; + VkDeviceSize imageDescriptorAlignment; + VkDeviceSize bufferDescriptorAlignment; + VkDeviceSize maxPushDataSize; + size_t imageCaptureReplayOpaqueDataSize; + uint32_t maxDescriptorHeapEmbeddedSamplers; + uint32_t samplerYcbcrConversionCount; + VkBool32 sparseDescriptorHeaps; + VkBool32 protectedDescriptorHeaps; +} VkPhysicalDeviceDescriptorHeapPropertiesEXT; + +typedef struct VkCommandBufferInheritanceDescriptorHeapInfoEXT { + VkStructureType sType; + const void* pNext; + const VkBindHeapInfoEXT* pSamplerHeapBindInfo; + const VkBindHeapInfoEXT* pResourceHeapBindInfo; +} VkCommandBufferInheritanceDescriptorHeapInfoEXT; + +typedef struct VkSamplerCustomBorderColorIndexCreateInfoEXT { + VkStructureType sType; + const void* pNext; + uint32_t index; +} VkSamplerCustomBorderColorIndexCreateInfoEXT; + +typedef struct VkSamplerCustomBorderColorCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkClearColorValue customBorderColor; + VkFormat format; +} VkSamplerCustomBorderColorCreateInfoEXT; + +typedef struct VkIndirectCommandsLayoutPushDataTokenNV { + VkStructureType sType; + const void* pNext; + uint32_t pushDataOffset; + uint32_t pushDataSize; +} VkIndirectCommandsLayoutPushDataTokenNV; + +typedef struct VkSubsampledImageFormatPropertiesEXT { + VkStructureType sType; + const void* pNext; + uint32_t subsampledImageDescriptorCount; +} VkSubsampledImageFormatPropertiesEXT; + +typedef struct VkPhysicalDeviceDescriptorHeapTensorPropertiesARM { + VkStructureType sType; + void* pNext; + VkDeviceSize tensorDescriptorSize; + VkDeviceSize tensorDescriptorAlignment; + size_t tensorCaptureReplayOpaqueDataSize; +} VkPhysicalDeviceDescriptorHeapTensorPropertiesARM; + +typedef VkResult (VKAPI_PTR *PFN_vkWriteSamplerDescriptorsEXT)(VkDevice device, uint32_t samplerCount, const VkSamplerCreateInfo* pSamplers, const VkHostAddressRangeEXT* pDescriptors); +typedef VkResult (VKAPI_PTR *PFN_vkWriteResourceDescriptorsEXT)(VkDevice device, uint32_t resourceCount, const VkResourceDescriptorInfoEXT* pResources, const VkHostAddressRangeEXT* pDescriptors); +typedef void (VKAPI_PTR *PFN_vkCmdBindSamplerHeapEXT)(VkCommandBuffer commandBuffer, const VkBindHeapInfoEXT* pBindInfo); +typedef void (VKAPI_PTR *PFN_vkCmdBindResourceHeapEXT)(VkCommandBuffer commandBuffer, const VkBindHeapInfoEXT* pBindInfo); +typedef void (VKAPI_PTR *PFN_vkCmdPushDataEXT)(VkCommandBuffer commandBuffer, const VkPushDataInfoEXT* pPushDataInfo); +typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDataEXT)(VkDevice device, uint32_t imageCount, const VkImage* pImages, VkHostAddressRangeEXT* pDatas); +typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetPhysicalDeviceDescriptorSizeEXT)(VkPhysicalDevice physicalDevice, VkDescriptorType descriptorType); +typedef VkResult (VKAPI_PTR *PFN_vkRegisterCustomBorderColorEXT)(VkDevice device, const VkSamplerCustomBorderColorCreateInfoEXT* pBorderColor, VkBool32 requestIndex, uint32_t* pIndex); +typedef void (VKAPI_PTR *PFN_vkUnregisterCustomBorderColorEXT)(VkDevice device, uint32_t index); +typedef VkResult (VKAPI_PTR *PFN_vkGetTensorOpaqueCaptureDataARM)(VkDevice device, uint32_t tensorCount, const VkTensorARM* pTensors, VkHostAddressRangeEXT* pDatas); + +#ifndef VK_NO_PROTOTYPES +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkWriteSamplerDescriptorsEXT( + VkDevice device, + uint32_t samplerCount, + const VkSamplerCreateInfo* pSamplers, + const VkHostAddressRangeEXT* pDescriptors); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkWriteResourceDescriptorsEXT( + VkDevice device, + uint32_t resourceCount, + const VkResourceDescriptorInfoEXT* pResources, + const VkHostAddressRangeEXT* pDescriptors); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdBindSamplerHeapEXT( + VkCommandBuffer commandBuffer, + const VkBindHeapInfoEXT* pBindInfo); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdBindResourceHeapEXT( + VkCommandBuffer commandBuffer, + const VkBindHeapInfoEXT* pBindInfo); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdPushDataEXT( + VkCommandBuffer commandBuffer, + const VkPushDataInfoEXT* pPushDataInfo); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDataEXT( + VkDevice device, + uint32_t imageCount, + const VkImage* pImages, + VkHostAddressRangeEXT* pDatas); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetPhysicalDeviceDescriptorSizeEXT( + VkPhysicalDevice physicalDevice, + VkDescriptorType descriptorType); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkRegisterCustomBorderColorEXT( + VkDevice device, + const VkSamplerCustomBorderColorCreateInfoEXT* pBorderColor, + VkBool32 requestIndex, + uint32_t* pIndex); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkUnregisterCustomBorderColorEXT( + VkDevice device, + uint32_t index); +#endif + +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetTensorOpaqueCaptureDataARM( + VkDevice device, + uint32_t tensorCount, + const VkTensorARM* pTensors, + VkHostAddressRangeEXT* pDatas); +#endif +#endif + + // VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls. #define VK_AMD_mixed_attachment_samples 1 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 @@ -16830,7 +17284,6 @@ VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( #define VK_EXT_present_timing 1 #define VK_EXT_PRESENT_TIMING_SPEC_VERSION 3 #define VK_EXT_PRESENT_TIMING_EXTENSION_NAME "VK_EXT_present_timing" -typedef VkFlags VkPresentStageFlagsEXT; typedef enum VkPresentStageFlagBitsEXT { VK_PRESENT_STAGE_QUEUE_OPERATIONS_END_BIT_EXT = 0x00000001, @@ -16839,20 +17292,21 @@ typedef enum VkPresentStageFlagBitsEXT { VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_VISIBLE_BIT_EXT = 0x00000008, VK_PRESENT_STAGE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF } VkPresentStageFlagBitsEXT; -typedef VkFlags VkPastPresentationTimingFlagsEXT; +typedef VkFlags VkPresentStageFlagsEXT; typedef enum VkPastPresentationTimingFlagBitsEXT { VK_PAST_PRESENTATION_TIMING_ALLOW_PARTIAL_RESULTS_BIT_EXT = 0x00000001, VK_PAST_PRESENTATION_TIMING_ALLOW_OUT_OF_ORDER_RESULTS_BIT_EXT = 0x00000002, VK_PAST_PRESENTATION_TIMING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF } VkPastPresentationTimingFlagBitsEXT; -typedef VkFlags VkPresentTimingInfoFlagsEXT; +typedef VkFlags VkPastPresentationTimingFlagsEXT; typedef enum VkPresentTimingInfoFlagBitsEXT { VK_PRESENT_TIMING_INFO_PRESENT_AT_RELATIVE_TIME_BIT_EXT = 0x00000001, VK_PRESENT_TIMING_INFO_PRESENT_AT_NEAREST_REFRESH_CYCLE_BIT_EXT = 0x00000002, VK_PRESENT_TIMING_INFO_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF } VkPresentTimingInfoFlagBitsEXT; +typedef VkFlags VkPresentTimingInfoFlagsEXT; typedef struct VkPhysicalDevicePresentTimingFeaturesEXT { VkStructureType sType; void* pNext; @@ -17195,7 +17649,7 @@ VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( // VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls. #define VK_EXT_fragment_density_map 1 -#define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 +#define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 3 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { VkStructureType sType; @@ -17998,6 +18452,7 @@ typedef enum VkIndirectCommandsTokenTypeNV { VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_NV = 1000135000, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004, @@ -18373,13 +18828,6 @@ typedef VkPhysicalDeviceRobustness2PropertiesKHR VkPhysicalDeviceRobustness2Prop #define VK_EXT_custom_border_color 1 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" -typedef struct VkSamplerCustomBorderColorCreateInfoEXT { - VkStructureType sType; - const void* pNext; - VkClearColorValue customBorderColor; - VkFormat format; -} VkSamplerCustomBorderColorCreateInfoEXT; - typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { VkStructureType sType; void* pNext; @@ -18395,6 +18843,18 @@ typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { +// VK_EXT_texture_compression_astc_3d is a preprocessor guard. Do not pass it to API calls. +#define VK_EXT_texture_compression_astc_3d 1 +#define VK_EXT_TEXTURE_COMPRESSION_ASTC_3D_SPEC_VERSION 1 +#define VK_EXT_TEXTURE_COMPRESSION_ASTC_3D_EXTENSION_NAME "VK_EXT_texture_compression_astc_3d" +typedef struct VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 textureCompressionASTC_3D; +} VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT; + + + // VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls. #define VK_GOOGLE_user_type 1 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 @@ -19714,11 +20174,11 @@ typedef struct VkPipelineColorWriteCreateInfoEXT { const VkBool32* pColorWriteEnables; } VkPipelineColorWriteCreateInfoEXT; -typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); +typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); #ifndef VK_NO_PROTOTYPES #ifndef VK_ONLY_EXPORTED_PROTOTYPES -VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( +VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32* pColorWriteEnables); @@ -21186,7 +21646,8 @@ typedef enum VkDirectDriverLoadingModeLUNARG { } VkDirectDriverLoadingModeLUNARG; typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( - VkInstance instance, const char* pName); + VkInstance instance, + const char* pName); typedef struct VkDirectDriverLoadingInfoLUNARG { VkStructureType sType; @@ -21207,7 +21668,6 @@ typedef struct VkDirectDriverLoadingListLUNARG { // VK_ARM_tensors is a preprocessor guard. Do not pass it to API calls. #define VK_ARM_tensors 1 -VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorARM) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkTensorViewARM) #define VK_ARM_TENSORS_SPEC_VERSION 1 #define VK_ARM_TENSORS_EXTENSION_NAME "VK_ARM_tensors" @@ -21223,14 +21683,9 @@ typedef VkFlags64 VkTensorCreateFlagsARM; typedef VkFlags64 VkTensorCreateFlagBitsARM; static const VkTensorCreateFlagBitsARM VK_TENSOR_CREATE_MUTABLE_FORMAT_BIT_ARM = 0x00000001ULL; static const VkTensorCreateFlagBitsARM VK_TENSOR_CREATE_PROTECTED_BIT_ARM = 0x00000002ULL; +static const VkTensorCreateFlagBitsARM VK_TENSOR_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_ARM = 0x00000008ULL; static const VkTensorCreateFlagBitsARM VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM = 0x00000004ULL; -typedef VkFlags64 VkTensorViewCreateFlagsARM; - -// Flag bits for VkTensorViewCreateFlagBitsARM -typedef VkFlags64 VkTensorViewCreateFlagBitsARM; -static const VkTensorViewCreateFlagBitsARM VK_TENSOR_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM = 0x00000001ULL; - typedef VkFlags64 VkTensorUsageFlagsARM; // Flag bits for VkTensorUsageFlagBitsARM @@ -21262,14 +21717,6 @@ typedef struct VkTensorCreateInfoARM { const uint32_t* pQueueFamilyIndices; } VkTensorCreateInfoARM; -typedef struct VkTensorViewCreateInfoARM { - VkStructureType sType; - const void* pNext; - VkTensorViewCreateFlagsARM flags; - VkTensorARM tensor; - VkFormat format; -} VkTensorViewCreateInfoARM; - typedef struct VkTensorMemoryRequirementsInfoARM { VkStructureType sType; const void* pNext; @@ -21849,6 +22296,7 @@ typedef enum VkDepthClampModeEXT { typedef enum VkShaderCreateFlagBitsEXT { VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001, + VK_SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXT = 0x00000400, VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002, VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004, VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008, @@ -22501,7 +22949,7 @@ typedef struct VkDataGraphPipelineSessionBindPointRequirementsInfoARM { typedef struct VkDataGraphPipelineSessionBindPointRequirementARM { VkStructureType sType; - const void* pNext; + void* pNext; VkDataGraphPipelineSessionBindPointARM bindPoint; VkDataGraphPipelineSessionBindPointTypeARM bindPointType; uint32_t numObjects; @@ -22533,7 +22981,7 @@ typedef struct VkDataGraphPipelineInfoARM { typedef struct VkDataGraphPipelinePropertyQueryResultARM { VkStructureType sType; - const void* pNext; + void* pNext; VkDataGraphPipelinePropertyARM property; VkBool32 isText; size_t dataSize; @@ -22566,7 +23014,7 @@ typedef struct VkPhysicalDeviceDataGraphOperationSupportARM { typedef struct VkQueueFamilyDataGraphPropertiesARM { VkStructureType sType; - const void* pNext; + void* pNext; VkPhysicalDeviceDataGraphProcessingEngineARM engine; VkPhysicalDeviceDataGraphOperationSupportARM operation; } VkQueueFamilyDataGraphPropertiesARM; @@ -22587,7 +23035,7 @@ typedef struct VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM { typedef struct VkQueueFamilyDataGraphProcessingEnginePropertiesARM { VkStructureType sType; - const void* pNext; + void* pNext; VkExternalSemaphoreHandleTypeFlags foreignSemaphoreHandleTypes; VkExternalMemoryHandleTypeFlags foreignMemoryHandleTypes; } VkQueueFamilyDataGraphProcessingEnginePropertiesARM; @@ -23515,6 +23963,8 @@ typedef enum VkIndirectCommandsTokenTypeEXT { VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXT = 7, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT = 8, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT = 9, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_EXT = 1000135000, + VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_SEQUENCE_INDEX_EXT = 1000135001, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT = 1000202002, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT = 1000202003, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXT = 1000328000, @@ -23813,6 +24263,33 @@ typedef struct VkImageAlignmentControlCreateInfoMESA { +// VK_NV_push_constant_bank is a preprocessor guard. Do not pass it to API calls. +#define VK_NV_push_constant_bank 1 +#define VK_NV_PUSH_CONSTANT_BANK_SPEC_VERSION 1 +#define VK_NV_PUSH_CONSTANT_BANK_EXTENSION_NAME "VK_NV_push_constant_bank" +typedef struct VkPushConstantBankInfoNV { + VkStructureType sType; + const void* pNext; + uint32_t bank; +} VkPushConstantBankInfoNV; + +typedef struct VkPhysicalDevicePushConstantBankFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 pushConstantBank; +} VkPhysicalDevicePushConstantBankFeaturesNV; + +typedef struct VkPhysicalDevicePushConstantBankPropertiesNV { + VkStructureType sType; + void* pNext; + uint32_t maxGraphicsPushConstantBanks; + uint32_t maxComputePushConstantBanks; + uint32_t maxGraphicsPushDataBanks; + uint32_t maxComputePushDataBanks; +} VkPhysicalDevicePushConstantBankPropertiesNV; + + + // VK_EXT_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls. #define VK_EXT_ray_tracing_invocation_reorder 1 #define VK_EXT_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 @@ -24167,6 +24644,24 @@ typedef struct VkPhysicalDeviceDataGraphModelFeaturesQCOM { +// VK_EXT_shader_long_vector is a preprocessor guard. Do not pass it to API calls. +#define VK_EXT_shader_long_vector 1 +#define VK_EXT_SHADER_LONG_VECTOR_SPEC_VERSION 1 +#define VK_EXT_SHADER_LONG_VECTOR_EXTENSION_NAME "VK_EXT_shader_long_vector" +typedef struct VkPhysicalDeviceShaderLongVectorFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 longVector; +} VkPhysicalDeviceShaderLongVectorFeaturesEXT; + +typedef struct VkPhysicalDeviceShaderLongVectorPropertiesEXT { + VkStructureType sType; + void* pNext; + uint32_t maxVectorComponents; +} VkPhysicalDeviceShaderLongVectorPropertiesEXT; + + + // VK_SEC_pipeline_cache_incremental_mode is a preprocessor guard. Do not pass it to API calls. #define VK_SEC_pipeline_cache_incremental_mode 1 #define VK_SEC_PIPELINE_CACHE_INCREMENTAL_MODE_SPEC_VERSION 1 @@ -24191,6 +24686,49 @@ typedef struct VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT { +// VK_NV_compute_occupancy_priority is a preprocessor guard. Do not pass it to API calls. +#define VK_NV_compute_occupancy_priority 1 +#define VK_NV_COMPUTE_OCCUPANCY_PRIORITY_SPEC_VERSION 1 +#define VK_NV_COMPUTE_OCCUPANCY_PRIORITY_EXTENSION_NAME "VK_NV_compute_occupancy_priority" +#define VK_COMPUTE_OCCUPANCY_PRIORITY_LOW_NV 0.25f +#define VK_COMPUTE_OCCUPANCY_PRIORITY_NORMAL_NV 0.50f +#define VK_COMPUTE_OCCUPANCY_PRIORITY_HIGH_NV 0.75f +typedef struct VkComputeOccupancyPriorityParametersNV { + VkStructureType sType; + const void* pNext; + float occupancyPriority; + float occupancyThrottling; +} VkComputeOccupancyPriorityParametersNV; + +typedef struct VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV { + VkStructureType sType; + void* pNext; + VkBool32 computeOccupancyPriority; +} VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV; + +typedef void (VKAPI_PTR *PFN_vkCmdSetComputeOccupancyPriorityNV)(VkCommandBuffer commandBuffer, const VkComputeOccupancyPriorityParametersNV* pParameters); + +#ifndef VK_NO_PROTOTYPES +#ifndef VK_ONLY_EXPORTED_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdSetComputeOccupancyPriorityNV( + VkCommandBuffer commandBuffer, + const VkComputeOccupancyPriorityParametersNV* pParameters); +#endif +#endif + + +// VK_EXT_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls. +#define VK_EXT_shader_subgroup_partitioned 1 +#define VK_EXT_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 +#define VK_EXT_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_EXT_shader_subgroup_partitioned" +typedef struct VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 shaderSubgroupPartitioned; +} VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT; + + + // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. #define VK_KHR_acceleration_structure 1 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 diff --git a/include/vulkan/vulkan_directfb.h b/include/vulkan/vulkan_directfb.h index bb1567692ee..b96e957e14b 100644 --- a/include/vulkan/vulkan_directfb.h +++ b/include/vulkan/vulkan_directfb.h @@ -2,7 +2,7 @@ #define VULKAN_DIRECTFB_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 f65efc62bd8..ccca6271f34 100644 --- a/include/vulkan/vulkan_fuchsia.h +++ b/include/vulkan/vulkan_fuchsia.h @@ -2,7 +2,7 @@ #define VULKAN_FUCHSIA_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 156c84a10d1..f8a48ec8769 100644 --- a/include/vulkan/vulkan_ggp.h +++ b/include/vulkan/vulkan_ggp.h @@ -2,7 +2,7 @@ #define VULKAN_GGP_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 94feb5fd36c..089991a4f60 100644 --- a/include/vulkan/vulkan_ios.h +++ b/include/vulkan/vulkan_ios.h @@ -2,7 +2,7 @@ #define VULKAN_IOS_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 07b32d60c46..7d5d8a1b31a 100644 --- a/include/vulkan/vulkan_macos.h +++ b/include/vulkan/vulkan_macos.h @@ -2,7 +2,7 @@ #define VULKAN_MACOS_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 325c3712ffd..501c3638861 100644 --- a/include/vulkan/vulkan_metal.h +++ b/include/vulkan/vulkan_metal.h @@ -2,7 +2,7 @@ #define VULKAN_METAL_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ diff --git a/include/vulkan/vulkan_ohos.h b/include/vulkan/vulkan_ohos.h index 0731e5512d7..3bde0114f5a 100644 --- a/include/vulkan/vulkan_ohos.h +++ b/include/vulkan/vulkan_ohos.h @@ -2,7 +2,7 @@ #define VULKAN_OHOS_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 The Khronos Group Inc. ** ** SPDX-License-Identifier: Apache-2.0 */ @@ -113,68 +113,6 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateSurfaceOHOS( #endif #endif - -// VK_OHOS_native_buffer is a preprocessor guard. Do not pass it to API calls. -#define VK_OHOS_native_buffer 1 -struct OHBufferHandle; -#define VK_OHOS_NATIVE_BUFFER_SPEC_VERSION 1 -#define VK_OHOS_NATIVE_BUFFER_EXTENSION_NAME "VK_OHOS_native_buffer" - -typedef enum VkSwapchainImageUsageFlagBitsOHOS { - VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_OHOS = 0x00000001, - VK_SWAPCHAIN_IMAGE_USAGE_FLAG_BITS_MAX_ENUM_OHOS = 0x7FFFFFFF -} VkSwapchainImageUsageFlagBitsOHOS; -typedef VkFlags VkSwapchainImageUsageFlagsOHOS; -typedef struct VkNativeBufferOHOS { - VkStructureType sType; - const void* pNext; - struct OHBufferHandle* handle; -} VkNativeBufferOHOS; - -typedef struct VkSwapchainImageCreateInfoOHOS { - VkStructureType sType; - const void* pNext; - VkSwapchainImageUsageFlagsOHOS usage; -} VkSwapchainImageCreateInfoOHOS; - -typedef struct VkPhysicalDevicePresentationPropertiesOHOS { - VkStructureType sType; - void* pNext; - VkBool32 sharedImage; -} VkPhysicalDevicePresentationPropertiesOHOS; - -typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsageOHOS)(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, uint64_t* grallocUsage); -typedef VkResult (VKAPI_PTR *PFN_vkAcquireImageOHOS)(VkDevice device, VkImage image, int32_t nativeFenceFd, VkSemaphore semaphore, VkFence fence); -typedef VkResult (VKAPI_PTR *PFN_vkQueueSignalReleaseImageOHOS)(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int32_t* pNativeFenceFd); - -#ifndef VK_NO_PROTOTYPES -#ifndef VK_ONLY_EXPORTED_PROTOTYPES -VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsageOHOS( - VkDevice device, - VkFormat format, - VkImageUsageFlags imageUsage, - uint64_t* grallocUsage); -#endif - -#ifndef VK_ONLY_EXPORTED_PROTOTYPES -VKAPI_ATTR VkResult VKAPI_CALL vkAcquireImageOHOS( - VkDevice device, - VkImage image, - int32_t nativeFenceFd, - VkSemaphore semaphore, - VkFence fence); -#endif - -#ifndef VK_ONLY_EXPORTED_PROTOTYPES -VKAPI_ATTR VkResult VKAPI_CALL vkQueueSignalReleaseImageOHOS( - VkQueue queue, - uint32_t waitSemaphoreCount, - const VkSemaphore* pWaitSemaphores, - VkImage image, - int32_t* pNativeFenceFd); -#endif -#endif - #ifdef __cplusplus } #endif diff --git a/include/vulkan/vulkan_screen.h b/include/vulkan/vulkan_screen.h index 79b04f05f50..15e9d09028f 100644 --- a/include/vulkan/vulkan_screen.h +++ b/include/vulkan/vulkan_screen.h @@ -2,7 +2,7 @@ #define VULKAN_SCREEN_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 5a52a17dff0..97d1a3c5f9e 100644 --- a/include/vulkan/vulkan_vi.h +++ b/include/vulkan/vulkan_vi.h @@ -2,7 +2,7 @@ #define VULKAN_VI_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 3172badb20c..41025db43b2 100644 --- a/include/vulkan/vulkan_wayland.h +++ b/include/vulkan/vulkan_wayland.h @@ -2,7 +2,7 @@ #define VULKAN_WAYLAND_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 beee808fba9..5c7e8bd6d7e 100644 --- a/include/vulkan/vulkan_win32.h +++ b/include/vulkan/vulkan_win32.h @@ -2,7 +2,7 @@ #define VULKAN_WIN32_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 e6acb9c300c..473f8c2887a 100644 --- a/include/vulkan/vulkan_xcb.h +++ b/include/vulkan/vulkan_xcb.h @@ -2,7 +2,7 @@ #define VULKAN_XCB_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 e2593fc7bf4..dfd107c3e2f 100644 --- a/include/vulkan/vulkan_xlib.h +++ b/include/vulkan/vulkan_xlib.h @@ -2,7 +2,7 @@ #define VULKAN_XLIB_H_ 1 /* -** Copyright 2015-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 88b643f7d3b..a272e246ceb 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-2025 The Khronos Group Inc. +** Copyright 2015-2026 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 5f55ebba2a3..a51232d1944 100644 --- a/src/vulkan/registry/vk.xml +++ b/src/vulkan/registry/vk.xml @@ -1,7 +1,7 @@ -Copyright 2015-2025 The Khronos Group Inc. +Copyright 2015-2026 The Khronos Group Inc. SPDX-License-Identifier: Apache-2.0 OR MIT @@ -85,7 +85,7 @@ branch of the member gitlab server. - #include "vk_platform.h" + #include "vk_platform.h" WSI extensions @@ -183,7 +183,7 @@ branch of the member gitlab server. #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 335 +#define VK_HEADER_VERSION 340 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) // Version of this file @@ -300,7 +300,7 @@ typedef void* MTLSharedEvent_id; - + Bitmask types typedef VkFlags VkFramebufferCreateFlags; @@ -422,6 +422,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkVideoEncodeRgbModelConversionFlagsVALVE; typedef VkFlags VkVideoEncodeRgbRangeCompressionFlagsVALVE; typedef VkFlags VkVideoEncodeRgbChromaOffsetFlagsVALVE; + typedef VkFlags VkSpirvResourceTypeFlagsEXT; WSI extensions typedef VkFlags VkCompositeAlphaFlagsKHR; @@ -522,9 +523,9 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkTileShadingRenderPassFlagsQCOM; typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; typedef VkFlags VkSurfaceCreateFlagsOHOS; - typedef VkFlags VkPresentStageFlagsEXT; - typedef VkFlags VkPastPresentationTimingFlagsEXT; - typedef VkFlags VkPresentTimingInfoFlagsEXT; + typedef VkFlags VkPresentStageFlagsEXT; + typedef VkFlags VkPastPresentationTimingFlagsEXT; + typedef VkFlags VkPresentTimingInfoFlagsEXT; typedef VkFlags VkSwapchainImageUsageFlagsOHOS; typedef VkFlags VkPerformanceCounterDescriptionFlagsARM; @@ -905,6 +906,8 @@ typedef void* MTLSharedEvent_id; + + WSI extensions @@ -1057,72 +1060,83 @@ typedef void* MTLSharedEvent_id; VK_KHR_maintenance9 - The PFN_vk*Function types are used by VkAllocationCallbacks below - typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( - void* pUserData, - size_t size, - VkInternalAllocationType allocationType, - VkSystemAllocationScope allocationScope); - typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( - void* pUserData, - size_t size, - VkInternalAllocationType allocationType, - VkSystemAllocationScope allocationScope); - typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( - void* pUserData, - void* pOriginal, - size_t size, - size_t alignment, - VkSystemAllocationScope allocationScope); - typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( - void* pUserData, - size_t size, - size_t alignment, - VkSystemAllocationScope allocationScope); - typedef void (VKAPI_PTR *PFN_vkFreeFunction)( - void* pUserData, - void* pMemory); - - The PFN_vkVoidFunction type are used by VkGet*ProcAddr below - typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); - - The PFN_vkDebugReportCallbackEXT type are used by the DEBUG_REPORT extension - typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( - VkDebugReportFlagsEXT flags, - VkDebugReportObjectTypeEXT objectType, - uint64_t object, - size_t location, - int32_t messageCode, - const char* pLayerPrefix, - const char* pMessage, - void* pUserData); - - The PFN_vkDebugUtilsMessengerCallbackEXT type are used by the VK_EXT_debug_utils extension - typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( - VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, - VkDebugUtilsMessageTypeFlagsEXT messageTypes, - 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, - void* pUserData); - + + void PFN_vkInternalAllocationNotification + void* pUserData + size_t size + VkInternalAllocationType allocationType + VkSystemAllocationScope allocationScope + + + void PFN_vkInternalFreeNotification + void* pUserData + size_t size + VkInternalAllocationType allocationType + VkSystemAllocationScope allocationScope + + + void* PFN_vkReallocationFunction + void* pUserData + void* pOriginal + size_t size + size_t alignment + VkSystemAllocationScope allocationScope + + + void* PFN_vkAllocationFunction + void* pUserData + size_t size + size_t alignment + VkSystemAllocationScope allocationScope + + + void PFN_vkFreeFunction + void* pUserData + void* pMemory + + + void PFN_vkVoidFunction + + + VkBool32 PFN_vkDebugReportCallbackEXT + VkDebugReportFlagsEXT flags + VkDebugReportObjectTypeEXT objectType + uint64_t object + size_t location + int32_t messageCode + const char* pLayerPrefix + const char* pMessage + void* pUserData + + + VkBool32 PFN_vkDebugUtilsMessengerCallbackEXT + VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity + VkDebugUtilsMessageTypeFlagsEXT messageTypes + const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData + void* pUserData + + + void PFN_vkFaultCallbackFunction + VkBool32 unrecordedFaults + uint32_t faultCount + const VkFaultData* pFaults + + + void PFN_vkDeviceMemoryReportCallbackEXT + const VkDeviceMemoryReportCallbackDataEXT* pCallbackData + void* pUserData + The PFN_vkGetInstanceProcAddrLUNARG type is used by the VkDirectDriverLoadingInfoLUNARG structure. We cannot introduce an explicit dependency on the equivalent PFN_vkGetInstanceProcAddr type, even though it is implicitly generated in the C header, because that results in multiple definitions. - typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( - VkInstance instance, const char* pName); + + PFN_vkVoidFunction PFN_vkGetInstanceProcAddrLUNARG + VkInstance instance + const char* pName + Struct types @@ -1624,7 +1638,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkPipelineCreateFlags flagsPipeline creation flags VkPipelineShaderStageCreateInfo stage - VkPipelineLayout layoutInterface layout of the pipeline + VkPipelineLayout layoutInterface layout of the pipeline VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of @@ -2601,6 +2615,24 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 deviceGeneratedCommands + + VkStructureType sType + const void* pNext + uint32_t bank + + + VkStructureType sType + void* pNext + VkBool32 pushConstantBank + + + VkStructureType sType + void* pNext + uint32_t maxGraphicsPushConstantBanks + uint32_t maxComputePushConstantBanks + uint32_t maxGraphicsPushDataBanks + uint32_t maxComputePushDataBanks + VkStructureType sType void* pNext @@ -2698,9 +2730,9 @@ typedef void* MTLSharedEvent_id; uint16_t opacityMicromapIndexBufferStride VkDeviceAddress indexBuffer VkDeviceAddress vertexBuffer - VkDeviceAddress geometryIndexAndFlagsBuffer - VkDeviceAddress opacityMicromapArray - VkDeviceAddress opacityMicromapIndexBuffer + VkDeviceAddress geometryIndexAndFlagsBuffer + VkDeviceAddress opacityMicromapArray + VkDeviceAddress opacityMicromapIndexBuffer The bitfields in this structure are non-normative since bitfield ordering is implementation-defined in C. The specification defines the normative layout. @@ -2717,11 +2749,11 @@ typedef void* MTLSharedEvent_id; uint16_t geometryIndexAndFlagsBufferStride uint16_t opacityMicromapIndexBufferStride VkDeviceAddress indexBuffer - VkDeviceAddress vertexBuffer - VkDeviceAddress geometryIndexAndFlagsBuffer - VkDeviceAddress opacityMicromapArray - VkDeviceAddress opacityMicromapIndexBuffer - VkDeviceAddress instantiationBoundingBoxLimit + VkDeviceAddress vertexBuffer + VkDeviceAddress geometryIndexAndFlagsBuffer + VkDeviceAddress opacityMicromapArray + VkDeviceAddress opacityMicromapIndexBuffer + VkDeviceAddress instantiationBoundingBoxLimit uint32_t clusterIdOffset @@ -2773,12 +2805,12 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext VkClusterAccelerationStructureInputInfoNV input - VkDeviceAddress dstImplicitData + VkDeviceAddress dstImplicitData VkDeviceAddress scratchData VkStridedDeviceAddressRegionKHR dstAddressesArray VkStridedDeviceAddressRegionKHR dstSizesArray VkStridedDeviceAddressRegionKHR srcInfosArray - VkDeviceAddress srcInfosCount + VkDeviceAddress srcInfosCount VkClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags @@ -3602,7 +3634,7 @@ typedef void* MTLSharedEvent_id; VkBool32 presentAtAbsoluteTimeAbsolute time can be used to specify present time VkBool32 presentAtRelativeTimeRelative time can be used to specify present duration - + VkStructureType sType void* pNext VkBool32 presentTimingSupportedpresentation timings of the surface can be queried using vkGetPastPresentationTimingEXT @@ -3610,20 +3642,20 @@ typedef void* MTLSharedEvent_id; VkBool32 presentAtRelativeTimeSupportedsurface can be presented using relative times VkPresentStageFlagsEXT presentStageQueriespresent stages that can be queried - + VkStructureType sType void* pNext uint64_t refreshDurationNumber of nanoseconds from the start of one refresh cycle to the next uint64_t refreshIntervalInterval in nanoseconds between refresh cycles durations - + VkStructureType sType void* pNext uint32_t timeDomainCount VkTimeDomainKHR* pTimeDomainsAvailable time domains to use with the swapchain uint64_t* pTimeDomainIdsUnique identifier for a time domain - + VkPresentStageFlagsEXT stage uint64_t timeTime in nanoseconds of the associated stage @@ -3633,7 +3665,7 @@ typedef void* MTLSharedEvent_id; VkPastPresentationTimingFlagsEXT flags VkSwapchainKHR swapchain - + VkStructureType sType void* pNext uint64_t timingPropertiesCounter @@ -3641,7 +3673,7 @@ typedef void* MTLSharedEvent_id; uint32_t presentationTimingCount VkPastPresentationTimingEXT* pPresentationTimings - + VkStructureType sType void* pNext uint64_t presentIdApplication-provided identifier, previously given to vkQueuePresentKHR @@ -4421,7 +4453,7 @@ typedef void* MTLSharedEvent_id; - + VkStructureType sType const void* pNext VkObjectType objectType @@ -4476,7 +4508,7 @@ typedef void* MTLSharedEvent_id; const void* pNext VkDeviceMemoryReportFlagsEXT flags PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback - void* pUserData + void* pUserData VkStructureType sType @@ -5185,7 +5217,7 @@ typedef void* MTLSharedEvent_id; uint32_t groupCount const VkRayTracingShaderGroupCreateInfoNV* pGroups uint32_t maxRecursionDepth - VkPipelineLayout layoutInterface layout of the pipeline + VkPipelineLayout layoutInterface layout of the pipeline VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of @@ -5201,7 +5233,7 @@ typedef void* MTLSharedEvent_id; const VkPipelineLibraryCreateInfoKHR* pLibraryInfo const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface const VkPipelineDynamicStateCreateInfo* pDynamicState - VkPipelineLayout layoutInterface layout of the pipeline + VkPipelineLayout layoutInterface layout of the pipeline VkPipeline basePipelineHandleIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is nonzero, it specifies the handle of the base pipeline this is a derivative of int32_t basePipelineIndexIf VK_PIPELINE_CREATE_DERIVATIVE_BIT is set and this value is not -1, it specifies an index into pCreateInfos of the base pipeline this is a derivative of @@ -6685,7 +6717,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext VkPartitionedAccelerationStructureInstancesInputNV input - VkDeviceAddress srcAccelerationStructureData + VkDeviceAddress srcAccelerationStructureData VkDeviceAddress dstAccelerationStructureData VkDeviceAddress scratchData VkDeviceAddress srcInfos @@ -7206,7 +7238,7 @@ typedef void* MTLSharedEvent_id; VkShaderStageFlags shaderStages - const VkIndirectCommandsPushConstantTokenEXT* pPushConstant + const VkIndirectCommandsPushConstantTokenEXT* pPushConstant const VkIndirectCommandsVertexBufferTokenEXT* pVertexBuffer const VkIndirectCommandsIndexBufferTokenEXT* pIndexBuffer const VkIndirectCommandsExecutionSetTokenEXT* pExecutionSet @@ -9758,6 +9790,11 @@ typedef void* MTLSharedEvent_id; void* pNext VkBool32 dynamicRenderingUnusedAttachments + + VkStructureType sType + void* pNext + VkBool32 internallySynchronizedQueues + VkStructureType sType void* pNext @@ -10057,7 +10094,7 @@ typedef void* MTLSharedEvent_id; uint32_t stageCount const VkPipelineShaderStageCreateInfo* pStages const VkPipelineLibraryCreateInfoKHR* pLibraryInfo - VkPipelineLayout layout + VkPipelineLayout layoutInterface layout of the pipeline VkPipeline basePipelineHandle int32_t basePipelineIndex @@ -10966,9 +11003,9 @@ typedef void* MTLSharedEvent_id; const void* pNext VkDataGraphPipelineSessionARM session - + VkStructureType sType - const void* pNext + void* pNext VkDataGraphPipelineSessionBindPointARM bindPoint VkDataGraphPipelineSessionBindPointTypeARM bindPointType uint32_t numObjects @@ -10996,7 +11033,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - const void* pNext + void* pNext VkDataGraphPipelinePropertyARM property VkBool32 isText size_t dataSize @@ -11014,17 +11051,17 @@ typedef void* MTLSharedEvent_id; VkDataGraphPipelineDispatchFlagsARM flags - VkPhysicalDeviceDataGraphProcessingEngineTypeARM type - VkBool32 isForeign + VkPhysicalDeviceDataGraphProcessingEngineTypeARM type + VkBool32 isForeign - VkPhysicalDeviceDataGraphOperationTypeARM operationType - char name[VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM] - uint32_t version + VkPhysicalDeviceDataGraphOperationTypeARM operationType + char name[VK_MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM] + uint32_t version - + VkStructureType sType - const void* pNext + void* pNext VkPhysicalDeviceDataGraphProcessingEngineARM engine VkPhysicalDeviceDataGraphOperationSupportARM operation @@ -11034,9 +11071,9 @@ typedef void* MTLSharedEvent_id; uint32_t queueFamilyIndex VkPhysicalDeviceDataGraphProcessingEngineTypeARM engineType - + VkStructureType sType - const void* pNext + void* pNext VkExternalSemaphoreHandleTypeFlags foreignSemaphoreHandleTypes VkExternalMemoryHandleTypeFlags foreignMemoryHandleTypes @@ -11184,6 +11221,243 @@ typedef void* MTLSharedEvent_id; uint32_t counterIndexCount uint32_t* pCounterIndices + + VkStructureType sType + const void* pNext + float occupancyPriority + float occupancyThrottling + + + VkStructureType sType + void* pNext + VkBool32 computeOccupancyPriority + + + VkStructureType sType + void* pNext + VkBool32 longVector + + + VkStructureType sType + void* pNext + uint32_t maxVectorComponents + + + VkStructureType sType + void* pNext + VkBool32 textureCompressionASTC_3D + + + VkStructureType sType + void* pNext + VkBool32 shaderSubgroupPartitioned + + + void* address + size_t size + + + const void* address + size_t size + + + VkDeviceAddress address + VkDeviceSize size + + + VkStructureType sType + const void* pNext + VkFormat format + VkDeviceAddressRangeEXT addressRange + + + VkStructureType sType + const void* pNext + const VkImageViewCreateInfo* pView + VkImageLayout layout + + + const VkImageDescriptorInfoEXT* pImage + const VkTexelBufferDescriptorInfoEXT* pTexelBuffer + const VkDeviceAddressRangeEXT* pAddressRange + const VkTensorViewCreateInfoARM* pTensorARM + + + VkStructureType sType + const void* pNext + VkDescriptorType type + VkResourceDescriptorDataEXT data + + + VkStructureType sType + const void* pNext + VkDeviceAddressRangeEXT heapRange + VkDeviceSize reservedRangeOffset + VkDeviceSize reservedRangeSize + + + VkStructureType sType + const void* pNext + uint32_t offset + VkHostAddressRangeConstEXT data + + + uint32_t heapOffset + uint32_t heapArrayStride + const VkSamplerCreateInfo* pEmbeddedSampler + uint32_t samplerHeapOffset + uint32_t samplerHeapArrayStride + + + uint32_t heapOffset + uint32_t pushOffset + uint32_t heapIndexStride + uint32_t heapArrayStride + const VkSamplerCreateInfo* pEmbeddedSampler + VkBool32 useCombinedImageSamplerIndex + uint32_t samplerHeapOffset + uint32_t samplerPushOffset + uint32_t samplerHeapIndexStride + uint32_t samplerHeapArrayStride + + + uint32_t heapOffset + uint32_t pushOffset + uint32_t addressOffset + uint32_t heapIndexStride + uint32_t heapArrayStride + const VkSamplerCreateInfo* pEmbeddedSampler + VkBool32 useCombinedImageSamplerIndex + uint32_t samplerHeapOffset + uint32_t samplerPushOffset + uint32_t samplerAddressOffset + uint32_t samplerHeapIndexStride + uint32_t samplerHeapArrayStride + + + uint32_t heapOffset + uint32_t pushOffset + uint32_t addressOffset + uint32_t heapIndexStride + const VkSamplerCreateInfo* pEmbeddedSampler + VkBool32 useCombinedImageSamplerIndex + uint32_t samplerHeapOffset + uint32_t samplerPushOffset + uint32_t samplerAddressOffset + uint32_t samplerHeapIndexStride + + + uint32_t heapOffset + uint32_t pushOffset + + + uint32_t heapOffset + uint32_t shaderRecordOffset + uint32_t heapIndexStride + uint32_t heapArrayStride + const VkSamplerCreateInfo* pEmbeddedSampler + VkBool32 useCombinedImageSamplerIndex + uint32_t samplerHeapOffset + uint32_t samplerShaderRecordOffset + uint32_t samplerHeapIndexStride + uint32_t samplerHeapArrayStride + + + uint32_t pushOffset + uint32_t addressOffset + + + VkDescriptorMappingSourceConstantOffsetEXT constantOffset + VkDescriptorMappingSourcePushIndexEXT pushIndex + VkDescriptorMappingSourceIndirectIndexEXT indirectIndex + VkDescriptorMappingSourceIndirectIndexArrayEXT indirectIndexArray + VkDescriptorMappingSourceHeapDataEXT heapData + uint32_t pushDataOffset + uint32_t pushAddressOffset + VkDescriptorMappingSourceIndirectAddressEXT indirectAddress + VkDescriptorMappingSourceShaderRecordIndexEXT shaderRecordIndex + uint32_t shaderRecordDataOffset + uint32_t shaderRecordAddressOffset + + + VkStructureType sType + const void* pNext + uint32_t descriptorSet + uint32_t firstBinding + uint32_t bindingCount + VkSpirvResourceTypeFlagsEXT resourceMask + VkDescriptorMappingSourceEXT source + VkDescriptorMappingSourceDataEXT sourceData + + + VkStructureType sType + const void* pNext + uint32_t mappingCount + const VkDescriptorSetAndBindingMappingEXT* pMappings + + + VkStructureType sType + const void* pNext + uint32_t index + + + VkStructureType sType + const void* pNext + const VkHostAddressRangeConstEXT* pData + + + VkStructureType sType + const void* pNext + uint32_t pushDataOffset + uint32_t pushDataSize + + + VkStructureType sType + const void* pNext + uint32_t subsampledImageDescriptorCount + + + VkStructureType sType + void* pNext + VkBool32 descriptorHeap + VkBool32 descriptorHeapCaptureReplay + + + VkStructureType sType + void* pNext + VkDeviceSize samplerHeapAlignment + VkDeviceSize resourceHeapAlignment + VkDeviceSize maxSamplerHeapSize + VkDeviceSize maxResourceHeapSize + VkDeviceSize minSamplerHeapReservedRange + VkDeviceSize minSamplerHeapReservedRangeWithEmbedded + VkDeviceSize minResourceHeapReservedRange + VkDeviceSize samplerDescriptorSize + VkDeviceSize imageDescriptorSize + VkDeviceSize bufferDescriptorSize + VkDeviceSize samplerDescriptorAlignment + VkDeviceSize imageDescriptorAlignment + VkDeviceSize bufferDescriptorAlignment + VkDeviceSize maxPushDataSize + size_t imageCaptureReplayOpaqueDataSize + uint32_t maxDescriptorHeapEmbeddedSamplers + uint32_t samplerYcbcrConversionCount + VkBool32 sparseDescriptorHeaps + VkBool32 protectedDescriptorHeaps + + + VkStructureType sType + const void* pNext + const VkBindHeapInfoEXT* pSamplerHeapBindInfo + const VkBindHeapInfoEXT* pResourceHeapBindInfo + + + VkStructureType sType + void* pNext + VkDeviceSize tensorDescriptorSize + VkDeviceSize tensorDescriptorAlignment + size_t tensorCaptureReplayOpaqueDataSize + @@ -11224,6 +11498,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -13501,6 +13778,28 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + @@ -13589,7 +13888,12 @@ typedef void* MTLSharedEvent_id; VkDevice device const VkAllocationCallbacks* pAllocator - all sname:VkQueue objects created from pname:device + all sname:VkQueue objects created from pname:device +ifdef::VK_KHR_internally_synchronized_queues[] + that are not created with + ename:VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR +endif::VK_KHR_internally_synchronized_queues[] + @@ -13635,20 +13939,25 @@ typedef void* MTLSharedEvent_id; VkResult vkQueueSubmit - VkQueue queue + VkQueue queue uint32_t submitCount const VkSubmitInfo* pSubmits VkFence fence VkResult vkQueueWaitIdle - VkQueue queue + VkQueue queue VkResult vkDeviceWaitIdle VkDevice device - all sname:VkQueue objects created from pname:device + all sname:VkQueue objects created from pname:device +ifdef::VK_KHR_internally_synchronized_queues[] + that are not created with + ename:VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR +endif::VK_KHR_internally_synchronized_queues[] + @@ -13742,7 +14051,7 @@ typedef void* MTLSharedEvent_id; VkResult vkQueueBindSparse - VkQueue queue + VkQueue queue uint32_t bindInfoCount const VkBindSparseInfo* pBindInfo VkFence fence @@ -14778,7 +15087,7 @@ typedef void* MTLSharedEvent_id; VkResult vkQueuePresentKHR - VkQueue queue + VkQueue queue const VkPresentInfoKHR* pPresentInfo @@ -15756,16 +16065,16 @@ typedef void* MTLSharedEvent_id; void vkQueueBeginDebugUtilsLabelEXT - VkQueue queue + VkQueue queue const VkDebugUtilsLabelEXT* pLabelInfo void vkQueueEndDebugUtilsLabelEXT - VkQueue queue + VkQueue queue void vkQueueInsertDebugUtilsLabelEXT - VkQueue queue + VkQueue queue const VkDebugUtilsLabelEXT* pLabelInfo @@ -16326,6 +16635,12 @@ typedef void* MTLSharedEvent_id; VkImageView imageView VkImageViewAddressPropertiesNVX* pProperties + + uint64_t vkGetDeviceCombinedImageSamplerIndexNVX + VkDevice device + uint64_t imageViewIndex + uint64_t samplerIndex + VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT VkPhysicalDevice physicalDevice @@ -16441,7 +16756,7 @@ typedef void* MTLSharedEvent_id; VkResult vkQueueSetPerformanceConfigurationINTEL - VkQueue queue + VkQueue queue VkPerformanceConfigurationINTEL configuration @@ -16981,7 +17296,7 @@ typedef void* MTLSharedEvent_id; const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions - void vkCmdSetColorWriteEnableEXT + void vkCmdSetColorWriteEnableEXT VkCommandBuffer commandBuffer uint32_t attachmentCount const VkBool32* pColorWriteEnables @@ -17016,7 +17331,7 @@ typedef void* MTLSharedEvent_id; VkResult vkQueueSubmit2 - VkQueue queue + VkQueue queue uint32_t submitCount const VkSubmitInfo2* pSubmits VkFence fence @@ -18110,6 +18425,71 @@ typedef void* MTLSharedEvent_id; VkPerformanceCounterARM* pCounters VkPerformanceCounterDescriptionARM* pCounterDescriptions + + void vkCmdSetComputeOccupancyPriorityNV + VkCommandBuffer commandBuffer + const VkComputeOccupancyPriorityParametersNV* pParameters + + + VkResult vkWriteSamplerDescriptorsEXT + VkDevice device + uint32_t samplerCount + const VkSamplerCreateInfo* pSamplers + const VkHostAddressRangeEXT* pDescriptors + + + VkResult vkWriteResourceDescriptorsEXT + VkDevice device + uint32_t resourceCount + const VkResourceDescriptorInfoEXT* pResources + const VkHostAddressRangeEXT* pDescriptors + + + void vkCmdBindSamplerHeapEXT + VkCommandBuffer commandBuffer + const VkBindHeapInfoEXT* pBindInfo + + + void vkCmdBindResourceHeapEXT + VkCommandBuffer commandBuffer + const VkBindHeapInfoEXT* pBindInfo + + + void vkCmdPushDataEXT + VkCommandBuffer commandBuffer + const VkPushDataInfoEXT* pPushDataInfo + + + VkResult vkRegisterCustomBorderColorEXT + VkDevice device + const VkSamplerCustomBorderColorCreateInfoEXT* pBorderColor + VkBool32 requestIndex + uint32_t* pIndex + + + void vkUnregisterCustomBorderColorEXT + VkDevice device + uint32_t index + + + VkResult vkGetImageOpaqueCaptureDataEXT + VkDevice device + uint32_t imageCount + const VkImage* pImages + VkHostAddressRangeEXT* pDatas + + + VkDeviceSize vkGetPhysicalDeviceDescriptorSizeEXT + VkPhysicalDevice physicalDevice + VkDescriptorType descriptorType + + + VkResult vkGetTensorOpaqueCaptureDataARM + VkDevice device + uint32_t tensorCount + const VkTensorARM* pTensors + VkHostAddressRangeEXT* pDatas + @@ -20556,7 +20936,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20565,6 +20945,7 @@ typedef void* MTLSharedEvent_id; + @@ -22034,26 +22415,101 @@ typedef void* MTLSharedEvent_id; - + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + - + + + + + @@ -23131,11 +23587,11 @@ typedef void* MTLSharedEvent_id; - + - + @@ -23432,7 +23888,7 @@ typedef void* MTLSharedEvent_id; - + @@ -24423,15 +24879,13 @@ typedef void* MTLSharedEvent_id; - + - - These enums are present only to inform downstream - consumers like KTX2. There is no actual Vulkan extension - corresponding to the enums. - - - + + + + + @@ -24504,7 +24958,7 @@ typedef void* MTLSharedEvent_id; - + @@ -24663,6 +25117,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -24726,7 +25183,7 @@ typedef void* MTLSharedEvent_id; - + @@ -24995,7 +25452,7 @@ typedef void* MTLSharedEvent_id; - + @@ -27504,7 +27961,7 @@ typedef void* MTLSharedEvent_id; - + @@ -27520,7 +27977,7 @@ typedef void* MTLSharedEvent_id; - + @@ -27738,11 +28195,14 @@ typedef void* MTLSharedEvent_id; - + - - - + + + + + + @@ -28852,10 +29312,17 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + @@ -28956,7 +29423,7 @@ typedef void* MTLSharedEvent_id; - + @@ -29329,7 +29796,7 @@ typedef void* MTLSharedEvent_id; - + @@ -29438,10 +29905,19 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + + @@ -29463,6 +29939,10 @@ typedef void* MTLSharedEvent_id; + + + + @@ -29505,10 +29985,19 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + + + @@ -29625,10 +30114,14 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + @@ -29652,6 +30145,49 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -30989,6 +31525,186 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -31187,6 +31903,10 @@ typedef void* MTLSharedEvent_id; + + + + @@ -31399,6 +32119,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -31420,6 +32143,12 @@ typedef void* MTLSharedEvent_id; + + + + + + @@ -31672,7 +32401,8 @@ typedef void* MTLSharedEvent_id; - + + @@ -31980,6 +32710,9 @@ typedef void* MTLSharedEvent_id; + + + @@ -32015,6 +32748,12 @@ typedef void* MTLSharedEvent_id; + + + + + + @@ -32312,6 +33051,12 @@ typedef void* MTLSharedEvent_id; + + + + + + VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR