diff --git a/include/vk_video/vulkan_video_codec_av1std.h b/include/vk_video/vulkan_video_codec_av1std.h
index 8ce283e8a8a..4fdced78e52 100644
--- a/include/vk_video/vulkan_video_codec_av1std.h
+++ b/include/vk_video/vulkan_video_codec_av1std.h
@@ -132,7 +132,7 @@ typedef enum StdVideoAV1FrameRestorationType {
typedef enum StdVideoAV1ColorPrimaries {
STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709 = 1,
- STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED = 2,
+ STD_VIDEO_AV1_COLOR_PRIMARIES_UNSPECIFIED = 2,
STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M = 4,
STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G = 5,
STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601 = 6,
@@ -144,6 +144,8 @@ typedef enum StdVideoAV1ColorPrimaries {
STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432 = 12,
STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213 = 22,
STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID = 0x7FFFFFFF,
+ // STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED is a deprecated alias
+ STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED = STD_VIDEO_AV1_COLOR_PRIMARIES_UNSPECIFIED,
STD_VIDEO_AV1_COLOR_PRIMARIES_MAX_ENUM = 0x7FFFFFFF
} StdVideoAV1ColorPrimaries;
diff --git a/include/vk_video/vulkan_video_codec_av1std_encode.h b/include/vk_video/vulkan_video_codec_av1std_encode.h
new file mode 100644
index 00000000000..87fc093b561
--- /dev/null
+++ b/include/vk_video/vulkan_video_codec_av1std_encode.h
@@ -0,0 +1,143 @@
+#ifndef VULKAN_VIDEO_CODEC_AV1STD_ENCODE_H_
+#define VULKAN_VIDEO_CODEC_AV1STD_ENCODE_H_ 1
+
+/*
+** Copyright 2015-2024 The Khronos Group Inc.
+**
+** SPDX-License-Identifier: Apache-2.0
+*/
+
+/*
+** This header is generated from the Khronos Vulkan XML API Registry.
+**
+*/
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+// vulkan_video_codec_av1std_encode is a preprocessor guard. Do not pass it to API calls.
+#define vulkan_video_codec_av1std_encode 1
+#include "vulkan_video_codec_av1std.h"
+
+#define VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
+
+#define VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_API_VERSION_1_0_0
+#define VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_av1_encode"
+typedef struct StdVideoEncodeAV1DecoderModelInfo {
+ uint8_t buffer_delay_length_minus_1;
+ uint8_t buffer_removal_time_length_minus_1;
+ uint8_t frame_presentation_time_length_minus_1;
+ uint8_t reserved1;
+ uint32_t num_units_in_decoding_tick;
+} StdVideoEncodeAV1DecoderModelInfo;
+
+typedef struct StdVideoEncodeAV1ExtensionHeader {
+ uint8_t temporal_id;
+ uint8_t spatial_id;
+} StdVideoEncodeAV1ExtensionHeader;
+
+typedef struct StdVideoEncodeAV1OperatingPointInfoFlags {
+ uint32_t decoder_model_present_for_this_op : 1;
+ uint32_t low_delay_mode_flag : 1;
+ uint32_t initial_display_delay_present_for_this_op : 1;
+ uint32_t reserved : 29;
+} StdVideoEncodeAV1OperatingPointInfoFlags;
+
+typedef struct StdVideoEncodeAV1OperatingPointInfo {
+ StdVideoEncodeAV1OperatingPointInfoFlags flags;
+ uint16_t operating_point_idc;
+ uint8_t seq_level_idx;
+ uint8_t seq_tier;
+ uint32_t decoder_buffer_delay;
+ uint32_t encoder_buffer_delay;
+ uint8_t initial_display_delay_minus_1;
+} StdVideoEncodeAV1OperatingPointInfo;
+
+typedef struct StdVideoEncodeAV1PictureInfoFlags {
+ uint32_t error_resilient_mode : 1;
+ uint32_t disable_cdf_update : 1;
+ uint32_t use_superres : 1;
+ uint32_t render_and_frame_size_different : 1;
+ uint32_t allow_screen_content_tools : 1;
+ uint32_t is_filter_switchable : 1;
+ uint32_t force_integer_mv : 1;
+ uint32_t frame_size_override_flag : 1;
+ uint32_t buffer_removal_time_present_flag : 1;
+ uint32_t allow_intrabc : 1;
+ uint32_t frame_refs_short_signaling : 1;
+ uint32_t allow_high_precision_mv : 1;
+ uint32_t is_motion_mode_switchable : 1;
+ uint32_t use_ref_frame_mvs : 1;
+ uint32_t disable_frame_end_update_cdf : 1;
+ uint32_t allow_warped_motion : 1;
+ uint32_t reduced_tx_set : 1;
+ uint32_t skip_mode_present : 1;
+ uint32_t delta_q_present : 1;
+ uint32_t delta_lf_present : 1;
+ uint32_t delta_lf_multi : 1;
+ uint32_t segmentation_enabled : 1;
+ uint32_t segmentation_update_map : 1;
+ uint32_t segmentation_temporal_update : 1;
+ uint32_t segmentation_update_data : 1;
+ uint32_t UsesLr : 1;
+ uint32_t usesChromaLr : 1;
+ uint32_t show_frame : 1;
+ uint32_t showable_frame : 1;
+ uint32_t reserved : 3;
+} StdVideoEncodeAV1PictureInfoFlags;
+
+typedef struct StdVideoEncodeAV1PictureInfo {
+ StdVideoEncodeAV1PictureInfoFlags flags;
+ StdVideoAV1FrameType frame_type;
+ uint32_t frame_presentation_time;
+ uint32_t current_frame_id;
+ uint8_t order_hint;
+ uint8_t primary_ref_frame;
+ uint8_t refresh_frame_flags;
+ uint8_t coded_denom;
+ uint16_t render_width_minus_1;
+ uint16_t render_height_minus_1;
+ StdVideoAV1InterpolationFilter interpolation_filter;
+ StdVideoAV1TxMode TxMode;
+ uint8_t delta_q_res;
+ uint8_t delta_lf_res;
+ uint8_t ref_order_hint[STD_VIDEO_AV1_NUM_REF_FRAMES];
+ int8_t ref_frame_idx[STD_VIDEO_AV1_REFS_PER_FRAME];
+ uint8_t reserved1[3];
+ uint32_t delta_frame_id_minus_1[STD_VIDEO_AV1_REFS_PER_FRAME];
+ const StdVideoAV1TileInfo* pTileInfo;
+ const StdVideoAV1Quantization* pQuantization;
+ const StdVideoAV1Segmentation* pSegmentation;
+ const StdVideoAV1LoopFilter* pLoopFilter;
+ const StdVideoAV1CDEF* pCDEF;
+ const StdVideoAV1LoopRestoration* pLoopRestoration;
+ const StdVideoAV1GlobalMotion* pGlobalMotion;
+ const StdVideoEncodeAV1ExtensionHeader* pExtensionHeader;
+ const uint32_t* pBufferRemovalTimes;
+} StdVideoEncodeAV1PictureInfo;
+
+typedef struct StdVideoEncodeAV1ReferenceInfoFlags {
+ uint32_t disable_frame_end_update_cdf : 1;
+ uint32_t segmentation_enabled : 1;
+ uint32_t reserved : 30;
+} StdVideoEncodeAV1ReferenceInfoFlags;
+
+typedef struct StdVideoEncodeAV1ReferenceInfo {
+ StdVideoEncodeAV1ReferenceInfoFlags flags;
+ uint32_t RefFrameId;
+ StdVideoAV1FrameType frame_type;
+ uint8_t OrderHint;
+ uint8_t reserved1[3];
+ const StdVideoEncodeAV1ExtensionHeader* pExtensionHeader;
+} StdVideoEncodeAV1ReferenceInfo;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h
index df18b4042b1..f5e947507fa 100644
--- a/include/vulkan/vulkan_beta.h
+++ b/include/vulkan/vulkan_beta.h
@@ -53,13 +53,14 @@ typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
// VK_AMDX_shader_enqueue is a preprocessor guard. Do not pass it to API calls.
#define VK_AMDX_shader_enqueue 1
-#define VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION 1
+#define VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION 2
#define VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME "VK_AMDX_shader_enqueue"
#define VK_SHADER_INDEX_UNUSED_AMDX (~0U)
typedef struct VkPhysicalDeviceShaderEnqueueFeaturesAMDX {
VkStructureType sType;
void* pNext;
VkBool32 shaderEnqueue;
+ VkBool32 shaderMeshEnqueue;
} VkPhysicalDeviceShaderEnqueueFeaturesAMDX;
typedef struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX {
@@ -70,12 +71,16 @@ typedef struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX {
uint32_t maxExecutionGraphShaderPayloadSize;
uint32_t maxExecutionGraphShaderPayloadCount;
uint32_t executionGraphDispatchAddressAlignment;
+ uint32_t maxExecutionGraphWorkgroupCount[3];
+ uint32_t maxExecutionGraphWorkgroups;
} VkPhysicalDeviceShaderEnqueuePropertiesAMDX;
typedef struct VkExecutionGraphPipelineScratchSizeAMDX {
VkStructureType sType;
void* pNext;
- VkDeviceSize size;
+ VkDeviceSize minSize;
+ VkDeviceSize maxSize;
+ VkDeviceSize sizeGranularity;
} VkExecutionGraphPipelineScratchSizeAMDX;
typedef struct VkExecutionGraphPipelineCreateInfoAMDX {
@@ -116,12 +121,12 @@ typedef struct VkPipelineShaderStageNodeCreateInfoAMDX {
} VkPipelineShaderStageNodeCreateInfoAMDX;
typedef VkResult (VKAPI_PTR *PFN_vkCreateExecutionGraphPipelinesAMDX)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
-typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)(VkDevice device, VkPipeline executionGraph, VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
-typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)(VkDevice device, VkPipeline executionGraph, const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, uint32_t* pNodeIndex);
-typedef void (VKAPI_PTR *PFN_vkCmdInitializeGraphScratchMemoryAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch);
-typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, const VkDispatchGraphCountInfoAMDX* pCountInfo);
-typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, const VkDispatchGraphCountInfoAMDX* pCountInfo);
-typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectCountAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)(VkDevice device, VkPipeline executionGraph, VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)(VkDevice device, VkPipeline executionGraph, const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, uint32_t* pNodeIndex);
+typedef void (VKAPI_PTR *PFN_vkCmdInitializeGraphScratchMemoryAMDX)(VkCommandBuffer commandBuffer, VkPipeline executionGraph, VkDeviceAddress scratch, VkDeviceSize scratchSize);
+typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, const VkDispatchGraphCountInfoAMDX* pCountInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, const VkDispatchGraphCountInfoAMDX* pCountInfo);
+typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectCountAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceSize scratchSize, VkDeviceAddress countInfo);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateExecutionGraphPipelinesAMDX(
@@ -145,21 +150,26 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineNodeIndexAMDX(
VKAPI_ATTR void VKAPI_CALL vkCmdInitializeGraphScratchMemoryAMDX(
VkCommandBuffer commandBuffer,
- VkDeviceAddress scratch);
+ VkPipeline executionGraph,
+ VkDeviceAddress scratch,
+ VkDeviceSize scratchSize);
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
+ VkDeviceSize scratchSize,
const VkDispatchGraphCountInfoAMDX* pCountInfo);
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
+ VkDeviceSize scratchSize,
const VkDispatchGraphCountInfoAMDX* pCountInfo);
VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectCountAMDX(
VkCommandBuffer commandBuffer,
VkDeviceAddress scratch,
+ VkDeviceSize scratchSize,
VkDeviceAddress countInfo);
#endif
diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h
index e6c16498af5..bdbf3f82974 100644
--- a/include/vulkan/vulkan_core.h
+++ b/include/vulkan/vulkan_core.h
@@ -69,7 +69,7 @@ extern "C" {
#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 296
+#define VK_HEADER_VERSION 302
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -471,6 +471,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
+ VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX = 1000029004,
VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000,
@@ -508,10 +509,6 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005,
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006,
VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
- VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
- VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
- VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
- VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
@@ -553,6 +550,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
+ VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
@@ -612,6 +610,7 @@ typedef enum VkStructureType {
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004,
#endif
+ VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
@@ -703,6 +702,8 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
+ VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
+ VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
@@ -718,11 +719,13 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
+ VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
+ VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = 1000232000,
@@ -848,8 +851,6 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009,
VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010,
VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011,
- VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
- VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002,
@@ -902,6 +903,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT = 1000361000,
VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
@@ -1093,6 +1095,17 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003,
VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004,
VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR = 1000513000,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000513001,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PICTURE_INFO_KHR = 1000513002,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR = 1000513003,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR = 1000513004,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR = 1000513005,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR = 1000513006,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR = 1000513007,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR = 1000513008,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR = 1000513009,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR = 1000513010,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000,
VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000,
@@ -1132,6 +1145,18 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007,
VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000,
+ VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV = 1000551000,
+ VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV = 1000551001,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553000,
+ VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553001,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR = 1000553002,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000553005,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR = 1000553009,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553003,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553004,
+ VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553006,
+ VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR = 1000553007,
+ VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR = 1000553008,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV = 1000555000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR = 1000558000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV = 1000559000,
@@ -1162,6 +1187,12 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA = 1000575002,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT = 1000582000,
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT = 1000582001,
+ 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,
+ VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV = 1000593001,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV = 1000593002,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT = 1000608000,
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 deprecated alias
@@ -1171,7 +1202,6 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
- VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
@@ -1245,6 +1275,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
+ VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
@@ -1387,6 +1418,7 @@ typedef enum VkImageLayout {
VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000,
+ VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR = 1000553000,
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
@@ -2406,6 +2438,8 @@ typedef enum VkImageUsageFlagBits {
VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000,
VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000,
+ VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x02000000,
+ VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x04000000,
VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkImageUsageFlagBits;
@@ -2646,8 +2680,6 @@ typedef enum VkPipelineCreateFlagBits {
VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100,
VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200,
- VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000,
- VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000,
VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
@@ -2656,6 +2688,8 @@ typedef enum VkPipelineCreateFlagBits {
VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
+ VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000,
+ VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000,
VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
@@ -2673,12 +2707,12 @@ typedef enum VkPipelineCreateFlagBits {
VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000,
VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000,
VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
- // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR is a deprecated alias
- VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
- // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT is a deprecated alias
- VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
+ // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT is a deprecated alias
+ VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
+ // VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR is a deprecated alias
+ VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -6867,6 +6901,8 @@ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL;
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL;
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL;
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x2000000000000ULL;
+static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x4000000000000ULL;
typedef struct VkPhysicalDeviceVulkan13Features {
VkStructureType sType;
@@ -7633,6 +7669,7 @@ typedef enum VkPresentModeKHR {
VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
+ VK_PRESENT_MODE_FIFO_LATEST_READY_EXT = 1000361000,
VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
} VkPresentModeKHR;
@@ -8077,6 +8114,7 @@ typedef enum VkVideoCodecOperationFlagBitsKHR {
VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001,
VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002,
VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004,
+ VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR = 0x00040000,
VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
} VkVideoCodecOperationFlagBitsKHR;
typedef VkFlags VkVideoCodecOperationFlagsKHR;
@@ -8111,9 +8149,16 @@ typedef enum VkVideoSessionCreateFlagBitsKHR {
VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001,
VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002,
VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004,
+ VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000008,
+ VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x00000010,
VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
} VkVideoSessionCreateFlagBitsKHR;
typedef VkFlags VkVideoSessionCreateFlagsKHR;
+
+typedef enum VkVideoSessionParametersCreateFlagBitsKHR {
+ VK_VIDEO_SESSION_PARAMETERS_CREATE_QUANTIZATION_MAP_COMPATIBLE_BIT_KHR = 0x00000001,
+ VK_VIDEO_SESSION_PARAMETERS_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkVideoSessionParametersCreateFlagBitsKHR;
typedef VkFlags VkVideoSessionParametersCreateFlagsKHR;
typedef VkFlags VkVideoBeginCodingFlagsKHR;
typedef VkFlags VkVideoEndCodingFlagsKHR;
@@ -8416,6 +8461,7 @@ typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR {
VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040,
VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080,
VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100,
+ VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR = 0x00000200,
VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
} VkVideoEncodeH264CapabilityFlagBitsKHR;
typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR;
@@ -8616,6 +8662,7 @@ typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR {
VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080,
VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100,
VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200,
+ VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR = 0x00000400,
VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
} VkVideoEncodeH265CapabilityFlagBitsKHR;
typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR;
@@ -8901,38 +8948,6 @@ typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderin
typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR;
-typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
- VkStructureType sType;
- const void* pNext;
- VkImageView imageView;
- VkImageLayout imageLayout;
- VkExtent2D shadingRateAttachmentTexelSize;
-} VkRenderingFragmentShadingRateAttachmentInfoKHR;
-
-typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
- VkStructureType sType;
- const void* pNext;
- VkImageView imageView;
- VkImageLayout imageLayout;
-} VkRenderingFragmentDensityMapAttachmentInfoEXT;
-
-typedef struct VkAttachmentSampleCountInfoAMD {
- VkStructureType sType;
- const void* pNext;
- uint32_t colorAttachmentCount;
- const VkSampleCountFlagBits* pColorAttachmentSamples;
- VkSampleCountFlagBits depthStencilAttachmentSamples;
-} VkAttachmentSampleCountInfoAMD;
-
-typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
-
-typedef struct VkMultiviewPerViewAttributesInfoNVX {
- VkStructureType sType;
- const void* pNext;
- VkBool32 perViewAttributes;
- VkBool32 perViewAttributesPositionXOnly;
-} VkMultiviewPerViewAttributesInfoNVX;
-
typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
@@ -10307,6 +10322,14 @@ typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
VkExtent2D fragmentSize;
} VkPhysicalDeviceFragmentShadingRateKHR;
+typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+ VkExtent2D shadingRateAttachmentTexelSize;
+} VkRenderingFragmentShadingRateAttachmentInfoKHR;
+
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
@@ -10696,11 +10719,19 @@ typedef enum VkVideoEncodeTuningModeKHR {
VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4,
VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
} VkVideoEncodeTuningModeKHR;
+
+typedef enum VkVideoEncodeFlagBitsKHR {
+ VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000001,
+ VK_VIDEO_ENCODE_WITH_EMPHASIS_MAP_BIT_KHR = 0x00000002,
+ VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkVideoEncodeFlagBitsKHR;
typedef VkFlags VkVideoEncodeFlagsKHR;
typedef enum VkVideoEncodeCapabilityFlagBitsKHR {
VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001,
VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002,
+ VK_VIDEO_ENCODE_CAPABILITY_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000004,
+ VK_VIDEO_ENCODE_CAPABILITY_EMPHASIS_MAP_BIT_KHR = 0x00000008,
VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
} VkVideoEncodeCapabilityFlagBitsKHR;
typedef VkFlags VkVideoEncodeCapabilityFlagsKHR;
@@ -10888,27 +10919,12 @@ typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR;
typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR;
-typedef struct VkQueueFamilyCheckpointProperties2NV {
- VkStructureType sType;
- void* pNext;
- VkPipelineStageFlags2 checkpointExecutionStageMask;
-} VkQueueFamilyCheckpointProperties2NV;
-
-typedef struct VkCheckpointData2NV {
- VkStructureType sType;
- void* pNext;
- VkPipelineStageFlags2 stage;
- void* pCheckpointMarker;
-} VkCheckpointData2NV;
-
typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
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 void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
-typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
@@ -10942,18 +10958,6 @@ VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
uint32_t submitCount,
const VkSubmitInfo2* pSubmits,
VkFence fence);
-
-VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
- VkCommandBuffer commandBuffer,
- VkPipelineStageFlags2 stage,
- VkBuffer dstBuffer,
- VkDeviceSize dstOffset,
- uint32_t marker);
-
-VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
- VkQueue queue,
- uint32_t* pCheckpointDataCount,
- VkCheckpointData2NV* pCheckpointData);
#endif
@@ -11196,6 +11200,9 @@ typedef VkFlags64 VkPipelineCreateFlagBits2KHR;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL;
+#ifdef VK_ENABLE_BETA_EXTENSIONS
+static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX = 0x100000000ULL;
+#endif
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL;
static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL;
@@ -11241,7 +11248,9 @@ static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL;
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL;
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL;
+#ifdef VK_ENABLE_BETA_EXTENSIONS
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL;
+#endif
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL;
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL;
static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL;
@@ -11627,6 +11636,200 @@ typedef struct VkVideoDecodeAV1DpbSlotInfoKHR {
+// VK_KHR_video_encode_av1 is a preprocessor guard. Do not pass it to API calls.
+#define VK_KHR_video_encode_av1 1
+#include "vk_video/vulkan_video_codec_av1std_encode.h"
+#define VK_KHR_VIDEO_ENCODE_AV1_SPEC_VERSION 1
+#define VK_KHR_VIDEO_ENCODE_AV1_EXTENSION_NAME "VK_KHR_video_encode_av1"
+
+typedef enum VkVideoEncodeAV1PredictionModeKHR {
+ VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_INTRA_ONLY_KHR = 0,
+ VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHR = 1,
+ VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHR = 2,
+ VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHR = 3,
+ VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkVideoEncodeAV1PredictionModeKHR;
+
+typedef enum VkVideoEncodeAV1RateControlGroupKHR {
+ VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHR = 0,
+ VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHR = 1,
+ VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHR = 2,
+ VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkVideoEncodeAV1RateControlGroupKHR;
+
+typedef enum VkVideoEncodeAV1CapabilityFlagBitsKHR {
+ VK_VIDEO_ENCODE_AV1_CAPABILITY_PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX_BIT_KHR = 0x00000001,
+ VK_VIDEO_ENCODE_AV1_CAPABILITY_GENERATE_OBU_EXTENSION_HEADER_BIT_KHR = 0x00000002,
+ VK_VIDEO_ENCODE_AV1_CAPABILITY_PRIMARY_REFERENCE_CDF_ONLY_BIT_KHR = 0x00000004,
+ VK_VIDEO_ENCODE_AV1_CAPABILITY_FRAME_SIZE_OVERRIDE_BIT_KHR = 0x00000008,
+ VK_VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING_BIT_KHR = 0x00000010,
+ VK_VIDEO_ENCODE_AV1_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkVideoEncodeAV1CapabilityFlagBitsKHR;
+typedef VkFlags VkVideoEncodeAV1CapabilityFlagsKHR;
+
+typedef enum VkVideoEncodeAV1StdFlagBitsKHR {
+ VK_VIDEO_ENCODE_AV1_STD_UNIFORM_TILE_SPACING_FLAG_SET_BIT_KHR = 0x00000001,
+ VK_VIDEO_ENCODE_AV1_STD_SKIP_MODE_PRESENT_UNSET_BIT_KHR = 0x00000002,
+ VK_VIDEO_ENCODE_AV1_STD_PRIMARY_REF_FRAME_BIT_KHR = 0x00000004,
+ VK_VIDEO_ENCODE_AV1_STD_DELTA_Q_BIT_KHR = 0x00000008,
+ VK_VIDEO_ENCODE_AV1_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkVideoEncodeAV1StdFlagBitsKHR;
+typedef VkFlags VkVideoEncodeAV1StdFlagsKHR;
+
+typedef enum VkVideoEncodeAV1SuperblockSizeFlagBitsKHR {
+ VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_64_BIT_KHR = 0x00000001,
+ VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_128_BIT_KHR = 0x00000002,
+ VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkVideoEncodeAV1SuperblockSizeFlagBitsKHR;
+typedef VkFlags VkVideoEncodeAV1SuperblockSizeFlagsKHR;
+
+typedef enum VkVideoEncodeAV1RateControlFlagBitsKHR {
+ VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000001,
+ VK_VIDEO_ENCODE_AV1_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000002,
+ VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004,
+ VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008,
+ VK_VIDEO_ENCODE_AV1_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
+} VkVideoEncodeAV1RateControlFlagBitsKHR;
+typedef VkFlags VkVideoEncodeAV1RateControlFlagsKHR;
+typedef struct VkPhysicalDeviceVideoEncodeAV1FeaturesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 videoEncodeAV1;
+} VkPhysicalDeviceVideoEncodeAV1FeaturesKHR;
+
+typedef struct VkVideoEncodeAV1CapabilitiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkVideoEncodeAV1CapabilityFlagsKHR flags;
+ StdVideoAV1Level maxLevel;
+ VkExtent2D codedPictureAlignment;
+ VkExtent2D maxTiles;
+ VkExtent2D minTileSize;
+ VkExtent2D maxTileSize;
+ VkVideoEncodeAV1SuperblockSizeFlagsKHR superblockSizes;
+ uint32_t maxSingleReferenceCount;
+ uint32_t singleReferenceNameMask;
+ uint32_t maxUnidirectionalCompoundReferenceCount;
+ uint32_t maxUnidirectionalCompoundGroup1ReferenceCount;
+ uint32_t unidirectionalCompoundReferenceNameMask;
+ uint32_t maxBidirectionalCompoundReferenceCount;
+ uint32_t maxBidirectionalCompoundGroup1ReferenceCount;
+ uint32_t maxBidirectionalCompoundGroup2ReferenceCount;
+ uint32_t bidirectionalCompoundReferenceNameMask;
+ uint32_t maxTemporalLayerCount;
+ uint32_t maxSpatialLayerCount;
+ uint32_t maxOperatingPoints;
+ uint32_t minQIndex;
+ uint32_t maxQIndex;
+ VkBool32 prefersGopRemainingFrames;
+ VkBool32 requiresGopRemainingFrames;
+ VkVideoEncodeAV1StdFlagsKHR stdSyntaxFlags;
+} VkVideoEncodeAV1CapabilitiesKHR;
+
+typedef struct VkVideoEncodeAV1QIndexKHR {
+ uint32_t intraQIndex;
+ uint32_t predictiveQIndex;
+ uint32_t bipredictiveQIndex;
+} VkVideoEncodeAV1QIndexKHR;
+
+typedef struct VkVideoEncodeAV1QualityLevelPropertiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkVideoEncodeAV1RateControlFlagsKHR preferredRateControlFlags;
+ uint32_t preferredGopFrameCount;
+ uint32_t preferredKeyFramePeriod;
+ uint32_t preferredConsecutiveBipredictiveFrameCount;
+ uint32_t preferredTemporalLayerCount;
+ VkVideoEncodeAV1QIndexKHR preferredConstantQIndex;
+ uint32_t preferredMaxSingleReferenceCount;
+ uint32_t preferredSingleReferenceNameMask;
+ uint32_t preferredMaxUnidirectionalCompoundReferenceCount;
+ uint32_t preferredMaxUnidirectionalCompoundGroup1ReferenceCount;
+ uint32_t preferredUnidirectionalCompoundReferenceNameMask;
+ uint32_t preferredMaxBidirectionalCompoundReferenceCount;
+ uint32_t preferredMaxBidirectionalCompoundGroup1ReferenceCount;
+ uint32_t preferredMaxBidirectionalCompoundGroup2ReferenceCount;
+ uint32_t preferredBidirectionalCompoundReferenceNameMask;
+} VkVideoEncodeAV1QualityLevelPropertiesKHR;
+
+typedef struct VkVideoEncodeAV1SessionCreateInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkBool32 useMaxLevel;
+ StdVideoAV1Level maxLevel;
+} VkVideoEncodeAV1SessionCreateInfoKHR;
+
+typedef struct VkVideoEncodeAV1SessionParametersCreateInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ const StdVideoAV1SequenceHeader* pStdSequenceHeader;
+ const StdVideoEncodeAV1DecoderModelInfo* pStdDecoderModelInfo;
+ uint32_t stdOperatingPointCount;
+ const StdVideoEncodeAV1OperatingPointInfo* pStdOperatingPoints;
+} VkVideoEncodeAV1SessionParametersCreateInfoKHR;
+
+typedef struct VkVideoEncodeAV1PictureInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkVideoEncodeAV1PredictionModeKHR predictionMode;
+ VkVideoEncodeAV1RateControlGroupKHR rateControlGroup;
+ uint32_t constantQIndex;
+ const StdVideoEncodeAV1PictureInfo* pStdPictureInfo;
+ int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR];
+ VkBool32 primaryReferenceCdfOnly;
+ VkBool32 generateObuExtensionHeader;
+} VkVideoEncodeAV1PictureInfoKHR;
+
+typedef struct VkVideoEncodeAV1DpbSlotInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ const StdVideoEncodeAV1ReferenceInfo* pStdReferenceInfo;
+} VkVideoEncodeAV1DpbSlotInfoKHR;
+
+typedef struct VkVideoEncodeAV1ProfileInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ StdVideoAV1Profile stdProfile;
+} VkVideoEncodeAV1ProfileInfoKHR;
+
+typedef struct VkVideoEncodeAV1FrameSizeKHR {
+ uint32_t intraFrameSize;
+ uint32_t predictiveFrameSize;
+ uint32_t bipredictiveFrameSize;
+} VkVideoEncodeAV1FrameSizeKHR;
+
+typedef struct VkVideoEncodeAV1GopRemainingFrameInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkBool32 useGopRemainingFrames;
+ uint32_t gopRemainingIntra;
+ uint32_t gopRemainingPredictive;
+ uint32_t gopRemainingBipredictive;
+} VkVideoEncodeAV1GopRemainingFrameInfoKHR;
+
+typedef struct VkVideoEncodeAV1RateControlInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkVideoEncodeAV1RateControlFlagsKHR flags;
+ uint32_t gopFrameCount;
+ uint32_t keyFramePeriod;
+ uint32_t consecutiveBipredictiveFrameCount;
+ uint32_t temporalLayerCount;
+} VkVideoEncodeAV1RateControlInfoKHR;
+
+typedef struct VkVideoEncodeAV1RateControlLayerInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkBool32 useMinQIndex;
+ VkVideoEncodeAV1QIndexKHR minQIndex;
+ VkBool32 useMaxQIndex;
+ VkVideoEncodeAV1QIndexKHR maxQIndex;
+ VkBool32 useMaxFrameSize;
+ VkVideoEncodeAV1FrameSizeKHR maxFrameSize;
+} VkVideoEncodeAV1RateControlLayerInfoKHR;
+
+
+
// VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls.
#define VK_KHR_video_maintenance1 1
#define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1
@@ -11931,6 +12134,76 @@ VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
#endif
+// VK_KHR_video_encode_quantization_map is a preprocessor guard. Do not pass it to API calls.
+#define VK_KHR_video_encode_quantization_map 1
+#define VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_SPEC_VERSION 2
+#define VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_EXTENSION_NAME "VK_KHR_video_encode_quantization_map"
+typedef struct VkVideoEncodeQuantizationMapCapabilitiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkExtent2D maxQuantizationMapExtent;
+} VkVideoEncodeQuantizationMapCapabilitiesKHR;
+
+typedef struct VkVideoFormatQuantizationMapPropertiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkExtent2D quantizationMapTexelSize;
+} VkVideoFormatQuantizationMapPropertiesKHR;
+
+typedef struct VkVideoEncodeQuantizationMapInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView quantizationMap;
+ VkExtent2D quantizationMapExtent;
+} VkVideoEncodeQuantizationMapInfoKHR;
+
+typedef struct VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
+ VkStructureType sType;
+ const void* pNext;
+ VkExtent2D quantizationMapTexelSize;
+} VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR;
+
+typedef struct VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 videoEncodeQuantizationMap;
+} VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR;
+
+typedef struct VkVideoEncodeH264QuantizationMapCapabilitiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ int32_t minQpDelta;
+ int32_t maxQpDelta;
+} VkVideoEncodeH264QuantizationMapCapabilitiesKHR;
+
+typedef struct VkVideoEncodeH265QuantizationMapCapabilitiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ int32_t minQpDelta;
+ int32_t maxQpDelta;
+} VkVideoEncodeH265QuantizationMapCapabilitiesKHR;
+
+typedef struct VkVideoFormatH265QuantizationMapPropertiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkVideoEncodeH265CtbSizeFlagsKHR compatibleCtbSizes;
+} VkVideoFormatH265QuantizationMapPropertiesKHR;
+
+typedef struct VkVideoEncodeAV1QuantizationMapCapabilitiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ int32_t minQIndexDelta;
+ int32_t maxQIndexDelta;
+} VkVideoEncodeAV1QuantizationMapCapabilitiesKHR;
+
+typedef struct VkVideoFormatAV1QuantizationMapPropertiesKHR {
+ VkStructureType sType;
+ void* pNext;
+ VkVideoEncodeAV1SuperblockSizeFlagsKHR compatibleSuperblockSizes;
+} VkVideoFormatAV1QuantizationMapPropertiesKHR;
+
+
+
// VK_KHR_shader_relaxed_extended_instruction is a preprocessor guard. Do not pass it to API calls.
#define VK_KHR_shader_relaxed_extended_instruction 1
#define VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION 1
@@ -12339,7 +12612,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
#define VK_NVX_binary_import 1
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
-#define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
+#define VK_NVX_BINARY_IMPORT_SPEC_VERSION 2
#define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
typedef struct VkCuModuleCreateInfoNVX {
VkStructureType sType;
@@ -12348,6 +12621,12 @@ typedef struct VkCuModuleCreateInfoNVX {
const void* pData;
} VkCuModuleCreateInfoNVX;
+typedef struct VkCuModuleTexturingModeCreateInfoNVX {
+ VkStructureType sType;
+ const void* pNext;
+ VkBool32 use64bitTexturing;
+} VkCuModuleTexturingModeCreateInfoNVX;
+
typedef struct VkCuFunctionCreateInfoNVX {
VkStructureType sType;
const void* pNext;
@@ -12409,7 +12688,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 2
+#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 3
#define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
typedef struct VkImageViewHandleInfoNVX {
VkStructureType sType;
@@ -12427,6 +12706,7 @@ typedef struct VkImageViewAddressPropertiesNVX {
} 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);
#ifndef VK_NO_PROTOTYPES
@@ -12434,6 +12714,10 @@ VKAPI_ATTR uint32_t VKAPI_CALL vkGetImageViewHandleNVX(
VkDevice device,
const VkImageViewHandleInfoNVX* pInfo);
+VKAPI_ATTR uint64_t VKAPI_CALL vkGetImageViewHandle64NVX(
+ VkDevice device,
+ const VkImageViewHandleInfoNVX* pInfo);
+
VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
VkDevice device,
VkImageView imageView,
@@ -13006,6 +13290,13 @@ typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
VkBool32 perViewPositionAllComponents;
} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
+typedef struct VkMultiviewPerViewAttributesInfoNVX {
+ VkStructureType sType;
+ const void* pNext;
+ VkBool32 perViewAttributes;
+ VkBool32 perViewAttributesPositionXOnly;
+} VkMultiviewPerViewAttributesInfoNVX;
+
// VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls.
@@ -13374,6 +13665,14 @@ typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFil
#define VK_AMD_mixed_attachment_samples 1
#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
+typedef struct VkAttachmentSampleCountInfoAMD {
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t colorAttachmentCount;
+ const VkSampleCountFlagBits* pColorAttachmentSamples;
+ VkSampleCountFlagBits depthStencilAttachmentSamples;
+} VkAttachmentSampleCountInfoAMD;
+
// VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls.
@@ -13553,6 +13852,8 @@ typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
const float* pCoverageModulationTable;
} VkPipelineCoverageModulationStateCreateInfoNV;
+typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
+
// VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls.
@@ -14310,6 +14611,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
#define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
#define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
+typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
@@ -14318,6 +14620,13 @@ VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
VkBuffer dstBuffer,
VkDeviceSize dstOffset,
uint32_t marker);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
+ VkCommandBuffer commandBuffer,
+ VkPipelineStageFlags2 stage,
+ VkBuffer dstBuffer,
+ VkDeviceSize dstOffset,
+ uint32_t marker);
#endif
@@ -14588,8 +14897,22 @@ typedef struct VkCheckpointDataNV {
void* pCheckpointMarker;
} VkCheckpointDataNV;
+typedef struct VkQueueFamilyCheckpointProperties2NV {
+ VkStructureType sType;
+ void* pNext;
+ VkPipelineStageFlags2 checkpointExecutionStageMask;
+} VkQueueFamilyCheckpointProperties2NV;
+
+typedef struct VkCheckpointData2NV {
+ VkStructureType sType;
+ void* pNext;
+ VkPipelineStageFlags2 stage;
+ void* pCheckpointMarker;
+} VkCheckpointData2NV;
+
typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
+typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
@@ -14600,6 +14923,11 @@ VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
VkQueue queue,
uint32_t* pCheckpointDataCount,
VkCheckpointDataNV* pCheckpointData);
+
+VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
+ VkQueue queue,
+ uint32_t* pCheckpointDataCount,
+ VkCheckpointData2NV* pCheckpointData);
#endif
@@ -14821,6 +15149,13 @@ typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
VkAttachmentReference fragmentDensityMapAttachment;
} VkRenderPassFragmentDensityMapCreateInfoEXT;
+typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+ VkImageLayout imageLayout;
+} VkRenderingFragmentDensityMapAttachmentInfoEXT;
+
// VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls.
@@ -17097,6 +17432,18 @@ typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
+// VK_EXT_present_mode_fifo_latest_ready is a preprocessor guard. Do not pass it to API calls.
+#define VK_EXT_present_mode_fifo_latest_ready 1
+#define VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION 1
+#define VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME "VK_EXT_present_mode_fifo_latest_ready"
+typedef struct VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 presentModeFifoLatestReady;
+} VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT;
+
+
+
// VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls.
#define VK_HUAWEI_subpass_shading 1
#define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3
@@ -19496,6 +19843,32 @@ typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
+// VK_NV_display_stereo is a preprocessor guard. Do not pass it to API calls.
+#define VK_NV_display_stereo 1
+#define VK_NV_DISPLAY_STEREO_SPEC_VERSION 1
+#define VK_NV_DISPLAY_STEREO_EXTENSION_NAME "VK_NV_display_stereo"
+
+typedef enum VkDisplaySurfaceStereoTypeNV {
+ VK_DISPLAY_SURFACE_STEREO_TYPE_NONE_NV = 0,
+ VK_DISPLAY_SURFACE_STEREO_TYPE_ONBOARD_DIN_NV = 1,
+ VK_DISPLAY_SURFACE_STEREO_TYPE_HDMI_3D_NV = 2,
+ VK_DISPLAY_SURFACE_STEREO_TYPE_INBAND_DISPLAYPORT_NV = 3,
+ VK_DISPLAY_SURFACE_STEREO_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
+} VkDisplaySurfaceStereoTypeNV;
+typedef struct VkDisplaySurfaceStereoCreateInfoNV {
+ VkStructureType sType;
+ const void* pNext;
+ VkDisplaySurfaceStereoTypeNV stereoType;
+} VkDisplaySurfaceStereoCreateInfoNV;
+
+typedef struct VkDisplayModeStereoPropertiesNV {
+ VkStructureType sType;
+ const void* pNext;
+ VkBool32 hdmi3DSupported;
+} VkDisplayModeStereoPropertiesNV;
+
+
+
// VK_NV_raw_access_chains is a preprocessor guard. Do not pass it to API calls.
#define VK_NV_raw_access_chains 1
#define VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION 1
@@ -19627,7 +20000,7 @@ typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
typedef struct VkGeneratedCommandsMemoryRequirementsInfoEXT {
VkStructureType sType;
- void* pNext;
+ const void* pNext;
VkIndirectExecutionSetEXT indirectExecutionSet;
VkIndirectCommandsLayoutEXT indirectCommandsLayout;
uint32_t maxSequenceCount;
@@ -19879,6 +20252,86 @@ typedef struct VkPipelineViewportDepthClampControlCreateInfoEXT {
+// VK_HUAWEI_hdr_vivid is a preprocessor guard. Do not pass it to API calls.
+#define VK_HUAWEI_hdr_vivid 1
+#define VK_HUAWEI_HDR_VIVID_SPEC_VERSION 1
+#define VK_HUAWEI_HDR_VIVID_EXTENSION_NAME "VK_HUAWEI_hdr_vivid"
+typedef struct VkPhysicalDeviceHdrVividFeaturesHUAWEI {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 hdrVivid;
+} VkPhysicalDeviceHdrVividFeaturesHUAWEI;
+
+typedef struct VkHdrVividDynamicMetadataHUAWEI {
+ VkStructureType sType;
+ const void* pNext;
+ size_t dynamicMetadataSize;
+ const void* pDynamicMetadata;
+} VkHdrVividDynamicMetadataHUAWEI;
+
+
+
+// VK_NV_cooperative_matrix2 is a preprocessor guard. Do not pass it to API calls.
+#define VK_NV_cooperative_matrix2 1
+#define VK_NV_COOPERATIVE_MATRIX_2_SPEC_VERSION 1
+#define VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME "VK_NV_cooperative_matrix2"
+typedef struct VkCooperativeMatrixFlexibleDimensionsPropertiesNV {
+ VkStructureType sType;
+ void* pNext;
+ uint32_t MGranularity;
+ uint32_t NGranularity;
+ uint32_t KGranularity;
+ VkComponentTypeKHR AType;
+ VkComponentTypeKHR BType;
+ VkComponentTypeKHR CType;
+ VkComponentTypeKHR ResultType;
+ VkBool32 saturatingAccumulation;
+ VkScopeKHR scope;
+ uint32_t workgroupInvocations;
+} VkCooperativeMatrixFlexibleDimensionsPropertiesNV;
+
+typedef struct VkPhysicalDeviceCooperativeMatrix2FeaturesNV {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 cooperativeMatrixWorkgroupScope;
+ VkBool32 cooperativeMatrixFlexibleDimensions;
+ VkBool32 cooperativeMatrixReductions;
+ VkBool32 cooperativeMatrixConversions;
+ VkBool32 cooperativeMatrixPerElementOperations;
+ VkBool32 cooperativeMatrixTensorAddressing;
+ VkBool32 cooperativeMatrixBlockLoads;
+} VkPhysicalDeviceCooperativeMatrix2FeaturesNV;
+
+typedef struct VkPhysicalDeviceCooperativeMatrix2PropertiesNV {
+ VkStructureType sType;
+ void* pNext;
+ uint32_t cooperativeMatrixWorkgroupScopeMaxWorkgroupSize;
+ uint32_t cooperativeMatrixFlexibleDimensionsMaxDimension;
+ uint32_t cooperativeMatrixWorkgroupScopeReservedSharedMemory;
+} VkPhysicalDeviceCooperativeMatrix2PropertiesNV;
+
+typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
+ VkPhysicalDevice physicalDevice,
+ uint32_t* pPropertyCount,
+ VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties);
+#endif
+
+
+// VK_EXT_vertex_attribute_robustness is a preprocessor guard. Do not pass it to API calls.
+#define VK_EXT_vertex_attribute_robustness 1
+#define VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_SPEC_VERSION 1
+#define VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_vertex_attribute_robustness"
+typedef struct VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 vertexAttributeRobustness;
+} VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT;
+
+
+
// 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/src/compiler/spirv/spirv.core.grammar.json b/src/compiler/spirv/spirv.core.grammar.json
index 8b2c1c10667..dde0114f5ee 100644
--- a/src/compiler/spirv/spirv.core.grammar.json
+++ b/src/compiler/spirv/spirv.core.grammar.json
@@ -4450,6 +4450,7 @@
"capabilities" : [
"UntypedPointersKHR"
],
+ "provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResult" },
@@ -4461,6 +4462,7 @@
"class" : "Memory",
"opcode" : 4418,
"capabilities" : [ "UntypedPointersKHR" ],
+ "provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@@ -4475,6 +4477,7 @@
"class" : "Memory",
"opcode" : 4419,
"capabilities" : [ "UntypedPointersKHR" ],
+ "provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@@ -4489,6 +4492,7 @@
"class" : "Memory",
"opcode" : 4420,
"capabilities" : [ "UntypedPointersKHR" ],
+ "provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@@ -4529,6 +4533,7 @@
"class" : "Memory",
"opcode" : 4423,
"capabilities" : [ "UntypedPointersKHR" ],
+ "provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@@ -4544,6 +4549,7 @@
"class" : "Memory",
"opcode" : 4424,
"capabilities" : [ "UntypedPointersKHR" ],
+ "provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@@ -4559,6 +4565,7 @@
"class" : "Memory",
"opcode" : 4425,
"capabilities" : [ "UntypedPointersKHR" ],
+ "provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@@ -4573,6 +4580,7 @@
"class" : "Memory",
"opcode" : 4426,
"capabilities" : [ "UntypedPointersKHR" ],
+ "provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer Type'" },
@@ -5362,13 +5370,41 @@
"version" : "None"
},
{
- "opname" : "OpFinalizeNodePayloadsAMDX",
+ "opname" : "OpAllocateNodePayloadsAMDX",
+ "class" : "Reserved",
+ "opcode" : 5074,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdScope", "name" : "'Visibility'" },
+ { "kind" : "IdRef", "name": "'Payload Count'" },
+ { "kind" : "IdRef", "name": "'Node Index'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
+ "version" : "None"
+ },
+ {
+ "opname" : "OpEnqueueNodePayloadsAMDX",
"class" : "Reserved",
"opcode" : 5075,
"operands" : [
{ "kind" : "IdRef", "name": "'Payload Array'" }
],
"capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTypeNodePayloadArrayAMDX",
+ "class" : "Reserved",
+ "opcode" : 5076,
+ "operands" : [
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name": "'Payload Type'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
"version" : "None"
},
{
@@ -5381,20 +5417,59 @@
{ "kind" : "IdRef", "name": "'Payload'" }
],
"capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
"version" : "None"
},
{
- "opname" : "OpInitializeNodePayloadsAMDX",
+ "opname" : "OpNodePayloadArrayLengthAMDX",
"class" : "Reserved",
"opcode" : 5090,
"operands" : [
- { "kind" : "IdRef", "name": "'Payload Array'" },
- { "kind" : "IdScope", "name": "'Visibility'" },
- { "kind" : "IdRef", "name": "'Payload Count'" },
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name": "'Payload Array'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
+ "version" : "None"
+ },
+ {
+ "opname" : "OpIsNodePayloadValidAMDX",
+ "class" : "Reserved",
+ "opcode" : 5101,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name": "'Payload Type'" },
{ "kind" : "IdRef", "name": "'Node Index'" }
],
"capabilities" : [ "ShaderEnqueueAMDX" ],
- "version" : "None"
+ "provisional" : true,
+ "version": "None"
+ },
+ {
+ "opname" : "OpConstantStringAMDX",
+ "class" : "Reserved",
+ "opcode" : 5103,
+ "operands" : [
+ { "kind" : "IdResult" },
+ { "kind" : "LiteralString", "name": "'Literal String'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
+ "version": "None"
+ },
+ {
+ "opname" : "OpSpecConstantStringAMDX",
+ "class" : "Reserved",
+ "opcode" : 5104,
+ "operands" : [
+ { "kind" : "IdResult" },
+ { "kind" : "LiteralString", "name": "'Literal String'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
+ "version": "None"
},
{
"opname" : "OpGroupNonUniformQuadAllKHR",
@@ -5892,6 +5967,18 @@
"extensions" : [ "SPV_NV_shader_image_footprint" ],
"version" : "None"
},
+ {
+ "opname" : "OpCooperativeMatrixConvertNV",
+ "class" : "Conversion",
+ "opcode" : 5293,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Matrix'" }
+ ],
+ "capabilities" : [ "CooperativeMatrixConversionsNV" ],
+ "version" : "None"
+ },
{
"opname" : "OpEmitMeshTasksEXT",
"class" : "Reserved",
@@ -6206,6 +6293,195 @@
"extensions" : [ "SPV_EXT_fragment_shader_interlock" ],
"version" : "None"
},
+ {
+ "opname" : "OpCooperativeMatrixReduceNV",
+ "class" : "Arithmetic",
+ "opcode" : 5366,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Matrix'" },
+ { "kind" : "CooperativeMatrixReduce", "name" : "'Reduce'" },
+ { "kind" : "IdRef", "name" : "'CombineFunc'" }
+ ],
+ "capabilities" : [ "CooperativeMatrixReductionsNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixLoadTensorNV",
+ "class" : "Memory",
+ "opcode" : 5367,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Pointer'" },
+ { "kind" : "IdRef", "name" : "'Object'" },
+ { "kind" : "IdRef", "name" : "'TensorLayout'" },
+ { "kind" : "MemoryAccess", "name" : "'Memory Operand'"},
+ { "kind" : "TensorAddressingOperands", "name" : "'Tensor Addressing Operands'"}
+ ],
+ "capabilities" : [ "CooperativeMatrixTensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixStoreTensorNV",
+ "class" : "Memory",
+ "opcode" : 5368,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Pointer'" },
+ { "kind" : "IdRef", "name" : "'Object'" },
+ { "kind" : "IdRef", "name" : "'TensorLayout'" },
+ { "kind" : "MemoryAccess", "name" : "'Memory Operand'"},
+ { "kind" : "TensorAddressingOperands", "name" : "'Tensor Addressing Operands'"}
+ ],
+ "capabilities" : [ "CooperativeMatrixTensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixPerElementOpNV",
+ "class" : "Function",
+ "opcode" : 5369,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Matrix'" },
+ { "kind" : "IdRef", "name" : "'Func'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Operands'" }
+ ],
+ "capabilities" : [ "CooperativeMatrixPerElementOperationsNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTypeTensorLayoutNV",
+ "class" : "Type-Declaration",
+ "opcode" : 5370,
+ "operands" : [
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Dim'" },
+ { "kind" : "IdRef", "name" : "'ClampMode'" }
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTypeTensorViewNV",
+ "class" : "Type-Declaration",
+ "opcode" : 5371,
+ "operands" : [
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Dim'" },
+ { "kind" : "IdRef", "name" : "'HasDimensions'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'p'" }
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCreateTensorLayoutNV",
+ "class" : "Reserved",
+ "opcode" : 5372,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" }
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTensorLayoutSetDimensionNV",
+ "class" : "Reserved",
+ "opcode" : 5373,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'TensorLayout'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Dim'" }
+
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTensorLayoutSetStrideNV",
+ "class" : "Reserved",
+ "opcode" : 5374,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'TensorLayout'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Stride'" }
+
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTensorLayoutSliceNV",
+ "class" : "Reserved",
+ "opcode" : 5375,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'TensorLayout'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Operands'" }
+
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTensorLayoutSetClampValueNV",
+ "class" : "Reserved",
+ "opcode" : 5376,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'TensorLayout'" },
+ { "kind" : "IdRef", "name" : "'Value'" }
+
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCreateTensorViewNV",
+ "class" : "Reserved",
+ "opcode" : 5377,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" }
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTensorViewSetDimensionNV",
+ "class" : "Reserved",
+ "opcode" : 5378,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'TensorView'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Dim'" }
+
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTensorViewSetStrideNV",
+ "class" : "Reserved",
+ "opcode" : 5379,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'TensorView'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Stride'" }
+
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
{
"opname" : "OpDemoteToHelperInvocation",
"class" : "Control-Flow",
@@ -6226,6 +6502,48 @@
"extensions" : [ "SPV_EXT_demote_to_helper_invocation" ],
"version" : "None"
},
+ {
+ "opname" : "OpTensorViewSetClipNV",
+ "class" : "Reserved",
+ "opcode" : 5382,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'TensorView'" },
+ { "kind" : "IdRef", "name" : "'ClipRowOffset'" },
+ { "kind" : "IdRef", "name" : "'ClipRowSpan'" },
+ { "kind" : "IdRef", "name" : "'ClipColOffset'" },
+ { "kind" : "IdRef", "name" : "'ClipColSpan'" }
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpTensorLayoutSetBlockSizeNV",
+ "class" : "Reserved",
+ "opcode" : 5384,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'TensorLayout'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'BlockSize'" }
+
+ ],
+ "capabilities" : [ "TensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixTransposeNV",
+ "class" : "Conversion",
+ "opcode" : 5390,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Matrix'" }
+ ],
+ "capabilities" : [ "CooperativeMatrixConversionsNV" ],
+ "version" : "None"
+ },
{
"opname" : "OpConvertUToImageNV",
"class" : "Reserved",
@@ -11308,6 +11626,17 @@
"enumerant" : "CoalescingAMDX",
"value" : 5069,
"capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
+ "version" : "None"
+ },
+ {
+ "enumerant" : "IsApiEntryAMDX",
+ "value" : 5070,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Is Entry'" }
+ ],
+ "provisional" : true,
"version" : "None"
},
{
@@ -11317,6 +11646,7 @@
"parameters" : [
{ "kind" : "IdRef", "name" : "'Number of recursions'" }
],
+ "provisional" : true,
"version" : "None"
},
{
@@ -11328,6 +11658,7 @@
{ "kind" : "IdRef", "name" : "'y size'" },
{ "kind" : "IdRef", "name" : "'z size'" }
],
+ "provisional" : true,
"version" : "None"
},
{
@@ -11337,6 +11668,7 @@
"parameters" : [
{ "kind" : "IdRef", "name" : "'Shader Index'" }
],
+ "provisional" : true,
"version" : "None"
},
{
@@ -11348,6 +11680,7 @@
{ "kind" : "IdRef", "name" : "'y size'" },
{ "kind" : "IdRef", "name" : "'z size'" }
],
+ "provisional" : true,
"version" : "None"
},
{
@@ -11404,6 +11737,17 @@
"capabilities" : [ "QuadControlKHR" ],
"version" : "None"
},
+ {
+ "enumerant" : "SharesInputWithAMDX",
+ "value" : 5102,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Node Name'" },
+ { "kind" : "IdRef", "name" : "'Shader Index'" }
+ ],
+ "provisional" : true,
+ "version" : "None"
+ },
{
"enumerant" : "OutputLinesEXT",
"aliases" : ["OutputLinesNV"],
@@ -11745,12 +12089,7 @@
"enumerant" : "NodePayloadAMDX",
"value" : 5068,
"capabilities" : [ "ShaderEnqueueAMDX" ],
- "version" : "None"
- },
- {
- "enumerant" : "NodeOutputPayloadAMDX",
- "value" : 5076,
- "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
"version" : "None"
},
{
@@ -13092,8 +13431,9 @@
"value" : 5019,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"parameters" : [
- { "kind" : "IdRef", "name" : "'Payload Array'" }
+ { "kind" : "IdRef", "name" : "'Payload Type'" }
],
+ "provisional" : true,
"version" : "None"
},
{
@@ -13103,12 +13443,14 @@
"parameters" : [
{ "kind" : "IdRef", "name" : "'Max number of payloads'" }
],
+ "provisional" : true,
"version" : "None"
},
{
"enumerant" : "TrackFinishWritingAMDX",
"value" : 5078,
"capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
"version" : "None"
},
{
@@ -13116,8 +13458,43 @@
"value" : 5091,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"parameters" : [
- { "kind" : "LiteralString", "name" : "'Node Name'" }
+ { "kind" : "IdRef", "name" : "'Node Name'" }
],
+ "provisional" : true,
+ "version" : "None"
+ },
+ {
+ "enumerant" : "PayloadNodeBaseIndexAMDX",
+ "value" : 5098,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Base Index'" }
+ ],
+ "provisional" : true,
+ "version" : "None"
+ },
+ {
+ "enumerant" : "PayloadNodeSparseArrayAMDX",
+ "value" : 5099,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
+ "version" : "None"
+ },
+ {
+ "enumerant" : "PayloadNodeArraySizeAMDX",
+ "value" : 5100,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Array Size'" }
+ ],
+ "provisional" : true,
+ "version" : "None"
+ },
+ {
+ "enumerant" : "PayloadDispatchIndirectAMDX",
+ "value" : 5105,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
"version" : "None"
},
{
@@ -14196,15 +14573,17 @@
"version" : "None"
},
{
- "enumerant" : "CoalescedInputCountAMDX",
+ "enumerant" : "RemainingRecursionLevelsAMDX",
"value" : 5021,
"capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
"version" : "None"
},
{
"enumerant" : "ShaderIndexAMDX",
"value" : 5073,
"capabilities" : [ "ShaderEnqueueAMDX" ],
+ "provisional" : true,
"version" : "None"
},
{
@@ -15295,6 +15674,7 @@
"enumerant" : "UntypedPointersKHR",
"value" : 4473,
"extensions" : [ "SPV_KHR_untyped_pointers" ],
+ "provisional" : true,
"version" : "None"
},
{
@@ -15388,6 +15768,7 @@
"value" : 5067,
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_AMDX_shader_enqueue" ],
+ "provisional" : true,
"version" : "None"
},
{
@@ -15395,7 +15776,7 @@
"value" : 5087,
"extensions" : [ "SPV_KHR_quad_control" ],
"version" : "None"
- },
+ },
{
"enumerant" : "SampleMaskOverrideCoverageNV",
"value" : 5249,
@@ -15745,6 +16126,42 @@
"extensions" : [ "SPV_NV_raw_access_chains" ],
"version" : "None"
},
+ {
+ "enumerant" : "CooperativeMatrixReductionsNV",
+ "value" : 5430,
+ "extensions" : [ "SPV_NV_cooperative_matrix2" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "CooperativeMatrixConversionsNV",
+ "value" : 5431,
+ "extensions" : [ "SPV_NV_cooperative_matrix2" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "CooperativeMatrixPerElementOperationsNV",
+ "value" : 5432,
+ "extensions" : [ "SPV_NV_cooperative_matrix2" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "CooperativeMatrixTensorAddressingNV",
+ "value" : 5433,
+ "extensions" : [ "SPV_NV_cooperative_matrix2" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "CooperativeMatrixBlockLoadsNV",
+ "value" : 5434,
+ "extensions" : [ "SPV_NV_cooperative_matrix2" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TensorAddressingNV",
+ "value" : 5439,
+ "extensions" : [ "SPV_NV_tensor_addressing" ],
+ "version" : "None"
+ },
{
"enumerant" : "SubgroupShuffleINTEL",
"value" : 5568,
@@ -16353,6 +16770,87 @@
}
]
},
+ {
+ "category" : "BitEnum",
+ "kind" : "CooperativeMatrixReduce",
+ "enumerants" : [
+ {
+ "enumerant" : "Row",
+ "value" : "0x0001",
+ "version" : "None"
+ },
+ {
+ "enumerant" : "Column",
+ "value" : "0x0002",
+ "version" : "None"
+ },
+ {
+ "enumerant" : "2x2",
+ "value" : "0x0004",
+ "version" : "None"
+ }
+ ]
+ },
+ {
+ "category" : "ValueEnum",
+ "kind" : "TensorClampMode",
+ "enumerants" : [
+ {
+ "enumerant" : "Undefined",
+ "value" : 0,
+ "version": "None"
+ },
+ {
+ "enumerant" : "Constant",
+ "value" : 1,
+ "version": "None"
+ },
+ {
+ "enumerant" : "ClampToEdge",
+ "value" : 2,
+ "version": "None"
+ },
+ {
+ "enumerant" : "Repeat",
+ "value" : 3,
+ "version": "None"
+ },
+ {
+ "enumerant" : "RepeatMirrored",
+ "value" : 4,
+ "version": "None"
+ }
+ ]
+ },
+ {
+ "category" : "BitEnum",
+ "kind" : "TensorAddressingOperands",
+ "enumerants" : [
+ {
+ "enumerant" : "None",
+ "value" : "0x0000",
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TensorView",
+ "value" : "0x0001",
+ "parameters" : [
+ { "kind" : "IdRef" }
+ ],
+ "capabilities" : [ "CooperativeMatrixTensorAddressingNV" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "DecodeFunc",
+ "value" : "0x0002",
+ "parameters" : [
+ { "kind" : "IdRef" }
+ ],
+ "capabilities" : [ "CooperativeMatrixBlockLoadsNV" ],
+ "version" : "None"
+ }
+ ]
+ },
{
"category" : "ValueEnum",
"kind" : "InitializationModeQualifier",
diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h
index d81f6be471a..9b1793c118a 100644
--- a/src/compiler/spirv/spirv.h
+++ b/src/compiler/spirv/spirv.h
@@ -13,7 +13,7 @@
**
** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
+** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
@@ -178,6 +178,7 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
SpvExecutionModeStencilRefReplacingEXT = 5027,
SpvExecutionModeCoalescingAMDX = 5069,
+ SpvExecutionModeIsApiEntryAMDX = 5070,
SpvExecutionModeMaxNodeRecursionAMDX = 5071,
SpvExecutionModeStaticNumWorkgroupsAMDX = 5072,
SpvExecutionModeShaderIndexAMDX = 5073,
@@ -190,6 +191,7 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeStencilRefLessBackAMD = 5084,
SpvExecutionModeQuadDerivativesKHR = 5088,
SpvExecutionModeRequireFullQuadsKHR = 5089,
+ SpvExecutionModeSharesInputWithAMDX = 5102,
SpvExecutionModeOutputLinesEXT = 5269,
SpvExecutionModeOutputLinesNV = 5269,
SpvExecutionModeOutputPrimitivesEXT = 5270,
@@ -243,7 +245,6 @@ typedef enum SpvStorageClass_ {
SpvStorageClassStorageBuffer = 12,
SpvStorageClassTileImageEXT = 4172,
SpvStorageClassNodePayloadAMDX = 5068,
- SpvStorageClassNodeOutputPayloadAMDX = 5076,
SpvStorageClassCallableDataKHR = 5328,
SpvStorageClassCallableDataNV = 5328,
SpvStorageClassIncomingCallableDataKHR = 5329,
@@ -556,6 +557,10 @@ typedef enum SpvDecoration_ {
SpvDecorationNodeMaxPayloadsAMDX = 5020,
SpvDecorationTrackFinishWritingAMDX = 5078,
SpvDecorationPayloadNodeNameAMDX = 5091,
+ SpvDecorationPayloadNodeBaseIndexAMDX = 5098,
+ SpvDecorationPayloadNodeSparseArrayAMDX = 5099,
+ SpvDecorationPayloadNodeArraySizeAMDX = 5100,
+ SpvDecorationPayloadDispatchIndirectAMDX = 5105,
SpvDecorationOverrideCoverageNV = 5248,
SpvDecorationPassthroughNV = 5250,
SpvDecorationViewportRelativeNV = 5252,
@@ -719,7 +724,7 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
SpvBuiltInBaryCoordPullModelAMD = 4998,
SpvBuiltInFragStencilRefEXT = 5014,
- SpvBuiltInCoalescedInputCountAMDX = 5021,
+ SpvBuiltInRemainingRecursionLevelsAMDX = 5021,
SpvBuiltInShaderIndexAMDX = 5073,
SpvBuiltInViewportMaskNV = 5253,
SpvBuiltInSecondaryPositionNV = 5257,
@@ -1169,6 +1174,12 @@ typedef enum SpvCapability_ {
SpvCapabilityAtomicFloat16VectorNV = 5404,
SpvCapabilityRayTracingDisplacementMicromapNV = 5409,
SpvCapabilityRawAccessChainsNV = 5414,
+ SpvCapabilityCooperativeMatrixReductionsNV = 5430,
+ SpvCapabilityCooperativeMatrixConversionsNV = 5431,
+ SpvCapabilityCooperativeMatrixPerElementOperationsNV = 5432,
+ SpvCapabilityCooperativeMatrixTensorAddressingNV = 5433,
+ SpvCapabilityCooperativeMatrixBlockLoadsNV = 5434,
+ SpvCapabilityTensorAddressingNV = 5439,
SpvCapabilitySubgroupShuffleINTEL = 5568,
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1386,6 +1397,41 @@ typedef enum SpvCooperativeMatrixUse_ {
SpvCooperativeMatrixUseMax = 0x7fffffff,
} SpvCooperativeMatrixUse;
+typedef enum SpvCooperativeMatrixReduceShift_ {
+ SpvCooperativeMatrixReduceRowShift = 0,
+ SpvCooperativeMatrixReduceColumnShift = 1,
+ SpvCooperativeMatrixReduce2x2Shift = 2,
+ SpvCooperativeMatrixReduceMax = 0x7fffffff,
+} SpvCooperativeMatrixReduceShift;
+
+typedef enum SpvCooperativeMatrixReduceMask_ {
+ SpvCooperativeMatrixReduceMaskNone = 0,
+ SpvCooperativeMatrixReduceRowMask = 0x00000001,
+ SpvCooperativeMatrixReduceColumnMask = 0x00000002,
+ SpvCooperativeMatrixReduce2x2Mask = 0x00000004,
+} SpvCooperativeMatrixReduceMask;
+
+typedef enum SpvTensorClampMode_ {
+ SpvTensorClampModeUndefined = 0,
+ SpvTensorClampModeConstant = 1,
+ SpvTensorClampModeClampToEdge = 2,
+ SpvTensorClampModeRepeat = 3,
+ SpvTensorClampModeRepeatMirrored = 4,
+ SpvTensorClampModeMax = 0x7fffffff,
+} SpvTensorClampMode;
+
+typedef enum SpvTensorAddressingOperandsShift_ {
+ SpvTensorAddressingOperandsTensorViewShift = 0,
+ SpvTensorAddressingOperandsDecodeFuncShift = 1,
+ SpvTensorAddressingOperandsMax = 0x7fffffff,
+} SpvTensorAddressingOperandsShift;
+
+typedef enum SpvTensorAddressingOperandsMask_ {
+ SpvTensorAddressingOperandsMaskNone = 0,
+ SpvTensorAddressingOperandsTensorViewMask = 0x00000001,
+ SpvTensorAddressingOperandsDecodeFuncMask = 0x00000002,
+} SpvTensorAddressingOperandsMask;
+
typedef enum SpvInitializationModeQualifier_ {
SpvInitializationModeQualifierInitOnDeviceReprogramINTEL = 0,
SpvInitializationModeQualifierInitOnDeviceResetINTEL = 1,
@@ -1854,9 +1900,14 @@ typedef enum SpvOp_ {
SpvOpFragmentMaskFetchAMD = 5011,
SpvOpFragmentFetchAMD = 5012,
SpvOpReadClockKHR = 5056,
- SpvOpFinalizeNodePayloadsAMDX = 5075,
+ SpvOpAllocateNodePayloadsAMDX = 5074,
+ SpvOpEnqueueNodePayloadsAMDX = 5075,
+ SpvOpTypeNodePayloadArrayAMDX = 5076,
SpvOpFinishWritingNodePayloadAMDX = 5078,
- SpvOpInitializeNodePayloadsAMDX = 5090,
+ SpvOpNodePayloadArrayLengthAMDX = 5090,
+ SpvOpIsNodePayloadValidAMDX = 5101,
+ SpvOpConstantStringAMDX = 5103,
+ SpvOpSpecConstantStringAMDX = 5104,
SpvOpGroupNonUniformQuadAllKHR = 5110,
SpvOpGroupNonUniformQuadAnyKHR = 5111,
SpvOpHitObjectRecordHitMotionNV = 5249,
@@ -1893,6 +1944,7 @@ typedef enum SpvOp_ {
SpvOpReorderThreadWithHintNV = 5280,
SpvOpTypeHitObjectNV = 5281,
SpvOpImageSampleFootprintNV = 5283,
+ SpvOpCooperativeMatrixConvertNV = 5293,
SpvOpEmitMeshTasksEXT = 5294,
SpvOpSetMeshOutputsEXT = 5295,
SpvOpGroupNonUniformPartitionNV = 5296,
@@ -1917,9 +1969,26 @@ typedef enum SpvOp_ {
SpvOpCooperativeMatrixLengthNV = 5362,
SpvOpBeginInvocationInterlockEXT = 5364,
SpvOpEndInvocationInterlockEXT = 5365,
+ SpvOpCooperativeMatrixReduceNV = 5366,
+ SpvOpCooperativeMatrixLoadTensorNV = 5367,
+ SpvOpCooperativeMatrixStoreTensorNV = 5368,
+ SpvOpCooperativeMatrixPerElementOpNV = 5369,
+ SpvOpTypeTensorLayoutNV = 5370,
+ SpvOpTypeTensorViewNV = 5371,
+ SpvOpCreateTensorLayoutNV = 5372,
+ SpvOpTensorLayoutSetDimensionNV = 5373,
+ SpvOpTensorLayoutSetStrideNV = 5374,
+ SpvOpTensorLayoutSliceNV = 5375,
+ SpvOpTensorLayoutSetClampValueNV = 5376,
+ SpvOpCreateTensorViewNV = 5377,
+ SpvOpTensorViewSetDimensionNV = 5378,
+ SpvOpTensorViewSetStrideNV = 5379,
SpvOpDemoteToHelperInvocation = 5380,
SpvOpDemoteToHelperInvocationEXT = 5380,
SpvOpIsHelperInvocationEXT = 5381,
+ SpvOpTensorViewSetClipNV = 5382,
+ SpvOpTensorLayoutSetBlockSizeNV = 5384,
+ SpvOpCooperativeMatrixTransposeNV = 5390,
SpvOpConvertUToImageNV = 5391,
SpvOpConvertUToSamplerNV = 5392,
SpvOpConvertImageToUNV = 5393,
@@ -2606,9 +2675,14 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
- case SpvOpFinalizeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case SpvOpAllocateNodePayloadsAMDX: *hasResult = true; *hasResultType = true; break;
+ case SpvOpEnqueueNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case SpvOpTypeNodePayloadArrayAMDX: *hasResult = true; *hasResultType = false; break;
case SpvOpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
- case SpvOpInitializeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case SpvOpNodePayloadArrayLengthAMDX: *hasResult = true; *hasResultType = true; break;
+ case SpvOpIsNodePayloadValidAMDX: *hasResult = true; *hasResultType = true; break;
+ case SpvOpConstantStringAMDX: *hasResult = true; *hasResultType = false; break;
+ case SpvOpSpecConstantStringAMDX: *hasResult = true; *hasResultType = false; break;
case SpvOpGroupNonUniformQuadAllKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupNonUniformQuadAnyKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
@@ -2645,6 +2719,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpReorderThreadWithHintNV: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeHitObjectNV: *hasResult = true; *hasResultType = false; break;
case SpvOpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpCooperativeMatrixConvertNV: *hasResult = true; *hasResultType = true; break;
case SpvOpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
case SpvOpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
@@ -2667,8 +2742,25 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case SpvOpCooperativeMatrixReduceNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpCooperativeMatrixLoadTensorNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpCooperativeMatrixStoreTensorNV: *hasResult = false; *hasResultType = false; break;
+ case SpvOpCooperativeMatrixPerElementOpNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTypeTensorLayoutNV: *hasResult = true; *hasResultType = false; break;
+ case SpvOpTypeTensorViewNV: *hasResult = true; *hasResultType = false; break;
+ case SpvOpCreateTensorLayoutNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTensorLayoutSetDimensionNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTensorLayoutSetStrideNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTensorLayoutSliceNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTensorLayoutSetClampValueNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpCreateTensorViewNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTensorViewSetDimensionNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTensorViewSetStrideNV: *hasResult = true; *hasResultType = true; break;
case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTensorViewSetClipNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpTensorLayoutSetBlockSizeNV: *hasResult = true; *hasResultType = true; break;
+ case SpvOpCooperativeMatrixTransposeNV: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
case SpvOpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
@@ -3050,6 +3142,7 @@ inline const char* SpvExecutionModeToString(SpvExecutionMode value) {
case SpvExecutionModeEarlyAndLateFragmentTestsAMD: return "EarlyAndLateFragmentTestsAMD";
case SpvExecutionModeStencilRefReplacingEXT: return "StencilRefReplacingEXT";
case SpvExecutionModeCoalescingAMDX: return "CoalescingAMDX";
+ case SpvExecutionModeIsApiEntryAMDX: return "IsApiEntryAMDX";
case SpvExecutionModeMaxNodeRecursionAMDX: return "MaxNodeRecursionAMDX";
case SpvExecutionModeStaticNumWorkgroupsAMDX: return "StaticNumWorkgroupsAMDX";
case SpvExecutionModeShaderIndexAMDX: return "ShaderIndexAMDX";
@@ -3062,6 +3155,7 @@ inline const char* SpvExecutionModeToString(SpvExecutionMode value) {
case SpvExecutionModeStencilRefLessBackAMD: return "StencilRefLessBackAMD";
case SpvExecutionModeQuadDerivativesKHR: return "QuadDerivativesKHR";
case SpvExecutionModeRequireFullQuadsKHR: return "RequireFullQuadsKHR";
+ case SpvExecutionModeSharesInputWithAMDX: return "SharesInputWithAMDX";
case SpvExecutionModeOutputLinesEXT: return "OutputLinesEXT";
case SpvExecutionModeOutputPrimitivesEXT: return "OutputPrimitivesEXT";
case SpvExecutionModeDerivativeGroupQuadsKHR: return "DerivativeGroupQuadsKHR";
@@ -3112,7 +3206,6 @@ inline const char* SpvStorageClassToString(SpvStorageClass value) {
case SpvStorageClassStorageBuffer: return "StorageBuffer";
case SpvStorageClassTileImageEXT: return "TileImageEXT";
case SpvStorageClassNodePayloadAMDX: return "NodePayloadAMDX";
- case SpvStorageClassNodeOutputPayloadAMDX: return "NodeOutputPayloadAMDX";
case SpvStorageClassCallableDataKHR: return "CallableDataKHR";
case SpvStorageClassIncomingCallableDataKHR: return "IncomingCallableDataKHR";
case SpvStorageClassRayPayloadKHR: return "RayPayloadKHR";
@@ -3364,6 +3457,10 @@ inline const char* SpvDecorationToString(SpvDecoration value) {
case SpvDecorationNodeMaxPayloadsAMDX: return "NodeMaxPayloadsAMDX";
case SpvDecorationTrackFinishWritingAMDX: return "TrackFinishWritingAMDX";
case SpvDecorationPayloadNodeNameAMDX: return "PayloadNodeNameAMDX";
+ case SpvDecorationPayloadNodeBaseIndexAMDX: return "PayloadNodeBaseIndexAMDX";
+ case SpvDecorationPayloadNodeSparseArrayAMDX: return "PayloadNodeSparseArrayAMDX";
+ case SpvDecorationPayloadNodeArraySizeAMDX: return "PayloadNodeArraySizeAMDX";
+ case SpvDecorationPayloadDispatchIndirectAMDX: return "PayloadDispatchIndirectAMDX";
case SpvDecorationOverrideCoverageNV: return "OverrideCoverageNV";
case SpvDecorationPassthroughNV: return "PassthroughNV";
case SpvDecorationViewportRelativeNV: return "ViewportRelativeNV";
@@ -3517,7 +3614,7 @@ inline const char* SpvBuiltInToString(SpvBuiltIn value) {
case SpvBuiltInBaryCoordSmoothSampleAMD: return "BaryCoordSmoothSampleAMD";
case SpvBuiltInBaryCoordPullModelAMD: return "BaryCoordPullModelAMD";
case SpvBuiltInFragStencilRefEXT: return "FragStencilRefEXT";
- case SpvBuiltInCoalescedInputCountAMDX: return "CoalescedInputCountAMDX";
+ case SpvBuiltInRemainingRecursionLevelsAMDX: return "RemainingRecursionLevelsAMDX";
case SpvBuiltInShaderIndexAMDX: return "ShaderIndexAMDX";
case SpvBuiltInViewportMaskNV: return "ViewportMaskNV";
case SpvBuiltInSecondaryPositionNV: return "SecondaryPositionNV";
@@ -3774,6 +3871,12 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
case SpvCapabilityAtomicFloat16VectorNV: return "AtomicFloat16VectorNV";
case SpvCapabilityRayTracingDisplacementMicromapNV: return "RayTracingDisplacementMicromapNV";
case SpvCapabilityRawAccessChainsNV: return "RawAccessChainsNV";
+ case SpvCapabilityCooperativeMatrixReductionsNV: return "CooperativeMatrixReductionsNV";
+ case SpvCapabilityCooperativeMatrixConversionsNV: return "CooperativeMatrixConversionsNV";
+ case SpvCapabilityCooperativeMatrixPerElementOperationsNV: return "CooperativeMatrixPerElementOperationsNV";
+ case SpvCapabilityCooperativeMatrixTensorAddressingNV: return "CooperativeMatrixTensorAddressingNV";
+ case SpvCapabilityCooperativeMatrixBlockLoadsNV: return "CooperativeMatrixBlockLoadsNV";
+ case SpvCapabilityTensorAddressingNV: return "TensorAddressingNV";
case SpvCapabilitySubgroupShuffleINTEL: return "SubgroupShuffleINTEL";
case SpvCapabilitySubgroupBufferBlockIOINTEL: return "SubgroupBufferBlockIOINTEL";
case SpvCapabilitySubgroupImageBlockIOINTEL: return "SubgroupImageBlockIOINTEL";
@@ -3942,6 +4045,17 @@ inline const char* SpvCooperativeMatrixUseToString(SpvCooperativeMatrixUse value
}
}
+inline const char* SpvTensorClampModeToString(SpvTensorClampMode value) {
+ switch (value) {
+ case SpvTensorClampModeUndefined: return "Undefined";
+ case SpvTensorClampModeConstant: return "Constant";
+ case SpvTensorClampModeClampToEdge: return "ClampToEdge";
+ case SpvTensorClampModeRepeat: return "Repeat";
+ case SpvTensorClampModeRepeatMirrored: return "RepeatMirrored";
+ default: return "Unknown";
+ }
+}
+
inline const char* SpvInitializationModeQualifierToString(SpvInitializationModeQualifier value) {
switch (value) {
case SpvInitializationModeQualifierInitOnDeviceReprogramINTEL: return "InitOnDeviceReprogramINTEL";
@@ -4405,9 +4519,14 @@ inline const char* SpvOpToString(SpvOp value) {
case SpvOpFragmentMaskFetchAMD: return "OpFragmentMaskFetchAMD";
case SpvOpFragmentFetchAMD: return "OpFragmentFetchAMD";
case SpvOpReadClockKHR: return "OpReadClockKHR";
- case SpvOpFinalizeNodePayloadsAMDX: return "OpFinalizeNodePayloadsAMDX";
+ case SpvOpAllocateNodePayloadsAMDX: return "OpAllocateNodePayloadsAMDX";
+ case SpvOpEnqueueNodePayloadsAMDX: return "OpEnqueueNodePayloadsAMDX";
+ case SpvOpTypeNodePayloadArrayAMDX: return "OpTypeNodePayloadArrayAMDX";
case SpvOpFinishWritingNodePayloadAMDX: return "OpFinishWritingNodePayloadAMDX";
- case SpvOpInitializeNodePayloadsAMDX: return "OpInitializeNodePayloadsAMDX";
+ case SpvOpNodePayloadArrayLengthAMDX: return "OpNodePayloadArrayLengthAMDX";
+ case SpvOpIsNodePayloadValidAMDX: return "OpIsNodePayloadValidAMDX";
+ case SpvOpConstantStringAMDX: return "OpConstantStringAMDX";
+ case SpvOpSpecConstantStringAMDX: return "OpSpecConstantStringAMDX";
case SpvOpGroupNonUniformQuadAllKHR: return "OpGroupNonUniformQuadAllKHR";
case SpvOpGroupNonUniformQuadAnyKHR: return "OpGroupNonUniformQuadAnyKHR";
case SpvOpHitObjectRecordHitMotionNV: return "OpHitObjectRecordHitMotionNV";
@@ -4444,6 +4563,7 @@ inline const char* SpvOpToString(SpvOp value) {
case SpvOpReorderThreadWithHintNV: return "OpReorderThreadWithHintNV";
case SpvOpTypeHitObjectNV: return "OpTypeHitObjectNV";
case SpvOpImageSampleFootprintNV: return "OpImageSampleFootprintNV";
+ case SpvOpCooperativeMatrixConvertNV: return "OpCooperativeMatrixConvertNV";
case SpvOpEmitMeshTasksEXT: return "OpEmitMeshTasksEXT";
case SpvOpSetMeshOutputsEXT: return "OpSetMeshOutputsEXT";
case SpvOpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV";
@@ -4466,8 +4586,25 @@ inline const char* SpvOpToString(SpvOp value) {
case SpvOpCooperativeMatrixLengthNV: return "OpCooperativeMatrixLengthNV";
case SpvOpBeginInvocationInterlockEXT: return "OpBeginInvocationInterlockEXT";
case SpvOpEndInvocationInterlockEXT: return "OpEndInvocationInterlockEXT";
+ case SpvOpCooperativeMatrixReduceNV: return "OpCooperativeMatrixReduceNV";
+ case SpvOpCooperativeMatrixLoadTensorNV: return "OpCooperativeMatrixLoadTensorNV";
+ case SpvOpCooperativeMatrixStoreTensorNV: return "OpCooperativeMatrixStoreTensorNV";
+ case SpvOpCooperativeMatrixPerElementOpNV: return "OpCooperativeMatrixPerElementOpNV";
+ case SpvOpTypeTensorLayoutNV: return "OpTypeTensorLayoutNV";
+ case SpvOpTypeTensorViewNV: return "OpTypeTensorViewNV";
+ case SpvOpCreateTensorLayoutNV: return "OpCreateTensorLayoutNV";
+ case SpvOpTensorLayoutSetDimensionNV: return "OpTensorLayoutSetDimensionNV";
+ case SpvOpTensorLayoutSetStrideNV: return "OpTensorLayoutSetStrideNV";
+ case SpvOpTensorLayoutSliceNV: return "OpTensorLayoutSliceNV";
+ case SpvOpTensorLayoutSetClampValueNV: return "OpTensorLayoutSetClampValueNV";
+ case SpvOpCreateTensorViewNV: return "OpCreateTensorViewNV";
+ case SpvOpTensorViewSetDimensionNV: return "OpTensorViewSetDimensionNV";
+ case SpvOpTensorViewSetStrideNV: return "OpTensorViewSetStrideNV";
case SpvOpDemoteToHelperInvocation: return "OpDemoteToHelperInvocation";
case SpvOpIsHelperInvocationEXT: return "OpIsHelperInvocationEXT";
+ case SpvOpTensorViewSetClipNV: return "OpTensorViewSetClipNV";
+ case SpvOpTensorLayoutSetBlockSizeNV: return "OpTensorLayoutSetBlockSizeNV";
+ case SpvOpCooperativeMatrixTransposeNV: return "OpCooperativeMatrixTransposeNV";
case SpvOpConvertUToImageNV: return "OpConvertUToImageNV";
case SpvOpConvertUToSamplerNV: return "OpConvertUToSamplerNV";
case SpvOpConvertImageToUNV: return "OpConvertImageToUNV";
diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
index 9145486c4a9..da30508a25f 100644
--- a/src/compiler/spirv/spirv_to_nir.c
+++ b/src/compiler/spirv/spirv_to_nir.c
@@ -6101,10 +6101,10 @@ vtn_handle_ray_query_intrinsic(struct vtn_builder *b, SpvOp opcode,
}
static void
-vtn_handle_initialize_node_payloads(struct vtn_builder *b, SpvOp opcode,
+vtn_handle_allocate_node_payloads(struct vtn_builder *b, SpvOp opcode,
const uint32_t *w, unsigned count)
{
- vtn_assert(opcode == SpvOpInitializeNodePayloadsAMDX);
+ vtn_assert(opcode == SpvOpAllocateNodePayloadsAMDX);
nir_def *payloads = vtn_ssa_value(b, w[1])->def;
mesa_scope scope = vtn_translate_scope(b, vtn_constant_uint(b, w[2]));
@@ -6621,11 +6621,8 @@ vtn_handle_body_instruction(struct vtn_builder *b, SpvOp opcode,
nir_undef(&b->nb, 1, 32));
break;
- case SpvOpInitializeNodePayloadsAMDX:
- vtn_handle_initialize_node_payloads(b, opcode, w, count);
- break;
-
- case SpvOpFinalizeNodePayloadsAMDX:
+ case SpvOpAllocateNodePayloadsAMDX:
+ vtn_handle_allocate_node_payloads(b, opcode, w, count);
break;
case SpvOpFinishWritingNodePayloadAMDX:
diff --git a/src/compiler/spirv/vtn_gather_types_c.py b/src/compiler/spirv/vtn_gather_types_c.py
index 489243c12b5..5840b62dd44 100644
--- a/src/compiler/spirv/vtn_gather_types_c.py
+++ b/src/compiler/spirv/vtn_gather_types_c.py
@@ -52,6 +52,8 @@ def find_result_types(spirv):
elif res_arg_idx >= 0:
untyped_insts = [
'OpString',
+ 'OpConstantStringAMDX',
+ 'OpSpecConstantStringAMDX',
'OpExtInstImport',
'OpDecorationGroup',
'OpLabel',
diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c
index 54a5a0d7dda..f5b276bfc06 100644
--- a/src/compiler/spirv/vtn_variables.c
+++ b/src/compiler/spirv/vtn_variables.c
@@ -1282,10 +1282,6 @@ vtn_get_builtin_location(struct vtn_builder *b,
*location = SYSTEM_VALUE_SHADER_INDEX;
set_mode_system_value(b, mode);
break;
- case SpvBuiltInCoalescedInputCountAMDX:
- *location = SYSTEM_VALUE_COALESCED_INPUT_COUNT;
- set_mode_system_value(b, mode);
- break;
case SpvBuiltInWarpsPerSMNV:
*location = SYSTEM_VALUE_WARPS_PER_SM_NV;
@@ -1853,10 +1849,6 @@ vtn_storage_class_to_mode(struct vtn_builder *b,
mode = vtn_variable_mode_node_payload;
nir_mode = nir_var_mem_node_payload_in;
break;
- case SpvStorageClassNodeOutputPayloadAMDX:
- mode = vtn_variable_mode_node_payload;
- nir_mode = nir_var_mem_node_payload;
- break;
case SpvStorageClassGeneric:
mode = vtn_variable_mode_generic;
diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml
index 00d97f14c1f..069c43daed9 100644
--- a/src/vulkan/registry/vk.xml
+++ b/src/vulkan/registry/vk.xml
@@ -76,6 +76,7 @@ branch of the member gitlab server.
+
@@ -175,11 +176,11 @@ 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 296
+#define VK_HEADER_VERSION 302
// 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 15
+#define VK_HEADER_VERSION 16
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION)
@@ -490,7 +491,7 @@ typedef void* MTLSharedEvent_id;
typedef VkFlags VkVideoCodecOperationFlagsKHR;
typedef VkFlags VkVideoCapabilityFlagsKHR;
typedef VkFlags VkVideoSessionCreateFlagsKHR;
- typedef VkFlags VkVideoSessionParametersCreateFlagsKHR;
+ typedef VkFlags VkVideoSessionParametersCreateFlagsKHR;
typedef VkFlags VkVideoBeginCodingFlagsKHR;
typedef VkFlags VkVideoEndCodingFlagsKHR;
typedef VkFlags VkVideoCodingControlFlagsKHR;
@@ -504,7 +505,7 @@ typedef void* MTLSharedEvent_id;
typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR;
Video Encode Core extension
- typedef VkFlags VkVideoEncodeFlagsKHR;
+ typedef VkFlags VkVideoEncodeFlagsKHR;
typedef VkFlags VkVideoEncodeUsageFlagsKHR;
typedef VkFlags VkVideoEncodeContentFlagsKHR;
typedef VkFlags VkVideoEncodeCapabilityFlagsKHR;
@@ -526,6 +527,12 @@ typedef void* MTLSharedEvent_id;
typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR;
typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR;
+ Video Encode AV1 extension
+ typedef VkFlags VkVideoEncodeAV1CapabilityFlagsKHR;
+ typedef VkFlags VkVideoEncodeAV1StdFlagsKHR;
+ typedef VkFlags VkVideoEncodeAV1RateControlFlagsKHR;
+ typedef VkFlags VkVideoEncodeAV1SuperblockSizeFlagsKHR;
+
Types which can be void pointers or class pointers, selected at compile time
VK_DEFINE_HANDLE(VkInstance)
VK_DEFINE_HANDLE(VkPhysicalDevice)
@@ -816,6 +823,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -903,6 +911,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -936,6 +945,14 @@ typedef void* MTLSharedEvent_id;
+ Video AV1 Encode extensions
+
+
+
+
+
+
+
The PFN_vk*Function types are used by VkAllocationCallbacks below
typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
void* pUserData,
@@ -2162,6 +2179,11 @@ typedef void* MTLSharedEvent_id;
VkDisplayPlaneAlphaFlagBitsKHR alphaModeThe type of alpha blending to use. Must be one of the bits from VkDisplayPlaneCapabilitiesKHR::supportedAlpha for this display plane
VkExtent2D imageExtentsize of the images to use with this surface
+
+ VkStructureType sType
+ const void* pNext
+ VkDisplaySurfaceStereoTypeNV stereoTypeThe 3D stereo type to use when presenting this surface.
+
VkStructureType sType
const void* pNext
@@ -2438,7 +2460,7 @@ typedef void* MTLSharedEvent_id;
VkStructureType sType
void* pNext
- VkBool32 deviceGeneratedCommands
+ VkBool32 deviceGeneratedCommands
VkStructureType sType
@@ -3004,10 +3026,10 @@ typedef void* MTLSharedEvent_id;
VkStructureType sType
void* pNext
- VkBool32 sciSyncFence
+ VkBool32 sciSyncFence
VkBool32 sciSyncSemaphore2
- VkBool32 sciSyncImport
- VkBool32 sciSyncExport
+ VkBool32 sciSyncImport
+ VkBool32 sciSyncExport
VkStructureType sType
@@ -3267,6 +3289,12 @@ typedef void* MTLSharedEvent_id;
float maxContentLightLevelContent maximum luminance
float maxFrameAverageLightLevel
+
+ VkStructureType sType
+ const void* pNext
+ size_t dynamicMetadataSizeSpecified in bytes
+ const void* pDynamicMetadataBinary code of size dynamicMetadataSize
+
VkStructureType sType
void* pNext
@@ -3400,6 +3428,11 @@ typedef void* MTLSharedEvent_id;
void* pNext
VkDisplayModePropertiesKHR displayModeProperties
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 hdmi3DSupportedWhether this mode supports HDMI 3D stereo rendering.
+
VkStructureType sType
const void* pNext
@@ -4600,8 +4633,8 @@ typedef void* MTLSharedEvent_id;
VkStructureType sType
void* pNext
- VkBool32 taskShader
- VkBool32 meshShader
+ VkBool32 taskShader
+ VkBool32 meshShader
VkStructureType sType
@@ -5041,9 +5074,9 @@ typedef void* MTLSharedEvent_id;
VkStructureType sType
void* pNext
- VkBool32 bufferDeviceAddress
- VkBool32 bufferDeviceAddressCaptureReplay
- VkBool32 bufferDeviceAddressMultiDevice
+ VkBool32 bufferDeviceAddress
+ VkBool32 bufferDeviceAddressCaptureReplay
+ VkBool32 bufferDeviceAddressMultiDevice
@@ -5116,8 +5149,8 @@ typedef void* MTLSharedEvent_id;
VkStructureType sType
void* pNext
- VkBool32 cooperativeMatrix
- VkBool32 cooperativeMatrixRobustBufferAccess
+ VkBool32 cooperativeMatrix
+ VkBool32 cooperativeMatrixRobustBufferAccess
VkStructureType sType
@@ -5300,7 +5333,7 @@ typedef void* MTLSharedEvent_id;
VkPerformanceValueTypeINTEL type
VkPerformanceValueDataINTEL data
-
+
VkStructureType sType
const void* pNext
void* pUserData
@@ -6410,10 +6443,10 @@ typedef void* MTLSharedEvent_id;
uint32_t maxIndirectCommandsTokenCount
uint32_t maxIndirectCommandsTokenOffset
uint32_t maxIndirectCommandsIndirectStride
- VkIndirectCommandsInputModeFlagsEXT supportedIndirectCommandsInputModes
- VkShaderStageFlags supportedIndirectCommandsShaderStages
- VkShaderStageFlags supportedIndirectCommandsShaderStagesPipelineBinding
- VkShaderStageFlags supportedIndirectCommandsShaderStagesShaderBinding
+ VkIndirectCommandsInputModeFlagsEXT supportedIndirectCommandsInputModes
+ VkShaderStageFlags supportedIndirectCommandsShaderStages
+ VkShaderStageFlags supportedIndirectCommandsShaderStagesPipelineBinding
+ VkShaderStageFlags supportedIndirectCommandsShaderStagesShaderBinding
VkBool32 deviceGeneratedCommandsTransformFeedback
VkBool32 deviceGeneratedCommandsMultiDrawIndirectCount
@@ -6430,7 +6463,7 @@ typedef void* MTLSharedEvent_id;
VkStructureType sType
- void* pNext
+ const void* pNext
VkIndirectExecutionSetEXT indirectExecutionSet
VkIndirectCommandsLayoutEXT indirectCommandsLayout
uint32_t maxSequenceCount
@@ -6540,7 +6573,7 @@ typedef void* MTLSharedEvent_id;
VkShaderStageFlags shaderStages
- const VkIndirectCommandsPushConstantTokenEXT* pPushConstant
+ const VkIndirectCommandsPushConstantTokenEXT* pPushConstant
const VkIndirectCommandsVertexBufferTokenEXT* pVertexBuffer
const VkIndirectCommandsIndexBufferTokenEXT* pIndexBuffer
const VkIndirectCommandsExecutionSetTokenEXT* pExecutionSet
@@ -6936,6 +6969,44 @@ typedef void* MTLSharedEvent_id;
VkImageTiling imageTiling
VkImageUsageFlags imageUsageFlags
+
+ VkStructureType sType
+ void* pNext
+ VkExtent2D maxQuantizationMapExtent
+
+
+ VkStructureType sType
+ void* pNext
+ int32_t minQpDelta
+ int32_t maxQpDelta
+
+
+ VkStructureType sType
+ void* pNext
+ int32_t minQpDelta
+ int32_t maxQpDelta
+
+
+ VkStructureType sType
+ void* pNext
+ int32_t minQIndexDelta
+ int32_t maxQIndexDelta
+
+
+ VkStructureType sType
+ void* pNext
+ VkExtent2D quantizationMapTexelSize
+
+
+ VkStructureType sType
+ void* pNext
+ VkVideoEncodeH265CtbSizeFlagsKHR compatibleCtbSizes
+
+
+ VkStructureType sType
+ void* pNext
+ VkVideoEncodeAV1SuperblockSizeFlagsKHR compatibleSuperblockSizes
+
VkStructureType sType
const void* pNext
@@ -7228,6 +7299,22 @@ typedef void* MTLSharedEvent_id;
const VkVideoReferenceSlotInfoKHR* pReferenceSlots
uint32_t precedingExternallyEncodedBytes
+
+ VkStructureType sType
+ const void* pNext
+ VkImageView quantizationMap
+ VkExtent2D quantizationMapExtent
+
+
+ VkStructureType sType
+ const void* pNext
+ VkExtent2D quantizationMapTexelSize
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 videoEncodeQuantizationMap
+
VkStructureType sType
const void* pNext
@@ -7546,6 +7633,136 @@ typedef void* MTLSharedEvent_id;
const void* pNext
const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo
+
+ VkStructureType sType
+ void* pNext
+ VkVideoEncodeAV1CapabilityFlagsKHR flags
+ StdVideoAV1Level maxLevel
+ VkExtent2D codedPictureAlignment
+ VkExtent2D maxTiles
+ VkExtent2D minTileSize
+ VkExtent2D maxTileSize
+ VkVideoEncodeAV1SuperblockSizeFlagsKHR superblockSizes
+ uint32_t maxSingleReferenceCount
+ uint32_t singleReferenceNameMask
+ uint32_t maxUnidirectionalCompoundReferenceCount
+ uint32_t maxUnidirectionalCompoundGroup1ReferenceCount
+ uint32_t unidirectionalCompoundReferenceNameMask
+ uint32_t maxBidirectionalCompoundReferenceCount
+ uint32_t maxBidirectionalCompoundGroup1ReferenceCount
+ uint32_t maxBidirectionalCompoundGroup2ReferenceCount
+ uint32_t bidirectionalCompoundReferenceNameMask
+ uint32_t maxTemporalLayerCount
+ uint32_t maxSpatialLayerCount
+ uint32_t maxOperatingPoints
+ uint32_t minQIndex
+ uint32_t maxQIndex
+ VkBool32 prefersGopRemainingFrames
+ VkBool32 requiresGopRemainingFrames
+ VkVideoEncodeAV1StdFlagsKHR stdSyntaxFlags
+
+
+ VkStructureType sType
+ void* pNext
+ VkVideoEncodeAV1RateControlFlagsKHR preferredRateControlFlags
+ uint32_t preferredGopFrameCount
+ uint32_t preferredKeyFramePeriod
+ uint32_t preferredConsecutiveBipredictiveFrameCount
+ uint32_t preferredTemporalLayerCount
+ VkVideoEncodeAV1QIndexKHR preferredConstantQIndex
+ uint32_t preferredMaxSingleReferenceCount
+ uint32_t preferredSingleReferenceNameMask
+ uint32_t preferredMaxUnidirectionalCompoundReferenceCount
+ uint32_t preferredMaxUnidirectionalCompoundGroup1ReferenceCount
+ uint32_t preferredUnidirectionalCompoundReferenceNameMask
+ uint32_t preferredMaxBidirectionalCompoundReferenceCount
+ uint32_t preferredMaxBidirectionalCompoundGroup1ReferenceCount
+ uint32_t preferredMaxBidirectionalCompoundGroup2ReferenceCount
+ uint32_t preferredBidirectionalCompoundReferenceNameMask
+
+ #include "vk_video/vulkan_video_codec_av1std_encode.h"
+
+
+
+
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 videoEncodeAV1
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 useMaxLevel
+ StdVideoAV1Level maxLevel
+
+
+ VkStructureType sType
+ const void* pNext
+ const StdVideoAV1SequenceHeader* pStdSequenceHeader
+ const StdVideoEncodeAV1DecoderModelInfo* pStdDecoderModelInfo
+ uint32_t stdOperatingPointCount
+ const StdVideoEncodeAV1OperatingPointInfo* pStdOperatingPoints
+
+
+ VkStructureType sType
+ const void* pNext
+ const StdVideoEncodeAV1ReferenceInfo* pStdReferenceInfo
+
+
+ VkStructureType sType
+ const void* pNext
+ VkVideoEncodeAV1PredictionModeKHR predictionMode
+ VkVideoEncodeAV1RateControlGroupKHR rateControlGroup
+ uint32_t constantQIndex
+ const StdVideoEncodeAV1PictureInfo* pStdPictureInfo
+ int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR]
+ VkBool32 primaryReferenceCdfOnly
+ VkBool32 generateObuExtensionHeader
+
+
+ VkStructureType sType
+ const void* pNext
+ StdVideoAV1Profile stdProfile
+
+
+ VkStructureType sType
+ const void* pNext
+ VkVideoEncodeAV1RateControlFlagsKHR flags
+ uint32_t gopFrameCount
+ uint32_t keyFramePeriod
+ uint32_t consecutiveBipredictiveFrameCount
+ uint32_t temporalLayerCount
+
+
+ uint32_t intraQIndex
+ uint32_t predictiveQIndex
+ uint32_t bipredictiveQIndex
+
+
+ uint32_t intraFrameSize
+ uint32_t predictiveFrameSize
+ uint32_t bipredictiveFrameSize
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 useGopRemainingFrames
+ uint32_t gopRemainingIntra
+ uint32_t gopRemainingPredictive
+ uint32_t gopRemainingBipredictive
+
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 useMinQIndex
+ VkVideoEncodeAV1QIndexKHR minQIndex
+ VkBool32 useMaxQIndex
+ VkVideoEncodeAV1QIndexKHR maxQIndex
+ VkBool32 useMaxFrameSize
+ VkVideoEncodeAV1FrameSizeKHR maxFrameSize
+
VkStructureType sType
void* pNext
@@ -7586,6 +7803,11 @@ typedef void* MTLSharedEvent_id;
size_t dataSize
const void* pData
+
+ VkStructureType sType
+ const void* pNext
+ VkBool32 use64bitTexturing
+
VkStructureType sType
const void* pNext
@@ -7674,7 +7896,7 @@ typedef void* MTLSharedEvent_id;
VkStructureType sType
const void* pNext
- VkBuffer buffer
+ VkBuffer buffer
const VkSampler* pSampler
@@ -8597,7 +8819,7 @@ typedef void* MTLSharedEvent_id;
const void* pNext
VkOpticalFlowUsageFlagsNV usage
-
+
VkStructureType sType
const void* pNext
VkFormat format
@@ -8763,7 +8985,7 @@ typedef void* MTLSharedEvent_id;
VkStructureType sType
const void* pNext
uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount
- const VkFence* pFencesFence to signal for each swapchain
+ const VkFence* pFencesFence to signal for each swapchain
VkStructureType sType
@@ -8994,11 +9216,14 @@ typedef void* MTLSharedEvent_id;
uint32_t maxExecutionGraphShaderPayloadSize
uint32_t maxExecutionGraphShaderPayloadCount
uint32_t executionGraphDispatchAddressAlignment
+ uint32_t maxExecutionGraphWorkgroupCount[3]
+ uint32_t maxExecutionGraphWorkgroups
VkStructureType sType
void* pNext
VkBool32 shaderEnqueue
+ VkBool32 shaderMeshEnqueue
VkStructureType sType
@@ -9020,7 +9245,9 @@ typedef void* MTLSharedEvent_id;
VkStructureType sType
void* pNext
- VkDeviceSize size
+ VkDeviceSize minSize
+ VkDeviceSize maxSize
+ VkDeviceSize sizeGranularity
uint32_t nodeIndex
@@ -9410,10 +9637,57 @@ typedef void* MTLSharedEvent_id;
void* pNext
VkBool32 shaderReplicatedComposites
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 presentModeFifoLatestReady
+
float minDepthClamp
float maxDepthClamp
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 cooperativeMatrixWorkgroupScope
+ VkBool32 cooperativeMatrixFlexibleDimensions
+ VkBool32 cooperativeMatrixReductions
+ VkBool32 cooperativeMatrixConversions
+ VkBool32 cooperativeMatrixPerElementOperations
+ VkBool32 cooperativeMatrixTensorAddressing
+ VkBool32 cooperativeMatrixBlockLoads
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t cooperativeMatrixWorkgroupScopeMaxWorkgroupSize
+ uint32_t cooperativeMatrixFlexibleDimensionsMaxDimension
+ uint32_t cooperativeMatrixWorkgroupScopeReservedSharedMemory
+
+
+ VkStructureType sType
+ void* pNext
+ uint32_t MGranularity
+ uint32_t NGranularity
+ uint32_t KGranularity
+ VkComponentTypeKHR AType
+ VkComponentTypeKHR BType
+ VkComponentTypeKHR CType
+ VkComponentTypeKHR ResultType
+ VkBool32 saturatingAccumulation
+ VkScopeKHR scope
+ uint32_t workgroupInvocations
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 hdrVivid
+
+
+ VkStructureType sType
+ void* pNext
+ VkBool32 vertexAttributeRobustness
+
@@ -10294,6 +10568,12 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
@@ -10708,8 +10988,6 @@ typedef void* MTLSharedEvent_id;
-
-
@@ -11127,6 +11405,8 @@ typedef void* MTLSharedEvent_id;
+
+
@@ -11356,6 +11636,40 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -14383,6 +14697,11 @@ typedef void* MTLSharedEvent_id;
VkDevice device
const VkImageViewHandleInfoNVX* pInfo
+
+ uint64_t vkGetImageViewHandle64NVX
+ VkDevice device
+ const VkImageViewHandleInfoNVX* pInfo
+
VkResult vkGetImageViewAddressNVX
VkDevice device
@@ -15713,13 +16032,13 @@ typedef void* MTLSharedEvent_id;
VkResult vkGetExecutionGraphPipelineScratchSizeAMDX
VkDevice device
VkPipeline executionGraph
- VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo
+ VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo
VkResult vkGetExecutionGraphPipelineNodeIndexAMDX
VkDevice device
VkPipeline executionGraph
- const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo
+ const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo
uint32_t* pNodeIndex
@@ -15731,27 +16050,32 @@ typedef void* MTLSharedEvent_id;
const VkAllocationCallbacks* pAllocator
VkPipeline* pPipelines
-
+
void vkCmdInitializeGraphScratchMemoryAMDX
VkCommandBuffer commandBuffer
+ VkPipeline executionGraph
VkDeviceAddress scratch
+ VkDeviceSize scratchSize
-
+
void vkCmdDispatchGraphAMDX
VkCommandBuffer commandBuffer
VkDeviceAddress scratch
- const VkDispatchGraphCountInfoAMDX* pCountInfo
+ VkDeviceSize scratchSize
+ const VkDispatchGraphCountInfoAMDX* pCountInfo
-
+
void vkCmdDispatchGraphIndirectAMDX
VkCommandBuffer commandBuffer
VkDeviceAddress scratch
- const VkDispatchGraphCountInfoAMDX* pCountInfo
+ VkDeviceSize scratchSize
+ const VkDispatchGraphCountInfoAMDX* pCountInfo
-
+
void vkCmdDispatchGraphIndirectCountAMDX
VkCommandBuffer commandBuffer
VkDeviceAddress scratch
+ VkDeviceSize scratchSize
VkDeviceAddress countInfo
@@ -15829,6 +16153,12 @@ typedef void* MTLSharedEvent_id;
VkDepthClampModeEXT depthClampMode
const VkDepthClampRangeEXT* pDepthClampRange
+
+ VkResult vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV
+ VkPhysicalDevice physicalDevice
+ uint32_t* pPropertyCount
+ VkCooperativeMatrixFlexibleDimensionsPropertiesNV* pProperties
+
@@ -16375,6 +16705,9 @@ typedef void* MTLSharedEvent_id;
+
+
+
@@ -16739,6 +17072,10 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
@@ -16751,6 +17088,9 @@ typedef void* MTLSharedEvent_id;
+
+
+
@@ -16778,7 +17118,24 @@ typedef void* MTLSharedEvent_id;
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -16827,16 +17184,19 @@ typedef void* MTLSharedEvent_id;
+
+
+
@@ -16852,12 +17212,14 @@ typedef void* MTLSharedEvent_id;
+
+
@@ -16879,6 +17241,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -16925,6 +17288,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -16937,6 +17301,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -16955,6 +17320,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -16964,6 +17330,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -17000,16 +17367,19 @@ typedef void* MTLSharedEvent_id;
+
+
+
@@ -17052,6 +17422,8 @@ typedef void* MTLSharedEvent_id;
+
+
@@ -17109,6 +17481,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -17142,6 +17515,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -17175,15 +17549,21 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
-
+
+
@@ -17243,6 +17623,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -17325,12 +17706,14 @@ typedef void* MTLSharedEvent_id;
+
+
-
+
@@ -17352,7 +17735,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17397,7 +17780,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17428,7 +17811,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17438,7 +17821,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17449,7 +17832,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17460,7 +17843,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17477,7 +17860,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17488,7 +17871,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17521,7 +17904,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17546,20 +17929,20 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
-
+
@@ -17567,7 +17950,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17587,7 +17970,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17602,19 +17985,19 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
-
+
@@ -17632,7 +18015,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17721,7 +18104,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17762,13 +18145,13 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
@@ -17820,18 +18203,20 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
+
+
@@ -17845,15 +18230,16 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
+
@@ -17869,7 +18255,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17883,25 +18269,25 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
-
+
-
+
@@ -17945,7 +18331,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -17993,7 +18379,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18014,7 +18400,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18022,7 +18408,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18059,30 +18445,6 @@ typedef void* MTLSharedEvent_id;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -18090,7 +18452,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18108,7 +18470,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18125,9 +18487,10 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -18154,7 +18517,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18168,7 +18531,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18180,7 +18543,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18190,7 +18553,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18201,7 +18564,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18209,7 +18572,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18240,7 +18603,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18301,7 +18664,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18310,7 +18673,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18320,19 +18683,19 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
-
+
@@ -18361,7 +18724,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18386,7 +18749,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18400,7 +18763,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18413,7 +18776,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18446,7 +18809,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18460,7 +18823,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18476,7 +18839,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18490,7 +18853,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18498,7 +18861,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18523,7 +18886,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18534,7 +18897,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18550,7 +18913,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18562,7 +18925,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18604,6 +18967,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -18615,7 +18979,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18625,7 +18989,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18655,7 +19019,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18666,14 +19030,14 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
@@ -18681,7 +19045,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18693,7 +19057,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18714,7 +19078,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18733,7 +19097,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18744,13 +19108,13 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
@@ -18758,7 +19122,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18767,8 +19131,12 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
-
+
@@ -18779,7 +19147,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18803,7 +19171,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18834,7 +19202,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18855,7 +19223,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18893,7 +19261,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18926,7 +19294,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18938,7 +19306,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18962,7 +19330,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18973,7 +19341,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -18987,7 +19355,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19037,7 +19405,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19070,7 +19438,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19095,7 +19463,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19115,7 +19483,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19125,7 +19493,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19141,21 +19509,21 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
-
+
@@ -19165,7 +19533,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19201,7 +19569,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19227,7 +19595,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19242,13 +19610,13 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
@@ -19260,10 +19628,10 @@ typedef void* MTLSharedEvent_id;
-
+
-
-
+
+
@@ -19290,7 +19658,11 @@ typedef void* MTLSharedEvent_id;
-
+
+
+
+
+
@@ -19300,21 +19672,27 @@ typedef void* MTLSharedEvent_id;
+
+
-
+
+
+
+
+
-
+
@@ -19336,7 +19714,10 @@ typedef void* MTLSharedEvent_id;
-
+
+
+
+
@@ -19345,7 +19726,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19363,7 +19744,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19386,7 +19767,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19398,7 +19779,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19417,7 +19798,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19425,7 +19806,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19485,7 +19866,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19524,6 +19905,8 @@ typedef void* MTLSharedEvent_id;
+
+
@@ -19656,7 +20039,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19665,8 +20048,12 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
-
+
@@ -19681,9 +20068,10 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -19773,7 +20161,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19786,7 +20174,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19821,7 +20209,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -19879,13 +20267,13 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
@@ -19924,9 +20312,10 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -20034,6 +20423,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -20042,7 +20432,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20055,7 +20445,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20063,7 +20453,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20075,7 +20465,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20095,7 +20485,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20129,7 +20519,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20144,12 +20534,15 @@ typedef void* MTLSharedEvent_id;
-
+
+
+
+
@@ -20175,7 +20568,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20185,7 +20578,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20200,7 +20593,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20214,7 +20607,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20251,7 +20644,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20274,7 +20667,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20282,7 +20675,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20311,7 +20704,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20335,7 +20728,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20347,14 +20740,14 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
@@ -20371,7 +20764,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20384,6 +20777,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -20402,13 +20796,14 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -20422,6 +20817,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -20436,9 +20832,10 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -20449,6 +20846,13 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
+
@@ -20490,9 +20894,10 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -20540,7 +20945,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20548,7 +20953,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20560,7 +20965,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20585,7 +20990,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20596,7 +21001,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20620,6 +21025,12 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
@@ -20649,7 +21060,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20657,7 +21068,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20682,7 +21093,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20707,8 +21118,17 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
+
+
+
-
+
@@ -20788,13 +21208,13 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
@@ -20813,7 +21233,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20827,6 +21247,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -20875,9 +21296,10 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -20898,7 +21320,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20906,7 +21328,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -20954,6 +21376,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -20969,14 +21392,16 @@ typedef void* MTLSharedEvent_id;
+
-
+
+
@@ -21011,7 +21436,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21033,7 +21458,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21091,6 +21516,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -21099,6 +21525,13 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
+
@@ -21178,7 +21611,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21259,7 +21692,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21294,9 +21727,13 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
-
+
@@ -21399,6 +21836,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -21429,7 +21867,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21471,7 +21909,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21487,6 +21925,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -21545,13 +21984,13 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
@@ -21579,7 +22018,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21644,7 +22083,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21732,9 +22171,10 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -21795,13 +22235,14 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -21826,7 +22267,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21834,7 +22275,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21940,7 +22381,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -21978,16 +22419,6 @@ typedef void* MTLSharedEvent_id;
-
-
-
-
-
-
-
-
-
-
@@ -22114,6 +22545,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -22153,6 +22585,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -22176,6 +22609,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -22207,6 +22641,9 @@ typedef void* MTLSharedEvent_id;
+
+
+
@@ -22238,7 +22675,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22247,9 +22684,10 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -22281,7 +22719,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22338,7 +22776,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22387,7 +22825,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22413,9 +22851,10 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -22423,7 +22862,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22476,7 +22915,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22539,7 +22978,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22549,10 +22988,14 @@ typedef void* MTLSharedEvent_id;
-
+
-
-
+
+
+
+
+
+
@@ -22567,7 +23010,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22582,7 +23025,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22595,7 +23038,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22663,6 +23106,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -22675,6 +23119,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -22689,6 +23134,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -22702,6 +23148,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -22736,6 +23183,8 @@ typedef void* MTLSharedEvent_id;
+
+
@@ -22758,6 +23207,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -22806,7 +23256,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22842,7 +23292,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22925,7 +23375,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22936,7 +23386,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22951,7 +23401,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -22961,7 +23411,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23075,7 +23525,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23116,6 +23566,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -23154,7 +23605,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23200,7 +23651,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23265,6 +23716,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -23276,7 +23728,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23320,6 +23772,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -23334,6 +23787,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -23349,6 +23803,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -23403,7 +23858,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23418,7 +23873,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23567,7 +24022,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23686,6 +24141,24 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -23717,7 +24190,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23744,7 +24217,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23762,7 +24235,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -23822,6 +24295,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -24065,7 +24539,6 @@ typedef void* MTLSharedEvent_id;
-
@@ -24284,6 +24757,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -24321,6 +24795,8 @@ typedef void* MTLSharedEvent_id;
+
+
@@ -24355,6 +24831,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -24407,7 +24884,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -24425,6 +24902,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -24476,7 +24954,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -24553,7 +25031,8 @@ typedef void* MTLSharedEvent_id;
-
+
+
@@ -24567,7 +25046,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -24585,10 +25064,47 @@ typedef void* MTLSharedEvent_id;
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -24652,6 +25168,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -24672,6 +25189,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -24686,7 +25204,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -24711,7 +25229,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -24750,9 +25268,10 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -24796,6 +25315,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -24846,7 +25366,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -24930,6 +25450,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -24941,10 +25462,15 @@ typedef void* MTLSharedEvent_id;
-
+
-
-
+
+
+
+
+
+
+
@@ -24953,22 +25479,53 @@ typedef void* MTLSharedEvent_id;
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -25090,6 +25647,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -25314,10 +25872,15 @@ typedef void* MTLSharedEvent_id;
-
+
-
-
+
+
+
+
+
+
+
@@ -25332,10 +25895,18 @@ typedef void* MTLSharedEvent_id;
-
+
-
-
+
+
+
+
+
+
+
+
+
+
@@ -25415,6 +25986,27 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -27073,6 +27665,12 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
@@ -27277,8 +27875,6 @@ typedef void* MTLSharedEvent_id;
-
-
@@ -27420,27 +28016,17 @@ typedef void* MTLSharedEvent_id;
-
-
-
-
-
-
+
-
-
-
+
-
-
-
@@ -27471,13 +28057,14 @@ typedef void* MTLSharedEvent_id;
+
-
+
@@ -27495,7 +28082,7 @@ typedef void* MTLSharedEvent_id;
-
+
@@ -27513,24 +28100,25 @@ typedef void* MTLSharedEvent_id;
-
+
-
+
-
+
-
+
+
@@ -27598,6 +28186,24 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -27951,8 +28557,17 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
+
+
+
@@ -28006,6 +28621,7 @@ typedef void* MTLSharedEvent_id;
+
@@ -28018,6 +28634,29 @@ typedef void* MTLSharedEvent_id;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/vulkan/runtime/vk_cmd_enqueue.c b/src/vulkan/runtime/vk_cmd_enqueue.c
index f04f1a8ae0d..6e466fe5dc3 100644
--- a/src/vulkan/runtime/vk_cmd_enqueue.c
+++ b/src/vulkan/runtime/vk_cmd_enqueue.c
@@ -563,6 +563,7 @@ dispatch_graph_amdx_free(struct vk_cmd_queue *queue, struct vk_cmd_queue_entry *
VKAPI_ATTR void VKAPI_CALL
vk_cmd_enqueue_CmdDispatchGraphAMDX(VkCommandBuffer commandBuffer, VkDeviceAddress scratch,
+ VkDeviceSize scratchSize,
const VkDispatchGraphCountInfoAMDX *pCountInfo)
{
VK_FROM_HANDLE(vk_command_buffer, cmd_buffer, commandBuffer);
@@ -584,6 +585,7 @@ vk_cmd_enqueue_CmdDispatchGraphAMDX(VkCommandBuffer commandBuffer, VkDeviceAddre
cmd->driver_free_cb = dispatch_graph_amdx_free;
cmd->u.dispatch_graph_amdx.scratch = scratch;
+ cmd->u.dispatch_graph_amdx.scratch_size = scratchSize;
cmd->u.dispatch_graph_amdx.count_info =
vk_zalloc(alloc, sizeof(VkDispatchGraphCountInfoAMDX), 8, VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
diff --git a/src/vulkan/runtime/vk_image.c b/src/vulkan/runtime/vk_image.c
index 8dfece7e909..fb20949d2ab 100644
--- a/src/vulkan/runtime/vk_image.c
+++ b/src/vulkan/runtime/vk_image.c
@@ -686,6 +686,7 @@ vk_image_layout_is_read_only(VkImageLayout layout,
case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR:
case VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR:
case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR:
+ case VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR:
unreachable("Invalid image layout.");
}
@@ -1072,6 +1073,8 @@ vk_image_layout_to_usage_flags(VkImageLayout layout,
return VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR;
case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR:
return VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR;
+ case VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR:
+ return VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR;
case VK_IMAGE_LAYOUT_MAX_ENUM:
unreachable("Invalid image layout.");
}