1/* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 * This file was generated by /scripts/gen_framework_c.py 4 */ 5 6#ifndef VULKAN_VIDEO_CODECS_COMMON_H_ 7#define VULKAN_VIDEO_CODECS_COMMON_H_ 1 8 9/* 10** Copyright 2015-2022 The Khronos Group Inc. 11** 12** SPDX-License-Identifier: Apache-2.0 13*/ 14 15/* 16** This header is generated from the Khronos Vulkan XML API Registry. 17** 18*/ 19 20 21#ifdef __cplusplus 22extern "C" { 23#endif 24 25 26 27#define vulkan_video_codecs_common 1 28#define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \ 29 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch))) 30 31 32#ifdef __cplusplus 33} 34#endif 35 36#endif 37#ifndef VULKAN_VIDEO_CODEC_H264STD_H_ 38#define VULKAN_VIDEO_CODEC_H264STD_H_ 1 39 40/* 41** Copyright 2015-2022 The Khronos Group Inc. 42** 43** SPDX-License-Identifier: Apache-2.0 44*/ 45 46/* 47** This header is generated from the Khronos Vulkan XML API Registry. 48** 49*/ 50 51 52#ifdef __cplusplus 53extern "C" { 54#endif 55 56 57 58#define vulkan_video_codec_h264std 1 59#include <stdint.h> 60#define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32 61#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6 62#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16 63#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 6 64#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64 65#define STD_VIDEO_H264_MAX_NUM_LIST_REF 32 66#define STD_VIDEO_H264_MAX_CHROMA_PLANES 2 67 68typedef enum StdVideoH264ChromaFormatIdc { 69 STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0, 70 STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1, 71 STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2, 72 STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3, 73 STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF, 74 STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF 75} StdVideoH264ChromaFormatIdc; 76 77typedef enum StdVideoH264ProfileIdc { 78 STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66, 79 STD_VIDEO_H264_PROFILE_IDC_MAIN = 77, 80 STD_VIDEO_H264_PROFILE_IDC_HIGH = 100, 81 STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244, 82 STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF, 83 STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF 84} StdVideoH264ProfileIdc; 85 86typedef enum StdVideoH264LevelIdc { 87 STD_VIDEO_H264_LEVEL_IDC_1_0 = 0, 88 STD_VIDEO_H264_LEVEL_IDC_1_1 = 1, 89 STD_VIDEO_H264_LEVEL_IDC_1_2 = 2, 90 STD_VIDEO_H264_LEVEL_IDC_1_3 = 3, 91 STD_VIDEO_H264_LEVEL_IDC_2_0 = 4, 92 STD_VIDEO_H264_LEVEL_IDC_2_1 = 5, 93 STD_VIDEO_H264_LEVEL_IDC_2_2 = 6, 94 STD_VIDEO_H264_LEVEL_IDC_3_0 = 7, 95 STD_VIDEO_H264_LEVEL_IDC_3_1 = 8, 96 STD_VIDEO_H264_LEVEL_IDC_3_2 = 9, 97 STD_VIDEO_H264_LEVEL_IDC_4_0 = 10, 98 STD_VIDEO_H264_LEVEL_IDC_4_1 = 11, 99 STD_VIDEO_H264_LEVEL_IDC_4_2 = 12, 100 STD_VIDEO_H264_LEVEL_IDC_5_0 = 13, 101 STD_VIDEO_H264_LEVEL_IDC_5_1 = 14, 102 STD_VIDEO_H264_LEVEL_IDC_5_2 = 15, 103 STD_VIDEO_H264_LEVEL_IDC_6_0 = 16, 104 STD_VIDEO_H264_LEVEL_IDC_6_1 = 17, 105 STD_VIDEO_H264_LEVEL_IDC_6_2 = 18, 106 STD_VIDEO_H264_LEVEL_IDC_INVALID = 0x7FFFFFFF, 107 STD_VIDEO_H264_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF 108} StdVideoH264LevelIdc; 109 110typedef enum StdVideoH264PocType { 111 STD_VIDEO_H264_POC_TYPE_0 = 0, 112 STD_VIDEO_H264_POC_TYPE_1 = 1, 113 STD_VIDEO_H264_POC_TYPE_2 = 2, 114 STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF, 115 STD_VIDEO_H264_POC_TYPE_MAX_ENUM = 0x7FFFFFFF 116} StdVideoH264PocType; 117 118typedef enum StdVideoH264AspectRatioIdc { 119 STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED = 0, 120 STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE = 1, 121 STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11 = 2, 122 STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11 = 3, 123 STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11 = 4, 124 STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33 = 5, 125 STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11 = 6, 126 STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11 = 7, 127 STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11 = 8, 128 STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33 = 9, 129 STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11 = 10, 130 STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11 = 11, 131 STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33 = 12, 132 STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99 = 13, 133 STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3 = 14, 134 STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15, 135 STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16, 136 STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255, 137 STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF, 138 STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF 139} StdVideoH264AspectRatioIdc; 140 141typedef enum StdVideoH264WeightedBipredIdc { 142 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0, 143 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1, 144 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2, 145 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF, 146 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM = 0x7FFFFFFF 147} StdVideoH264WeightedBipredIdc; 148 149typedef enum StdVideoH264ModificationOfPicNumsIdc { 150 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT = 0, 151 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1, 152 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2, 153 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3, 154 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF, 155 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM = 0x7FFFFFFF 156} StdVideoH264ModificationOfPicNumsIdc; 157 158typedef enum StdVideoH264MemMgmtControlOp { 159 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END = 0, 160 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM = 1, 161 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM = 2, 162 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM = 3, 163 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4, 164 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5, 165 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6, 166 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF, 167 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM = 0x7FFFFFFF 168} StdVideoH264MemMgmtControlOp; 169 170typedef enum StdVideoH264CabacInitIdc { 171 STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0, 172 STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1, 173 STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2, 174 STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF, 175 STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM = 0x7FFFFFFF 176} StdVideoH264CabacInitIdc; 177 178typedef enum StdVideoH264DisableDeblockingFilterIdc { 179 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0, 180 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1, 181 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2, 182 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF, 183 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM = 0x7FFFFFFF 184} StdVideoH264DisableDeblockingFilterIdc; 185 186typedef enum StdVideoH264SliceType { 187 STD_VIDEO_H264_SLICE_TYPE_P = 0, 188 STD_VIDEO_H264_SLICE_TYPE_B = 1, 189 STD_VIDEO_H264_SLICE_TYPE_I = 2, 190 STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF, 191 STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF 192} StdVideoH264SliceType; 193 194typedef enum StdVideoH264PictureType { 195 STD_VIDEO_H264_PICTURE_TYPE_P = 0, 196 STD_VIDEO_H264_PICTURE_TYPE_B = 1, 197 STD_VIDEO_H264_PICTURE_TYPE_I = 2, 198 STD_VIDEO_H264_PICTURE_TYPE_IDR = 5, 199 STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF, 200 STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 201} StdVideoH264PictureType; 202 203typedef enum StdVideoH264NonVclNaluType { 204 STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS = 0, 205 STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS = 1, 206 STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD = 2, 207 STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX = 3, 208 STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4, 209 STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5, 210 STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6, 211 STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF, 212 STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM = 0x7FFFFFFF 213} StdVideoH264NonVclNaluType; 214typedef struct StdVideoH264SpsVuiFlags { 215 deUint32 aspect_ratio_info_present_flag : 1; 216 deUint32 overscan_info_present_flag : 1; 217 deUint32 overscan_appropriate_flag : 1; 218 deUint32 video_signal_type_present_flag : 1; 219 deUint32 video_full_range_flag : 1; 220 deUint32 color_description_present_flag : 1; 221 deUint32 chroma_loc_info_present_flag : 1; 222 deUint32 timing_info_present_flag : 1; 223 deUint32 fixed_frame_rate_flag : 1; 224 deUint32 bitstream_restriction_flag : 1; 225 deUint32 nal_hrd_parameters_present_flag : 1; 226 deUint32 vcl_hrd_parameters_present_flag : 1; 227} StdVideoH264SpsVuiFlags; 228 229typedef struct StdVideoH264HrdParameters { 230 deUint8 cpb_cnt_minus1; 231 deUint8 bit_rate_scale; 232 deUint8 cpb_size_scale; 233 deUint8 reserved1; 234 deUint32 bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; 235 deUint32 cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; 236 deUint8 cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; 237 deUint32 initial_cpb_removal_delay_length_minus1; 238 deUint32 cpb_removal_delay_length_minus1; 239 deUint32 dpb_output_delay_length_minus1; 240 deUint32 time_offset_length; 241} StdVideoH264HrdParameters; 242 243typedef struct StdVideoH264SequenceParameterSetVui { 244 StdVideoH264SpsVuiFlags flags; 245 StdVideoH264AspectRatioIdc aspect_ratio_idc; 246 deUint16 sar_width; 247 deUint16 sar_height; 248 deUint8 video_format; 249 deUint8 colour_primaries; 250 deUint8 transfer_characteristics; 251 deUint8 matrix_coefficients; 252 deUint32 num_units_in_tick; 253 deUint32 time_scale; 254 deUint8 max_num_reorder_frames; 255 deUint8 max_dec_frame_buffering; 256 deUint8 chroma_sample_loc_type_top_field; 257 deUint8 chroma_sample_loc_type_bottom_field; 258 deUint32 reserved1; 259 const StdVideoH264HrdParameters* pHrdParameters; 260} StdVideoH264SequenceParameterSetVui; 261 262typedef struct StdVideoH264SpsFlags { 263 deUint32 constraint_set0_flag : 1; 264 deUint32 constraint_set1_flag : 1; 265 deUint32 constraint_set2_flag : 1; 266 deUint32 constraint_set3_flag : 1; 267 deUint32 constraint_set4_flag : 1; 268 deUint32 constraint_set5_flag : 1; 269 deUint32 direct_8x8_inference_flag : 1; 270 deUint32 mb_adaptive_frame_field_flag : 1; 271 deUint32 frame_mbs_only_flag : 1; 272 deUint32 delta_pic_order_always_zero_flag : 1; 273 deUint32 separate_colour_plane_flag : 1; 274 deUint32 gaps_in_frame_num_value_allowed_flag : 1; 275 deUint32 qpprime_y_zero_transform_bypass_flag : 1; 276 deUint32 frame_cropping_flag : 1; 277 deUint32 seq_scaling_matrix_present_flag : 1; 278 deUint32 vui_parameters_present_flag : 1; 279} StdVideoH264SpsFlags; 280 281typedef struct StdVideoH264ScalingLists { 282 deUint16 scaling_list_present_mask; 283 deUint16 use_default_scaling_matrix_mask; 284 deUint8 ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]; 285 deUint8 ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]; 286} StdVideoH264ScalingLists; 287 288typedef struct StdVideoH264SequenceParameterSet { 289 StdVideoH264SpsFlags flags; 290 StdVideoH264ProfileIdc profile_idc; 291 StdVideoH264LevelIdc level_idc; 292 StdVideoH264ChromaFormatIdc chroma_format_idc; 293 deUint8 seq_parameter_set_id; 294 deUint8 bit_depth_luma_minus8; 295 deUint8 bit_depth_chroma_minus8; 296 deUint8 log2_max_frame_num_minus4; 297 StdVideoH264PocType pic_order_cnt_type; 298 deInt32 offset_for_non_ref_pic; 299 deInt32 offset_for_top_to_bottom_field; 300 deUint8 log2_max_pic_order_cnt_lsb_minus4; 301 deUint8 num_ref_frames_in_pic_order_cnt_cycle; 302 deUint8 max_num_ref_frames; 303 deUint8 reserved1; 304 deUint32 pic_width_in_mbs_minus1; 305 deUint32 pic_height_in_map_units_minus1; 306 deUint32 frame_crop_left_offset; 307 deUint32 frame_crop_right_offset; 308 deUint32 frame_crop_top_offset; 309 deUint32 frame_crop_bottom_offset; 310 deUint32 reserved2; 311 const deInt32* pOffsetForRefFrame; 312 const StdVideoH264ScalingLists* pScalingLists; 313 const StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; 314} StdVideoH264SequenceParameterSet; 315 316typedef struct StdVideoH264PpsFlags { 317 deUint32 transform_8x8_mode_flag : 1; 318 deUint32 redundant_pic_cnt_present_flag : 1; 319 deUint32 constrained_intra_pred_flag : 1; 320 deUint32 deblocking_filter_control_present_flag : 1; 321 deUint32 weighted_pred_flag : 1; 322 deUint32 bottom_field_pic_order_in_frame_present_flag : 1; 323 deUint32 entropy_coding_mode_flag : 1; 324 deUint32 pic_scaling_matrix_present_flag : 1; 325} StdVideoH264PpsFlags; 326 327typedef struct StdVideoH264PictureParameterSet { 328 StdVideoH264PpsFlags flags; 329 deUint8 seq_parameter_set_id; 330 deUint8 pic_parameter_set_id; 331 deUint8 num_ref_idx_l0_default_active_minus1; 332 deUint8 num_ref_idx_l1_default_active_minus1; 333 StdVideoH264WeightedBipredIdc weighted_bipred_idc; 334 deInt8 pic_init_qp_minus26; 335 deInt8 pic_init_qs_minus26; 336 deInt8 chroma_qp_index_offset; 337 deInt8 second_chroma_qp_index_offset; 338 const StdVideoH264ScalingLists* pScalingLists; 339} StdVideoH264PictureParameterSet; 340 341 342#ifdef __cplusplus 343} 344#endif 345 346#endif 347#ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 348#define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1 349 350/* 351** Copyright 2015-2022 The Khronos Group Inc. 352** 353** SPDX-License-Identifier: Apache-2.0 354*/ 355 356/* 357** This header is generated from the Khronos Vulkan XML API Registry. 358** 359*/ 360 361 362#ifdef __cplusplus 363extern "C" { 364#endif 365 366 367 368#define vulkan_video_codec_h264std_encode 1 369// Vulkan 0.9 provisional Vulkan video H.264 encode std specification version number 370#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_8 VK_MAKE_VIDEO_STD_VERSION(0, 9, 8) 371 372#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_8 373#define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_encode" 374typedef struct StdVideoEncodeH264WeightTableFlags { 375 deUint32 luma_weight_l0_flag; 376 deUint32 chroma_weight_l0_flag; 377 deUint32 luma_weight_l1_flag; 378 deUint32 chroma_weight_l1_flag; 379} StdVideoEncodeH264WeightTableFlags; 380 381typedef struct StdVideoEncodeH264WeightTable { 382 StdVideoEncodeH264WeightTableFlags flags; 383 deUint8 luma_log2_weight_denom; 384 deUint8 chroma_log2_weight_denom; 385 deInt8 luma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 386 deInt8 luma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 387 deInt8 chroma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 388 deInt8 chroma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 389 deInt8 luma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 390 deInt8 luma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 391 deInt8 chroma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 392 deInt8 chroma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 393} StdVideoEncodeH264WeightTable; 394 395typedef struct StdVideoEncodeH264SliceHeaderFlags { 396 deUint32 direct_spatial_mv_pred_flag : 1; 397 deUint32 num_ref_idx_active_override_flag : 1; 398 deUint32 no_output_of_prior_pics_flag : 1; 399 deUint32 adaptive_ref_pic_marking_mode_flag : 1; 400 deUint32 no_prior_references_available_flag : 1; 401} StdVideoEncodeH264SliceHeaderFlags; 402 403typedef struct StdVideoEncodeH264PictureInfoFlags { 404 deUint32 idr_flag : 1; 405 deUint32 is_reference_flag : 1; 406 deUint32 used_for_long_term_reference : 1; 407} StdVideoEncodeH264PictureInfoFlags; 408 409typedef struct StdVideoEncodeH264ReferenceInfoFlags { 410 deUint32 used_for_long_term_reference : 1; 411} StdVideoEncodeH264ReferenceInfoFlags; 412 413typedef struct StdVideoEncodeH264RefMgmtFlags { 414 deUint32 ref_pic_list_modification_l0_flag : 1; 415 deUint32 ref_pic_list_modification_l1_flag : 1; 416} StdVideoEncodeH264RefMgmtFlags; 417 418typedef struct StdVideoEncodeH264RefListModEntry { 419 StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc; 420 deUint16 abs_diff_pic_num_minus1; 421 deUint16 long_term_pic_num; 422} StdVideoEncodeH264RefListModEntry; 423 424typedef struct StdVideoEncodeH264RefPicMarkingEntry { 425 StdVideoH264MemMgmtControlOp operation; 426 deUint16 difference_of_pic_nums_minus1; 427 deUint16 long_term_pic_num; 428 deUint16 long_term_frame_idx; 429 deUint16 max_long_term_frame_idx_plus1; 430} StdVideoEncodeH264RefPicMarkingEntry; 431 432typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations { 433 StdVideoEncodeH264RefMgmtFlags flags; 434 deUint8 refList0ModOpCount; 435 const StdVideoEncodeH264RefListModEntry* pRefList0ModOperations; 436 deUint8 refList1ModOpCount; 437 const StdVideoEncodeH264RefListModEntry* pRefList1ModOperations; 438 deUint8 refPicMarkingOpCount; 439 const StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations; 440} StdVideoEncodeH264RefMemMgmtCtrlOperations; 441 442typedef struct StdVideoEncodeH264PictureInfo { 443 StdVideoEncodeH264PictureInfoFlags flags; 444 deUint8 seq_parameter_set_id; 445 deUint8 pic_parameter_set_id; 446 StdVideoH264PictureType pictureType; 447 deUint32 frame_num; 448 deInt32 PicOrderCnt; 449} StdVideoEncodeH264PictureInfo; 450 451typedef struct StdVideoEncodeH264ReferenceInfo { 452 StdVideoEncodeH264ReferenceInfoFlags flags; 453 deUint32 FrameNum; 454 deInt32 PicOrderCnt; 455 deUint16 long_term_pic_num; 456 deUint16 long_term_frame_idx; 457} StdVideoEncodeH264ReferenceInfo; 458 459typedef struct StdVideoEncodeH264SliceHeader { 460 StdVideoEncodeH264SliceHeaderFlags flags; 461 deUint32 first_mb_in_slice; 462 StdVideoH264SliceType slice_type; 463 deUint16 idr_pic_id; 464 deUint8 num_ref_idx_l0_active_minus1; 465 deUint8 num_ref_idx_l1_active_minus1; 466 StdVideoH264CabacInitIdc cabac_init_idc; 467 StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc; 468 deInt8 slice_alpha_c0_offset_div2; 469 deInt8 slice_beta_offset_div2; 470 const StdVideoEncodeH264WeightTable* pWeightTable; 471} StdVideoEncodeH264SliceHeader; 472 473 474#ifdef __cplusplus 475} 476#endif 477 478#endif 479#ifndef VULKAN_VIDEO_CODEC_H265STD_H_ 480#define VULKAN_VIDEO_CODEC_H265STD_H_ 1 481 482/* 483** Copyright 2015-2022 The Khronos Group Inc. 484** 485** SPDX-License-Identifier: Apache-2.0 486*/ 487 488/* 489** This header is generated from the Khronos Vulkan XML API Registry. 490** 491*/ 492 493 494#ifdef __cplusplus 495extern "C" { 496#endif 497 498 499 500#define vulkan_video_codec_h265std 1 501#define STD_VIDEO_H265_SUBLAYERS_LIST_SIZE 7 502#define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32 503#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6 504#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16 505#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6 506#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64 507#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6 508#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64 509#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2 510#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64 511#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3 512#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128 513#define STD_VIDEO_H265_MAX_DPB_SIZE 16 514#define STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS 32 515#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6 516#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19 517#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21 518#define STD_VIDEO_H265_MAX_NUM_LIST_REF 15 519#define STD_VIDEO_H265_MAX_CHROMA_PLANES 2 520#define STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS 64 521#define STD_VIDEO_H265_MAX_LONG_TERM_PICS 16 522#define STD_VIDEO_H265_MAX_DELTA_POC 48 523 524typedef enum StdVideoH265ChromaFormatIdc { 525 STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0, 526 STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1, 527 STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2, 528 STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3, 529 STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF, 530 STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF 531} StdVideoH265ChromaFormatIdc; 532 533typedef enum StdVideoH265ProfileIdc { 534 STD_VIDEO_H265_PROFILE_IDC_MAIN = 1, 535 STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2, 536 STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3, 537 STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4, 538 STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9, 539 STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF, 540 STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF 541} StdVideoH265ProfileIdc; 542 543typedef enum StdVideoH265LevelIdc { 544 STD_VIDEO_H265_LEVEL_IDC_1_0 = 0, 545 STD_VIDEO_H265_LEVEL_IDC_2_0 = 1, 546 STD_VIDEO_H265_LEVEL_IDC_2_1 = 2, 547 STD_VIDEO_H265_LEVEL_IDC_3_0 = 3, 548 STD_VIDEO_H265_LEVEL_IDC_3_1 = 4, 549 STD_VIDEO_H265_LEVEL_IDC_4_0 = 5, 550 STD_VIDEO_H265_LEVEL_IDC_4_1 = 6, 551 STD_VIDEO_H265_LEVEL_IDC_5_0 = 7, 552 STD_VIDEO_H265_LEVEL_IDC_5_1 = 8, 553 STD_VIDEO_H265_LEVEL_IDC_5_2 = 9, 554 STD_VIDEO_H265_LEVEL_IDC_6_0 = 10, 555 STD_VIDEO_H265_LEVEL_IDC_6_1 = 11, 556 STD_VIDEO_H265_LEVEL_IDC_6_2 = 12, 557 STD_VIDEO_H265_LEVEL_IDC_INVALID = 0x7FFFFFFF, 558 STD_VIDEO_H265_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF 559} StdVideoH265LevelIdc; 560 561typedef enum StdVideoH265SliceType { 562 STD_VIDEO_H265_SLICE_TYPE_B = 0, 563 STD_VIDEO_H265_SLICE_TYPE_P = 1, 564 STD_VIDEO_H265_SLICE_TYPE_I = 2, 565 STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF, 566 STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF 567} StdVideoH265SliceType; 568 569typedef enum StdVideoH265PictureType { 570 STD_VIDEO_H265_PICTURE_TYPE_P = 0, 571 STD_VIDEO_H265_PICTURE_TYPE_B = 1, 572 STD_VIDEO_H265_PICTURE_TYPE_I = 2, 573 STD_VIDEO_H265_PICTURE_TYPE_IDR = 3, 574 STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF, 575 STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 576} StdVideoH265PictureType; 577 578typedef enum StdVideoH265AspectRatioIdc { 579 STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED = 0, 580 STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE = 1, 581 STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11 = 2, 582 STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11 = 3, 583 STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11 = 4, 584 STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33 = 5, 585 STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11 = 6, 586 STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11 = 7, 587 STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11 = 8, 588 STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33 = 9, 589 STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11 = 10, 590 STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11 = 11, 591 STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33 = 12, 592 STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99 = 13, 593 STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3 = 14, 594 STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2 = 15, 595 STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1 = 16, 596 STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR = 255, 597 STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF, 598 STD_VIDEO_H265_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF 599} StdVideoH265AspectRatioIdc; 600typedef struct StdVideoH265DecPicBufMgr { 601 deUint32 max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 602 deUint8 max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 603 deUint8 max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 604} StdVideoH265DecPicBufMgr; 605 606typedef struct StdVideoH265SubLayerHrdParameters { 607 deUint32 bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 608 deUint32 cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 609 deUint32 cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 610 deUint32 bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 611 deUint32 cbr_flag; 612} StdVideoH265SubLayerHrdParameters; 613 614typedef struct StdVideoH265HrdFlags { 615 deUint32 nal_hrd_parameters_present_flag : 1; 616 deUint32 vcl_hrd_parameters_present_flag : 1; 617 deUint32 sub_pic_hrd_params_present_flag : 1; 618 deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1; 619 deUint32 fixed_pic_rate_general_flag : 8; 620 deUint32 fixed_pic_rate_within_cvs_flag : 8; 621 deUint32 low_delay_hrd_flag : 8; 622} StdVideoH265HrdFlags; 623 624typedef struct StdVideoH265HrdParameters { 625 StdVideoH265HrdFlags flags; 626 deUint8 tick_divisor_minus2; 627 deUint8 du_cpb_removal_delay_increment_length_minus1; 628 deUint8 dpb_output_delay_du_length_minus1; 629 deUint8 bit_rate_scale; 630 deUint8 cpb_size_scale; 631 deUint8 cpb_size_du_scale; 632 deUint8 initial_cpb_removal_delay_length_minus1; 633 deUint8 au_cpb_removal_delay_length_minus1; 634 deUint8 dpb_output_delay_length_minus1; 635 deUint8 cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 636 deUint16 elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 637 deUint16 reserved[3]; 638 const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal; 639 const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl; 640} StdVideoH265HrdParameters; 641 642typedef struct StdVideoH265VpsFlags { 643 deUint32 vps_temporal_id_nesting_flag : 1; 644 deUint32 vps_sub_layer_ordering_info_present_flag : 1; 645 deUint32 vps_timing_info_present_flag : 1; 646 deUint32 vps_poc_proportional_to_timing_flag : 1; 647} StdVideoH265VpsFlags; 648 649typedef struct StdVideoH265ProfileTierLevelFlags { 650 deUint32 general_tier_flag : 1; 651 deUint32 general_progressive_source_flag : 1; 652 deUint32 general_interlaced_source_flag : 1; 653 deUint32 general_non_packed_constraint_flag : 1; 654 deUint32 general_frame_only_constraint_flag : 1; 655} StdVideoH265ProfileTierLevelFlags; 656 657typedef struct StdVideoH265ProfileTierLevel { 658 StdVideoH265ProfileTierLevelFlags flags; 659 StdVideoH265ProfileIdc general_profile_idc; 660 StdVideoH265LevelIdc general_level_idc; 661} StdVideoH265ProfileTierLevel; 662 663typedef struct StdVideoH265VideoParameterSet { 664 StdVideoH265VpsFlags flags; 665 deUint8 vps_video_parameter_set_id; 666 deUint8 vps_max_sub_layers_minus1; 667 deUint8 reserved1; 668 deUint8 reserved2; 669 deUint32 vps_num_units_in_tick; 670 deUint32 vps_time_scale; 671 deUint32 vps_num_ticks_poc_diff_one_minus1; 672 deUint32 reserved3; 673 const StdVideoH265DecPicBufMgr* pDecPicBufMgr; 674 const StdVideoH265HrdParameters* pHrdParameters; 675 const StdVideoH265ProfileTierLevel* pProfileTierLevel; 676} StdVideoH265VideoParameterSet; 677 678typedef struct StdVideoH265ScalingLists { 679 deUint8 ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]; 680 deUint8 ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]; 681 deUint8 ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]; 682 deUint8 ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]; 683 deUint8 ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]; 684 deUint8 ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]; 685} StdVideoH265ScalingLists; 686 687typedef struct StdVideoH265SpsVuiFlags { 688 deUint32 aspect_ratio_info_present_flag : 1; 689 deUint32 overscan_info_present_flag : 1; 690 deUint32 overscan_appropriate_flag : 1; 691 deUint32 video_signal_type_present_flag : 1; 692 deUint32 video_full_range_flag : 1; 693 deUint32 colour_description_present_flag : 1; 694 deUint32 chroma_loc_info_present_flag : 1; 695 deUint32 neutral_chroma_indication_flag : 1; 696 deUint32 field_seq_flag : 1; 697 deUint32 frame_field_info_present_flag : 1; 698 deUint32 default_display_window_flag : 1; 699 deUint32 vui_timing_info_present_flag : 1; 700 deUint32 vui_poc_proportional_to_timing_flag : 1; 701 deUint32 vui_hrd_parameters_present_flag : 1; 702 deUint32 bitstream_restriction_flag : 1; 703 deUint32 tiles_fixed_structure_flag : 1; 704 deUint32 motion_vectors_over_pic_boundaries_flag : 1; 705 deUint32 restricted_ref_pic_lists_flag : 1; 706} StdVideoH265SpsVuiFlags; 707 708typedef struct StdVideoH265SequenceParameterSetVui { 709 StdVideoH265SpsVuiFlags flags; 710 StdVideoH265AspectRatioIdc aspect_ratio_idc; 711 deUint16 sar_width; 712 deUint16 sar_height; 713 deUint8 video_format; 714 deUint8 colour_primaries; 715 deUint8 transfer_characteristics; 716 deUint8 matrix_coeffs; 717 deUint8 chroma_sample_loc_type_top_field; 718 deUint8 chroma_sample_loc_type_bottom_field; 719 deUint8 reserved1; 720 deUint8 reserved2; 721 deUint16 def_disp_win_left_offset; 722 deUint16 def_disp_win_right_offset; 723 deUint16 def_disp_win_top_offset; 724 deUint16 def_disp_win_bottom_offset; 725 deUint32 vui_num_units_in_tick; 726 deUint32 vui_time_scale; 727 deUint32 vui_num_ticks_poc_diff_one_minus1; 728 deUint16 min_spatial_segmentation_idc; 729 deUint16 reserved3; 730 deUint8 max_bytes_per_pic_denom; 731 deUint8 max_bits_per_min_cu_denom; 732 deUint8 log2_max_mv_length_horizontal; 733 deUint8 log2_max_mv_length_vertical; 734 const StdVideoH265HrdParameters* pHrdParameters; 735} StdVideoH265SequenceParameterSetVui; 736 737typedef struct StdVideoH265PredictorPaletteEntries { 738 deUint16 PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]; 739} StdVideoH265PredictorPaletteEntries; 740 741typedef struct StdVideoH265SpsFlags { 742 deUint32 sps_temporal_id_nesting_flag : 1; 743 deUint32 separate_colour_plane_flag : 1; 744 deUint32 conformance_window_flag : 1; 745 deUint32 sps_sub_layer_ordering_info_present_flag : 1; 746 deUint32 scaling_list_enabled_flag : 1; 747 deUint32 sps_scaling_list_data_present_flag : 1; 748 deUint32 amp_enabled_flag : 1; 749 deUint32 sample_adaptive_offset_enabled_flag : 1; 750 deUint32 pcm_enabled_flag : 1; 751 deUint32 pcm_loop_filter_disabled_flag : 1; 752 deUint32 long_term_ref_pics_present_flag : 1; 753 deUint32 sps_temporal_mvp_enabled_flag : 1; 754 deUint32 strong_intra_smoothing_enabled_flag : 1; 755 deUint32 vui_parameters_present_flag : 1; 756 deUint32 sps_extension_present_flag : 1; 757 deUint32 sps_range_extension_flag : 1; 758 deUint32 transform_skip_rotation_enabled_flag : 1; 759 deUint32 transform_skip_context_enabled_flag : 1; 760 deUint32 implicit_rdpcm_enabled_flag : 1; 761 deUint32 explicit_rdpcm_enabled_flag : 1; 762 deUint32 extended_precision_processing_flag : 1; 763 deUint32 intra_smoothing_disabled_flag : 1; 764 deUint32 high_precision_offsets_enabled_flag : 1; 765 deUint32 persistent_rice_adaptation_enabled_flag : 1; 766 deUint32 cabac_bypass_alignment_enabled_flag : 1; 767 deUint32 sps_scc_extension_flag : 1; 768 deUint32 sps_curr_pic_ref_enabled_flag : 1; 769 deUint32 palette_mode_enabled_flag : 1; 770 deUint32 sps_palette_predictor_initializers_present_flag : 1; 771 deUint32 intra_boundary_filtering_disabled_flag : 1; 772} StdVideoH265SpsFlags; 773 774typedef struct StdVideoH265ShortTermRefPicSetFlags { 775 deUint32 inter_ref_pic_set_prediction_flag : 1; 776 deUint32 delta_rps_sign : 1; 777} StdVideoH265ShortTermRefPicSetFlags; 778 779typedef struct StdVideoH265ShortTermRefPicSet { 780 StdVideoH265ShortTermRefPicSetFlags flags; 781 deUint32 delta_idx_minus1; 782 deUint16 use_delta_flag; 783 deUint16 abs_delta_rps_minus1; 784 deUint16 used_by_curr_pic_flag; 785 deUint16 used_by_curr_pic_s0_flag; 786 deUint16 used_by_curr_pic_s1_flag; 787 deUint16 reserved1; 788 deUint8 reserved2; 789 deUint8 reserved3; 790 deUint8 num_negative_pics; 791 deUint8 num_positive_pics; 792 deUint16 delta_poc_s0_minus1[STD_VIDEO_H265_MAX_DPB_SIZE]; 793 deUint16 delta_poc_s1_minus1[STD_VIDEO_H265_MAX_DPB_SIZE]; 794} StdVideoH265ShortTermRefPicSet; 795 796typedef struct StdVideoH265LongTermRefPicsSps { 797 deUint32 used_by_curr_pic_lt_sps_flag; 798 deUint32 lt_ref_pic_poc_lsb_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]; 799} StdVideoH265LongTermRefPicsSps; 800 801typedef struct StdVideoH265SequenceParameterSet { 802 StdVideoH265SpsFlags flags; 803 StdVideoH265ChromaFormatIdc chroma_format_idc; 804 deUint32 pic_width_in_luma_samples; 805 deUint32 pic_height_in_luma_samples; 806 deUint8 sps_video_parameter_set_id; 807 deUint8 sps_max_sub_layers_minus1; 808 deUint8 sps_seq_parameter_set_id; 809 deUint8 bit_depth_luma_minus8; 810 deUint8 bit_depth_chroma_minus8; 811 deUint8 log2_max_pic_order_cnt_lsb_minus4; 812 deUint8 log2_min_luma_coding_block_size_minus3; 813 deUint8 log2_diff_max_min_luma_coding_block_size; 814 deUint8 log2_min_luma_transform_block_size_minus2; 815 deUint8 log2_diff_max_min_luma_transform_block_size; 816 deUint8 max_transform_hierarchy_depth_inter; 817 deUint8 max_transform_hierarchy_depth_intra; 818 deUint8 num_short_term_ref_pic_sets; 819 deUint8 num_long_term_ref_pics_sps; 820 deUint8 pcm_sample_bit_depth_luma_minus1; 821 deUint8 pcm_sample_bit_depth_chroma_minus1; 822 deUint8 log2_min_pcm_luma_coding_block_size_minus3; 823 deUint8 log2_diff_max_min_pcm_luma_coding_block_size; 824 deUint8 reserved1; 825 deUint8 reserved2; 826 deUint8 palette_max_size; 827 deUint8 delta_palette_max_predictor_size; 828 deUint8 motion_vector_resolution_control_idc; 829 deUint8 sps_num_palette_predictor_initializers_minus1; 830 deUint32 conf_win_left_offset; 831 deUint32 conf_win_right_offset; 832 deUint32 conf_win_top_offset; 833 deUint32 conf_win_bottom_offset; 834 const StdVideoH265ProfileTierLevel* pProfileTierLevel; 835 const StdVideoH265DecPicBufMgr* pDecPicBufMgr; 836 const StdVideoH265ScalingLists* pScalingLists; 837 const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet; 838 const StdVideoH265LongTermRefPicsSps* pLongTermRefPicsSps; 839 const StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; 840 const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; 841} StdVideoH265SequenceParameterSet; 842 843typedef struct StdVideoH265PpsFlags { 844 deUint32 dependent_slice_segments_enabled_flag : 1; 845 deUint32 output_flag_present_flag : 1; 846 deUint32 sign_data_hiding_enabled_flag : 1; 847 deUint32 cabac_init_present_flag : 1; 848 deUint32 constrained_intra_pred_flag : 1; 849 deUint32 transform_skip_enabled_flag : 1; 850 deUint32 cu_qp_delta_enabled_flag : 1; 851 deUint32 pps_slice_chroma_qp_offsets_present_flag : 1; 852 deUint32 weighted_pred_flag : 1; 853 deUint32 weighted_bipred_flag : 1; 854 deUint32 transquant_bypass_enabled_flag : 1; 855 deUint32 tiles_enabled_flag : 1; 856 deUint32 entropy_coding_sync_enabled_flag : 1; 857 deUint32 uniform_spacing_flag : 1; 858 deUint32 loop_filter_across_tiles_enabled_flag : 1; 859 deUint32 pps_loop_filter_across_slices_enabled_flag : 1; 860 deUint32 deblocking_filter_control_present_flag : 1; 861 deUint32 deblocking_filter_override_enabled_flag : 1; 862 deUint32 pps_deblocking_filter_disabled_flag : 1; 863 deUint32 pps_scaling_list_data_present_flag : 1; 864 deUint32 lists_modification_present_flag : 1; 865 deUint32 slice_segment_header_extension_present_flag : 1; 866 deUint32 pps_extension_present_flag : 1; 867 deUint32 cross_component_prediction_enabled_flag : 1; 868 deUint32 chroma_qp_offset_list_enabled_flag : 1; 869 deUint32 pps_curr_pic_ref_enabled_flag : 1; 870 deUint32 residual_adaptive_colour_transform_enabled_flag : 1; 871 deUint32 pps_slice_act_qp_offsets_present_flag : 1; 872 deUint32 pps_palette_predictor_initializers_present_flag : 1; 873 deUint32 monochrome_palette_flag : 1; 874 deUint32 pps_range_extension_flag : 1; 875} StdVideoH265PpsFlags; 876 877typedef struct StdVideoH265PictureParameterSet { 878 StdVideoH265PpsFlags flags; 879 deUint8 pps_pic_parameter_set_id; 880 deUint8 pps_seq_parameter_set_id; 881 deUint8 sps_video_parameter_set_id; 882 deUint8 num_extra_slice_header_bits; 883 deUint8 num_ref_idx_l0_default_active_minus1; 884 deUint8 num_ref_idx_l1_default_active_minus1; 885 deInt8 init_qp_minus26; 886 deUint8 diff_cu_qp_delta_depth; 887 deInt8 pps_cb_qp_offset; 888 deInt8 pps_cr_qp_offset; 889 deInt8 pps_beta_offset_div2; 890 deInt8 pps_tc_offset_div2; 891 deUint8 log2_parallel_merge_level_minus2; 892 deUint8 log2_max_transform_skip_block_size_minus2; 893 deUint8 diff_cu_chroma_qp_offset_depth; 894 deUint8 chroma_qp_offset_list_len_minus1; 895 deInt8 cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; 896 deInt8 cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; 897 deUint8 log2_sao_offset_scale_luma; 898 deUint8 log2_sao_offset_scale_chroma; 899 deInt8 pps_act_y_qp_offset_plus5; 900 deInt8 pps_act_cb_qp_offset_plus5; 901 deInt8 pps_act_cr_qp_offset_plus3; 902 deUint8 pps_num_palette_predictor_initializers; 903 deUint8 luma_bit_depth_entry_minus8; 904 deUint8 chroma_bit_depth_entry_minus8; 905 deUint8 num_tile_columns_minus1; 906 deUint8 num_tile_rows_minus1; 907 deUint8 reserved1; 908 deUint8 reserved2; 909 deUint16 column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]; 910 deUint16 row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]; 911 deUint32 reserved3; 912 const StdVideoH265ScalingLists* pScalingLists; 913 const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; 914} StdVideoH265PictureParameterSet; 915 916 917#ifdef __cplusplus 918} 919#endif 920 921#endif 922#ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 923#define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1 924 925/* 926** Copyright 2015-2022 The Khronos Group Inc. 927** 928** SPDX-License-Identifier: Apache-2.0 929*/ 930 931/* 932** This header is generated from the Khronos Vulkan XML API Registry. 933** 934*/ 935 936 937#ifdef __cplusplus 938extern "C" { 939#endif 940 941 942 943#define vulkan_video_codec_h264std_decode 1 944 945#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) 946 947#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2 948#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 949#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode" 950 951typedef enum StdVideoDecodeH264FieldOrderCount { 952 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0, 953 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1, 954 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF, 955 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF 956} StdVideoDecodeH264FieldOrderCount; 957typedef struct StdVideoDecodeH264PictureInfoFlags { 958 deUint32 field_pic_flag : 1; 959 deUint32 is_intra : 1; 960 deUint32 IdrPicFlag : 1; 961 deUint32 bottom_field_flag : 1; 962 deUint32 is_reference : 1; 963 deUint32 complementary_field_pair : 1; 964} StdVideoDecodeH264PictureInfoFlags; 965 966typedef struct StdVideoDecodeH264PictureInfo { 967 StdVideoDecodeH264PictureInfoFlags flags; 968 deUint8 seq_parameter_set_id; 969 deUint8 pic_parameter_set_id; 970 deUint8 reserved1; 971 deUint8 reserved2; 972 deUint16 frame_num; 973 deUint16 idr_pic_id; 974 deInt32 PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; 975} StdVideoDecodeH264PictureInfo; 976 977typedef struct StdVideoDecodeH264ReferenceInfoFlags { 978 deUint32 top_field_flag : 1; 979 deUint32 bottom_field_flag : 1; 980 deUint32 used_for_long_term_reference : 1; 981 deUint32 is_non_existing : 1; 982} StdVideoDecodeH264ReferenceInfoFlags; 983 984typedef struct StdVideoDecodeH264ReferenceInfo { 985 StdVideoDecodeH264ReferenceInfoFlags flags; 986 deUint16 FrameNum; 987 deUint16 reserved; 988 deInt32 PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; 989} StdVideoDecodeH264ReferenceInfo; 990 991 992#ifdef __cplusplus 993} 994#endif 995 996#endif 997#ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 998#define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1 999 1000/* 1001** Copyright 2015-2022 The Khronos Group Inc. 1002** 1003** SPDX-License-Identifier: Apache-2.0 1004*/ 1005 1006/* 1007** This header is generated from the Khronos Vulkan XML API Registry. 1008** 1009*/ 1010 1011 1012#ifdef __cplusplus 1013extern "C" { 1014#endif 1015 1016 1017 1018#define vulkan_video_codec_h265std_decode 1 1019 1020#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) 1021 1022#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8 1023#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 1024#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode" 1025typedef struct StdVideoDecodeH265PictureInfoFlags { 1026 deUint32 IrapPicFlag : 1; 1027 deUint32 IdrPicFlag : 1; 1028 deUint32 IsReference : 1; 1029 deUint32 short_term_ref_pic_set_sps_flag : 1; 1030} StdVideoDecodeH265PictureInfoFlags; 1031 1032typedef struct StdVideoDecodeH265PictureInfo { 1033 StdVideoDecodeH265PictureInfoFlags flags; 1034 deUint8 sps_video_parameter_set_id; 1035 deUint8 pps_seq_parameter_set_id; 1036 deUint8 pps_pic_parameter_set_id; 1037 deUint8 NumDeltaPocsOfRefRpsIdx; 1038 deInt32 PicOrderCntVal; 1039 deUint16 NumBitsForSTRefPicSetInSlice; 1040 deUint16 reserved; 1041 deUint8 RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; 1042 deUint8 RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; 1043 deUint8 RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; 1044} StdVideoDecodeH265PictureInfo; 1045 1046typedef struct StdVideoDecodeH265ReferenceInfoFlags { 1047 deUint32 used_for_long_term_reference : 1; 1048 deUint32 unused_for_reference : 1; 1049} StdVideoDecodeH265ReferenceInfoFlags; 1050 1051typedef struct StdVideoDecodeH265ReferenceInfo { 1052 StdVideoDecodeH265ReferenceInfoFlags flags; 1053 deInt32 PicOrderCntVal; 1054} StdVideoDecodeH265ReferenceInfo; 1055 1056 1057#ifdef __cplusplus 1058} 1059#endif 1060 1061#endif 1062#ifndef VULKAN_CORE_H_ 1063#define VULKAN_CORE_H_ 1 1064 1065/* 1066** Copyright 2015-2022 The Khronos Group Inc. 1067** 1068** SPDX-License-Identifier: Apache-2.0 1069*/ 1070 1071/* 1072** This header is generated from the Khronos Vulkan XML API Registry. 1073** 1074*/ 1075 1076 1077#ifdef __cplusplus 1078extern "C" { 1079#endif 1080 1081 1082 1083#define VK_VERSION_1_0 1 1084 1085 1086#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; 1087 1088 1089#ifndef VK_USE_64_BIT_PTR_DEFINES 1090 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) 1091 #define VK_USE_64_BIT_PTR_DEFINES 1 1092 #else 1093 #define VK_USE_64_BIT_PTR_DEFINES 0 1094 #endif 1095#endif 1096 1097 1098#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 1099 #if (VK_USE_64_BIT_PTR_DEFINES==1) 1100 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L)) 1101 #define VK_NULL_HANDLE nullptr 1102 #else 1103 #define VK_NULL_HANDLE ((void*)0) 1104 #endif 1105 #else 1106 #define VK_NULL_HANDLE 0ULL 1107 #endif 1108#endif 1109#ifndef VK_NULL_HANDLE 1110 #define VK_NULL_HANDLE 0 1111#endif 1112 1113 1114#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE 1115 #if (VK_USE_64_BIT_PTR_DEFINES==1) 1116 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; 1117 #else 1118 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object; 1119 #endif 1120#endif 1121 1122// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. 1123#define VK_MAKE_VERSION(major, minor, patch) \ 1124 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch))) 1125 1126// DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. 1127//#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 1128 1129#define VK_MAKE_API_VERSION(variant, major, minor, patch) \ 1130 ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch))) 1131 1132// Vulkan 1.0 version number 1133#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 1134 1135// Version of this file 1136#define VK_HEADER_VERSION 238 1137 1138// Complete version of this file 1139#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) 1140 1141// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. 1142#define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22) 1143 1144// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. 1145#define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU) 1146 1147// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. 1148#define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU) 1149 1150#define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29) 1151#define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU) 1152#define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU) 1153#define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU) 1154typedef deUint32 VkBool32; 1155typedef deUint64 VkDeviceAddress; 1156typedef deUint64 VkDeviceSize; 1157typedef deUint32 VkFlags; 1158typedef deUint32 VkSampleMask; 1159VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer) 1160VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage) 1161VK_DEFINE_HANDLE(VkInstance) 1162VK_DEFINE_HANDLE(VkPhysicalDevice) 1163VK_DEFINE_HANDLE(VkDevice) 1164VK_DEFINE_HANDLE(VkQueue) 1165VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore) 1166VK_DEFINE_HANDLE(VkCommandBuffer) 1167VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence) 1168VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory) 1169VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent) 1170VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool) 1171VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView) 1172VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView) 1173VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule) 1174VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache) 1175VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout) 1176VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline) 1177VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass) 1178VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout) 1179VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler) 1180VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet) 1181VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool) 1182VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer) 1183VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool) 1184#define VK_ATTACHMENT_UNUSED (~0U) 1185#define VK_FALSE 0U 1186#define VK_LOD_CLAMP_NONE 1000.0F 1187#define VK_QUEUE_FAMILY_IGNORED (~0U) 1188#define VK_REMAINING_ARRAY_LAYERS (~0U) 1189#define VK_REMAINING_MIP_LEVELS (~0U) 1190#define VK_SUBPASS_EXTERNAL (~0U) 1191#define VK_TRUE 1U 1192#define VK_WHOLE_SIZE (~0ULL) 1193#define VK_MAX_MEMORY_TYPES 32U 1194#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U 1195#define VK_UUID_SIZE 16U 1196#define VK_MAX_EXTENSION_NAME_SIZE 256U 1197#define VK_MAX_DESCRIPTION_SIZE 256U 1198#define VK_MAX_MEMORY_HEAPS 16U 1199 1200typedef enum VkResult { 1201 VK_SUCCESS = 0, 1202 VK_NOT_READY = 1, 1203 VK_TIMEOUT = 2, 1204 VK_EVENT_SET = 3, 1205 VK_EVENT_RESET = 4, 1206 VK_INCOMPLETE = 5, 1207 VK_ERROR_OUT_OF_HOST_MEMORY = -1, 1208 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2, 1209 VK_ERROR_INITIALIZATION_FAILED = -3, 1210 VK_ERROR_DEVICE_LOST = -4, 1211 VK_ERROR_MEMORY_MAP_FAILED = -5, 1212 VK_ERROR_LAYER_NOT_PRESENT = -6, 1213 VK_ERROR_EXTENSION_NOT_PRESENT = -7, 1214 VK_ERROR_FEATURE_NOT_PRESENT = -8, 1215 VK_ERROR_INCOMPATIBLE_DRIVER = -9, 1216 VK_ERROR_TOO_MANY_OBJECTS = -10, 1217 VK_ERROR_FORMAT_NOT_SUPPORTED = -11, 1218 VK_ERROR_FRAGMENTED_POOL = -12, 1219 VK_ERROR_UNKNOWN = -13, 1220 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000, 1221 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003, 1222 VK_ERROR_FRAGMENTATION = -1000161000, 1223 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000, 1224 VK_PIPELINE_COMPILE_REQUIRED = 1000297000, 1225 VK_ERROR_SURFACE_LOST_KHR = -1000000000, 1226 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001, 1227 VK_SUBOPTIMAL_KHR = 1000001003, 1228 VK_ERROR_OUT_OF_DATE_KHR = -1000001004, 1229 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 1230 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 1231 VK_ERROR_INVALID_SHADER_NV = -1000012000, 1232 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, 1233 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, 1234 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, 1235 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, 1236 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, 1237 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, 1238 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 1239 VK_ERROR_NOT_PERMITTED_KHR = -1000174001, 1240 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, 1241 VK_THREAD_IDLE_KHR = 1000268000, 1242 VK_THREAD_DONE_KHR = 1000268001, 1243 VK_OPERATION_DEFERRED_KHR = 1000268002, 1244 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, 1245 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, 1246 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, 1247 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, 1248 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, 1249 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR, 1250 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 1251 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, 1252 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 1253 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED, 1254 VK_RESULT_MAX_ENUM = 0x7FFFFFFF 1255} VkResult; 1256 1257typedef enum VkStructureType { 1258 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0, 1259 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1, 1260 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2, 1261 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3, 1262 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4, 1263 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5, 1264 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6, 1265 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7, 1266 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8, 1267 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9, 1268 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10, 1269 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11, 1270 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12, 1271 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13, 1272 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14, 1273 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15, 1274 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16, 1275 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17, 1276 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18, 1277 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19, 1278 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20, 1279 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21, 1280 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22, 1281 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23, 1282 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24, 1283 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25, 1284 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26, 1285 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27, 1286 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28, 1287 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29, 1288 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30, 1289 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31, 1290 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32, 1291 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33, 1292 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34, 1293 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35, 1294 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36, 1295 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37, 1296 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38, 1297 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39, 1298 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40, 1299 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41, 1300 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42, 1301 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43, 1302 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44, 1303 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45, 1304 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46, 1305 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47, 1306 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48, 1307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000, 1308 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000, 1309 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001, 1310 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000, 1311 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000, 1312 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001, 1313 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000, 1314 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003, 1315 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004, 1316 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005, 1317 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006, 1318 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013, 1319 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014, 1320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000, 1321 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001, 1322 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000, 1323 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001, 1324 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002, 1325 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003, 1326 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004, 1327 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000, 1328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001, 1329 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002, 1330 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003, 1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004, 1332 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005, 1333 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006, 1334 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007, 1335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008, 1336 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000, 1337 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001, 1338 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002, 1339 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003, 1340 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000, 1341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001, 1342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002, 1343 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000, 1344 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000, 1345 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001, 1346 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002, 1347 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003, 1348 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000, 1349 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001, 1350 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002, 1351 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003, 1352 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004, 1353 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005, 1354 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000, 1355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000, 1356 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001, 1357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002, 1358 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003, 1359 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004, 1360 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000, 1361 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001, 1362 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002, 1363 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000, 1364 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001, 1365 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000, 1366 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000, 1367 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000, 1368 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001, 1369 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000, 1370 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001, 1371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000, 1372 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49, 1373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50, 1374 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51, 1375 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52, 1376 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000, 1377 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000, 1378 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001, 1379 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002, 1380 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003, 1381 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004, 1382 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005, 1383 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006, 1384 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000, 1385 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000, 1386 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000, 1387 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000, 1388 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000, 1389 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000, 1390 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001, 1391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002, 1392 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003, 1393 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004, 1394 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000, 1395 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001, 1396 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000, 1397 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000, 1398 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000, 1399 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001, 1400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000, 1401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000, 1402 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001, 1403 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002, 1404 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003, 1405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000, 1406 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000, 1407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000, 1408 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001, 1409 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002, 1410 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000, 1411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000, 1412 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001, 1413 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002, 1414 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003, 1415 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004, 1416 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005, 1417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000, 1418 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001, 1419 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002, 1420 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003, 1421 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004, 1422 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53, 1423 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54, 1424 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000, 1425 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000, 1426 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000, 1427 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000, 1428 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000, 1429 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001, 1430 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002, 1431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000, 1432 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000, 1433 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001, 1434 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002, 1435 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003, 1436 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004, 1437 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005, 1438 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006, 1439 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007, 1440 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000, 1441 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000, 1442 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000, 1443 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001, 1444 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002, 1445 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003, 1446 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004, 1447 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005, 1448 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006, 1449 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007, 1450 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008, 1451 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009, 1452 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010, 1453 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000, 1454 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001, 1455 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002, 1456 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000, 1457 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001, 1458 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002, 1459 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003, 1460 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000, 1461 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000, 1462 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001, 1463 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002, 1464 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003, 1465 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004, 1466 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000, 1467 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001, 1468 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001, 1469 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000, 1470 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000, 1471 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001, 1472 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002, 1473 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003, 1474 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000, 1475 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001, 1476 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007, 1477 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008, 1478 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009, 1479 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010, 1480 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011, 1481 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012, 1482 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000, 1483 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001, 1484 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000, 1485 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000, 1486 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000, 1487 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000, 1488 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000, 1489 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000, 1490 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000, 1491 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000, 1492 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 1493 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 1494 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 1495 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000, 1496 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, 1497 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002, 1498 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003, 1499 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004, 1500 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, 1501 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, 1502 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, 1503 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, 1504 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, 1505 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, 1506 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011, 1507 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012, 1508 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013, 1509 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, 1510 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, 1511 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016, 1512 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, 1513 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, 1514 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002, 1515 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 1516 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 1517 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, 1518 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000, 1519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001, 1520 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002, 1521 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000, 1522 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001, 1523 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, 1524 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, 1525 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, 1526#ifdef VK_ENABLE_BETA_EXTENSIONS 1527 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000, 1528#endif 1529#ifdef VK_ENABLE_BETA_EXTENSIONS 1530 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001, 1531#endif 1532#ifdef VK_ENABLE_BETA_EXTENSIONS 1533 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002, 1534#endif 1535#ifdef VK_ENABLE_BETA_EXTENSIONS 1536 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003, 1537#endif 1538#ifdef VK_ENABLE_BETA_EXTENSIONS 1539 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004, 1540#endif 1541#ifdef VK_ENABLE_BETA_EXTENSIONS 1542 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005, 1543#endif 1544#ifdef VK_ENABLE_BETA_EXTENSIONS 1545 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000038006, 1546#endif 1547#ifdef VK_ENABLE_BETA_EXTENSIONS 1548 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007, 1549#endif 1550#ifdef VK_ENABLE_BETA_EXTENSIONS 1551 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008, 1552#endif 1553#ifdef VK_ENABLE_BETA_EXTENSIONS 1554 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009, 1555#endif 1556#ifdef VK_ENABLE_BETA_EXTENSIONS 1557 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT = 1000038010, 1558#endif 1559#ifdef VK_ENABLE_BETA_EXTENSIONS 1560 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000, 1561#endif 1562#ifdef VK_ENABLE_BETA_EXTENSIONS 1563 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001, 1564#endif 1565#ifdef VK_ENABLE_BETA_EXTENSIONS 1566 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002, 1567#endif 1568#ifdef VK_ENABLE_BETA_EXTENSIONS 1569 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003, 1570#endif 1571#ifdef VK_ENABLE_BETA_EXTENSIONS 1572 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004, 1573#endif 1574#ifdef VK_ENABLE_BETA_EXTENSIONS 1575 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005, 1576#endif 1577#ifdef VK_ENABLE_BETA_EXTENSIONS 1578 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000039006, 1579#endif 1580#ifdef VK_ENABLE_BETA_EXTENSIONS 1581 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007, 1582#endif 1583#ifdef VK_ENABLE_BETA_EXTENSIONS 1584 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT = 1000039008, 1585#endif 1586#ifdef VK_ENABLE_BETA_EXTENSIONS 1587 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009, 1588#endif 1589#ifdef VK_ENABLE_BETA_EXTENSIONS 1590 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010, 1591#endif 1592 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000, 1593 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001, 1594 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003, 1595 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004, 1596 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005, 1597 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006, 1598 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, 1599 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, 1600 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, 1601 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008, 1602 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009, 1603 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000, 1604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000, 1605 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000, 1606 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001, 1607 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000, 1608 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001, 1609 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000, 1610 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000, 1611 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000, 1612 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000, 1613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001, 1614 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000, 1615 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001, 1616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002, 1617 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000, 1618 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001, 1619 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002, 1620 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003, 1621 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000, 1622 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001, 1623 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002, 1624 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000, 1625 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000, 1626 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001, 1627 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002, 1628 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003, 1629 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000, 1630 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001, 1631 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000, 1632 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000, 1633 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001, 1634 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002, 1635 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000, 1636 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000, 1637 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000, 1638 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000, 1639 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001, 1640 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002, 1641 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003, 1642 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000, 1643 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000, 1644 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000, 1645 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000, 1646 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001, 1647 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000, 1648 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001, 1649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 1650 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 1651 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 1652 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 1653 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, 1654 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, 1655 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002, 1656 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000, 1657 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001, 1658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000, 1659 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001, 1660 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002, 1661 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003, 1662 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004, 1663 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005, 1664 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006, 1665 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, 1666 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, 1667 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, 1668 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, 1669 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, 1670 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, 1671 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, 1672 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, 1673 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, 1674 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, 1675 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, 1676 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001, 1677 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002, 1678 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003, 1679 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004, 1680 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000, 1681 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001, 1682 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002, 1683 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003, 1684 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, 1685 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, 1686 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, 1687 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 1688 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 1689 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, 1690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003, 1691 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004, 1692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000, 1693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001, 1694 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002, 1695 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000, 1696 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007, 1697 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000, 1698 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002, 1699 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003, 1700 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004, 1701 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005, 1702 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006, 1703 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009, 1704 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010, 1705 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011, 1706 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012, 1707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013, 1708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014, 1709 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017, 1710 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020, 1711 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000, 1712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001, 1713 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015, 1714 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016, 1715 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018, 1716 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013, 1717 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000, 1718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000, 1719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001, 1720 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000, 1721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002, 1722 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003, 1723 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004, 1724 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005, 1725 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006, 1726 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000, 1727 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001, 1728#ifdef VK_ENABLE_BETA_EXTENSIONS 1729 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000, 1730#endif 1731#ifdef VK_ENABLE_BETA_EXTENSIONS 1732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001, 1733#endif 1734 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000, 1735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001, 1736 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002, 1737 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005, 1738 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000, 1739 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001, 1740 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003, 1741 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004, 1742 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005, 1743 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006, 1744 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007, 1745 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008, 1746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009, 1747 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011, 1748 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012, 1749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000, 1750 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001, 1751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000, 1752 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001, 1753 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000, 1754 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001, 1755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 1756 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 1757 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, 1758 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000, 1759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, 1760 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000, 1761 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001, 1762 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002, 1763 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003, 1764 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004, 1765 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005, 1766 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000, 1767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000, 1768 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001, 1769 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, 1770 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 1771 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, 1772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002, 1773 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, 1774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000, 1775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, 1776 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001, 1777 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000, 1778 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000, 1779 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002, 1780 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000, 1781 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001, 1782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000, 1783 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000, 1784 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001, 1785 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002, 1786 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003, 1787 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004, 1788 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005, 1789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000, 1790 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000, 1791 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001, 1792 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000, 1793 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000, 1794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000, 1795 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001, 1796 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002, 1797 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000, 1798 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001, 1799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002, 1800 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003, 1801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004, 1802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000, 1803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000, 1804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000, 1805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000, 1806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000, 1807 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001, 1808 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000, 1809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000, 1810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000, 1811 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002, 1812 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000, 1813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000, 1814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000, 1815 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001, 1816 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002, 1817 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000, 1818 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001, 1819 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002, 1820 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000, 1821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000, 1822 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000, 1823 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001, 1824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002, 1825 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000, 1826 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002, 1827 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001, 1828 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000, 1829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000, 1830 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001, 1831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002, 1832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000, 1833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000, 1834 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000, 1835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000, 1836 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001, 1837 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002, 1838 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, 1839 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, 1840 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, 1841 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, 1842 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000, 1843 VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001, 1844 VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002, 1845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000, 1846 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001, 1847 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002, 1848 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003, 1849 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004, 1850 VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005, 1851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, 1852 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, 1853 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, 1854 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003, 1855 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004, 1856 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005, 1857 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006, 1858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, 1859 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, 1860 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, 1861 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 1862 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, 1863 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, 1864 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, 1865 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, 1866 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, 1867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000, 1868 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001, 1869 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000, 1870 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 1871 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 1872 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, 1873 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, 1874 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, 1875 VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002, 1876 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, 1877 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, 1878#ifdef VK_ENABLE_BETA_EXTENSIONS 1879 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, 1880#endif 1881#ifdef VK_ENABLE_BETA_EXTENSIONS 1882 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, 1883#endif 1884#ifdef VK_ENABLE_BETA_EXTENSIONS 1885 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, 1886#endif 1887#ifdef VK_ENABLE_BETA_EXTENSIONS 1888 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, 1889#endif 1890#ifdef VK_ENABLE_BETA_EXTENSIONS 1891 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, 1892#endif 1893 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, 1894 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, 1895 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000, 1896 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001, 1897 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002, 1898 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003, 1899 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004, 1900 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005, 1901 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006, 1902 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007, 1903 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008, 1904 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009, 1905 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010, 1906 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011, 1907 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, 1908 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, 1909 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000, 1910 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001, 1911 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002, 1912 VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003, 1913 VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004, 1914 VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005, 1915 VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006, 1916 VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007, 1917 VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008, 1918 VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010, 1919 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011, 1920 VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012, 1921 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009, 1922 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, 1923 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001, 1924 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, 1925 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000, 1926 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000, 1927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000, 1928 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000, 1929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000, 1930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001, 1931 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002, 1932 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000, 1933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001, 1934 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002, 1935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000, 1936 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001, 1937 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000, 1938 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000, 1939 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001, 1940 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000, 1941 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, 1942 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, 1943 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, 1944 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002, 1945 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003, 1946 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, 1947 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, 1948 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 1949 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000, 1950 VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001, 1951 VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002, 1952 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, 1953 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, 1954 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, 1955 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, 1956 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, 1957 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, 1958 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000, 1959 VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, 1960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, 1961 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, 1962 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, 1963 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, 1964 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, 1965 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, 1966 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, 1967 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, 1968 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000, 1969 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001, 1970 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002, 1971 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003, 1972 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004, 1973 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005, 1974 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006, 1975 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007, 1976 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008, 1977 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009, 1978 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, 1979 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, 1980 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, 1981 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000, 1982 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000, 1983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, 1984 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, 1985 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001, 1986 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000, 1987 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, 1988 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, 1989 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, 1990 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000, 1991 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000, 1992 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001, 1993 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000, 1994 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000, 1995 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000, 1996 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, 1997 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, 1998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, 1999 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, 2000 VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000, 2001 VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001, 2002 VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002, 2003 VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003, 2004 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004, 2005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, 2006 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006, 2007 VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007, 2008 VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, 2009 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, 2010 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, 2011 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, 2012 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, 2013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, 2014 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, 2015 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, 2016 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, 2017 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, 2018 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, 2019 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, 2020 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, 2021 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000, 2022 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001, 2023 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000, 2024 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001, 2025 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, 2026 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, 2027 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, 2028 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001, 2029 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, 2030 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, 2031 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, 2032 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, 2033 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, 2034 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, 2035 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, 2036 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000, 2037 VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001, 2038 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, 2039 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, 2040 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002, 2041 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003, 2042 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000, 2043 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000, 2044 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001, 2045 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002, 2046 VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003, 2047 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004, 2048 VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, 2049 VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010, 2050 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, 2051 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000, 2052 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000, 2053 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001, 2054 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000, 2055 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, 2056 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000, 2057 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, 2058 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, 2059 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, 2060 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, 2061 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, 2062 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, 2063 VK_STRUCTURE_TYPE_OHOS_SURFACE_CREATE_INFO_OPENHARMONY = 1000451000, 2064 VK_STRUCTURE_TYPE_OHOS_NATIVE_BUFFER_USAGE_OPENHARMONY = 1000452000, 2065 VK_STRUCTURE_TYPE_OHOS_NATIVE_BUFFER_PROPERTIES_OPENHARMONY = 1000452001, 2066 VK_STRUCTURE_TYPE_OHOS_NATIVE_BUFFER_FORMAT_PROPERTIES_OPENHARMONY = 1000452002, 2067 VK_STRUCTURE_TYPE_IMPORT_OHOS_NATIVE_BUFFER_INFO_OPENHARMONY = 1000452003, 2068 VK_STRUCTURE_TYPE_MEMORY_GET_OHOS_NATIVE_BUFFER_INFO_OPENHARMONY = 1000452004, 2069 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OPENHARMONY = 1000452005, 2070 VK_STRUCTURE_TYPE_NATIVE_BUFFER_OPENHARMONY = 1000452006, 2071 VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OPENHARMONY= 1000452007, 2072 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OPENHARMONY= 1000452008, 2073 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 2074 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 2075 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, 2076 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO, 2077 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO, 2078 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO, 2079 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES, 2080 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO, 2081 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD, 2082 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO, 2083 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, 2084 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, 2085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, 2086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, 2087 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, 2088 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, 2089 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, 2090 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, 2091 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, 2092 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2, 2093 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, 2094 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO, 2095 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO, 2096 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO, 2097 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO, 2098 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO, 2099 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO, 2100 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO, 2101 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, 2102 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES, 2103 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO, 2104 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, 2105 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES, 2106 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO, 2107 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES, 2108 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES, 2109 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO, 2110 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, 2111 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO, 2112 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO, 2113 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES, 2114 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO, 2115 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 2116 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, 2117 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES, 2118 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO, 2119 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT, 2120 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES, 2121 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO, 2122 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO, 2123 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO, 2124 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, 2125 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, 2126 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, 2127 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, 2128 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, 2129 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO, 2130 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO, 2131 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO, 2132 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES, 2133 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO, 2134 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES, 2135 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO, 2136 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO, 2137 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO, 2138 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 2139 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, 2140 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS, 2141 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, 2142 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES, 2143 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO, 2144 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES, 2145 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES, 2146 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK, 2147 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO, 2148 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, 2149 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, 2150 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, 2151 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, 2152 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2, 2153 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, 2154 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO, 2155 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO, 2156 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO, 2157 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO, 2158 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, 2159 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES, 2160 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO, 2161 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, 2162 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, 2163 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES, 2164 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, 2165 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO, 2166 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT, 2167 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, 2168 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT, 2169 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR, 2170 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 2171 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 2172 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 2173 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 2174 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 2175 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, 2176 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES, 2177 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE, 2178 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR, 2179 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, 2180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES, 2181 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO, 2182 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO, 2183 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, 2184 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO, 2185 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL, 2186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES, 2187 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES, 2188 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, 2189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES, 2190 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 2191 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES, 2192 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, 2193 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT, 2194 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT, 2195 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT, 2196 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 2197 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES, 2198 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, 2199 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES, 2200 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES, 2201 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO, 2202 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO, 2203 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO, 2204 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO, 2205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES, 2206 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES, 2207 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES, 2208 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES, 2209 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES, 2210 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES, 2211 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO, 2212 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO, 2213 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES, 2214 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2, 2215 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2, 2216 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2, 2217 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO, 2218 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2, 2219 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO, 2220 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO, 2221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES, 2222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, 2223 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES, 2224 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2, 2225 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2, 2226 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2, 2227 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2, 2228 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2, 2229 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2, 2230 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2, 2231 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2, 2232 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 2233 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 2234 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 2235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 2236 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 2237 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 2238 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 2239 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 2240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, 2241 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR, 2242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES, 2243 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 2244 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 2245 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 2246 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 2247} VkStructureType; 2248 2249typedef enum VkPipelineCacheHeaderVersion { 2250 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1, 2251 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF 2252} VkPipelineCacheHeaderVersion; 2253 2254typedef enum VkImageLayout { 2255 VK_IMAGE_LAYOUT_UNDEFINED = 0, 2256 VK_IMAGE_LAYOUT_GENERAL = 1, 2257 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2, 2258 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3, 2259 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4, 2260 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5, 2261 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6, 2262 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7, 2263 VK_IMAGE_LAYOUT_PREINITIALIZED = 8, 2264 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000, 2265 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001, 2266 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000, 2267 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001, 2268 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002, 2269 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003, 2270 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 2271 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 2272 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 2273 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 2274 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 2275 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 2276 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 2277 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 2278 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 2279#ifdef VK_ENABLE_BETA_EXTENSIONS 2280 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 2281#endif 2282#ifdef VK_ENABLE_BETA_EXTENSIONS 2283 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 2284#endif 2285#ifdef VK_ENABLE_BETA_EXTENSIONS 2286 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 2287#endif 2288 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 2289 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 2290 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, 2291 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR, 2292 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, 2293 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, 2294 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, 2295 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, 2296 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, 2297 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL, 2298 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF 2299} VkImageLayout; 2300 2301typedef enum VkObjectType { 2302 VK_OBJECT_TYPE_UNKNOWN = 0, 2303 VK_OBJECT_TYPE_INSTANCE = 1, 2304 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2, 2305 VK_OBJECT_TYPE_DEVICE = 3, 2306 VK_OBJECT_TYPE_QUEUE = 4, 2307 VK_OBJECT_TYPE_SEMAPHORE = 5, 2308 VK_OBJECT_TYPE_COMMAND_BUFFER = 6, 2309 VK_OBJECT_TYPE_FENCE = 7, 2310 VK_OBJECT_TYPE_DEVICE_MEMORY = 8, 2311 VK_OBJECT_TYPE_BUFFER = 9, 2312 VK_OBJECT_TYPE_IMAGE = 10, 2313 VK_OBJECT_TYPE_EVENT = 11, 2314 VK_OBJECT_TYPE_QUERY_POOL = 12, 2315 VK_OBJECT_TYPE_BUFFER_VIEW = 13, 2316 VK_OBJECT_TYPE_IMAGE_VIEW = 14, 2317 VK_OBJECT_TYPE_SHADER_MODULE = 15, 2318 VK_OBJECT_TYPE_PIPELINE_CACHE = 16, 2319 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17, 2320 VK_OBJECT_TYPE_RENDER_PASS = 18, 2321 VK_OBJECT_TYPE_PIPELINE = 19, 2322 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20, 2323 VK_OBJECT_TYPE_SAMPLER = 21, 2324 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22, 2325 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23, 2326 VK_OBJECT_TYPE_FRAMEBUFFER = 24, 2327 VK_OBJECT_TYPE_COMMAND_POOL = 25, 2328 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000, 2329 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000, 2330 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000, 2331 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000, 2332 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000, 2333 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 2334 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 2335 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 2336 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 2337 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 2338 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 2339 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 2340 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, 2341 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 2342 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000, 2343 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 2344 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 2345 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 2346 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 2347 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 2348 VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 2349 VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 2350 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 2351 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 2352 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, 2353 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF 2354} VkObjectType; 2355 2356typedef enum VkVendorId { 2357 VK_VENDOR_ID_VIV = 0x10001, 2358 VK_VENDOR_ID_VSI = 0x10002, 2359 VK_VENDOR_ID_KAZAN = 0x10003, 2360 VK_VENDOR_ID_CODEPLAY = 0x10004, 2361 VK_VENDOR_ID_MESA = 0x10005, 2362 VK_VENDOR_ID_POCL = 0x10006, 2363 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 2364} VkVendorId; 2365 2366typedef enum VkSystemAllocationScope { 2367 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0, 2368 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1, 2369 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2, 2370 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3, 2371 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4, 2372 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF 2373} VkSystemAllocationScope; 2374 2375typedef enum VkInternalAllocationType { 2376 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0, 2377 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF 2378} VkInternalAllocationType; 2379 2380typedef enum VkFormat { 2381 VK_FORMAT_UNDEFINED = 0, 2382 VK_FORMAT_R4G4_UNORM_PACK8 = 1, 2383 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2, 2384 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3, 2385 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4, 2386 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5, 2387 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6, 2388 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7, 2389 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8, 2390 VK_FORMAT_R8_UNORM = 9, 2391 VK_FORMAT_R8_SNORM = 10, 2392 VK_FORMAT_R8_USCALED = 11, 2393 VK_FORMAT_R8_SSCALED = 12, 2394 VK_FORMAT_R8_UINT = 13, 2395 VK_FORMAT_R8_SINT = 14, 2396 VK_FORMAT_R8_SRGB = 15, 2397 VK_FORMAT_R8G8_UNORM = 16, 2398 VK_FORMAT_R8G8_SNORM = 17, 2399 VK_FORMAT_R8G8_USCALED = 18, 2400 VK_FORMAT_R8G8_SSCALED = 19, 2401 VK_FORMAT_R8G8_UINT = 20, 2402 VK_FORMAT_R8G8_SINT = 21, 2403 VK_FORMAT_R8G8_SRGB = 22, 2404 VK_FORMAT_R8G8B8_UNORM = 23, 2405 VK_FORMAT_R8G8B8_SNORM = 24, 2406 VK_FORMAT_R8G8B8_USCALED = 25, 2407 VK_FORMAT_R8G8B8_SSCALED = 26, 2408 VK_FORMAT_R8G8B8_UINT = 27, 2409 VK_FORMAT_R8G8B8_SINT = 28, 2410 VK_FORMAT_R8G8B8_SRGB = 29, 2411 VK_FORMAT_B8G8R8_UNORM = 30, 2412 VK_FORMAT_B8G8R8_SNORM = 31, 2413 VK_FORMAT_B8G8R8_USCALED = 32, 2414 VK_FORMAT_B8G8R8_SSCALED = 33, 2415 VK_FORMAT_B8G8R8_UINT = 34, 2416 VK_FORMAT_B8G8R8_SINT = 35, 2417 VK_FORMAT_B8G8R8_SRGB = 36, 2418 VK_FORMAT_R8G8B8A8_UNORM = 37, 2419 VK_FORMAT_R8G8B8A8_SNORM = 38, 2420 VK_FORMAT_R8G8B8A8_USCALED = 39, 2421 VK_FORMAT_R8G8B8A8_SSCALED = 40, 2422 VK_FORMAT_R8G8B8A8_UINT = 41, 2423 VK_FORMAT_R8G8B8A8_SINT = 42, 2424 VK_FORMAT_R8G8B8A8_SRGB = 43, 2425 VK_FORMAT_B8G8R8A8_UNORM = 44, 2426 VK_FORMAT_B8G8R8A8_SNORM = 45, 2427 VK_FORMAT_B8G8R8A8_USCALED = 46, 2428 VK_FORMAT_B8G8R8A8_SSCALED = 47, 2429 VK_FORMAT_B8G8R8A8_UINT = 48, 2430 VK_FORMAT_B8G8R8A8_SINT = 49, 2431 VK_FORMAT_B8G8R8A8_SRGB = 50, 2432 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51, 2433 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52, 2434 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53, 2435 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54, 2436 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55, 2437 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56, 2438 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57, 2439 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58, 2440 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59, 2441 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60, 2442 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61, 2443 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62, 2444 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63, 2445 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64, 2446 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65, 2447 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66, 2448 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67, 2449 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68, 2450 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69, 2451 VK_FORMAT_R16_UNORM = 70, 2452 VK_FORMAT_R16_SNORM = 71, 2453 VK_FORMAT_R16_USCALED = 72, 2454 VK_FORMAT_R16_SSCALED = 73, 2455 VK_FORMAT_R16_UINT = 74, 2456 VK_FORMAT_R16_SINT = 75, 2457 VK_FORMAT_R16_SFLOAT = 76, 2458 VK_FORMAT_R16G16_UNORM = 77, 2459 VK_FORMAT_R16G16_SNORM = 78, 2460 VK_FORMAT_R16G16_USCALED = 79, 2461 VK_FORMAT_R16G16_SSCALED = 80, 2462 VK_FORMAT_R16G16_UINT = 81, 2463 VK_FORMAT_R16G16_SINT = 82, 2464 VK_FORMAT_R16G16_SFLOAT = 83, 2465 VK_FORMAT_R16G16B16_UNORM = 84, 2466 VK_FORMAT_R16G16B16_SNORM = 85, 2467 VK_FORMAT_R16G16B16_USCALED = 86, 2468 VK_FORMAT_R16G16B16_SSCALED = 87, 2469 VK_FORMAT_R16G16B16_UINT = 88, 2470 VK_FORMAT_R16G16B16_SINT = 89, 2471 VK_FORMAT_R16G16B16_SFLOAT = 90, 2472 VK_FORMAT_R16G16B16A16_UNORM = 91, 2473 VK_FORMAT_R16G16B16A16_SNORM = 92, 2474 VK_FORMAT_R16G16B16A16_USCALED = 93, 2475 VK_FORMAT_R16G16B16A16_SSCALED = 94, 2476 VK_FORMAT_R16G16B16A16_UINT = 95, 2477 VK_FORMAT_R16G16B16A16_SINT = 96, 2478 VK_FORMAT_R16G16B16A16_SFLOAT = 97, 2479 VK_FORMAT_R32_UINT = 98, 2480 VK_FORMAT_R32_SINT = 99, 2481 VK_FORMAT_R32_SFLOAT = 100, 2482 VK_FORMAT_R32G32_UINT = 101, 2483 VK_FORMAT_R32G32_SINT = 102, 2484 VK_FORMAT_R32G32_SFLOAT = 103, 2485 VK_FORMAT_R32G32B32_UINT = 104, 2486 VK_FORMAT_R32G32B32_SINT = 105, 2487 VK_FORMAT_R32G32B32_SFLOAT = 106, 2488 VK_FORMAT_R32G32B32A32_UINT = 107, 2489 VK_FORMAT_R32G32B32A32_SINT = 108, 2490 VK_FORMAT_R32G32B32A32_SFLOAT = 109, 2491 VK_FORMAT_R64_UINT = 110, 2492 VK_FORMAT_R64_SINT = 111, 2493 VK_FORMAT_R64_SFLOAT = 112, 2494 VK_FORMAT_R64G64_UINT = 113, 2495 VK_FORMAT_R64G64_SINT = 114, 2496 VK_FORMAT_R64G64_SFLOAT = 115, 2497 VK_FORMAT_R64G64B64_UINT = 116, 2498 VK_FORMAT_R64G64B64_SINT = 117, 2499 VK_FORMAT_R64G64B64_SFLOAT = 118, 2500 VK_FORMAT_R64G64B64A64_UINT = 119, 2501 VK_FORMAT_R64G64B64A64_SINT = 120, 2502 VK_FORMAT_R64G64B64A64_SFLOAT = 121, 2503 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122, 2504 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123, 2505 VK_FORMAT_D16_UNORM = 124, 2506 VK_FORMAT_X8_D24_UNORM_PACK32 = 125, 2507 VK_FORMAT_D32_SFLOAT = 126, 2508 VK_FORMAT_S8_UINT = 127, 2509 VK_FORMAT_D16_UNORM_S8_UINT = 128, 2510 VK_FORMAT_D24_UNORM_S8_UINT = 129, 2511 VK_FORMAT_D32_SFLOAT_S8_UINT = 130, 2512 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131, 2513 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132, 2514 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133, 2515 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134, 2516 VK_FORMAT_BC2_UNORM_BLOCK = 135, 2517 VK_FORMAT_BC2_SRGB_BLOCK = 136, 2518 VK_FORMAT_BC3_UNORM_BLOCK = 137, 2519 VK_FORMAT_BC3_SRGB_BLOCK = 138, 2520 VK_FORMAT_BC4_UNORM_BLOCK = 139, 2521 VK_FORMAT_BC4_SNORM_BLOCK = 140, 2522 VK_FORMAT_BC5_UNORM_BLOCK = 141, 2523 VK_FORMAT_BC5_SNORM_BLOCK = 142, 2524 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143, 2525 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144, 2526 VK_FORMAT_BC7_UNORM_BLOCK = 145, 2527 VK_FORMAT_BC7_SRGB_BLOCK = 146, 2528 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147, 2529 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148, 2530 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149, 2531 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150, 2532 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151, 2533 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152, 2534 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153, 2535 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154, 2536 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155, 2537 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156, 2538 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157, 2539 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158, 2540 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159, 2541 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160, 2542 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161, 2543 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162, 2544 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163, 2545 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164, 2546 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165, 2547 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166, 2548 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167, 2549 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168, 2550 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169, 2551 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170, 2552 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171, 2553 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172, 2554 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173, 2555 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174, 2556 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175, 2557 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176, 2558 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177, 2559 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178, 2560 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179, 2561 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180, 2562 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181, 2563 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182, 2564 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183, 2565 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184, 2566 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000, 2567 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001, 2568 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002, 2569 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003, 2570 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004, 2571 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005, 2572 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006, 2573 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007, 2574 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008, 2575 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009, 2576 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010, 2577 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011, 2578 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012, 2579 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013, 2580 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014, 2581 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015, 2582 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016, 2583 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017, 2584 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018, 2585 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019, 2586 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020, 2587 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021, 2588 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022, 2589 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023, 2590 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024, 2591 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025, 2592 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026, 2593 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027, 2594 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028, 2595 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029, 2596 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030, 2597 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031, 2598 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032, 2599 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033, 2600 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000, 2601 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001, 2602 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002, 2603 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003, 2604 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000, 2605 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001, 2606 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000, 2607 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001, 2608 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002, 2609 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003, 2610 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004, 2611 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005, 2612 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006, 2613 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007, 2614 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008, 2615 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009, 2616 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010, 2617 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011, 2618 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012, 2619 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013, 2620 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000, 2621 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001, 2622 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002, 2623 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003, 2624 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004, 2625 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 2626 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 2627 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 2628 VK_FORMAT_R16G16_S10_5_NV = 1000464000, 2629 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 2630 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 2631 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, 2632 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK, 2633 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK, 2634 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK, 2635 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK, 2636 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK, 2637 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK, 2638 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK, 2639 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK, 2640 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK, 2641 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK, 2642 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK, 2643 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM, 2644 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM, 2645 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM, 2646 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM, 2647 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM, 2648 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM, 2649 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM, 2650 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16, 2651 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16, 2652 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16, 2653 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16, 2654 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16, 2655 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, 2656 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16, 2657 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16, 2658 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16, 2659 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16, 2660 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16, 2661 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16, 2662 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16, 2663 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16, 2664 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16, 2665 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16, 2666 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16, 2667 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16, 2668 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16, 2669 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16, 2670 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM, 2671 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM, 2672 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, 2673 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM, 2674 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM, 2675 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, 2676 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM, 2677 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, 2678 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, 2679 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, 2680 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM, 2681 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16, 2682 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16, 2683 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF 2684} VkFormat; 2685 2686typedef enum VkImageTiling { 2687 VK_IMAGE_TILING_OPTIMAL = 0, 2688 VK_IMAGE_TILING_LINEAR = 1, 2689 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000, 2690 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF 2691} VkImageTiling; 2692 2693typedef enum VkImageType { 2694 VK_IMAGE_TYPE_1D = 0, 2695 VK_IMAGE_TYPE_2D = 1, 2696 VK_IMAGE_TYPE_3D = 2, 2697 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF 2698} VkImageType; 2699 2700typedef enum VkPhysicalDeviceType { 2701 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0, 2702 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1, 2703 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2, 2704 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3, 2705 VK_PHYSICAL_DEVICE_TYPE_CPU = 4, 2706 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF 2707} VkPhysicalDeviceType; 2708 2709typedef enum VkQueryType { 2710 VK_QUERY_TYPE_OCCLUSION = 0, 2711 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 2712 VK_QUERY_TYPE_TIMESTAMP = 2, 2713 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 2714 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 2715 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 2716 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 2717 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 2718 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 2719 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 2720#ifdef VK_ENABLE_BETA_EXTENSIONS 2721 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000, 2722#endif 2723 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 2724 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 2725 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 2726 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 2727 VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 2728 VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 2729 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 2730} VkQueryType; 2731 2732typedef enum VkSharingMode { 2733 VK_SHARING_MODE_EXCLUSIVE = 0, 2734 VK_SHARING_MODE_CONCURRENT = 1, 2735 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF 2736} VkSharingMode; 2737 2738typedef enum VkComponentSwizzle { 2739 VK_COMPONENT_SWIZZLE_IDENTITY = 0, 2740 VK_COMPONENT_SWIZZLE_ZERO = 1, 2741 VK_COMPONENT_SWIZZLE_ONE = 2, 2742 VK_COMPONENT_SWIZZLE_R = 3, 2743 VK_COMPONENT_SWIZZLE_G = 4, 2744 VK_COMPONENT_SWIZZLE_B = 5, 2745 VK_COMPONENT_SWIZZLE_A = 6, 2746 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF 2747} VkComponentSwizzle; 2748 2749typedef enum VkImageViewType { 2750 VK_IMAGE_VIEW_TYPE_1D = 0, 2751 VK_IMAGE_VIEW_TYPE_2D = 1, 2752 VK_IMAGE_VIEW_TYPE_3D = 2, 2753 VK_IMAGE_VIEW_TYPE_CUBE = 3, 2754 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4, 2755 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5, 2756 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6, 2757 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF 2758} VkImageViewType; 2759 2760typedef enum VkBlendFactor { 2761 VK_BLEND_FACTOR_ZERO = 0, 2762 VK_BLEND_FACTOR_ONE = 1, 2763 VK_BLEND_FACTOR_SRC_COLOR = 2, 2764 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3, 2765 VK_BLEND_FACTOR_DST_COLOR = 4, 2766 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5, 2767 VK_BLEND_FACTOR_SRC_ALPHA = 6, 2768 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7, 2769 VK_BLEND_FACTOR_DST_ALPHA = 8, 2770 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9, 2771 VK_BLEND_FACTOR_CONSTANT_COLOR = 10, 2772 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11, 2773 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12, 2774 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13, 2775 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14, 2776 VK_BLEND_FACTOR_SRC1_COLOR = 15, 2777 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16, 2778 VK_BLEND_FACTOR_SRC1_ALPHA = 17, 2779 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18, 2780 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF 2781} VkBlendFactor; 2782 2783typedef enum VkBlendOp { 2784 VK_BLEND_OP_ADD = 0, 2785 VK_BLEND_OP_SUBTRACT = 1, 2786 VK_BLEND_OP_REVERSE_SUBTRACT = 2, 2787 VK_BLEND_OP_MIN = 3, 2788 VK_BLEND_OP_MAX = 4, 2789 VK_BLEND_OP_ZERO_EXT = 1000148000, 2790 VK_BLEND_OP_SRC_EXT = 1000148001, 2791 VK_BLEND_OP_DST_EXT = 1000148002, 2792 VK_BLEND_OP_SRC_OVER_EXT = 1000148003, 2793 VK_BLEND_OP_DST_OVER_EXT = 1000148004, 2794 VK_BLEND_OP_SRC_IN_EXT = 1000148005, 2795 VK_BLEND_OP_DST_IN_EXT = 1000148006, 2796 VK_BLEND_OP_SRC_OUT_EXT = 1000148007, 2797 VK_BLEND_OP_DST_OUT_EXT = 1000148008, 2798 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009, 2799 VK_BLEND_OP_DST_ATOP_EXT = 1000148010, 2800 VK_BLEND_OP_XOR_EXT = 1000148011, 2801 VK_BLEND_OP_MULTIPLY_EXT = 1000148012, 2802 VK_BLEND_OP_SCREEN_EXT = 1000148013, 2803 VK_BLEND_OP_OVERLAY_EXT = 1000148014, 2804 VK_BLEND_OP_DARKEN_EXT = 1000148015, 2805 VK_BLEND_OP_LIGHTEN_EXT = 1000148016, 2806 VK_BLEND_OP_COLORDODGE_EXT = 1000148017, 2807 VK_BLEND_OP_COLORBURN_EXT = 1000148018, 2808 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019, 2809 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020, 2810 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021, 2811 VK_BLEND_OP_EXCLUSION_EXT = 1000148022, 2812 VK_BLEND_OP_INVERT_EXT = 1000148023, 2813 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024, 2814 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025, 2815 VK_BLEND_OP_LINEARBURN_EXT = 1000148026, 2816 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027, 2817 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028, 2818 VK_BLEND_OP_PINLIGHT_EXT = 1000148029, 2819 VK_BLEND_OP_HARDMIX_EXT = 1000148030, 2820 VK_BLEND_OP_HSL_HUE_EXT = 1000148031, 2821 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032, 2822 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033, 2823 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034, 2824 VK_BLEND_OP_PLUS_EXT = 1000148035, 2825 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036, 2826 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037, 2827 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038, 2828 VK_BLEND_OP_MINUS_EXT = 1000148039, 2829 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040, 2830 VK_BLEND_OP_CONTRAST_EXT = 1000148041, 2831 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042, 2832 VK_BLEND_OP_RED_EXT = 1000148043, 2833 VK_BLEND_OP_GREEN_EXT = 1000148044, 2834 VK_BLEND_OP_BLUE_EXT = 1000148045, 2835 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF 2836} VkBlendOp; 2837 2838typedef enum VkCompareOp { 2839 VK_COMPARE_OP_NEVER = 0, 2840 VK_COMPARE_OP_LESS = 1, 2841 VK_COMPARE_OP_EQUAL = 2, 2842 VK_COMPARE_OP_LESS_OR_EQUAL = 3, 2843 VK_COMPARE_OP_GREATER = 4, 2844 VK_COMPARE_OP_NOT_EQUAL = 5, 2845 VK_COMPARE_OP_GREATER_OR_EQUAL = 6, 2846 VK_COMPARE_OP_ALWAYS = 7, 2847 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF 2848} VkCompareOp; 2849 2850typedef enum VkDynamicState { 2851 VK_DYNAMIC_STATE_VIEWPORT = 0, 2852 VK_DYNAMIC_STATE_SCISSOR = 1, 2853 VK_DYNAMIC_STATE_LINE_WIDTH = 2, 2854 VK_DYNAMIC_STATE_DEPTH_BIAS = 3, 2855 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4, 2856 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5, 2857 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6, 2858 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7, 2859 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8, 2860 VK_DYNAMIC_STATE_CULL_MODE = 1000267000, 2861 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001, 2862 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002, 2863 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003, 2864 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004, 2865 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005, 2866 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006, 2867 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007, 2868 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008, 2869 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009, 2870 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010, 2871 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011, 2872 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001, 2873 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002, 2874 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 2875 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 2876 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 2877 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 2878 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 2879 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 2880 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 2881 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 2882 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 2883 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, 2884 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000, 2885 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 2886 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 2887 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 2888 VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 2889 VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 2890 VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 2891 VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 2892 VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 2893 VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 2894 VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 2895 VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 2896 VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 2897 VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 2898 VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 2899 VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 2900 VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 2901 VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 2902 VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 2903 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 2904 VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 2905 VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 2906 VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 2907 VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 2908 VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 2909 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 2910 VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 2911 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 2912 VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 2913 VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 2914 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 2915 VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 2916 VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 2917 VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 2918 VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 2919 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, 2920 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, 2921 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, 2922 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, 2923 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, 2924 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, 2925 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, 2926 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, 2927 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, 2928 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, 2929 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, 2930 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP, 2931 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE, 2932 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, 2933 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, 2934 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF 2935} VkDynamicState; 2936 2937typedef enum VkFrontFace { 2938 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0, 2939 VK_FRONT_FACE_CLOCKWISE = 1, 2940 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF 2941} VkFrontFace; 2942 2943typedef enum VkVertexInputRate { 2944 VK_VERTEX_INPUT_RATE_VERTEX = 0, 2945 VK_VERTEX_INPUT_RATE_INSTANCE = 1, 2946 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF 2947} VkVertexInputRate; 2948 2949typedef enum VkPrimitiveTopology { 2950 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0, 2951 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1, 2952 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2, 2953 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3, 2954 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4, 2955 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5, 2956 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6, 2957 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7, 2958 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8, 2959 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9, 2960 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10, 2961 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF 2962} VkPrimitiveTopology; 2963 2964typedef enum VkPolygonMode { 2965 VK_POLYGON_MODE_FILL = 0, 2966 VK_POLYGON_MODE_LINE = 1, 2967 VK_POLYGON_MODE_POINT = 2, 2968 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000, 2969 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF 2970} VkPolygonMode; 2971 2972typedef enum VkStencilOp { 2973 VK_STENCIL_OP_KEEP = 0, 2974 VK_STENCIL_OP_ZERO = 1, 2975 VK_STENCIL_OP_REPLACE = 2, 2976 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3, 2977 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4, 2978 VK_STENCIL_OP_INVERT = 5, 2979 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6, 2980 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7, 2981 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF 2982} VkStencilOp; 2983 2984typedef enum VkLogicOp { 2985 VK_LOGIC_OP_CLEAR = 0, 2986 VK_LOGIC_OP_AND = 1, 2987 VK_LOGIC_OP_AND_REVERSE = 2, 2988 VK_LOGIC_OP_COPY = 3, 2989 VK_LOGIC_OP_AND_INVERTED = 4, 2990 VK_LOGIC_OP_NO_OP = 5, 2991 VK_LOGIC_OP_XOR = 6, 2992 VK_LOGIC_OP_OR = 7, 2993 VK_LOGIC_OP_NOR = 8, 2994 VK_LOGIC_OP_EQUIVALENT = 9, 2995 VK_LOGIC_OP_INVERT = 10, 2996 VK_LOGIC_OP_OR_REVERSE = 11, 2997 VK_LOGIC_OP_COPY_INVERTED = 12, 2998 VK_LOGIC_OP_OR_INVERTED = 13, 2999 VK_LOGIC_OP_NAND = 14, 3000 VK_LOGIC_OP_SET = 15, 3001 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF 3002} VkLogicOp; 3003 3004typedef enum VkBorderColor { 3005 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0, 3006 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1, 3007 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2, 3008 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3, 3009 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4, 3010 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5, 3011 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003, 3012 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004, 3013 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF 3014} VkBorderColor; 3015 3016typedef enum VkFilter { 3017 VK_FILTER_NEAREST = 0, 3018 VK_FILTER_LINEAR = 1, 3019 VK_FILTER_CUBIC_EXT = 1000015000, 3020 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT, 3021 VK_FILTER_MAX_ENUM = 0x7FFFFFFF 3022} VkFilter; 3023 3024typedef enum VkSamplerAddressMode { 3025 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0, 3026 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1, 3027 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2, 3028 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3, 3029 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4, 3030 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, 3031 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF 3032} VkSamplerAddressMode; 3033 3034typedef enum VkSamplerMipmapMode { 3035 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0, 3036 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1, 3037 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF 3038} VkSamplerMipmapMode; 3039 3040typedef enum VkDescriptorType { 3041 VK_DESCRIPTOR_TYPE_SAMPLER = 0, 3042 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1, 3043 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2, 3044 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3, 3045 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4, 3046 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5, 3047 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6, 3048 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7, 3049 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8, 3050 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9, 3051 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10, 3052 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 3053 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 3054 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 3055 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 3056 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 3057 VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 3058 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 3059 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 3060 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 3061} VkDescriptorType; 3062 3063typedef enum VkAttachmentLoadOp { 3064 VK_ATTACHMENT_LOAD_OP_LOAD = 0, 3065 VK_ATTACHMENT_LOAD_OP_CLEAR = 1, 3066 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, 3067 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000, 3068 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF 3069} VkAttachmentLoadOp; 3070 3071typedef enum VkAttachmentStoreOp { 3072 VK_ATTACHMENT_STORE_OP_STORE = 0, 3073 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, 3074 VK_ATTACHMENT_STORE_OP_NONE = 1000301000, 3075 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE, 3076 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE, 3077 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE, 3078 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF 3079} VkAttachmentStoreOp; 3080 3081typedef enum VkPipelineBindPoint { 3082 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 3083 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 3084 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 3085 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 3086 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, 3087 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF 3088} VkPipelineBindPoint; 3089 3090typedef enum VkCommandBufferLevel { 3091 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0, 3092 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1, 3093 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF 3094} VkCommandBufferLevel; 3095 3096typedef enum VkIndexType { 3097 VK_INDEX_TYPE_UINT16 = 0, 3098 VK_INDEX_TYPE_UINT32 = 1, 3099 VK_INDEX_TYPE_NONE_KHR = 1000165000, 3100 VK_INDEX_TYPE_UINT8_EXT = 1000265000, 3101 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR, 3102 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF 3103} VkIndexType; 3104 3105typedef enum VkSubpassContents { 3106 VK_SUBPASS_CONTENTS_INLINE = 0, 3107 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 3108 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 3109} VkSubpassContents; 3110 3111typedef enum VkAccessFlagBits { 3112 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001, 3113 VK_ACCESS_INDEX_READ_BIT = 0x00000002, 3114 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004, 3115 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008, 3116 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010, 3117 VK_ACCESS_SHADER_READ_BIT = 0x00000020, 3118 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040, 3119 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080, 3120 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100, 3121 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200, 3122 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400, 3123 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800, 3124 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000, 3125 VK_ACCESS_HOST_READ_BIT = 0x00002000, 3126 VK_ACCESS_HOST_WRITE_BIT = 0x00004000, 3127 VK_ACCESS_MEMORY_READ_BIT = 0x00008000, 3128 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000, 3129 VK_ACCESS_NONE = 0, 3130 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000, 3131 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000, 3132 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000, 3133 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000, 3134 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000, 3135 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000, 3136 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000, 3137 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000, 3138 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000, 3139 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000, 3140 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000, 3141 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, 3142 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR, 3143 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR, 3144 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE, 3145 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3146} VkAccessFlagBits; 3147typedef VkFlags VkAccessFlags; 3148 3149typedef enum VkImageAspectFlagBits { 3150 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001, 3151 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002, 3152 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004, 3153 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008, 3154 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, 3155 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, 3156 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, 3157 VK_IMAGE_ASPECT_NONE = 0, 3158 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, 3159 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, 3160 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, 3161 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, 3162 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, 3163 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, 3164 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, 3165 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, 3166 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3167} VkImageAspectFlagBits; 3168typedef VkFlags VkImageAspectFlags; 3169 3170typedef enum VkFormatFeatureFlagBits { 3171 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001, 3172 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002, 3173 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004, 3174 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008, 3175 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010, 3176 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020, 3177 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040, 3178 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080, 3179 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100, 3180 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200, 3181 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400, 3182 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800, 3183 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000, 3184 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000, 3185 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000, 3186 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000, 3187 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000, 3188 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000, 3189 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000, 3190 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000, 3191 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 3192 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 3193 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 3194 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 3195 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 3196 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 3197 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 3198 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 3199 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 3200#ifdef VK_ENABLE_BETA_EXTENSIONS 3201 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, 3202#endif 3203#ifdef VK_ENABLE_BETA_EXTENSIONS 3204 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 3205#endif 3206 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 3207 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 3208 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, 3209 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT, 3210 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, 3211 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, 3212 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT, 3213 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT, 3214 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, 3215 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT, 3216 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, 3217 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3218} VkFormatFeatureFlagBits; 3219typedef VkFlags VkFormatFeatureFlags; 3220 3221typedef enum VkImageCreateFlagBits { 3222 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001, 3223 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 3224 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 3225 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008, 3226 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, 3227 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400, 3228 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040, 3229 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020, 3230 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080, 3231 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100, 3232 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800, 3233 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200, 3234 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 3235 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 3236 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 3237 VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, 3238 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 3239 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 3240 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, 3241 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 3242 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 3243 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, 3244 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT, 3245 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT, 3246 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT, 3247 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3248} VkImageCreateFlagBits; 3249typedef VkFlags VkImageCreateFlags; 3250 3251typedef enum VkSampleCountFlagBits { 3252 VK_SAMPLE_COUNT_1_BIT = 0x00000001, 3253 VK_SAMPLE_COUNT_2_BIT = 0x00000002, 3254 VK_SAMPLE_COUNT_4_BIT = 0x00000004, 3255 VK_SAMPLE_COUNT_8_BIT = 0x00000008, 3256 VK_SAMPLE_COUNT_16_BIT = 0x00000010, 3257 VK_SAMPLE_COUNT_32_BIT = 0x00000020, 3258 VK_SAMPLE_COUNT_64_BIT = 0x00000040, 3259 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3260} VkSampleCountFlagBits; 3261typedef VkFlags VkSampleCountFlags; 3262 3263typedef enum VkImageUsageFlagBits { 3264 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001, 3265 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002, 3266 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004, 3267 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008, 3268 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010, 3269 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 3270 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 3271 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 3272 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 3273 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 3274 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 3275 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 3276 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 3277#ifdef VK_ENABLE_BETA_EXTENSIONS 3278 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 3279#endif 3280#ifdef VK_ENABLE_BETA_EXTENSIONS 3281 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 3282#endif 3283#ifdef VK_ENABLE_BETA_EXTENSIONS 3284 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 3285#endif 3286 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 3287 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 3288 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, 3289 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000, 3290 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 3291 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3292} VkImageUsageFlagBits; 3293typedef VkFlags VkImageUsageFlags; 3294 3295typedef enum VkInstanceCreateFlagBits { 3296 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001, 3297 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3298} VkInstanceCreateFlagBits; 3299typedef VkFlags VkInstanceCreateFlags; 3300 3301typedef enum VkMemoryHeapFlagBits { 3302 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001, 3303 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002, 3304 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, 3305 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3306} VkMemoryHeapFlagBits; 3307typedef VkFlags VkMemoryHeapFlags; 3308 3309typedef enum VkMemoryPropertyFlagBits { 3310 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001, 3311 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002, 3312 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004, 3313 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008, 3314 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010, 3315 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020, 3316 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040, 3317 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080, 3318 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100, 3319 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3320} VkMemoryPropertyFlagBits; 3321typedef VkFlags VkMemoryPropertyFlags; 3322 3323typedef enum VkQueueFlagBits { 3324 VK_QUEUE_GRAPHICS_BIT = 0x00000001, 3325 VK_QUEUE_COMPUTE_BIT = 0x00000002, 3326 VK_QUEUE_TRANSFER_BIT = 0x00000004, 3327 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 3328 VK_QUEUE_PROTECTED_BIT = 0x00000010, 3329 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 3330#ifdef VK_ENABLE_BETA_EXTENSIONS 3331 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 3332#endif 3333 VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 3334 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3335} VkQueueFlagBits; 3336typedef VkFlags VkQueueFlags; 3337typedef VkFlags VkDeviceCreateFlags; 3338 3339typedef enum VkDeviceQueueCreateFlagBits { 3340 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001, 3341 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3342} VkDeviceQueueCreateFlagBits; 3343typedef VkFlags VkDeviceQueueCreateFlags; 3344 3345typedef enum VkPipelineStageFlagBits { 3346 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001, 3347 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002, 3348 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004, 3349 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008, 3350 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010, 3351 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020, 3352 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040, 3353 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080, 3354 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100, 3355 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200, 3356 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400, 3357 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800, 3358 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000, 3359 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000, 3360 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000, 3361 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000, 3362 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000, 3363 VK_PIPELINE_STAGE_NONE = 0, 3364 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000, 3365 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000, 3366 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000, 3367 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000, 3368 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000, 3369 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000, 3370 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000, 3371 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000, 3372 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000, 3373 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 3374 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, 3375 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR, 3376 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT, 3377 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT, 3378 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE, 3379 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3380} VkPipelineStageFlagBits; 3381typedef VkFlags VkPipelineStageFlags; 3382typedef VkFlags VkMemoryMapFlags; 3383 3384typedef enum VkSparseMemoryBindFlagBits { 3385 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001, 3386 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3387} VkSparseMemoryBindFlagBits; 3388typedef VkFlags VkSparseMemoryBindFlags; 3389 3390typedef enum VkSparseImageFormatFlagBits { 3391 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, 3392 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, 3393 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, 3394 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3395} VkSparseImageFormatFlagBits; 3396typedef VkFlags VkSparseImageFormatFlags; 3397 3398typedef enum VkFenceCreateFlagBits { 3399 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001, 3400 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3401} VkFenceCreateFlagBits; 3402typedef VkFlags VkFenceCreateFlags; 3403typedef VkFlags VkSemaphoreCreateFlags; 3404 3405typedef enum VkEventCreateFlagBits { 3406 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001, 3407 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT, 3408 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3409} VkEventCreateFlagBits; 3410typedef VkFlags VkEventCreateFlags; 3411 3412typedef enum VkQueryPipelineStatisticFlagBits { 3413 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001, 3414 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002, 3415 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004, 3416 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008, 3417 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010, 3418 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020, 3419 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040, 3420 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080, 3421 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100, 3422 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200, 3423 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 3424 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 3425 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 3426 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3427} VkQueryPipelineStatisticFlagBits; 3428typedef VkFlags VkQueryPipelineStatisticFlags; 3429typedef VkFlags VkQueryPoolCreateFlags; 3430 3431typedef enum VkQueryResultFlagBits { 3432 VK_QUERY_RESULT_64_BIT = 0x00000001, 3433 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 3434 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 3435 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 3436 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 3437 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3438} VkQueryResultFlagBits; 3439typedef VkFlags VkQueryResultFlags; 3440 3441typedef enum VkBufferCreateFlagBits { 3442 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001, 3443 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002, 3444 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 3445 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 3446 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 3447 VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020, 3448 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 3449 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 3450 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3451} VkBufferCreateFlagBits; 3452typedef VkFlags VkBufferCreateFlags; 3453 3454typedef enum VkBufferUsageFlagBits { 3455 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001, 3456 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002, 3457 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004, 3458 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008, 3459 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010, 3460 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020, 3461 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040, 3462 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 3463 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 3464 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 3465 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 3466 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 3467 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 3468 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 3469 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 3470 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 3471 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 3472 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 3473#ifdef VK_ENABLE_BETA_EXTENSIONS 3474 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 3475#endif 3476#ifdef VK_ENABLE_BETA_EXTENSIONS 3477 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 3478#endif 3479 VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000, 3480 VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000, 3481 VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000, 3482 VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 3483 VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 3484 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 3485 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 3486 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 3487 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3488} VkBufferUsageFlagBits; 3489typedef VkFlags VkBufferUsageFlags; 3490typedef VkFlags VkBufferViewCreateFlags; 3491 3492typedef enum VkImageViewCreateFlagBits { 3493 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 3494 VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004, 3495 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 3496 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3497} VkImageViewCreateFlagBits; 3498typedef VkFlags VkImageViewCreateFlags; 3499typedef VkFlags VkShaderModuleCreateFlags; 3500 3501typedef enum VkPipelineCacheCreateFlagBits { 3502 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, 3503 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, 3504 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3505} VkPipelineCacheCreateFlagBits; 3506typedef VkFlags VkPipelineCacheCreateFlags; 3507 3508typedef enum VkColorComponentFlagBits { 3509 VK_COLOR_COMPONENT_R_BIT = 0x00000001, 3510 VK_COLOR_COMPONENT_G_BIT = 0x00000002, 3511 VK_COLOR_COMPONENT_B_BIT = 0x00000004, 3512 VK_COLOR_COMPONENT_A_BIT = 0x00000008, 3513 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3514} VkColorComponentFlagBits; 3515typedef VkFlags VkColorComponentFlags; 3516 3517typedef enum VkPipelineCreateFlagBits { 3518 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001, 3519 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002, 3520 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, 3521 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, 3522 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, 3523 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100, 3524 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200, 3525 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, 3526 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, 3527 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, 3528 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, 3529 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, 3530 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000, 3531 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000, 3532 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000, 3533 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000, 3534 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020, 3535 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040, 3536 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 3537 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 3538 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 3539 VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000, 3540 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 3541 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 3542 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 3543 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 3544 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 3545 VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 3546 VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000, 3547 VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000, 3548 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 3549 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 3550 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, 3551 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, 3552 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, 3553 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT, 3554 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT, 3555 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3556} VkPipelineCreateFlagBits; 3557typedef VkFlags VkPipelineCreateFlags; 3558 3559typedef enum VkPipelineShaderStageCreateFlagBits { 3560 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001, 3561 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002, 3562 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT, 3563 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT, 3564 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3565} VkPipelineShaderStageCreateFlagBits; 3566typedef VkFlags VkPipelineShaderStageCreateFlags; 3567 3568typedef enum VkShaderStageFlagBits { 3569 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001, 3570 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002, 3571 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004, 3572 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008, 3573 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010, 3574 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020, 3575 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F, 3576 VK_SHADER_STAGE_ALL = 0x7FFFFFFF, 3577 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100, 3578 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200, 3579 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400, 3580 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800, 3581 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000, 3582 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000, 3583 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 3584 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 3585 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 3586 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 3587 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 3588 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, 3589 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR, 3590 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR, 3591 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR, 3592 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT, 3593 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT, 3594 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3595} VkShaderStageFlagBits; 3596 3597typedef enum VkCullModeFlagBits { 3598 VK_CULL_MODE_NONE = 0, 3599 VK_CULL_MODE_FRONT_BIT = 0x00000001, 3600 VK_CULL_MODE_BACK_BIT = 0x00000002, 3601 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003, 3602 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3603} VkCullModeFlagBits; 3604typedef VkFlags VkCullModeFlags; 3605typedef VkFlags VkPipelineVertexInputStateCreateFlags; 3606typedef VkFlags VkPipelineInputAssemblyStateCreateFlags; 3607typedef VkFlags VkPipelineTessellationStateCreateFlags; 3608typedef VkFlags VkPipelineViewportStateCreateFlags; 3609typedef VkFlags VkPipelineRasterizationStateCreateFlags; 3610typedef VkFlags VkPipelineMultisampleStateCreateFlags; 3611 3612typedef enum VkPipelineDepthStencilStateCreateFlagBits { 3613 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001, 3614 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002, 3615 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 3616 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 3617 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3618} VkPipelineDepthStencilStateCreateFlagBits; 3619typedef VkFlags VkPipelineDepthStencilStateCreateFlags; 3620 3621typedef enum VkPipelineColorBlendStateCreateFlagBits { 3622 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001, 3623 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT, 3624 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3625} VkPipelineColorBlendStateCreateFlagBits; 3626typedef VkFlags VkPipelineColorBlendStateCreateFlags; 3627typedef VkFlags VkPipelineDynamicStateCreateFlags; 3628 3629typedef enum VkPipelineLayoutCreateFlagBits { 3630 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002, 3631 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3632} VkPipelineLayoutCreateFlagBits; 3633typedef VkFlags VkPipelineLayoutCreateFlags; 3634typedef VkFlags VkShaderStageFlags; 3635 3636typedef enum VkSamplerCreateFlagBits { 3637 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 3638 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 3639 VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 3640 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, 3641 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010, 3642 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3643} VkSamplerCreateFlagBits; 3644typedef VkFlags VkSamplerCreateFlags; 3645 3646typedef enum VkDescriptorPoolCreateFlagBits { 3647 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 3648 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 3649 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 3650 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 3651 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 3652 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3653} VkDescriptorPoolCreateFlagBits; 3654typedef VkFlags VkDescriptorPoolCreateFlags; 3655typedef VkFlags VkDescriptorPoolResetFlags; 3656 3657typedef enum VkDescriptorSetLayoutCreateFlagBits { 3658 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 3659 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, 3660 VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010, 3661 VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020, 3662 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 3663 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 3664 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 3665 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3666} VkDescriptorSetLayoutCreateFlagBits; 3667typedef VkFlags VkDescriptorSetLayoutCreateFlags; 3668 3669typedef enum VkAttachmentDescriptionFlagBits { 3670 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001, 3671 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3672} VkAttachmentDescriptionFlagBits; 3673typedef VkFlags VkAttachmentDescriptionFlags; 3674 3675typedef enum VkDependencyFlagBits { 3676 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001, 3677 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, 3678 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, 3679 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, 3680 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, 3681 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, 3682 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3683} VkDependencyFlagBits; 3684typedef VkFlags VkDependencyFlags; 3685 3686typedef enum VkFramebufferCreateFlagBits { 3687 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001, 3688 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, 3689 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3690} VkFramebufferCreateFlagBits; 3691typedef VkFlags VkFramebufferCreateFlags; 3692 3693typedef enum VkRenderPassCreateFlagBits { 3694 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, 3695 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3696} VkRenderPassCreateFlagBits; 3697typedef VkFlags VkRenderPassCreateFlags; 3698 3699typedef enum VkSubpassDescriptionFlagBits { 3700 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001, 3701 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, 3702 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, 3703 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, 3704 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010, 3705 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020, 3706 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040, 3707 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080, 3708 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT, 3709 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT, 3710 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT, 3711 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3712} VkSubpassDescriptionFlagBits; 3713typedef VkFlags VkSubpassDescriptionFlags; 3714 3715typedef enum VkCommandPoolCreateFlagBits { 3716 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, 3717 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, 3718 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, 3719 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3720} VkCommandPoolCreateFlagBits; 3721typedef VkFlags VkCommandPoolCreateFlags; 3722 3723typedef enum VkCommandPoolResetFlagBits { 3724 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 3725 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3726} VkCommandPoolResetFlagBits; 3727typedef VkFlags VkCommandPoolResetFlags; 3728 3729typedef enum VkCommandBufferUsageFlagBits { 3730 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001, 3731 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002, 3732 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004, 3733 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3734} VkCommandBufferUsageFlagBits; 3735typedef VkFlags VkCommandBufferUsageFlags; 3736 3737typedef enum VkQueryControlFlagBits { 3738 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001, 3739 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3740} VkQueryControlFlagBits; 3741typedef VkFlags VkQueryControlFlags; 3742 3743typedef enum VkCommandBufferResetFlagBits { 3744 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001, 3745 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3746} VkCommandBufferResetFlagBits; 3747typedef VkFlags VkCommandBufferResetFlags; 3748 3749typedef enum VkStencilFaceFlagBits { 3750 VK_STENCIL_FACE_FRONT_BIT = 0x00000001, 3751 VK_STENCIL_FACE_BACK_BIT = 0x00000002, 3752 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003, 3753 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK, 3754 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 3755} VkStencilFaceFlagBits; 3756typedef VkFlags VkStencilFaceFlags; 3757typedef struct VkExtent2D { 3758 deUint32 width; 3759 deUint32 height; 3760} VkExtent2D; 3761 3762typedef struct VkExtent3D { 3763 deUint32 width; 3764 deUint32 height; 3765 deUint32 depth; 3766} VkExtent3D; 3767 3768typedef struct VkOffset2D { 3769 deInt32 x; 3770 deInt32 y; 3771} VkOffset2D; 3772 3773typedef struct VkOffset3D { 3774 deInt32 x; 3775 deInt32 y; 3776 deInt32 z; 3777} VkOffset3D; 3778 3779typedef struct VkRect2D { 3780 VkOffset2D offset; 3781 VkExtent2D extent; 3782} VkRect2D; 3783 3784typedef struct VkBaseInStructure { 3785 VkStructureType sType; 3786 const struct VkBaseInStructure* pNext; 3787} VkBaseInStructure; 3788 3789typedef struct VkBaseOutStructure { 3790 VkStructureType sType; 3791 struct VkBaseOutStructure* pNext; 3792} VkBaseOutStructure; 3793 3794typedef struct VkBufferMemoryBarrier { 3795 VkStructureType sType; 3796 const void* pNext; 3797 VkAccessFlags srcAccessMask; 3798 VkAccessFlags dstAccessMask; 3799 deUint32 srcQueueFamilyIndex; 3800 deUint32 dstQueueFamilyIndex; 3801 VkBuffer buffer; 3802 VkDeviceSize offset; 3803 VkDeviceSize size; 3804} VkBufferMemoryBarrier; 3805 3806typedef struct VkDispatchIndirectCommand { 3807 deUint32 x; 3808 deUint32 y; 3809 deUint32 z; 3810} VkDispatchIndirectCommand; 3811 3812typedef struct VkDrawIndexedIndirectCommand { 3813 deUint32 indexCount; 3814 deUint32 instanceCount; 3815 deUint32 firstIndex; 3816 deInt32 vertexOffset; 3817 deUint32 firstInstance; 3818} VkDrawIndexedIndirectCommand; 3819 3820typedef struct VkDrawIndirectCommand { 3821 deUint32 vertexCount; 3822 deUint32 instanceCount; 3823 deUint32 firstVertex; 3824 deUint32 firstInstance; 3825} VkDrawIndirectCommand; 3826 3827typedef struct VkImageSubresourceRange { 3828 VkImageAspectFlags aspectMask; 3829 deUint32 baseMipLevel; 3830 deUint32 levelCount; 3831 deUint32 baseArrayLayer; 3832 deUint32 layerCount; 3833} VkImageSubresourceRange; 3834 3835typedef struct VkImageMemoryBarrier { 3836 VkStructureType sType; 3837 const void* pNext; 3838 VkAccessFlags srcAccessMask; 3839 VkAccessFlags dstAccessMask; 3840 VkImageLayout oldLayout; 3841 VkImageLayout newLayout; 3842 deUint32 srcQueueFamilyIndex; 3843 deUint32 dstQueueFamilyIndex; 3844 VkImage image; 3845 VkImageSubresourceRange subresourceRange; 3846} VkImageMemoryBarrier; 3847 3848typedef struct VkMemoryBarrier { 3849 VkStructureType sType; 3850 const void* pNext; 3851 VkAccessFlags srcAccessMask; 3852 VkAccessFlags dstAccessMask; 3853} VkMemoryBarrier; 3854 3855typedef struct VkPipelineCacheHeaderVersionOne { 3856 deUint32 headerSize; 3857 VkPipelineCacheHeaderVersion headerVersion; 3858 deUint32 vendorID; 3859 deUint32 deviceID; 3860 deUint8 pipelineCacheUUID[VK_UUID_SIZE]; 3861} VkPipelineCacheHeaderVersionOne; 3862 3863typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)( 3864 void* pUserData, 3865 deUintptr size, 3866 deUintptr alignment, 3867 VkSystemAllocationScope allocationScope); 3868 3869typedef void (VKAPI_PTR *PFN_vkFreeFunction)( 3870 void* pUserData, 3871 void* pMemory); 3872 3873typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( 3874 void* pUserData, 3875 deUintptr size, 3876 VkInternalAllocationType allocationType, 3877 VkSystemAllocationScope allocationScope); 3878 3879typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)( 3880 void* pUserData, 3881 deUintptr size, 3882 VkInternalAllocationType allocationType, 3883 VkSystemAllocationScope allocationScope); 3884 3885typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( 3886 void* pUserData, 3887 void* pOriginal, 3888 deUintptr size, 3889 deUintptr alignment, 3890 VkSystemAllocationScope allocationScope); 3891 3892typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void); 3893typedef struct VkAllocationCallbacks { 3894 void* pUserData; 3895 PFN_vkAllocationFunction pfnAllocation; 3896 PFN_vkReallocationFunction pfnReallocation; 3897 PFN_vkFreeFunction pfnFree; 3898 PFN_vkInternalAllocationNotification pfnInternalAllocation; 3899 PFN_vkInternalFreeNotification pfnInternalFree; 3900} VkAllocationCallbacks; 3901 3902typedef struct VkApplicationInfo { 3903 VkStructureType sType; 3904 const void* pNext; 3905 const char* pApplicationName; 3906 deUint32 applicationVersion; 3907 const char* pEngineName; 3908 deUint32 engineVersion; 3909 deUint32 apiVersion; 3910} VkApplicationInfo; 3911 3912typedef struct VkFormatProperties { 3913 VkFormatFeatureFlags linearTilingFeatures; 3914 VkFormatFeatureFlags optimalTilingFeatures; 3915 VkFormatFeatureFlags bufferFeatures; 3916} VkFormatProperties; 3917 3918typedef struct VkImageFormatProperties { 3919 VkExtent3D maxExtent; 3920 deUint32 maxMipLevels; 3921 deUint32 maxArrayLayers; 3922 VkSampleCountFlags sampleCounts; 3923 VkDeviceSize maxResourceSize; 3924} VkImageFormatProperties; 3925 3926typedef struct VkInstanceCreateInfo { 3927 VkStructureType sType; 3928 const void* pNext; 3929 VkInstanceCreateFlags flags; 3930 const VkApplicationInfo* pApplicationInfo; 3931 deUint32 enabledLayerCount; 3932 const char* const* ppEnabledLayerNames; 3933 deUint32 enabledExtensionCount; 3934 const char* const* ppEnabledExtensionNames; 3935} VkInstanceCreateInfo; 3936 3937typedef struct VkMemoryHeap { 3938 VkDeviceSize size; 3939 VkMemoryHeapFlags flags; 3940} VkMemoryHeap; 3941 3942typedef struct VkMemoryType { 3943 VkMemoryPropertyFlags propertyFlags; 3944 deUint32 heapIndex; 3945} VkMemoryType; 3946 3947typedef struct VkPhysicalDeviceFeatures { 3948 VkBool32 robustBufferAccess; 3949 VkBool32 fullDrawIndexUint32; 3950 VkBool32 imageCubeArray; 3951 VkBool32 independentBlend; 3952 VkBool32 geometryShader; 3953 VkBool32 tessellationShader; 3954 VkBool32 sampleRateShading; 3955 VkBool32 dualSrcBlend; 3956 VkBool32 logicOp; 3957 VkBool32 multiDrawIndirect; 3958 VkBool32 drawIndirectFirstInstance; 3959 VkBool32 depthClamp; 3960 VkBool32 depthBiasClamp; 3961 VkBool32 fillModeNonSolid; 3962 VkBool32 depthBounds; 3963 VkBool32 wideLines; 3964 VkBool32 largePoints; 3965 VkBool32 alphaToOne; 3966 VkBool32 multiViewport; 3967 VkBool32 samplerAnisotropy; 3968 VkBool32 textureCompressionETC2; 3969 VkBool32 textureCompressionASTC_LDR; 3970 VkBool32 textureCompressionBC; 3971 VkBool32 occlusionQueryPrecise; 3972 VkBool32 pipelineStatisticsQuery; 3973 VkBool32 vertexPipelineStoresAndAtomics; 3974 VkBool32 fragmentStoresAndAtomics; 3975 VkBool32 shaderTessellationAndGeometryPointSize; 3976 VkBool32 shaderImageGatherExtended; 3977 VkBool32 shaderStorageImageExtendedFormats; 3978 VkBool32 shaderStorageImageMultisample; 3979 VkBool32 shaderStorageImageReadWithoutFormat; 3980 VkBool32 shaderStorageImageWriteWithoutFormat; 3981 VkBool32 shaderUniformBufferArrayDynamicIndexing; 3982 VkBool32 shaderSampledImageArrayDynamicIndexing; 3983 VkBool32 shaderStorageBufferArrayDynamicIndexing; 3984 VkBool32 shaderStorageImageArrayDynamicIndexing; 3985 VkBool32 shaderClipDistance; 3986 VkBool32 shaderCullDistance; 3987 VkBool32 shaderFloat64; 3988 VkBool32 shaderInt64; 3989 VkBool32 shaderInt16; 3990 VkBool32 shaderResourceResidency; 3991 VkBool32 shaderResourceMinLod; 3992 VkBool32 sparseBinding; 3993 VkBool32 sparseResidencyBuffer; 3994 VkBool32 sparseResidencyImage2D; 3995 VkBool32 sparseResidencyImage3D; 3996 VkBool32 sparseResidency2Samples; 3997 VkBool32 sparseResidency4Samples; 3998 VkBool32 sparseResidency8Samples; 3999 VkBool32 sparseResidency16Samples; 4000 VkBool32 sparseResidencyAliased; 4001 VkBool32 variableMultisampleRate; 4002 VkBool32 inheritedQueries; 4003} VkPhysicalDeviceFeatures; 4004 4005typedef struct VkPhysicalDeviceLimits { 4006 deUint32 maxImageDimension1D; 4007 deUint32 maxImageDimension2D; 4008 deUint32 maxImageDimension3D; 4009 deUint32 maxImageDimensionCube; 4010 deUint32 maxImageArrayLayers; 4011 deUint32 maxTexelBufferElements; 4012 deUint32 maxUniformBufferRange; 4013 deUint32 maxStorageBufferRange; 4014 deUint32 maxPushConstantsSize; 4015 deUint32 maxMemoryAllocationCount; 4016 deUint32 maxSamplerAllocationCount; 4017 VkDeviceSize bufferImageGranularity; 4018 VkDeviceSize sparseAddressSpaceSize; 4019 deUint32 maxBoundDescriptorSets; 4020 deUint32 maxPerStageDescriptorSamplers; 4021 deUint32 maxPerStageDescriptorUniformBuffers; 4022 deUint32 maxPerStageDescriptorStorageBuffers; 4023 deUint32 maxPerStageDescriptorSampledImages; 4024 deUint32 maxPerStageDescriptorStorageImages; 4025 deUint32 maxPerStageDescriptorInputAttachments; 4026 deUint32 maxPerStageResources; 4027 deUint32 maxDescriptorSetSamplers; 4028 deUint32 maxDescriptorSetUniformBuffers; 4029 deUint32 maxDescriptorSetUniformBuffersDynamic; 4030 deUint32 maxDescriptorSetStorageBuffers; 4031 deUint32 maxDescriptorSetStorageBuffersDynamic; 4032 deUint32 maxDescriptorSetSampledImages; 4033 deUint32 maxDescriptorSetStorageImages; 4034 deUint32 maxDescriptorSetInputAttachments; 4035 deUint32 maxVertexInputAttributes; 4036 deUint32 maxVertexInputBindings; 4037 deUint32 maxVertexInputAttributeOffset; 4038 deUint32 maxVertexInputBindingStride; 4039 deUint32 maxVertexOutputComponents; 4040 deUint32 maxTessellationGenerationLevel; 4041 deUint32 maxTessellationPatchSize; 4042 deUint32 maxTessellationControlPerVertexInputComponents; 4043 deUint32 maxTessellationControlPerVertexOutputComponents; 4044 deUint32 maxTessellationControlPerPatchOutputComponents; 4045 deUint32 maxTessellationControlTotalOutputComponents; 4046 deUint32 maxTessellationEvaluationInputComponents; 4047 deUint32 maxTessellationEvaluationOutputComponents; 4048 deUint32 maxGeometryShaderInvocations; 4049 deUint32 maxGeometryInputComponents; 4050 deUint32 maxGeometryOutputComponents; 4051 deUint32 maxGeometryOutputVertices; 4052 deUint32 maxGeometryTotalOutputComponents; 4053 deUint32 maxFragmentInputComponents; 4054 deUint32 maxFragmentOutputAttachments; 4055 deUint32 maxFragmentDualSrcAttachments; 4056 deUint32 maxFragmentCombinedOutputResources; 4057 deUint32 maxComputeSharedMemorySize; 4058 deUint32 maxComputeWorkGroupCount[3]; 4059 deUint32 maxComputeWorkGroupInvocations; 4060 deUint32 maxComputeWorkGroupSize[3]; 4061 deUint32 subPixelPrecisionBits; 4062 deUint32 subTexelPrecisionBits; 4063 deUint32 mipmapPrecisionBits; 4064 deUint32 maxDrawIndexedIndexValue; 4065 deUint32 maxDrawIndirectCount; 4066 float maxSamplerLodBias; 4067 float maxSamplerAnisotropy; 4068 deUint32 maxViewports; 4069 deUint32 maxViewportDimensions[2]; 4070 float viewportBoundsRange[2]; 4071 deUint32 viewportSubPixelBits; 4072 deUintptr minMemoryMapAlignment; 4073 VkDeviceSize minTexelBufferOffsetAlignment; 4074 VkDeviceSize minUniformBufferOffsetAlignment; 4075 VkDeviceSize minStorageBufferOffsetAlignment; 4076 deInt32 minTexelOffset; 4077 deUint32 maxTexelOffset; 4078 deInt32 minTexelGatherOffset; 4079 deUint32 maxTexelGatherOffset; 4080 float minInterpolationOffset; 4081 float maxInterpolationOffset; 4082 deUint32 subPixelInterpolationOffsetBits; 4083 deUint32 maxFramebufferWidth; 4084 deUint32 maxFramebufferHeight; 4085 deUint32 maxFramebufferLayers; 4086 VkSampleCountFlags framebufferColorSampleCounts; 4087 VkSampleCountFlags framebufferDepthSampleCounts; 4088 VkSampleCountFlags framebufferStencilSampleCounts; 4089 VkSampleCountFlags framebufferNoAttachmentsSampleCounts; 4090 deUint32 maxColorAttachments; 4091 VkSampleCountFlags sampledImageColorSampleCounts; 4092 VkSampleCountFlags sampledImageIntegerSampleCounts; 4093 VkSampleCountFlags sampledImageDepthSampleCounts; 4094 VkSampleCountFlags sampledImageStencilSampleCounts; 4095 VkSampleCountFlags storageImageSampleCounts; 4096 deUint32 maxSampleMaskWords; 4097 VkBool32 timestampComputeAndGraphics; 4098 float timestampPeriod; 4099 deUint32 maxClipDistances; 4100 deUint32 maxCullDistances; 4101 deUint32 maxCombinedClipAndCullDistances; 4102 deUint32 discreteQueuePriorities; 4103 float pointSizeRange[2]; 4104 float lineWidthRange[2]; 4105 float pointSizeGranularity; 4106 float lineWidthGranularity; 4107 VkBool32 strictLines; 4108 VkBool32 standardSampleLocations; 4109 VkDeviceSize optimalBufferCopyOffsetAlignment; 4110 VkDeviceSize optimalBufferCopyRowPitchAlignment; 4111 VkDeviceSize nonCoherentAtomSize; 4112} VkPhysicalDeviceLimits; 4113 4114typedef struct VkPhysicalDeviceMemoryProperties { 4115 deUint32 memoryTypeCount; 4116 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES]; 4117 deUint32 memoryHeapCount; 4118 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS]; 4119} VkPhysicalDeviceMemoryProperties; 4120 4121typedef struct VkPhysicalDeviceSparseProperties { 4122 VkBool32 residencyStandard2DBlockShape; 4123 VkBool32 residencyStandard2DMultisampleBlockShape; 4124 VkBool32 residencyStandard3DBlockShape; 4125 VkBool32 residencyAlignedMipSize; 4126 VkBool32 residencyNonResidentStrict; 4127} VkPhysicalDeviceSparseProperties; 4128 4129typedef struct VkPhysicalDeviceProperties { 4130 deUint32 apiVersion; 4131 deUint32 driverVersion; 4132 deUint32 vendorID; 4133 deUint32 deviceID; 4134 VkPhysicalDeviceType deviceType; 4135 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE]; 4136 deUint8 pipelineCacheUUID[VK_UUID_SIZE]; 4137 VkPhysicalDeviceLimits limits; 4138 VkPhysicalDeviceSparseProperties sparseProperties; 4139} VkPhysicalDeviceProperties; 4140 4141typedef struct VkQueueFamilyProperties { 4142 VkQueueFlags queueFlags; 4143 deUint32 queueCount; 4144 deUint32 timestampValidBits; 4145 VkExtent3D minImageTransferGranularity; 4146} VkQueueFamilyProperties; 4147 4148typedef struct VkDeviceQueueCreateInfo { 4149 VkStructureType sType; 4150 const void* pNext; 4151 VkDeviceQueueCreateFlags flags; 4152 deUint32 queueFamilyIndex; 4153 deUint32 queueCount; 4154 const float* pQueuePriorities; 4155} VkDeviceQueueCreateInfo; 4156 4157typedef struct VkDeviceCreateInfo { 4158 VkStructureType sType; 4159 const void* pNext; 4160 VkDeviceCreateFlags flags; 4161 deUint32 queueCreateInfoCount; 4162 const VkDeviceQueueCreateInfo* pQueueCreateInfos; 4163 deUint32 enabledLayerCount; 4164 const char* const* ppEnabledLayerNames; 4165 deUint32 enabledExtensionCount; 4166 const char* const* ppEnabledExtensionNames; 4167 const VkPhysicalDeviceFeatures* pEnabledFeatures; 4168} VkDeviceCreateInfo; 4169 4170typedef struct VkExtensionProperties { 4171 char extensionName[VK_MAX_EXTENSION_NAME_SIZE]; 4172 deUint32 specVersion; 4173} VkExtensionProperties; 4174 4175typedef struct VkLayerProperties { 4176 char layerName[VK_MAX_EXTENSION_NAME_SIZE]; 4177 deUint32 specVersion; 4178 deUint32 implementationVersion; 4179 char description[VK_MAX_DESCRIPTION_SIZE]; 4180} VkLayerProperties; 4181 4182typedef struct VkSubmitInfo { 4183 VkStructureType sType; 4184 const void* pNext; 4185 deUint32 waitSemaphoreCount; 4186 const VkSemaphore* pWaitSemaphores; 4187 const VkPipelineStageFlags* pWaitDstStageMask; 4188 deUint32 commandBufferCount; 4189 const VkCommandBuffer* pCommandBuffers; 4190 deUint32 signalSemaphoreCount; 4191 const VkSemaphore* pSignalSemaphores; 4192} VkSubmitInfo; 4193 4194typedef struct VkMappedMemoryRange { 4195 VkStructureType sType; 4196 const void* pNext; 4197 VkDeviceMemory memory; 4198 VkDeviceSize offset; 4199 VkDeviceSize size; 4200} VkMappedMemoryRange; 4201 4202typedef struct VkMemoryAllocateInfo { 4203 VkStructureType sType; 4204 const void* pNext; 4205 VkDeviceSize allocationSize; 4206 deUint32 memoryTypeIndex; 4207} VkMemoryAllocateInfo; 4208 4209typedef struct VkMemoryRequirements { 4210 VkDeviceSize size; 4211 VkDeviceSize alignment; 4212 deUint32 memoryTypeBits; 4213} VkMemoryRequirements; 4214 4215typedef struct VkSparseMemoryBind { 4216 VkDeviceSize resourceOffset; 4217 VkDeviceSize size; 4218 VkDeviceMemory memory; 4219 VkDeviceSize memoryOffset; 4220 VkSparseMemoryBindFlags flags; 4221} VkSparseMemoryBind; 4222 4223typedef struct VkSparseBufferMemoryBindInfo { 4224 VkBuffer buffer; 4225 deUint32 bindCount; 4226 const VkSparseMemoryBind* pBinds; 4227} VkSparseBufferMemoryBindInfo; 4228 4229typedef struct VkSparseImageOpaqueMemoryBindInfo { 4230 VkImage image; 4231 deUint32 bindCount; 4232 const VkSparseMemoryBind* pBinds; 4233} VkSparseImageOpaqueMemoryBindInfo; 4234 4235typedef struct VkImageSubresource { 4236 VkImageAspectFlags aspectMask; 4237 deUint32 mipLevel; 4238 deUint32 arrayLayer; 4239} VkImageSubresource; 4240 4241typedef struct VkSparseImageMemoryBind { 4242 VkImageSubresource subresource; 4243 VkOffset3D offset; 4244 VkExtent3D extent; 4245 VkDeviceMemory memory; 4246 VkDeviceSize memoryOffset; 4247 VkSparseMemoryBindFlags flags; 4248} VkSparseImageMemoryBind; 4249 4250typedef struct VkSparseImageMemoryBindInfo { 4251 VkImage image; 4252 deUint32 bindCount; 4253 const VkSparseImageMemoryBind* pBinds; 4254} VkSparseImageMemoryBindInfo; 4255 4256typedef struct VkBindSparseInfo { 4257 VkStructureType sType; 4258 const void* pNext; 4259 deUint32 waitSemaphoreCount; 4260 const VkSemaphore* pWaitSemaphores; 4261 deUint32 bufferBindCount; 4262 const VkSparseBufferMemoryBindInfo* pBufferBinds; 4263 deUint32 imageOpaqueBindCount; 4264 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds; 4265 deUint32 imageBindCount; 4266 const VkSparseImageMemoryBindInfo* pImageBinds; 4267 deUint32 signalSemaphoreCount; 4268 const VkSemaphore* pSignalSemaphores; 4269} VkBindSparseInfo; 4270 4271typedef struct VkSparseImageFormatProperties { 4272 VkImageAspectFlags aspectMask; 4273 VkExtent3D imageGranularity; 4274 VkSparseImageFormatFlags flags; 4275} VkSparseImageFormatProperties; 4276 4277typedef struct VkSparseImageMemoryRequirements { 4278 VkSparseImageFormatProperties formatProperties; 4279 deUint32 imageMipTailFirstLod; 4280 VkDeviceSize imageMipTailSize; 4281 VkDeviceSize imageMipTailOffset; 4282 VkDeviceSize imageMipTailStride; 4283} VkSparseImageMemoryRequirements; 4284 4285typedef struct VkFenceCreateInfo { 4286 VkStructureType sType; 4287 const void* pNext; 4288 VkFenceCreateFlags flags; 4289} VkFenceCreateInfo; 4290 4291typedef struct VkSemaphoreCreateInfo { 4292 VkStructureType sType; 4293 const void* pNext; 4294 VkSemaphoreCreateFlags flags; 4295} VkSemaphoreCreateInfo; 4296 4297typedef struct VkEventCreateInfo { 4298 VkStructureType sType; 4299 const void* pNext; 4300 VkEventCreateFlags flags; 4301} VkEventCreateInfo; 4302 4303typedef struct VkQueryPoolCreateInfo { 4304 VkStructureType sType; 4305 const void* pNext; 4306 VkQueryPoolCreateFlags flags; 4307 VkQueryType queryType; 4308 deUint32 queryCount; 4309 VkQueryPipelineStatisticFlags pipelineStatistics; 4310} VkQueryPoolCreateInfo; 4311 4312typedef struct VkBufferCreateInfo { 4313 VkStructureType sType; 4314 const void* pNext; 4315 VkBufferCreateFlags flags; 4316 VkDeviceSize size; 4317 VkBufferUsageFlags usage; 4318 VkSharingMode sharingMode; 4319 deUint32 queueFamilyIndexCount; 4320 const deUint32* pQueueFamilyIndices; 4321} VkBufferCreateInfo; 4322 4323typedef struct VkBufferViewCreateInfo { 4324 VkStructureType sType; 4325 const void* pNext; 4326 VkBufferViewCreateFlags flags; 4327 VkBuffer buffer; 4328 VkFormat format; 4329 VkDeviceSize offset; 4330 VkDeviceSize range; 4331} VkBufferViewCreateInfo; 4332 4333typedef struct VkImageCreateInfo { 4334 VkStructureType sType; 4335 const void* pNext; 4336 VkImageCreateFlags flags; 4337 VkImageType imageType; 4338 VkFormat format; 4339 VkExtent3D extent; 4340 deUint32 mipLevels; 4341 deUint32 arrayLayers; 4342 VkSampleCountFlagBits samples; 4343 VkImageTiling tiling; 4344 VkImageUsageFlags usage; 4345 VkSharingMode sharingMode; 4346 deUint32 queueFamilyIndexCount; 4347 const deUint32* pQueueFamilyIndices; 4348 VkImageLayout initialLayout; 4349} VkImageCreateInfo; 4350 4351typedef struct VkSubresourceLayout { 4352 VkDeviceSize offset; 4353 VkDeviceSize size; 4354 VkDeviceSize rowPitch; 4355 VkDeviceSize arrayPitch; 4356 VkDeviceSize depthPitch; 4357} VkSubresourceLayout; 4358 4359typedef struct VkComponentMapping { 4360 VkComponentSwizzle r; 4361 VkComponentSwizzle g; 4362 VkComponentSwizzle b; 4363 VkComponentSwizzle a; 4364} VkComponentMapping; 4365 4366typedef struct VkImageViewCreateInfo { 4367 VkStructureType sType; 4368 const void* pNext; 4369 VkImageViewCreateFlags flags; 4370 VkImage image; 4371 VkImageViewType viewType; 4372 VkFormat format; 4373 VkComponentMapping components; 4374 VkImageSubresourceRange subresourceRange; 4375} VkImageViewCreateInfo; 4376 4377typedef struct VkShaderModuleCreateInfo { 4378 VkStructureType sType; 4379 const void* pNext; 4380 VkShaderModuleCreateFlags flags; 4381 deUintptr codeSize; 4382 const deUint32* pCode; 4383} VkShaderModuleCreateInfo; 4384 4385typedef struct VkPipelineCacheCreateInfo { 4386 VkStructureType sType; 4387 const void* pNext; 4388 VkPipelineCacheCreateFlags flags; 4389 deUintptr initialDataSize; 4390 const void* pInitialData; 4391} VkPipelineCacheCreateInfo; 4392 4393typedef struct VkSpecializationMapEntry { 4394 deUint32 constantID; 4395 deUint32 offset; 4396 deUintptr size; 4397} VkSpecializationMapEntry; 4398 4399typedef struct VkSpecializationInfo { 4400 deUint32 mapEntryCount; 4401 const VkSpecializationMapEntry* pMapEntries; 4402 deUintptr dataSize; 4403 const void* pData; 4404} VkSpecializationInfo; 4405 4406typedef struct VkPipelineShaderStageCreateInfo { 4407 VkStructureType sType; 4408 const void* pNext; 4409 VkPipelineShaderStageCreateFlags flags; 4410 VkShaderStageFlagBits stage; 4411 VkShaderModule module; 4412 const char* pName; 4413 const VkSpecializationInfo* pSpecializationInfo; 4414} VkPipelineShaderStageCreateInfo; 4415 4416typedef struct VkComputePipelineCreateInfo { 4417 VkStructureType sType; 4418 const void* pNext; 4419 VkPipelineCreateFlags flags; 4420 VkPipelineShaderStageCreateInfo stage; 4421 VkPipelineLayout layout; 4422 VkPipeline basePipelineHandle; 4423 deInt32 basePipelineIndex; 4424} VkComputePipelineCreateInfo; 4425 4426typedef struct VkVertexInputBindingDescription { 4427 deUint32 binding; 4428 deUint32 stride; 4429 VkVertexInputRate inputRate; 4430} VkVertexInputBindingDescription; 4431 4432typedef struct VkVertexInputAttributeDescription { 4433 deUint32 location; 4434 deUint32 binding; 4435 VkFormat format; 4436 deUint32 offset; 4437} VkVertexInputAttributeDescription; 4438 4439typedef struct VkPipelineVertexInputStateCreateInfo { 4440 VkStructureType sType; 4441 const void* pNext; 4442 VkPipelineVertexInputStateCreateFlags flags; 4443 deUint32 vertexBindingDescriptionCount; 4444 const VkVertexInputBindingDescription* pVertexBindingDescriptions; 4445 deUint32 vertexAttributeDescriptionCount; 4446 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions; 4447} VkPipelineVertexInputStateCreateInfo; 4448 4449typedef struct VkPipelineInputAssemblyStateCreateInfo { 4450 VkStructureType sType; 4451 const void* pNext; 4452 VkPipelineInputAssemblyStateCreateFlags flags; 4453 VkPrimitiveTopology topology; 4454 VkBool32 primitiveRestartEnable; 4455} VkPipelineInputAssemblyStateCreateInfo; 4456 4457typedef struct VkPipelineTessellationStateCreateInfo { 4458 VkStructureType sType; 4459 const void* pNext; 4460 VkPipelineTessellationStateCreateFlags flags; 4461 deUint32 patchControlPoints; 4462} VkPipelineTessellationStateCreateInfo; 4463 4464typedef struct VkViewport { 4465 float x; 4466 float y; 4467 float width; 4468 float height; 4469 float minDepth; 4470 float maxDepth; 4471} VkViewport; 4472 4473typedef struct VkPipelineViewportStateCreateInfo { 4474 VkStructureType sType; 4475 const void* pNext; 4476 VkPipelineViewportStateCreateFlags flags; 4477 deUint32 viewportCount; 4478 const VkViewport* pViewports; 4479 deUint32 scissorCount; 4480 const VkRect2D* pScissors; 4481} VkPipelineViewportStateCreateInfo; 4482 4483typedef struct VkPipelineRasterizationStateCreateInfo { 4484 VkStructureType sType; 4485 const void* pNext; 4486 VkPipelineRasterizationStateCreateFlags flags; 4487 VkBool32 depthClampEnable; 4488 VkBool32 rasterizerDiscardEnable; 4489 VkPolygonMode polygonMode; 4490 VkCullModeFlags cullMode; 4491 VkFrontFace frontFace; 4492 VkBool32 depthBiasEnable; 4493 float depthBiasConstantFactor; 4494 float depthBiasClamp; 4495 float depthBiasSlopeFactor; 4496 float lineWidth; 4497} VkPipelineRasterizationStateCreateInfo; 4498 4499typedef struct VkPipelineMultisampleStateCreateInfo { 4500 VkStructureType sType; 4501 const void* pNext; 4502 VkPipelineMultisampleStateCreateFlags flags; 4503 VkSampleCountFlagBits rasterizationSamples; 4504 VkBool32 sampleShadingEnable; 4505 float minSampleShading; 4506 const VkSampleMask* pSampleMask; 4507 VkBool32 alphaToCoverageEnable; 4508 VkBool32 alphaToOneEnable; 4509} VkPipelineMultisampleStateCreateInfo; 4510 4511typedef struct VkStencilOpState { 4512 VkStencilOp failOp; 4513 VkStencilOp passOp; 4514 VkStencilOp depthFailOp; 4515 VkCompareOp compareOp; 4516 deUint32 compareMask; 4517 deUint32 writeMask; 4518 deUint32 reference; 4519} VkStencilOpState; 4520 4521typedef struct VkPipelineDepthStencilStateCreateInfo { 4522 VkStructureType sType; 4523 const void* pNext; 4524 VkPipelineDepthStencilStateCreateFlags flags; 4525 VkBool32 depthTestEnable; 4526 VkBool32 depthWriteEnable; 4527 VkCompareOp depthCompareOp; 4528 VkBool32 depthBoundsTestEnable; 4529 VkBool32 stencilTestEnable; 4530 VkStencilOpState front; 4531 VkStencilOpState back; 4532 float minDepthBounds; 4533 float maxDepthBounds; 4534} VkPipelineDepthStencilStateCreateInfo; 4535 4536typedef struct VkPipelineColorBlendAttachmentState { 4537 VkBool32 blendEnable; 4538 VkBlendFactor srcColorBlendFactor; 4539 VkBlendFactor dstColorBlendFactor; 4540 VkBlendOp colorBlendOp; 4541 VkBlendFactor srcAlphaBlendFactor; 4542 VkBlendFactor dstAlphaBlendFactor; 4543 VkBlendOp alphaBlendOp; 4544 VkColorComponentFlags colorWriteMask; 4545} VkPipelineColorBlendAttachmentState; 4546 4547typedef struct VkPipelineColorBlendStateCreateInfo { 4548 VkStructureType sType; 4549 const void* pNext; 4550 VkPipelineColorBlendStateCreateFlags flags; 4551 VkBool32 logicOpEnable; 4552 VkLogicOp logicOp; 4553 deUint32 attachmentCount; 4554 const VkPipelineColorBlendAttachmentState* pAttachments; 4555 float blendConstants[4]; 4556} VkPipelineColorBlendStateCreateInfo; 4557 4558typedef struct VkPipelineDynamicStateCreateInfo { 4559 VkStructureType sType; 4560 const void* pNext; 4561 VkPipelineDynamicStateCreateFlags flags; 4562 deUint32 dynamicStateCount; 4563 const VkDynamicState* pDynamicStates; 4564} VkPipelineDynamicStateCreateInfo; 4565 4566typedef struct VkGraphicsPipelineCreateInfo { 4567 VkStructureType sType; 4568 const void* pNext; 4569 VkPipelineCreateFlags flags; 4570 deUint32 stageCount; 4571 const VkPipelineShaderStageCreateInfo* pStages; 4572 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 4573 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState; 4574 const VkPipelineTessellationStateCreateInfo* pTessellationState; 4575 const VkPipelineViewportStateCreateInfo* pViewportState; 4576 const VkPipelineRasterizationStateCreateInfo* pRasterizationState; 4577 const VkPipelineMultisampleStateCreateInfo* pMultisampleState; 4578 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState; 4579 const VkPipelineColorBlendStateCreateInfo* pColorBlendState; 4580 const VkPipelineDynamicStateCreateInfo* pDynamicState; 4581 VkPipelineLayout layout; 4582 VkRenderPass renderPass; 4583 deUint32 subpass; 4584 VkPipeline basePipelineHandle; 4585 deInt32 basePipelineIndex; 4586} VkGraphicsPipelineCreateInfo; 4587 4588typedef struct VkPushConstantRange { 4589 VkShaderStageFlags stageFlags; 4590 deUint32 offset; 4591 deUint32 size; 4592} VkPushConstantRange; 4593 4594typedef struct VkPipelineLayoutCreateInfo { 4595 VkStructureType sType; 4596 const void* pNext; 4597 VkPipelineLayoutCreateFlags flags; 4598 deUint32 setLayoutCount; 4599 const VkDescriptorSetLayout* pSetLayouts; 4600 deUint32 pushConstantRangeCount; 4601 const VkPushConstantRange* pPushConstantRanges; 4602} VkPipelineLayoutCreateInfo; 4603 4604typedef struct VkSamplerCreateInfo { 4605 VkStructureType sType; 4606 const void* pNext; 4607 VkSamplerCreateFlags flags; 4608 VkFilter magFilter; 4609 VkFilter minFilter; 4610 VkSamplerMipmapMode mipmapMode; 4611 VkSamplerAddressMode addressModeU; 4612 VkSamplerAddressMode addressModeV; 4613 VkSamplerAddressMode addressModeW; 4614 float mipLodBias; 4615 VkBool32 anisotropyEnable; 4616 float maxAnisotropy; 4617 VkBool32 compareEnable; 4618 VkCompareOp compareOp; 4619 float minLod; 4620 float maxLod; 4621 VkBorderColor borderColor; 4622 VkBool32 unnormalizedCoordinates; 4623} VkSamplerCreateInfo; 4624 4625typedef struct VkCopyDescriptorSet { 4626 VkStructureType sType; 4627 const void* pNext; 4628 VkDescriptorSet srcSet; 4629 deUint32 srcBinding; 4630 deUint32 srcArrayElement; 4631 VkDescriptorSet dstSet; 4632 deUint32 dstBinding; 4633 deUint32 dstArrayElement; 4634 deUint32 descriptorCount; 4635} VkCopyDescriptorSet; 4636 4637typedef struct VkDescriptorBufferInfo { 4638 VkBuffer buffer; 4639 VkDeviceSize offset; 4640 VkDeviceSize range; 4641} VkDescriptorBufferInfo; 4642 4643typedef struct VkDescriptorImageInfo { 4644 VkSampler sampler; 4645 VkImageView imageView; 4646 VkImageLayout imageLayout; 4647} VkDescriptorImageInfo; 4648 4649typedef struct VkDescriptorPoolSize { 4650 VkDescriptorType type; 4651 deUint32 descriptorCount; 4652} VkDescriptorPoolSize; 4653 4654typedef struct VkDescriptorPoolCreateInfo { 4655 VkStructureType sType; 4656 const void* pNext; 4657 VkDescriptorPoolCreateFlags flags; 4658 deUint32 maxSets; 4659 deUint32 poolSizeCount; 4660 const VkDescriptorPoolSize* pPoolSizes; 4661} VkDescriptorPoolCreateInfo; 4662 4663typedef struct VkDescriptorSetAllocateInfo { 4664 VkStructureType sType; 4665 const void* pNext; 4666 VkDescriptorPool descriptorPool; 4667 deUint32 descriptorSetCount; 4668 const VkDescriptorSetLayout* pSetLayouts; 4669} VkDescriptorSetAllocateInfo; 4670 4671typedef struct VkDescriptorSetLayoutBinding { 4672 deUint32 binding; 4673 VkDescriptorType descriptorType; 4674 deUint32 descriptorCount; 4675 VkShaderStageFlags stageFlags; 4676 const VkSampler* pImmutableSamplers; 4677} VkDescriptorSetLayoutBinding; 4678 4679typedef struct VkDescriptorSetLayoutCreateInfo { 4680 VkStructureType sType; 4681 const void* pNext; 4682 VkDescriptorSetLayoutCreateFlags flags; 4683 deUint32 bindingCount; 4684 const VkDescriptorSetLayoutBinding* pBindings; 4685} VkDescriptorSetLayoutCreateInfo; 4686 4687typedef struct VkWriteDescriptorSet { 4688 VkStructureType sType; 4689 const void* pNext; 4690 VkDescriptorSet dstSet; 4691 deUint32 dstBinding; 4692 deUint32 dstArrayElement; 4693 deUint32 descriptorCount; 4694 VkDescriptorType descriptorType; 4695 const VkDescriptorImageInfo* pImageInfo; 4696 const VkDescriptorBufferInfo* pBufferInfo; 4697 const VkBufferView* pTexelBufferView; 4698} VkWriteDescriptorSet; 4699 4700typedef struct VkAttachmentDescription { 4701 VkAttachmentDescriptionFlags flags; 4702 VkFormat format; 4703 VkSampleCountFlagBits samples; 4704 VkAttachmentLoadOp loadOp; 4705 VkAttachmentStoreOp storeOp; 4706 VkAttachmentLoadOp stencilLoadOp; 4707 VkAttachmentStoreOp stencilStoreOp; 4708 VkImageLayout initialLayout; 4709 VkImageLayout finalLayout; 4710} VkAttachmentDescription; 4711 4712typedef struct VkAttachmentReference { 4713 deUint32 attachment; 4714 VkImageLayout layout; 4715} VkAttachmentReference; 4716 4717typedef struct VkFramebufferCreateInfo { 4718 VkStructureType sType; 4719 const void* pNext; 4720 VkFramebufferCreateFlags flags; 4721 VkRenderPass renderPass; 4722 deUint32 attachmentCount; 4723 const VkImageView* pAttachments; 4724 deUint32 width; 4725 deUint32 height; 4726 deUint32 layers; 4727} VkFramebufferCreateInfo; 4728 4729typedef struct VkSubpassDescription { 4730 VkSubpassDescriptionFlags flags; 4731 VkPipelineBindPoint pipelineBindPoint; 4732 deUint32 inputAttachmentCount; 4733 const VkAttachmentReference* pInputAttachments; 4734 deUint32 colorAttachmentCount; 4735 const VkAttachmentReference* pColorAttachments; 4736 const VkAttachmentReference* pResolveAttachments; 4737 const VkAttachmentReference* pDepthStencilAttachment; 4738 deUint32 preserveAttachmentCount; 4739 const deUint32* pPreserveAttachments; 4740} VkSubpassDescription; 4741 4742typedef struct VkSubpassDependency { 4743 deUint32 srcSubpass; 4744 deUint32 dstSubpass; 4745 VkPipelineStageFlags srcStageMask; 4746 VkPipelineStageFlags dstStageMask; 4747 VkAccessFlags srcAccessMask; 4748 VkAccessFlags dstAccessMask; 4749 VkDependencyFlags dependencyFlags; 4750} VkSubpassDependency; 4751 4752typedef struct VkRenderPassCreateInfo { 4753 VkStructureType sType; 4754 const void* pNext; 4755 VkRenderPassCreateFlags flags; 4756 deUint32 attachmentCount; 4757 const VkAttachmentDescription* pAttachments; 4758 deUint32 subpassCount; 4759 const VkSubpassDescription* pSubpasses; 4760 deUint32 dependencyCount; 4761 const VkSubpassDependency* pDependencies; 4762} VkRenderPassCreateInfo; 4763 4764typedef struct VkCommandPoolCreateInfo { 4765 VkStructureType sType; 4766 const void* pNext; 4767 VkCommandPoolCreateFlags flags; 4768 deUint32 queueFamilyIndex; 4769} VkCommandPoolCreateInfo; 4770 4771typedef struct VkCommandBufferAllocateInfo { 4772 VkStructureType sType; 4773 const void* pNext; 4774 VkCommandPool commandPool; 4775 VkCommandBufferLevel level; 4776 deUint32 commandBufferCount; 4777} VkCommandBufferAllocateInfo; 4778 4779typedef struct VkCommandBufferInheritanceInfo { 4780 VkStructureType sType; 4781 const void* pNext; 4782 VkRenderPass renderPass; 4783 deUint32 subpass; 4784 VkFramebuffer framebuffer; 4785 VkBool32 occlusionQueryEnable; 4786 VkQueryControlFlags queryFlags; 4787 VkQueryPipelineStatisticFlags pipelineStatistics; 4788} VkCommandBufferInheritanceInfo; 4789 4790typedef struct VkCommandBufferBeginInfo { 4791 VkStructureType sType; 4792 const void* pNext; 4793 VkCommandBufferUsageFlags flags; 4794 const VkCommandBufferInheritanceInfo* pInheritanceInfo; 4795} VkCommandBufferBeginInfo; 4796 4797typedef struct VkBufferCopy { 4798 VkDeviceSize srcOffset; 4799 VkDeviceSize dstOffset; 4800 VkDeviceSize size; 4801} VkBufferCopy; 4802 4803typedef struct VkImageSubresourceLayers { 4804 VkImageAspectFlags aspectMask; 4805 deUint32 mipLevel; 4806 deUint32 baseArrayLayer; 4807 deUint32 layerCount; 4808} VkImageSubresourceLayers; 4809 4810typedef struct VkBufferImageCopy { 4811 VkDeviceSize bufferOffset; 4812 deUint32 bufferRowLength; 4813 deUint32 bufferImageHeight; 4814 VkImageSubresourceLayers imageSubresource; 4815 VkOffset3D imageOffset; 4816 VkExtent3D imageExtent; 4817} VkBufferImageCopy; 4818 4819typedef union VkClearColorValue { 4820 float float32[4]; 4821 deInt32 int32[4]; 4822 deUint32 uint32[4]; 4823} VkClearColorValue; 4824 4825typedef struct VkClearDepthStencilValue { 4826 float depth; 4827 deUint32 stencil; 4828} VkClearDepthStencilValue; 4829 4830typedef union VkClearValue { 4831 VkClearColorValue color; 4832 VkClearDepthStencilValue depthStencil; 4833} VkClearValue; 4834 4835typedef struct VkClearAttachment { 4836 VkImageAspectFlags aspectMask; 4837 deUint32 colorAttachment; 4838 VkClearValue clearValue; 4839} VkClearAttachment; 4840 4841typedef struct VkClearRect { 4842 VkRect2D rect; 4843 deUint32 baseArrayLayer; 4844 deUint32 layerCount; 4845} VkClearRect; 4846 4847typedef struct VkImageBlit { 4848 VkImageSubresourceLayers srcSubresource; 4849 VkOffset3D srcOffsets[2]; 4850 VkImageSubresourceLayers dstSubresource; 4851 VkOffset3D dstOffsets[2]; 4852} VkImageBlit; 4853 4854typedef struct VkImageCopy { 4855 VkImageSubresourceLayers srcSubresource; 4856 VkOffset3D srcOffset; 4857 VkImageSubresourceLayers dstSubresource; 4858 VkOffset3D dstOffset; 4859 VkExtent3D extent; 4860} VkImageCopy; 4861 4862typedef struct VkImageResolve { 4863 VkImageSubresourceLayers srcSubresource; 4864 VkOffset3D srcOffset; 4865 VkImageSubresourceLayers dstSubresource; 4866 VkOffset3D dstOffset; 4867 VkExtent3D extent; 4868} VkImageResolve; 4869 4870typedef struct VkRenderPassBeginInfo { 4871 VkStructureType sType; 4872 const void* pNext; 4873 VkRenderPass renderPass; 4874 VkFramebuffer framebuffer; 4875 VkRect2D renderArea; 4876 deUint32 clearValueCount; 4877 const VkClearValue* pClearValues; 4878} VkRenderPassBeginInfo; 4879 4880typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); 4881typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); 4882typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices); 4883typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures); 4884typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties); 4885typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties); 4886typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties); 4887typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties); 4888typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties); 4889typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName); 4890typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName); 4891typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice); 4892typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator); 4893typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties); 4894typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties); 4895typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties); 4896typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties); 4897typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue); 4898typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 4899typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue); 4900typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device); 4901typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory); 4902typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 4903typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData); 4904typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory); 4905typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 4906typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges); 4907typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes); 4908typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset); 4909typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset); 4910typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements); 4911typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements); 4912typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 4913typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties); 4914typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 4915typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 4916typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator); 4917typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences); 4918typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence); 4919typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout); 4920typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore); 4921typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator); 4922typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent); 4923typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator); 4924typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event); 4925typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event); 4926typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event); 4927typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool); 4928typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator); 4929typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags); 4930typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer); 4931typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator); 4932typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView); 4933typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator); 4934typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage); 4935typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator); 4936typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout); 4937typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView); 4938typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator); 4939typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule); 4940typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator); 4941typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache); 4942typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator); 4943typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData); 4944typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches); 4945typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4946typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 4947typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator); 4948typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout); 4949typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator); 4950typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler); 4951typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator); 4952typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout); 4953typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator); 4954typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool); 4955typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator); 4956typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags); 4957typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets); 4958typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets); 4959typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies); 4960typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer); 4961typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator); 4962typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 4963typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator); 4964typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity); 4965typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool); 4966typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator); 4967typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags); 4968typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers); 4969typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers); 4970typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 4971typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer); 4972typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 4973typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 4974typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports); 4975typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors); 4976typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth); 4977typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor); 4978typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]); 4979typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds); 4980typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask); 4981typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask); 4982typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference); 4983typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets); 4984typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType); 4985typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets); 4986typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance); 4987typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance); 4988typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); 4989typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); 4990typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); 4991typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 4992typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions); 4993typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions); 4994typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter); 4995typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions); 4996typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions); 4997typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData); 4998typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data); 4999typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges); 5000typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges); 5001typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects); 5002typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions); 5003typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 5004typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask); 5005typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); 5006typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, deUint32 bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, deUint32 imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers); 5007typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags); 5008typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query); 5009typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount); 5010typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query); 5011typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags); 5012typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues); 5013typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents); 5014typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents); 5015typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer); 5016typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers); 5017 5018#ifndef VK_NO_PROTOTYPES 5019VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( 5020 const VkInstanceCreateInfo* pCreateInfo, 5021 const VkAllocationCallbacks* pAllocator, 5022 VkInstance* pInstance); 5023 5024VKAPI_ATTR void VKAPI_CALL vkDestroyInstance( 5025 VkInstance instance, 5026 const VkAllocationCallbacks* pAllocator); 5027 5028VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices( 5029 VkInstance instance, 5030 deUint32* pPhysicalDeviceCount, 5031 VkPhysicalDevice* pPhysicalDevices); 5032 5033VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures( 5034 VkPhysicalDevice physicalDevice, 5035 VkPhysicalDeviceFeatures* pFeatures); 5036 5037VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties( 5038 VkPhysicalDevice physicalDevice, 5039 VkFormat format, 5040 VkFormatProperties* pFormatProperties); 5041 5042VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties( 5043 VkPhysicalDevice physicalDevice, 5044 VkFormat format, 5045 VkImageType type, 5046 VkImageTiling tiling, 5047 VkImageUsageFlags usage, 5048 VkImageCreateFlags flags, 5049 VkImageFormatProperties* pImageFormatProperties); 5050 5051VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties( 5052 VkPhysicalDevice physicalDevice, 5053 VkPhysicalDeviceProperties* pProperties); 5054 5055VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties( 5056 VkPhysicalDevice physicalDevice, 5057 deUint32* pQueueFamilyPropertyCount, 5058 VkQueueFamilyProperties* pQueueFamilyProperties); 5059 5060VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties( 5061 VkPhysicalDevice physicalDevice, 5062 VkPhysicalDeviceMemoryProperties* pMemoryProperties); 5063 5064VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr( 5065 VkInstance instance, 5066 const char* pName); 5067 5068VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr( 5069 VkDevice device, 5070 const char* pName); 5071 5072VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice( 5073 VkPhysicalDevice physicalDevice, 5074 const VkDeviceCreateInfo* pCreateInfo, 5075 const VkAllocationCallbacks* pAllocator, 5076 VkDevice* pDevice); 5077 5078VKAPI_ATTR void VKAPI_CALL vkDestroyDevice( 5079 VkDevice device, 5080 const VkAllocationCallbacks* pAllocator); 5081 5082VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties( 5083 const char* pLayerName, 5084 deUint32* pPropertyCount, 5085 VkExtensionProperties* pProperties); 5086 5087VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties( 5088 VkPhysicalDevice physicalDevice, 5089 const char* pLayerName, 5090 deUint32* pPropertyCount, 5091 VkExtensionProperties* pProperties); 5092 5093VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties( 5094 deUint32* pPropertyCount, 5095 VkLayerProperties* pProperties); 5096 5097VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties( 5098 VkPhysicalDevice physicalDevice, 5099 deUint32* pPropertyCount, 5100 VkLayerProperties* pProperties); 5101 5102VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue( 5103 VkDevice device, 5104 deUint32 queueFamilyIndex, 5105 deUint32 queueIndex, 5106 VkQueue* pQueue); 5107 5108VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit( 5109 VkQueue queue, 5110 deUint32 submitCount, 5111 const VkSubmitInfo* pSubmits, 5112 VkFence fence); 5113 5114VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle( 5115 VkQueue queue); 5116 5117VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle( 5118 VkDevice device); 5119 5120VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory( 5121 VkDevice device, 5122 const VkMemoryAllocateInfo* pAllocateInfo, 5123 const VkAllocationCallbacks* pAllocator, 5124 VkDeviceMemory* pMemory); 5125 5126VKAPI_ATTR void VKAPI_CALL vkFreeMemory( 5127 VkDevice device, 5128 VkDeviceMemory memory, 5129 const VkAllocationCallbacks* pAllocator); 5130 5131VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory( 5132 VkDevice device, 5133 VkDeviceMemory memory, 5134 VkDeviceSize offset, 5135 VkDeviceSize size, 5136 VkMemoryMapFlags flags, 5137 void** ppData); 5138 5139VKAPI_ATTR void VKAPI_CALL vkUnmapMemory( 5140 VkDevice device, 5141 VkDeviceMemory memory); 5142 5143VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges( 5144 VkDevice device, 5145 deUint32 memoryRangeCount, 5146 const VkMappedMemoryRange* pMemoryRanges); 5147 5148VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges( 5149 VkDevice device, 5150 deUint32 memoryRangeCount, 5151 const VkMappedMemoryRange* pMemoryRanges); 5152 5153VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment( 5154 VkDevice device, 5155 VkDeviceMemory memory, 5156 VkDeviceSize* pCommittedMemoryInBytes); 5157 5158VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory( 5159 VkDevice device, 5160 VkBuffer buffer, 5161 VkDeviceMemory memory, 5162 VkDeviceSize memoryOffset); 5163 5164VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory( 5165 VkDevice device, 5166 VkImage image, 5167 VkDeviceMemory memory, 5168 VkDeviceSize memoryOffset); 5169 5170VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements( 5171 VkDevice device, 5172 VkBuffer buffer, 5173 VkMemoryRequirements* pMemoryRequirements); 5174 5175VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements( 5176 VkDevice device, 5177 VkImage image, 5178 VkMemoryRequirements* pMemoryRequirements); 5179 5180VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements( 5181 VkDevice device, 5182 VkImage image, 5183 deUint32* pSparseMemoryRequirementCount, 5184 VkSparseImageMemoryRequirements* pSparseMemoryRequirements); 5185 5186VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties( 5187 VkPhysicalDevice physicalDevice, 5188 VkFormat format, 5189 VkImageType type, 5190 VkSampleCountFlagBits samples, 5191 VkImageUsageFlags usage, 5192 VkImageTiling tiling, 5193 deUint32* pPropertyCount, 5194 VkSparseImageFormatProperties* pProperties); 5195 5196VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse( 5197 VkQueue queue, 5198 deUint32 bindInfoCount, 5199 const VkBindSparseInfo* pBindInfo, 5200 VkFence fence); 5201 5202VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence( 5203 VkDevice device, 5204 const VkFenceCreateInfo* pCreateInfo, 5205 const VkAllocationCallbacks* pAllocator, 5206 VkFence* pFence); 5207 5208VKAPI_ATTR void VKAPI_CALL vkDestroyFence( 5209 VkDevice device, 5210 VkFence fence, 5211 const VkAllocationCallbacks* pAllocator); 5212 5213VKAPI_ATTR VkResult VKAPI_CALL vkResetFences( 5214 VkDevice device, 5215 deUint32 fenceCount, 5216 const VkFence* pFences); 5217 5218VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus( 5219 VkDevice device, 5220 VkFence fence); 5221 5222VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences( 5223 VkDevice device, 5224 deUint32 fenceCount, 5225 const VkFence* pFences, 5226 VkBool32 waitAll, 5227 deUint64 timeout); 5228 5229VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore( 5230 VkDevice device, 5231 const VkSemaphoreCreateInfo* pCreateInfo, 5232 const VkAllocationCallbacks* pAllocator, 5233 VkSemaphore* pSemaphore); 5234 5235VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore( 5236 VkDevice device, 5237 VkSemaphore semaphore, 5238 const VkAllocationCallbacks* pAllocator); 5239 5240VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent( 5241 VkDevice device, 5242 const VkEventCreateInfo* pCreateInfo, 5243 const VkAllocationCallbacks* pAllocator, 5244 VkEvent* pEvent); 5245 5246VKAPI_ATTR void VKAPI_CALL vkDestroyEvent( 5247 VkDevice device, 5248 VkEvent event, 5249 const VkAllocationCallbacks* pAllocator); 5250 5251VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus( 5252 VkDevice device, 5253 VkEvent event); 5254 5255VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent( 5256 VkDevice device, 5257 VkEvent event); 5258 5259VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent( 5260 VkDevice device, 5261 VkEvent event); 5262 5263VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool( 5264 VkDevice device, 5265 const VkQueryPoolCreateInfo* pCreateInfo, 5266 const VkAllocationCallbacks* pAllocator, 5267 VkQueryPool* pQueryPool); 5268 5269VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool( 5270 VkDevice device, 5271 VkQueryPool queryPool, 5272 const VkAllocationCallbacks* pAllocator); 5273 5274VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults( 5275 VkDevice device, 5276 VkQueryPool queryPool, 5277 deUint32 firstQuery, 5278 deUint32 queryCount, 5279 deUintptr dataSize, 5280 void* pData, 5281 VkDeviceSize stride, 5282 VkQueryResultFlags flags); 5283 5284VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer( 5285 VkDevice device, 5286 const VkBufferCreateInfo* pCreateInfo, 5287 const VkAllocationCallbacks* pAllocator, 5288 VkBuffer* pBuffer); 5289 5290VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer( 5291 VkDevice device, 5292 VkBuffer buffer, 5293 const VkAllocationCallbacks* pAllocator); 5294 5295VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView( 5296 VkDevice device, 5297 const VkBufferViewCreateInfo* pCreateInfo, 5298 const VkAllocationCallbacks* pAllocator, 5299 VkBufferView* pView); 5300 5301VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView( 5302 VkDevice device, 5303 VkBufferView bufferView, 5304 const VkAllocationCallbacks* pAllocator); 5305 5306VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage( 5307 VkDevice device, 5308 const VkImageCreateInfo* pCreateInfo, 5309 const VkAllocationCallbacks* pAllocator, 5310 VkImage* pImage); 5311 5312VKAPI_ATTR void VKAPI_CALL vkDestroyImage( 5313 VkDevice device, 5314 VkImage image, 5315 const VkAllocationCallbacks* pAllocator); 5316 5317VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout( 5318 VkDevice device, 5319 VkImage image, 5320 const VkImageSubresource* pSubresource, 5321 VkSubresourceLayout* pLayout); 5322 5323VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView( 5324 VkDevice device, 5325 const VkImageViewCreateInfo* pCreateInfo, 5326 const VkAllocationCallbacks* pAllocator, 5327 VkImageView* pView); 5328 5329VKAPI_ATTR void VKAPI_CALL vkDestroyImageView( 5330 VkDevice device, 5331 VkImageView imageView, 5332 const VkAllocationCallbacks* pAllocator); 5333 5334VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule( 5335 VkDevice device, 5336 const VkShaderModuleCreateInfo* pCreateInfo, 5337 const VkAllocationCallbacks* pAllocator, 5338 VkShaderModule* pShaderModule); 5339 5340VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule( 5341 VkDevice device, 5342 VkShaderModule shaderModule, 5343 const VkAllocationCallbacks* pAllocator); 5344 5345VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache( 5346 VkDevice device, 5347 const VkPipelineCacheCreateInfo* pCreateInfo, 5348 const VkAllocationCallbacks* pAllocator, 5349 VkPipelineCache* pPipelineCache); 5350 5351VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache( 5352 VkDevice device, 5353 VkPipelineCache pipelineCache, 5354 const VkAllocationCallbacks* pAllocator); 5355 5356VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData( 5357 VkDevice device, 5358 VkPipelineCache pipelineCache, 5359 deUintptr* pDataSize, 5360 void* pData); 5361 5362VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches( 5363 VkDevice device, 5364 VkPipelineCache dstCache, 5365 deUint32 srcCacheCount, 5366 const VkPipelineCache* pSrcCaches); 5367 5368VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines( 5369 VkDevice device, 5370 VkPipelineCache pipelineCache, 5371 deUint32 createInfoCount, 5372 const VkGraphicsPipelineCreateInfo* pCreateInfos, 5373 const VkAllocationCallbacks* pAllocator, 5374 VkPipeline* pPipelines); 5375 5376VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines( 5377 VkDevice device, 5378 VkPipelineCache pipelineCache, 5379 deUint32 createInfoCount, 5380 const VkComputePipelineCreateInfo* pCreateInfos, 5381 const VkAllocationCallbacks* pAllocator, 5382 VkPipeline* pPipelines); 5383 5384VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline( 5385 VkDevice device, 5386 VkPipeline pipeline, 5387 const VkAllocationCallbacks* pAllocator); 5388 5389VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout( 5390 VkDevice device, 5391 const VkPipelineLayoutCreateInfo* pCreateInfo, 5392 const VkAllocationCallbacks* pAllocator, 5393 VkPipelineLayout* pPipelineLayout); 5394 5395VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout( 5396 VkDevice device, 5397 VkPipelineLayout pipelineLayout, 5398 const VkAllocationCallbacks* pAllocator); 5399 5400VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler( 5401 VkDevice device, 5402 const VkSamplerCreateInfo* pCreateInfo, 5403 const VkAllocationCallbacks* pAllocator, 5404 VkSampler* pSampler); 5405 5406VKAPI_ATTR void VKAPI_CALL vkDestroySampler( 5407 VkDevice device, 5408 VkSampler sampler, 5409 const VkAllocationCallbacks* pAllocator); 5410 5411VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout( 5412 VkDevice device, 5413 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 5414 const VkAllocationCallbacks* pAllocator, 5415 VkDescriptorSetLayout* pSetLayout); 5416 5417VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout( 5418 VkDevice device, 5419 VkDescriptorSetLayout descriptorSetLayout, 5420 const VkAllocationCallbacks* pAllocator); 5421 5422VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool( 5423 VkDevice device, 5424 const VkDescriptorPoolCreateInfo* pCreateInfo, 5425 const VkAllocationCallbacks* pAllocator, 5426 VkDescriptorPool* pDescriptorPool); 5427 5428VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool( 5429 VkDevice device, 5430 VkDescriptorPool descriptorPool, 5431 const VkAllocationCallbacks* pAllocator); 5432 5433VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool( 5434 VkDevice device, 5435 VkDescriptorPool descriptorPool, 5436 VkDescriptorPoolResetFlags flags); 5437 5438VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets( 5439 VkDevice device, 5440 const VkDescriptorSetAllocateInfo* pAllocateInfo, 5441 VkDescriptorSet* pDescriptorSets); 5442 5443VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets( 5444 VkDevice device, 5445 VkDescriptorPool descriptorPool, 5446 deUint32 descriptorSetCount, 5447 const VkDescriptorSet* pDescriptorSets); 5448 5449VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets( 5450 VkDevice device, 5451 deUint32 descriptorWriteCount, 5452 const VkWriteDescriptorSet* pDescriptorWrites, 5453 deUint32 descriptorCopyCount, 5454 const VkCopyDescriptorSet* pDescriptorCopies); 5455 5456VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer( 5457 VkDevice device, 5458 const VkFramebufferCreateInfo* pCreateInfo, 5459 const VkAllocationCallbacks* pAllocator, 5460 VkFramebuffer* pFramebuffer); 5461 5462VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer( 5463 VkDevice device, 5464 VkFramebuffer framebuffer, 5465 const VkAllocationCallbacks* pAllocator); 5466 5467VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass( 5468 VkDevice device, 5469 const VkRenderPassCreateInfo* pCreateInfo, 5470 const VkAllocationCallbacks* pAllocator, 5471 VkRenderPass* pRenderPass); 5472 5473VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass( 5474 VkDevice device, 5475 VkRenderPass renderPass, 5476 const VkAllocationCallbacks* pAllocator); 5477 5478VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity( 5479 VkDevice device, 5480 VkRenderPass renderPass, 5481 VkExtent2D* pGranularity); 5482 5483VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool( 5484 VkDevice device, 5485 const VkCommandPoolCreateInfo* pCreateInfo, 5486 const VkAllocationCallbacks* pAllocator, 5487 VkCommandPool* pCommandPool); 5488 5489VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool( 5490 VkDevice device, 5491 VkCommandPool commandPool, 5492 const VkAllocationCallbacks* pAllocator); 5493 5494VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool( 5495 VkDevice device, 5496 VkCommandPool commandPool, 5497 VkCommandPoolResetFlags flags); 5498 5499VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( 5500 VkDevice device, 5501 const VkCommandBufferAllocateInfo* pAllocateInfo, 5502 VkCommandBuffer* pCommandBuffers); 5503 5504VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers( 5505 VkDevice device, 5506 VkCommandPool commandPool, 5507 deUint32 commandBufferCount, 5508 const VkCommandBuffer* pCommandBuffers); 5509 5510VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer( 5511 VkCommandBuffer commandBuffer, 5512 const VkCommandBufferBeginInfo* pBeginInfo); 5513 5514VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer( 5515 VkCommandBuffer commandBuffer); 5516 5517VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer( 5518 VkCommandBuffer commandBuffer, 5519 VkCommandBufferResetFlags flags); 5520 5521VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline( 5522 VkCommandBuffer commandBuffer, 5523 VkPipelineBindPoint pipelineBindPoint, 5524 VkPipeline pipeline); 5525 5526VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport( 5527 VkCommandBuffer commandBuffer, 5528 deUint32 firstViewport, 5529 deUint32 viewportCount, 5530 const VkViewport* pViewports); 5531 5532VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor( 5533 VkCommandBuffer commandBuffer, 5534 deUint32 firstScissor, 5535 deUint32 scissorCount, 5536 const VkRect2D* pScissors); 5537 5538VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth( 5539 VkCommandBuffer commandBuffer, 5540 float lineWidth); 5541 5542VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias( 5543 VkCommandBuffer commandBuffer, 5544 float depthBiasConstantFactor, 5545 float depthBiasClamp, 5546 float depthBiasSlopeFactor); 5547 5548VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants( 5549 VkCommandBuffer commandBuffer, 5550 const float blendConstants[4]); 5551 5552VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds( 5553 VkCommandBuffer commandBuffer, 5554 float minDepthBounds, 5555 float maxDepthBounds); 5556 5557VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask( 5558 VkCommandBuffer commandBuffer, 5559 VkStencilFaceFlags faceMask, 5560 deUint32 compareMask); 5561 5562VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask( 5563 VkCommandBuffer commandBuffer, 5564 VkStencilFaceFlags faceMask, 5565 deUint32 writeMask); 5566 5567VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference( 5568 VkCommandBuffer commandBuffer, 5569 VkStencilFaceFlags faceMask, 5570 deUint32 reference); 5571 5572VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets( 5573 VkCommandBuffer commandBuffer, 5574 VkPipelineBindPoint pipelineBindPoint, 5575 VkPipelineLayout layout, 5576 deUint32 firstSet, 5577 deUint32 descriptorSetCount, 5578 const VkDescriptorSet* pDescriptorSets, 5579 deUint32 dynamicOffsetCount, 5580 const deUint32* pDynamicOffsets); 5581 5582VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer( 5583 VkCommandBuffer commandBuffer, 5584 VkBuffer buffer, 5585 VkDeviceSize offset, 5586 VkIndexType indexType); 5587 5588VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers( 5589 VkCommandBuffer commandBuffer, 5590 deUint32 firstBinding, 5591 deUint32 bindingCount, 5592 const VkBuffer* pBuffers, 5593 const VkDeviceSize* pOffsets); 5594 5595VKAPI_ATTR void VKAPI_CALL vkCmdDraw( 5596 VkCommandBuffer commandBuffer, 5597 deUint32 vertexCount, 5598 deUint32 instanceCount, 5599 deUint32 firstVertex, 5600 deUint32 firstInstance); 5601 5602VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed( 5603 VkCommandBuffer commandBuffer, 5604 deUint32 indexCount, 5605 deUint32 instanceCount, 5606 deUint32 firstIndex, 5607 deInt32 vertexOffset, 5608 deUint32 firstInstance); 5609 5610VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect( 5611 VkCommandBuffer commandBuffer, 5612 VkBuffer buffer, 5613 VkDeviceSize offset, 5614 deUint32 drawCount, 5615 deUint32 stride); 5616 5617VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect( 5618 VkCommandBuffer commandBuffer, 5619 VkBuffer buffer, 5620 VkDeviceSize offset, 5621 deUint32 drawCount, 5622 deUint32 stride); 5623 5624VKAPI_ATTR void VKAPI_CALL vkCmdDispatch( 5625 VkCommandBuffer commandBuffer, 5626 deUint32 groupCountX, 5627 deUint32 groupCountY, 5628 deUint32 groupCountZ); 5629 5630VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect( 5631 VkCommandBuffer commandBuffer, 5632 VkBuffer buffer, 5633 VkDeviceSize offset); 5634 5635VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer( 5636 VkCommandBuffer commandBuffer, 5637 VkBuffer srcBuffer, 5638 VkBuffer dstBuffer, 5639 deUint32 regionCount, 5640 const VkBufferCopy* pRegions); 5641 5642VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage( 5643 VkCommandBuffer commandBuffer, 5644 VkImage srcImage, 5645 VkImageLayout srcImageLayout, 5646 VkImage dstImage, 5647 VkImageLayout dstImageLayout, 5648 deUint32 regionCount, 5649 const VkImageCopy* pRegions); 5650 5651VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage( 5652 VkCommandBuffer commandBuffer, 5653 VkImage srcImage, 5654 VkImageLayout srcImageLayout, 5655 VkImage dstImage, 5656 VkImageLayout dstImageLayout, 5657 deUint32 regionCount, 5658 const VkImageBlit* pRegions, 5659 VkFilter filter); 5660 5661VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage( 5662 VkCommandBuffer commandBuffer, 5663 VkBuffer srcBuffer, 5664 VkImage dstImage, 5665 VkImageLayout dstImageLayout, 5666 deUint32 regionCount, 5667 const VkBufferImageCopy* pRegions); 5668 5669VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer( 5670 VkCommandBuffer commandBuffer, 5671 VkImage srcImage, 5672 VkImageLayout srcImageLayout, 5673 VkBuffer dstBuffer, 5674 deUint32 regionCount, 5675 const VkBufferImageCopy* pRegions); 5676 5677VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer( 5678 VkCommandBuffer commandBuffer, 5679 VkBuffer dstBuffer, 5680 VkDeviceSize dstOffset, 5681 VkDeviceSize dataSize, 5682 const void* pData); 5683 5684VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer( 5685 VkCommandBuffer commandBuffer, 5686 VkBuffer dstBuffer, 5687 VkDeviceSize dstOffset, 5688 VkDeviceSize size, 5689 deUint32 data); 5690 5691VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage( 5692 VkCommandBuffer commandBuffer, 5693 VkImage image, 5694 VkImageLayout imageLayout, 5695 const VkClearColorValue* pColor, 5696 deUint32 rangeCount, 5697 const VkImageSubresourceRange* pRanges); 5698 5699VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage( 5700 VkCommandBuffer commandBuffer, 5701 VkImage image, 5702 VkImageLayout imageLayout, 5703 const VkClearDepthStencilValue* pDepthStencil, 5704 deUint32 rangeCount, 5705 const VkImageSubresourceRange* pRanges); 5706 5707VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments( 5708 VkCommandBuffer commandBuffer, 5709 deUint32 attachmentCount, 5710 const VkClearAttachment* pAttachments, 5711 deUint32 rectCount, 5712 const VkClearRect* pRects); 5713 5714VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage( 5715 VkCommandBuffer commandBuffer, 5716 VkImage srcImage, 5717 VkImageLayout srcImageLayout, 5718 VkImage dstImage, 5719 VkImageLayout dstImageLayout, 5720 deUint32 regionCount, 5721 const VkImageResolve* pRegions); 5722 5723VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent( 5724 VkCommandBuffer commandBuffer, 5725 VkEvent event, 5726 VkPipelineStageFlags stageMask); 5727 5728VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent( 5729 VkCommandBuffer commandBuffer, 5730 VkEvent event, 5731 VkPipelineStageFlags stageMask); 5732 5733VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents( 5734 VkCommandBuffer commandBuffer, 5735 deUint32 eventCount, 5736 const VkEvent* pEvents, 5737 VkPipelineStageFlags srcStageMask, 5738 VkPipelineStageFlags dstStageMask, 5739 deUint32 memoryBarrierCount, 5740 const VkMemoryBarrier* pMemoryBarriers, 5741 deUint32 bufferMemoryBarrierCount, 5742 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 5743 deUint32 imageMemoryBarrierCount, 5744 const VkImageMemoryBarrier* pImageMemoryBarriers); 5745 5746VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier( 5747 VkCommandBuffer commandBuffer, 5748 VkPipelineStageFlags srcStageMask, 5749 VkPipelineStageFlags dstStageMask, 5750 VkDependencyFlags dependencyFlags, 5751 deUint32 memoryBarrierCount, 5752 const VkMemoryBarrier* pMemoryBarriers, 5753 deUint32 bufferMemoryBarrierCount, 5754 const VkBufferMemoryBarrier* pBufferMemoryBarriers, 5755 deUint32 imageMemoryBarrierCount, 5756 const VkImageMemoryBarrier* pImageMemoryBarriers); 5757 5758VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery( 5759 VkCommandBuffer commandBuffer, 5760 VkQueryPool queryPool, 5761 deUint32 query, 5762 VkQueryControlFlags flags); 5763 5764VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery( 5765 VkCommandBuffer commandBuffer, 5766 VkQueryPool queryPool, 5767 deUint32 query); 5768 5769VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool( 5770 VkCommandBuffer commandBuffer, 5771 VkQueryPool queryPool, 5772 deUint32 firstQuery, 5773 deUint32 queryCount); 5774 5775VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp( 5776 VkCommandBuffer commandBuffer, 5777 VkPipelineStageFlagBits pipelineStage, 5778 VkQueryPool queryPool, 5779 deUint32 query); 5780 5781VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults( 5782 VkCommandBuffer commandBuffer, 5783 VkQueryPool queryPool, 5784 deUint32 firstQuery, 5785 deUint32 queryCount, 5786 VkBuffer dstBuffer, 5787 VkDeviceSize dstOffset, 5788 VkDeviceSize stride, 5789 VkQueryResultFlags flags); 5790 5791VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants( 5792 VkCommandBuffer commandBuffer, 5793 VkPipelineLayout layout, 5794 VkShaderStageFlags stageFlags, 5795 deUint32 offset, 5796 deUint32 size, 5797 const void* pValues); 5798 5799VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass( 5800 VkCommandBuffer commandBuffer, 5801 const VkRenderPassBeginInfo* pRenderPassBegin, 5802 VkSubpassContents contents); 5803 5804VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass( 5805 VkCommandBuffer commandBuffer, 5806 VkSubpassContents contents); 5807 5808VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass( 5809 VkCommandBuffer commandBuffer); 5810 5811VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands( 5812 VkCommandBuffer commandBuffer, 5813 deUint32 commandBufferCount, 5814 const VkCommandBuffer* pCommandBuffers); 5815#endif 5816 5817 5818#define VK_VERSION_1_1 1 5819// Vulkan 1.1 version number 5820#define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 5821 5822VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion) 5823VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate) 5824#define VK_MAX_DEVICE_GROUP_SIZE 32U 5825#define VK_LUID_SIZE 8U 5826#define VK_QUEUE_FAMILY_EXTERNAL (~1U) 5827 5828typedef enum VkPointClippingBehavior { 5829 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0, 5830 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1, 5831 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES, 5832 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, 5833 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF 5834} VkPointClippingBehavior; 5835 5836typedef enum VkTessellationDomainOrigin { 5837 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0, 5838 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1, 5839 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT, 5840 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT, 5841 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF 5842} VkTessellationDomainOrigin; 5843 5844typedef enum VkSamplerYcbcrModelConversion { 5845 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0, 5846 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1, 5847 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2, 5848 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3, 5849 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4, 5850 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, 5851 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY, 5852 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709, 5853 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601, 5854 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020, 5855 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF 5856} VkSamplerYcbcrModelConversion; 5857 5858typedef enum VkSamplerYcbcrRange { 5859 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0, 5860 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1, 5861 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL, 5862 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW, 5863 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF 5864} VkSamplerYcbcrRange; 5865 5866typedef enum VkChromaLocation { 5867 VK_CHROMA_LOCATION_COSITED_EVEN = 0, 5868 VK_CHROMA_LOCATION_MIDPOINT = 1, 5869 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN, 5870 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT, 5871 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF 5872} VkChromaLocation; 5873 5874typedef enum VkDescriptorUpdateTemplateType { 5875 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0, 5876 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1, 5877 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET, 5878 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF 5879} VkDescriptorUpdateTemplateType; 5880 5881typedef enum VkSubgroupFeatureFlagBits { 5882 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001, 5883 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002, 5884 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004, 5885 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008, 5886 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010, 5887 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020, 5888 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040, 5889 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080, 5890 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100, 5891 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5892} VkSubgroupFeatureFlagBits; 5893typedef VkFlags VkSubgroupFeatureFlags; 5894 5895typedef enum VkPeerMemoryFeatureFlagBits { 5896 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, 5897 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002, 5898 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004, 5899 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008, 5900 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT, 5901 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT, 5902 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT, 5903 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT, 5904 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5905} VkPeerMemoryFeatureFlagBits; 5906typedef VkFlags VkPeerMemoryFeatureFlags; 5907 5908typedef enum VkMemoryAllocateFlagBits { 5909 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001, 5910 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002, 5911 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004, 5912 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT, 5913 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT, 5914 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 5915 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5916} VkMemoryAllocateFlagBits; 5917typedef VkFlags VkMemoryAllocateFlags; 5918typedef VkFlags VkCommandPoolTrimFlags; 5919typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; 5920 5921typedef enum VkExternalMemoryHandleTypeFlagBits { 5922 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5923 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5924 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5925 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008, 5926 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010, 5927 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020, 5928 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040, 5929 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200, 5930 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400, 5931 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080, 5932 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 5933 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 5934 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 5935 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OHOS_NATIVE_BUFFER_BIT_OPENHARMONY = 0x00004000, 5936 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 5937 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5938 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5939 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, 5940 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, 5941 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, 5942 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, 5943 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5944} VkExternalMemoryHandleTypeFlagBits; 5945typedef VkFlags VkExternalMemoryHandleTypeFlags; 5946 5947typedef enum VkExternalMemoryFeatureFlagBits { 5948 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001, 5949 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002, 5950 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004, 5951 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT, 5952 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT, 5953 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT, 5954 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5955} VkExternalMemoryFeatureFlagBits; 5956typedef VkFlags VkExternalMemoryFeatureFlags; 5957 5958typedef enum VkExternalFenceHandleTypeFlagBits { 5959 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5960 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5961 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5962 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008, 5963 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT, 5964 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 5965 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 5966 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT, 5967 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5968} VkExternalFenceHandleTypeFlagBits; 5969typedef VkFlags VkExternalFenceHandleTypeFlags; 5970 5971typedef enum VkExternalFenceFeatureFlagBits { 5972 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001, 5973 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002, 5974 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT, 5975 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT, 5976 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5977} VkExternalFenceFeatureFlagBits; 5978typedef VkFlags VkExternalFenceFeatureFlags; 5979 5980typedef enum VkFenceImportFlagBits { 5981 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001, 5982 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT, 5983 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5984} VkFenceImportFlagBits; 5985typedef VkFlags VkFenceImportFlags; 5986 5987typedef enum VkSemaphoreImportFlagBits { 5988 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001, 5989 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT, 5990 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 5991} VkSemaphoreImportFlagBits; 5992typedef VkFlags VkSemaphoreImportFlags; 5993 5994typedef enum VkExternalSemaphoreHandleTypeFlagBits { 5995 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001, 5996 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002, 5997 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004, 5998 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008, 5999 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010, 6000 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080, 6001 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 6002 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT, 6003 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT, 6004 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, 6005 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT, 6006 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT, 6007 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6008} VkExternalSemaphoreHandleTypeFlagBits; 6009typedef VkFlags VkExternalSemaphoreHandleTypeFlags; 6010 6011typedef enum VkExternalSemaphoreFeatureFlagBits { 6012 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001, 6013 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002, 6014 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT, 6015 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT, 6016 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6017} VkExternalSemaphoreFeatureFlagBits; 6018typedef VkFlags VkExternalSemaphoreFeatureFlags; 6019typedef struct VkPhysicalDeviceSubgroupProperties { 6020 VkStructureType sType; 6021 void* pNext; 6022 deUint32 subgroupSize; 6023 VkShaderStageFlags supportedStages; 6024 VkSubgroupFeatureFlags supportedOperations; 6025 VkBool32 quadOperationsInAllStages; 6026} VkPhysicalDeviceSubgroupProperties; 6027 6028typedef struct VkBindBufferMemoryInfo { 6029 VkStructureType sType; 6030 const void* pNext; 6031 VkBuffer buffer; 6032 VkDeviceMemory memory; 6033 VkDeviceSize memoryOffset; 6034} VkBindBufferMemoryInfo; 6035 6036typedef struct VkBindImageMemoryInfo { 6037 VkStructureType sType; 6038 const void* pNext; 6039 VkImage image; 6040 VkDeviceMemory memory; 6041 VkDeviceSize memoryOffset; 6042} VkBindImageMemoryInfo; 6043 6044typedef struct VkPhysicalDevice16BitStorageFeatures { 6045 VkStructureType sType; 6046 void* pNext; 6047 VkBool32 storageBuffer16BitAccess; 6048 VkBool32 uniformAndStorageBuffer16BitAccess; 6049 VkBool32 storagePushConstant16; 6050 VkBool32 storageInputOutput16; 6051} VkPhysicalDevice16BitStorageFeatures; 6052 6053typedef struct VkMemoryDedicatedRequirements { 6054 VkStructureType sType; 6055 void* pNext; 6056 VkBool32 prefersDedicatedAllocation; 6057 VkBool32 requiresDedicatedAllocation; 6058} VkMemoryDedicatedRequirements; 6059 6060typedef struct VkMemoryDedicatedAllocateInfo { 6061 VkStructureType sType; 6062 const void* pNext; 6063 VkImage image; 6064 VkBuffer buffer; 6065} VkMemoryDedicatedAllocateInfo; 6066 6067typedef struct VkMemoryAllocateFlagsInfo { 6068 VkStructureType sType; 6069 const void* pNext; 6070 VkMemoryAllocateFlags flags; 6071 deUint32 deviceMask; 6072} VkMemoryAllocateFlagsInfo; 6073 6074typedef struct VkDeviceGroupRenderPassBeginInfo { 6075 VkStructureType sType; 6076 const void* pNext; 6077 deUint32 deviceMask; 6078 deUint32 deviceRenderAreaCount; 6079 const VkRect2D* pDeviceRenderAreas; 6080} VkDeviceGroupRenderPassBeginInfo; 6081 6082typedef struct VkDeviceGroupCommandBufferBeginInfo { 6083 VkStructureType sType; 6084 const void* pNext; 6085 deUint32 deviceMask; 6086} VkDeviceGroupCommandBufferBeginInfo; 6087 6088typedef struct VkDeviceGroupSubmitInfo { 6089 VkStructureType sType; 6090 const void* pNext; 6091 deUint32 waitSemaphoreCount; 6092 const deUint32* pWaitSemaphoreDeviceIndices; 6093 deUint32 commandBufferCount; 6094 const deUint32* pCommandBufferDeviceMasks; 6095 deUint32 signalSemaphoreCount; 6096 const deUint32* pSignalSemaphoreDeviceIndices; 6097} VkDeviceGroupSubmitInfo; 6098 6099typedef struct VkDeviceGroupBindSparseInfo { 6100 VkStructureType sType; 6101 const void* pNext; 6102 deUint32 resourceDeviceIndex; 6103 deUint32 memoryDeviceIndex; 6104} VkDeviceGroupBindSparseInfo; 6105 6106typedef struct VkBindBufferMemoryDeviceGroupInfo { 6107 VkStructureType sType; 6108 const void* pNext; 6109 deUint32 deviceIndexCount; 6110 const deUint32* pDeviceIndices; 6111} VkBindBufferMemoryDeviceGroupInfo; 6112 6113typedef struct VkBindImageMemoryDeviceGroupInfo { 6114 VkStructureType sType; 6115 const void* pNext; 6116 deUint32 deviceIndexCount; 6117 const deUint32* pDeviceIndices; 6118 deUint32 splitInstanceBindRegionCount; 6119 const VkRect2D* pSplitInstanceBindRegions; 6120} VkBindImageMemoryDeviceGroupInfo; 6121 6122typedef struct VkPhysicalDeviceGroupProperties { 6123 VkStructureType sType; 6124 void* pNext; 6125 deUint32 physicalDeviceCount; 6126 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE]; 6127 VkBool32 subsetAllocation; 6128} VkPhysicalDeviceGroupProperties; 6129 6130typedef struct VkDeviceGroupDeviceCreateInfo { 6131 VkStructureType sType; 6132 const void* pNext; 6133 deUint32 physicalDeviceCount; 6134 const VkPhysicalDevice* pPhysicalDevices; 6135} VkDeviceGroupDeviceCreateInfo; 6136 6137typedef struct VkBufferMemoryRequirementsInfo2 { 6138 VkStructureType sType; 6139 const void* pNext; 6140 VkBuffer buffer; 6141} VkBufferMemoryRequirementsInfo2; 6142 6143typedef struct VkImageMemoryRequirementsInfo2 { 6144 VkStructureType sType; 6145 const void* pNext; 6146 VkImage image; 6147} VkImageMemoryRequirementsInfo2; 6148 6149typedef struct VkImageSparseMemoryRequirementsInfo2 { 6150 VkStructureType sType; 6151 const void* pNext; 6152 VkImage image; 6153} VkImageSparseMemoryRequirementsInfo2; 6154 6155typedef struct VkMemoryRequirements2 { 6156 VkStructureType sType; 6157 void* pNext; 6158 VkMemoryRequirements memoryRequirements; 6159} VkMemoryRequirements2; 6160 6161typedef struct VkSparseImageMemoryRequirements2 { 6162 VkStructureType sType; 6163 void* pNext; 6164 VkSparseImageMemoryRequirements memoryRequirements; 6165} VkSparseImageMemoryRequirements2; 6166 6167typedef struct VkPhysicalDeviceFeatures2 { 6168 VkStructureType sType; 6169 void* pNext; 6170 VkPhysicalDeviceFeatures features; 6171} VkPhysicalDeviceFeatures2; 6172 6173typedef struct VkPhysicalDeviceProperties2 { 6174 VkStructureType sType; 6175 void* pNext; 6176 VkPhysicalDeviceProperties properties; 6177} VkPhysicalDeviceProperties2; 6178 6179typedef struct VkFormatProperties2 { 6180 VkStructureType sType; 6181 void* pNext; 6182 VkFormatProperties formatProperties; 6183} VkFormatProperties2; 6184 6185typedef struct VkImageFormatProperties2 { 6186 VkStructureType sType; 6187 void* pNext; 6188 VkImageFormatProperties imageFormatProperties; 6189} VkImageFormatProperties2; 6190 6191typedef struct VkPhysicalDeviceImageFormatInfo2 { 6192 VkStructureType sType; 6193 const void* pNext; 6194 VkFormat format; 6195 VkImageType type; 6196 VkImageTiling tiling; 6197 VkImageUsageFlags usage; 6198 VkImageCreateFlags flags; 6199} VkPhysicalDeviceImageFormatInfo2; 6200 6201typedef struct VkQueueFamilyProperties2 { 6202 VkStructureType sType; 6203 void* pNext; 6204 VkQueueFamilyProperties queueFamilyProperties; 6205} VkQueueFamilyProperties2; 6206 6207typedef struct VkPhysicalDeviceMemoryProperties2 { 6208 VkStructureType sType; 6209 void* pNext; 6210 VkPhysicalDeviceMemoryProperties memoryProperties; 6211} VkPhysicalDeviceMemoryProperties2; 6212 6213typedef struct VkSparseImageFormatProperties2 { 6214 VkStructureType sType; 6215 void* pNext; 6216 VkSparseImageFormatProperties properties; 6217} VkSparseImageFormatProperties2; 6218 6219typedef struct VkPhysicalDeviceSparseImageFormatInfo2 { 6220 VkStructureType sType; 6221 const void* pNext; 6222 VkFormat format; 6223 VkImageType type; 6224 VkSampleCountFlagBits samples; 6225 VkImageUsageFlags usage; 6226 VkImageTiling tiling; 6227} VkPhysicalDeviceSparseImageFormatInfo2; 6228 6229typedef struct VkPhysicalDevicePointClippingProperties { 6230 VkStructureType sType; 6231 void* pNext; 6232 VkPointClippingBehavior pointClippingBehavior; 6233} VkPhysicalDevicePointClippingProperties; 6234 6235typedef struct VkInputAttachmentAspectReference { 6236 deUint32 subpass; 6237 deUint32 inputAttachmentIndex; 6238 VkImageAspectFlags aspectMask; 6239} VkInputAttachmentAspectReference; 6240 6241typedef struct VkRenderPassInputAttachmentAspectCreateInfo { 6242 VkStructureType sType; 6243 const void* pNext; 6244 deUint32 aspectReferenceCount; 6245 const VkInputAttachmentAspectReference* pAspectReferences; 6246} VkRenderPassInputAttachmentAspectCreateInfo; 6247 6248typedef struct VkImageViewUsageCreateInfo { 6249 VkStructureType sType; 6250 const void* pNext; 6251 VkImageUsageFlags usage; 6252} VkImageViewUsageCreateInfo; 6253 6254typedef struct VkPipelineTessellationDomainOriginStateCreateInfo { 6255 VkStructureType sType; 6256 const void* pNext; 6257 VkTessellationDomainOrigin domainOrigin; 6258} VkPipelineTessellationDomainOriginStateCreateInfo; 6259 6260typedef struct VkRenderPassMultiviewCreateInfo { 6261 VkStructureType sType; 6262 const void* pNext; 6263 deUint32 subpassCount; 6264 const deUint32* pViewMasks; 6265 deUint32 dependencyCount; 6266 const deInt32* pViewOffsets; 6267 deUint32 correlationMaskCount; 6268 const deUint32* pCorrelationMasks; 6269} VkRenderPassMultiviewCreateInfo; 6270 6271typedef struct VkPhysicalDeviceMultiviewFeatures { 6272 VkStructureType sType; 6273 void* pNext; 6274 VkBool32 multiview; 6275 VkBool32 multiviewGeometryShader; 6276 VkBool32 multiviewTessellationShader; 6277} VkPhysicalDeviceMultiviewFeatures; 6278 6279typedef struct VkPhysicalDeviceMultiviewProperties { 6280 VkStructureType sType; 6281 void* pNext; 6282 deUint32 maxMultiviewViewCount; 6283 deUint32 maxMultiviewInstanceIndex; 6284} VkPhysicalDeviceMultiviewProperties; 6285 6286typedef struct VkPhysicalDeviceVariablePointersFeatures { 6287 VkStructureType sType; 6288 void* pNext; 6289 VkBool32 variablePointersStorageBuffer; 6290 VkBool32 variablePointers; 6291} VkPhysicalDeviceVariablePointersFeatures; 6292 6293typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures; 6294 6295typedef struct VkPhysicalDeviceProtectedMemoryFeatures { 6296 VkStructureType sType; 6297 void* pNext; 6298 VkBool32 protectedMemory; 6299} VkPhysicalDeviceProtectedMemoryFeatures; 6300 6301typedef struct VkPhysicalDeviceProtectedMemoryProperties { 6302 VkStructureType sType; 6303 void* pNext; 6304 VkBool32 protectedNoFault; 6305} VkPhysicalDeviceProtectedMemoryProperties; 6306 6307typedef struct VkDeviceQueueInfo2 { 6308 VkStructureType sType; 6309 const void* pNext; 6310 VkDeviceQueueCreateFlags flags; 6311 deUint32 queueFamilyIndex; 6312 deUint32 queueIndex; 6313} VkDeviceQueueInfo2; 6314 6315typedef struct VkProtectedSubmitInfo { 6316 VkStructureType sType; 6317 const void* pNext; 6318 VkBool32 protectedSubmit; 6319} VkProtectedSubmitInfo; 6320 6321typedef struct VkSamplerYcbcrConversionCreateInfo { 6322 VkStructureType sType; 6323 const void* pNext; 6324 VkFormat format; 6325 VkSamplerYcbcrModelConversion ycbcrModel; 6326 VkSamplerYcbcrRange ycbcrRange; 6327 VkComponentMapping components; 6328 VkChromaLocation xChromaOffset; 6329 VkChromaLocation yChromaOffset; 6330 VkFilter chromaFilter; 6331 VkBool32 forceExplicitReconstruction; 6332} VkSamplerYcbcrConversionCreateInfo; 6333 6334typedef struct VkSamplerYcbcrConversionInfo { 6335 VkStructureType sType; 6336 const void* pNext; 6337 VkSamplerYcbcrConversion conversion; 6338} VkSamplerYcbcrConversionInfo; 6339 6340typedef struct VkBindImagePlaneMemoryInfo { 6341 VkStructureType sType; 6342 const void* pNext; 6343 VkImageAspectFlagBits planeAspect; 6344} VkBindImagePlaneMemoryInfo; 6345 6346typedef struct VkImagePlaneMemoryRequirementsInfo { 6347 VkStructureType sType; 6348 const void* pNext; 6349 VkImageAspectFlagBits planeAspect; 6350} VkImagePlaneMemoryRequirementsInfo; 6351 6352typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures { 6353 VkStructureType sType; 6354 void* pNext; 6355 VkBool32 samplerYcbcrConversion; 6356} VkPhysicalDeviceSamplerYcbcrConversionFeatures; 6357 6358typedef struct VkSamplerYcbcrConversionImageFormatProperties { 6359 VkStructureType sType; 6360 void* pNext; 6361 deUint32 combinedImageSamplerDescriptorCount; 6362} VkSamplerYcbcrConversionImageFormatProperties; 6363 6364typedef struct VkDescriptorUpdateTemplateEntry { 6365 deUint32 dstBinding; 6366 deUint32 dstArrayElement; 6367 deUint32 descriptorCount; 6368 VkDescriptorType descriptorType; 6369 deUintptr offset; 6370 deUintptr stride; 6371} VkDescriptorUpdateTemplateEntry; 6372 6373typedef struct VkDescriptorUpdateTemplateCreateInfo { 6374 VkStructureType sType; 6375 const void* pNext; 6376 VkDescriptorUpdateTemplateCreateFlags flags; 6377 deUint32 descriptorUpdateEntryCount; 6378 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries; 6379 VkDescriptorUpdateTemplateType templateType; 6380 VkDescriptorSetLayout descriptorSetLayout; 6381 VkPipelineBindPoint pipelineBindPoint; 6382 VkPipelineLayout pipelineLayout; 6383 deUint32 set; 6384} VkDescriptorUpdateTemplateCreateInfo; 6385 6386typedef struct VkExternalMemoryProperties { 6387 VkExternalMemoryFeatureFlags externalMemoryFeatures; 6388 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes; 6389 VkExternalMemoryHandleTypeFlags compatibleHandleTypes; 6390} VkExternalMemoryProperties; 6391 6392typedef struct VkPhysicalDeviceExternalImageFormatInfo { 6393 VkStructureType sType; 6394 const void* pNext; 6395 VkExternalMemoryHandleTypeFlagBits handleType; 6396} VkPhysicalDeviceExternalImageFormatInfo; 6397 6398typedef struct VkExternalImageFormatProperties { 6399 VkStructureType sType; 6400 void* pNext; 6401 VkExternalMemoryProperties externalMemoryProperties; 6402} VkExternalImageFormatProperties; 6403 6404typedef struct VkPhysicalDeviceExternalBufferInfo { 6405 VkStructureType sType; 6406 const void* pNext; 6407 VkBufferCreateFlags flags; 6408 VkBufferUsageFlags usage; 6409 VkExternalMemoryHandleTypeFlagBits handleType; 6410} VkPhysicalDeviceExternalBufferInfo; 6411 6412typedef struct VkExternalBufferProperties { 6413 VkStructureType sType; 6414 void* pNext; 6415 VkExternalMemoryProperties externalMemoryProperties; 6416} VkExternalBufferProperties; 6417 6418typedef struct VkPhysicalDeviceIDProperties { 6419 VkStructureType sType; 6420 void* pNext; 6421 deUint8 deviceUUID[VK_UUID_SIZE]; 6422 deUint8 driverUUID[VK_UUID_SIZE]; 6423 deUint8 deviceLUID[VK_LUID_SIZE]; 6424 deUint32 deviceNodeMask; 6425 VkBool32 deviceLUIDValid; 6426} VkPhysicalDeviceIDProperties; 6427 6428typedef struct VkExternalMemoryImageCreateInfo { 6429 VkStructureType sType; 6430 const void* pNext; 6431 VkExternalMemoryHandleTypeFlags handleTypes; 6432} VkExternalMemoryImageCreateInfo; 6433 6434typedef struct VkExternalMemoryBufferCreateInfo { 6435 VkStructureType sType; 6436 const void* pNext; 6437 VkExternalMemoryHandleTypeFlags handleTypes; 6438} VkExternalMemoryBufferCreateInfo; 6439 6440typedef struct VkExportMemoryAllocateInfo { 6441 VkStructureType sType; 6442 const void* pNext; 6443 VkExternalMemoryHandleTypeFlags handleTypes; 6444} VkExportMemoryAllocateInfo; 6445 6446typedef struct VkPhysicalDeviceExternalFenceInfo { 6447 VkStructureType sType; 6448 const void* pNext; 6449 VkExternalFenceHandleTypeFlagBits handleType; 6450} VkPhysicalDeviceExternalFenceInfo; 6451 6452typedef struct VkExternalFenceProperties { 6453 VkStructureType sType; 6454 void* pNext; 6455 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes; 6456 VkExternalFenceHandleTypeFlags compatibleHandleTypes; 6457 VkExternalFenceFeatureFlags externalFenceFeatures; 6458} VkExternalFenceProperties; 6459 6460typedef struct VkExportFenceCreateInfo { 6461 VkStructureType sType; 6462 const void* pNext; 6463 VkExternalFenceHandleTypeFlags handleTypes; 6464} VkExportFenceCreateInfo; 6465 6466typedef struct VkExportSemaphoreCreateInfo { 6467 VkStructureType sType; 6468 const void* pNext; 6469 VkExternalSemaphoreHandleTypeFlags handleTypes; 6470} VkExportSemaphoreCreateInfo; 6471 6472typedef struct VkPhysicalDeviceExternalSemaphoreInfo { 6473 VkStructureType sType; 6474 const void* pNext; 6475 VkExternalSemaphoreHandleTypeFlagBits handleType; 6476} VkPhysicalDeviceExternalSemaphoreInfo; 6477 6478typedef struct VkExternalSemaphoreProperties { 6479 VkStructureType sType; 6480 void* pNext; 6481 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes; 6482 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes; 6483 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures; 6484} VkExternalSemaphoreProperties; 6485 6486typedef struct VkPhysicalDeviceMaintenance3Properties { 6487 VkStructureType sType; 6488 void* pNext; 6489 deUint32 maxPerSetDescriptors; 6490 VkDeviceSize maxMemoryAllocationSize; 6491} VkPhysicalDeviceMaintenance3Properties; 6492 6493typedef struct VkDescriptorSetLayoutSupport { 6494 VkStructureType sType; 6495 void* pNext; 6496 VkBool32 supported; 6497} VkDescriptorSetLayoutSupport; 6498 6499typedef struct VkPhysicalDeviceShaderDrawParametersFeatures { 6500 VkStructureType sType; 6501 void* pNext; 6502 VkBool32 shaderDrawParameters; 6503} VkPhysicalDeviceShaderDrawParametersFeatures; 6504 6505typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures; 6506 6507typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion); 6508typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 6509typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 6510typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 6511typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask); 6512typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); 6513typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 6514typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 6515typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 6516typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 6517typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 6518typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 6519typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 6520typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 6521typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 6522typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 6523typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 6524typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 6525typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue); 6526typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 6527typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 6528typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 6529typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 6530typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 6531typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 6532typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 6533typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 6534typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 6535 6536#ifndef VK_NO_PROTOTYPES 6537VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion( 6538 deUint32* pApiVersion); 6539 6540VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2( 6541 VkDevice device, 6542 deUint32 bindInfoCount, 6543 const VkBindBufferMemoryInfo* pBindInfos); 6544 6545VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2( 6546 VkDevice device, 6547 deUint32 bindInfoCount, 6548 const VkBindImageMemoryInfo* pBindInfos); 6549 6550VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures( 6551 VkDevice device, 6552 deUint32 heapIndex, 6553 deUint32 localDeviceIndex, 6554 deUint32 remoteDeviceIndex, 6555 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 6556 6557VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask( 6558 VkCommandBuffer commandBuffer, 6559 deUint32 deviceMask); 6560 6561VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase( 6562 VkCommandBuffer commandBuffer, 6563 deUint32 baseGroupX, 6564 deUint32 baseGroupY, 6565 deUint32 baseGroupZ, 6566 deUint32 groupCountX, 6567 deUint32 groupCountY, 6568 deUint32 groupCountZ); 6569 6570VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups( 6571 VkInstance instance, 6572 deUint32* pPhysicalDeviceGroupCount, 6573 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 6574 6575VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2( 6576 VkDevice device, 6577 const VkImageMemoryRequirementsInfo2* pInfo, 6578 VkMemoryRequirements2* pMemoryRequirements); 6579 6580VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2( 6581 VkDevice device, 6582 const VkBufferMemoryRequirementsInfo2* pInfo, 6583 VkMemoryRequirements2* pMemoryRequirements); 6584 6585VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2( 6586 VkDevice device, 6587 const VkImageSparseMemoryRequirementsInfo2* pInfo, 6588 deUint32* pSparseMemoryRequirementCount, 6589 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 6590 6591VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2( 6592 VkPhysicalDevice physicalDevice, 6593 VkPhysicalDeviceFeatures2* pFeatures); 6594 6595VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2( 6596 VkPhysicalDevice physicalDevice, 6597 VkPhysicalDeviceProperties2* pProperties); 6598 6599VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2( 6600 VkPhysicalDevice physicalDevice, 6601 VkFormat format, 6602 VkFormatProperties2* pFormatProperties); 6603 6604VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2( 6605 VkPhysicalDevice physicalDevice, 6606 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 6607 VkImageFormatProperties2* pImageFormatProperties); 6608 6609VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2( 6610 VkPhysicalDevice physicalDevice, 6611 deUint32* pQueueFamilyPropertyCount, 6612 VkQueueFamilyProperties2* pQueueFamilyProperties); 6613 6614VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2( 6615 VkPhysicalDevice physicalDevice, 6616 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 6617 6618VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2( 6619 VkPhysicalDevice physicalDevice, 6620 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 6621 deUint32* pPropertyCount, 6622 VkSparseImageFormatProperties2* pProperties); 6623 6624VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool( 6625 VkDevice device, 6626 VkCommandPool commandPool, 6627 VkCommandPoolTrimFlags flags); 6628 6629VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2( 6630 VkDevice device, 6631 const VkDeviceQueueInfo2* pQueueInfo, 6632 VkQueue* pQueue); 6633 6634VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion( 6635 VkDevice device, 6636 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 6637 const VkAllocationCallbacks* pAllocator, 6638 VkSamplerYcbcrConversion* pYcbcrConversion); 6639 6640VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion( 6641 VkDevice device, 6642 VkSamplerYcbcrConversion ycbcrConversion, 6643 const VkAllocationCallbacks* pAllocator); 6644 6645VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate( 6646 VkDevice device, 6647 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 6648 const VkAllocationCallbacks* pAllocator, 6649 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 6650 6651VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate( 6652 VkDevice device, 6653 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 6654 const VkAllocationCallbacks* pAllocator); 6655 6656VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate( 6657 VkDevice device, 6658 VkDescriptorSet descriptorSet, 6659 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 6660 const void* pData); 6661 6662VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties( 6663 VkPhysicalDevice physicalDevice, 6664 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 6665 VkExternalBufferProperties* pExternalBufferProperties); 6666 6667VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties( 6668 VkPhysicalDevice physicalDevice, 6669 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 6670 VkExternalFenceProperties* pExternalFenceProperties); 6671 6672VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties( 6673 VkPhysicalDevice physicalDevice, 6674 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 6675 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 6676 6677VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport( 6678 VkDevice device, 6679 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 6680 VkDescriptorSetLayoutSupport* pSupport); 6681#endif 6682 6683 6684#define VK_VERSION_1_2 1 6685// Vulkan 1.2 version number 6686#define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 6687 6688#define VK_MAX_DRIVER_NAME_SIZE 256U 6689#define VK_MAX_DRIVER_INFO_SIZE 256U 6690 6691typedef enum VkDriverId { 6692 VK_DRIVER_ID_AMD_PROPRIETARY = 1, 6693 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2, 6694 VK_DRIVER_ID_MESA_RADV = 3, 6695 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4, 6696 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5, 6697 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6, 6698 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7, 6699 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8, 6700 VK_DRIVER_ID_ARM_PROPRIETARY = 9, 6701 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10, 6702 VK_DRIVER_ID_GGP_PROPRIETARY = 11, 6703 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12, 6704 VK_DRIVER_ID_MESA_LLVMPIPE = 13, 6705 VK_DRIVER_ID_MOLTENVK = 14, 6706 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, 6707 VK_DRIVER_ID_JUICE_PROPRIETARY = 16, 6708 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 6709 VK_DRIVER_ID_MESA_TURNIP = 18, 6710 VK_DRIVER_ID_MESA_V3DV = 19, 6711 VK_DRIVER_ID_MESA_PANVK = 20, 6712 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 6713 VK_DRIVER_ID_MESA_VENUS = 22, 6714 VK_DRIVER_ID_MESA_DOZEN = 23, 6715 VK_DRIVER_ID_MESA_NVK = 24, 6716 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 6717 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 6718 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, 6719 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY, 6720 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS, 6721 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA, 6722 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY, 6723 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY, 6724 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY, 6725 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER, 6726 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY, 6727 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY, 6728 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF 6729} VkDriverId; 6730 6731typedef enum VkShaderFloatControlsIndependence { 6732 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0, 6733 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1, 6734 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2, 6735 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY, 6736 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL, 6737 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE, 6738 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF 6739} VkShaderFloatControlsIndependence; 6740 6741typedef enum VkSamplerReductionMode { 6742 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 6743 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 6744 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 6745 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 6746 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 6747 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, 6748 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF 6749} VkSamplerReductionMode; 6750 6751typedef enum VkSemaphoreType { 6752 VK_SEMAPHORE_TYPE_BINARY = 0, 6753 VK_SEMAPHORE_TYPE_TIMELINE = 1, 6754 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY, 6755 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE, 6756 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF 6757} VkSemaphoreType; 6758 6759typedef enum VkResolveModeFlagBits { 6760 VK_RESOLVE_MODE_NONE = 0, 6761 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001, 6762 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 6763 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 6764 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 6765 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 6766 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 6767 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, 6768 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT, 6769 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT, 6770 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6771} VkResolveModeFlagBits; 6772typedef VkFlags VkResolveModeFlags; 6773 6774typedef enum VkDescriptorBindingFlagBits { 6775 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001, 6776 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002, 6777 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004, 6778 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008, 6779 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT, 6780 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT, 6781 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT, 6782 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT, 6783 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6784} VkDescriptorBindingFlagBits; 6785typedef VkFlags VkDescriptorBindingFlags; 6786 6787typedef enum VkSemaphoreWaitFlagBits { 6788 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001, 6789 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT, 6790 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 6791} VkSemaphoreWaitFlagBits; 6792typedef VkFlags VkSemaphoreWaitFlags; 6793typedef struct VkPhysicalDeviceVulkan11Features { 6794 VkStructureType sType; 6795 void* pNext; 6796 VkBool32 storageBuffer16BitAccess; 6797 VkBool32 uniformAndStorageBuffer16BitAccess; 6798 VkBool32 storagePushConstant16; 6799 VkBool32 storageInputOutput16; 6800 VkBool32 multiview; 6801 VkBool32 multiviewGeometryShader; 6802 VkBool32 multiviewTessellationShader; 6803 VkBool32 variablePointersStorageBuffer; 6804 VkBool32 variablePointers; 6805 VkBool32 protectedMemory; 6806 VkBool32 samplerYcbcrConversion; 6807 VkBool32 shaderDrawParameters; 6808} VkPhysicalDeviceVulkan11Features; 6809 6810typedef struct VkPhysicalDeviceVulkan11Properties { 6811 VkStructureType sType; 6812 void* pNext; 6813 deUint8 deviceUUID[VK_UUID_SIZE]; 6814 deUint8 driverUUID[VK_UUID_SIZE]; 6815 deUint8 deviceLUID[VK_LUID_SIZE]; 6816 deUint32 deviceNodeMask; 6817 VkBool32 deviceLUIDValid; 6818 deUint32 subgroupSize; 6819 VkShaderStageFlags subgroupSupportedStages; 6820 VkSubgroupFeatureFlags subgroupSupportedOperations; 6821 VkBool32 subgroupQuadOperationsInAllStages; 6822 VkPointClippingBehavior pointClippingBehavior; 6823 deUint32 maxMultiviewViewCount; 6824 deUint32 maxMultiviewInstanceIndex; 6825 VkBool32 protectedNoFault; 6826 deUint32 maxPerSetDescriptors; 6827 VkDeviceSize maxMemoryAllocationSize; 6828} VkPhysicalDeviceVulkan11Properties; 6829 6830typedef struct VkPhysicalDeviceVulkan12Features { 6831 VkStructureType sType; 6832 void* pNext; 6833 VkBool32 samplerMirrorClampToEdge; 6834 VkBool32 drawIndirectCount; 6835 VkBool32 storageBuffer8BitAccess; 6836 VkBool32 uniformAndStorageBuffer8BitAccess; 6837 VkBool32 storagePushConstant8; 6838 VkBool32 shaderBufferInt64Atomics; 6839 VkBool32 shaderSharedInt64Atomics; 6840 VkBool32 shaderFloat16; 6841 VkBool32 shaderInt8; 6842 VkBool32 descriptorIndexing; 6843 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 6844 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 6845 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 6846 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 6847 VkBool32 shaderSampledImageArrayNonUniformIndexing; 6848 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 6849 VkBool32 shaderStorageImageArrayNonUniformIndexing; 6850 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 6851 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 6852 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 6853 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 6854 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 6855 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 6856 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 6857 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 6858 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 6859 VkBool32 descriptorBindingUpdateUnusedWhilePending; 6860 VkBool32 descriptorBindingPartiallyBound; 6861 VkBool32 descriptorBindingVariableDescriptorCount; 6862 VkBool32 runtimeDescriptorArray; 6863 VkBool32 samplerFilterMinmax; 6864 VkBool32 scalarBlockLayout; 6865 VkBool32 imagelessFramebuffer; 6866 VkBool32 uniformBufferStandardLayout; 6867 VkBool32 shaderSubgroupExtendedTypes; 6868 VkBool32 separateDepthStencilLayouts; 6869 VkBool32 hostQueryReset; 6870 VkBool32 timelineSemaphore; 6871 VkBool32 bufferDeviceAddress; 6872 VkBool32 bufferDeviceAddressCaptureReplay; 6873 VkBool32 bufferDeviceAddressMultiDevice; 6874 VkBool32 vulkanMemoryModel; 6875 VkBool32 vulkanMemoryModelDeviceScope; 6876 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 6877 VkBool32 shaderOutputViewportIndex; 6878 VkBool32 shaderOutputLayer; 6879 VkBool32 subgroupBroadcastDynamicId; 6880} VkPhysicalDeviceVulkan12Features; 6881 6882typedef struct VkConformanceVersion { 6883 deUint8 major; 6884 deUint8 minor; 6885 deUint8 subminor; 6886 deUint8 patch; 6887} VkConformanceVersion; 6888 6889typedef struct VkPhysicalDeviceVulkan12Properties { 6890 VkStructureType sType; 6891 void* pNext; 6892 VkDriverId driverID; 6893 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 6894 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 6895 VkConformanceVersion conformanceVersion; 6896 VkShaderFloatControlsIndependence denormBehaviorIndependence; 6897 VkShaderFloatControlsIndependence roundingModeIndependence; 6898 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 6899 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 6900 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 6901 VkBool32 shaderDenormPreserveFloat16; 6902 VkBool32 shaderDenormPreserveFloat32; 6903 VkBool32 shaderDenormPreserveFloat64; 6904 VkBool32 shaderDenormFlushToZeroFloat16; 6905 VkBool32 shaderDenormFlushToZeroFloat32; 6906 VkBool32 shaderDenormFlushToZeroFloat64; 6907 VkBool32 shaderRoundingModeRTEFloat16; 6908 VkBool32 shaderRoundingModeRTEFloat32; 6909 VkBool32 shaderRoundingModeRTEFloat64; 6910 VkBool32 shaderRoundingModeRTZFloat16; 6911 VkBool32 shaderRoundingModeRTZFloat32; 6912 VkBool32 shaderRoundingModeRTZFloat64; 6913 deUint32 maxUpdateAfterBindDescriptorsInAllPools; 6914 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 6915 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 6916 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 6917 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 6918 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 6919 VkBool32 robustBufferAccessUpdateAfterBind; 6920 VkBool32 quadDivergentImplicitLod; 6921 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers; 6922 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers; 6923 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers; 6924 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages; 6925 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages; 6926 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments; 6927 deUint32 maxPerStageUpdateAfterBindResources; 6928 deUint32 maxDescriptorSetUpdateAfterBindSamplers; 6929 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers; 6930 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 6931 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers; 6932 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 6933 deUint32 maxDescriptorSetUpdateAfterBindSampledImages; 6934 deUint32 maxDescriptorSetUpdateAfterBindStorageImages; 6935 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments; 6936 VkResolveModeFlags supportedDepthResolveModes; 6937 VkResolveModeFlags supportedStencilResolveModes; 6938 VkBool32 independentResolveNone; 6939 VkBool32 independentResolve; 6940 VkBool32 filterMinmaxSingleComponentFormats; 6941 VkBool32 filterMinmaxImageComponentMapping; 6942 deUint64 maxTimelineSemaphoreValueDifference; 6943 VkSampleCountFlags framebufferIntegerColorSampleCounts; 6944} VkPhysicalDeviceVulkan12Properties; 6945 6946typedef struct VkImageFormatListCreateInfo { 6947 VkStructureType sType; 6948 const void* pNext; 6949 deUint32 viewFormatCount; 6950 const VkFormat* pViewFormats; 6951} VkImageFormatListCreateInfo; 6952 6953typedef struct VkAttachmentDescription2 { 6954 VkStructureType sType; 6955 const void* pNext; 6956 VkAttachmentDescriptionFlags flags; 6957 VkFormat format; 6958 VkSampleCountFlagBits samples; 6959 VkAttachmentLoadOp loadOp; 6960 VkAttachmentStoreOp storeOp; 6961 VkAttachmentLoadOp stencilLoadOp; 6962 VkAttachmentStoreOp stencilStoreOp; 6963 VkImageLayout initialLayout; 6964 VkImageLayout finalLayout; 6965} VkAttachmentDescription2; 6966 6967typedef struct VkAttachmentReference2 { 6968 VkStructureType sType; 6969 const void* pNext; 6970 deUint32 attachment; 6971 VkImageLayout layout; 6972 VkImageAspectFlags aspectMask; 6973} VkAttachmentReference2; 6974 6975typedef struct VkSubpassDescription2 { 6976 VkStructureType sType; 6977 const void* pNext; 6978 VkSubpassDescriptionFlags flags; 6979 VkPipelineBindPoint pipelineBindPoint; 6980 deUint32 viewMask; 6981 deUint32 inputAttachmentCount; 6982 const VkAttachmentReference2* pInputAttachments; 6983 deUint32 colorAttachmentCount; 6984 const VkAttachmentReference2* pColorAttachments; 6985 const VkAttachmentReference2* pResolveAttachments; 6986 const VkAttachmentReference2* pDepthStencilAttachment; 6987 deUint32 preserveAttachmentCount; 6988 const deUint32* pPreserveAttachments; 6989} VkSubpassDescription2; 6990 6991typedef struct VkSubpassDependency2 { 6992 VkStructureType sType; 6993 const void* pNext; 6994 deUint32 srcSubpass; 6995 deUint32 dstSubpass; 6996 VkPipelineStageFlags srcStageMask; 6997 VkPipelineStageFlags dstStageMask; 6998 VkAccessFlags srcAccessMask; 6999 VkAccessFlags dstAccessMask; 7000 VkDependencyFlags dependencyFlags; 7001 deInt32 viewOffset; 7002} VkSubpassDependency2; 7003 7004typedef struct VkRenderPassCreateInfo2 { 7005 VkStructureType sType; 7006 const void* pNext; 7007 VkRenderPassCreateFlags flags; 7008 deUint32 attachmentCount; 7009 const VkAttachmentDescription2* pAttachments; 7010 deUint32 subpassCount; 7011 const VkSubpassDescription2* pSubpasses; 7012 deUint32 dependencyCount; 7013 const VkSubpassDependency2* pDependencies; 7014 deUint32 correlatedViewMaskCount; 7015 const deUint32* pCorrelatedViewMasks; 7016} VkRenderPassCreateInfo2; 7017 7018typedef struct VkSubpassBeginInfo { 7019 VkStructureType sType; 7020 const void* pNext; 7021 VkSubpassContents contents; 7022} VkSubpassBeginInfo; 7023 7024typedef struct VkSubpassEndInfo { 7025 VkStructureType sType; 7026 const void* pNext; 7027} VkSubpassEndInfo; 7028 7029typedef struct VkPhysicalDevice8BitStorageFeatures { 7030 VkStructureType sType; 7031 void* pNext; 7032 VkBool32 storageBuffer8BitAccess; 7033 VkBool32 uniformAndStorageBuffer8BitAccess; 7034 VkBool32 storagePushConstant8; 7035} VkPhysicalDevice8BitStorageFeatures; 7036 7037typedef struct VkPhysicalDeviceDriverProperties { 7038 VkStructureType sType; 7039 void* pNext; 7040 VkDriverId driverID; 7041 char driverName[VK_MAX_DRIVER_NAME_SIZE]; 7042 char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; 7043 VkConformanceVersion conformanceVersion; 7044} VkPhysicalDeviceDriverProperties; 7045 7046typedef struct VkPhysicalDeviceShaderAtomicInt64Features { 7047 VkStructureType sType; 7048 void* pNext; 7049 VkBool32 shaderBufferInt64Atomics; 7050 VkBool32 shaderSharedInt64Atomics; 7051} VkPhysicalDeviceShaderAtomicInt64Features; 7052 7053typedef struct VkPhysicalDeviceShaderFloat16Int8Features { 7054 VkStructureType sType; 7055 void* pNext; 7056 VkBool32 shaderFloat16; 7057 VkBool32 shaderInt8; 7058} VkPhysicalDeviceShaderFloat16Int8Features; 7059 7060typedef struct VkPhysicalDeviceFloatControlsProperties { 7061 VkStructureType sType; 7062 void* pNext; 7063 VkShaderFloatControlsIndependence denormBehaviorIndependence; 7064 VkShaderFloatControlsIndependence roundingModeIndependence; 7065 VkBool32 shaderSignedZeroInfNanPreserveFloat16; 7066 VkBool32 shaderSignedZeroInfNanPreserveFloat32; 7067 VkBool32 shaderSignedZeroInfNanPreserveFloat64; 7068 VkBool32 shaderDenormPreserveFloat16; 7069 VkBool32 shaderDenormPreserveFloat32; 7070 VkBool32 shaderDenormPreserveFloat64; 7071 VkBool32 shaderDenormFlushToZeroFloat16; 7072 VkBool32 shaderDenormFlushToZeroFloat32; 7073 VkBool32 shaderDenormFlushToZeroFloat64; 7074 VkBool32 shaderRoundingModeRTEFloat16; 7075 VkBool32 shaderRoundingModeRTEFloat32; 7076 VkBool32 shaderRoundingModeRTEFloat64; 7077 VkBool32 shaderRoundingModeRTZFloat16; 7078 VkBool32 shaderRoundingModeRTZFloat32; 7079 VkBool32 shaderRoundingModeRTZFloat64; 7080} VkPhysicalDeviceFloatControlsProperties; 7081 7082typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo { 7083 VkStructureType sType; 7084 const void* pNext; 7085 deUint32 bindingCount; 7086 const VkDescriptorBindingFlags* pBindingFlags; 7087} VkDescriptorSetLayoutBindingFlagsCreateInfo; 7088 7089typedef struct VkPhysicalDeviceDescriptorIndexingFeatures { 7090 VkStructureType sType; 7091 void* pNext; 7092 VkBool32 shaderInputAttachmentArrayDynamicIndexing; 7093 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; 7094 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; 7095 VkBool32 shaderUniformBufferArrayNonUniformIndexing; 7096 VkBool32 shaderSampledImageArrayNonUniformIndexing; 7097 VkBool32 shaderStorageBufferArrayNonUniformIndexing; 7098 VkBool32 shaderStorageImageArrayNonUniformIndexing; 7099 VkBool32 shaderInputAttachmentArrayNonUniformIndexing; 7100 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; 7101 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; 7102 VkBool32 descriptorBindingUniformBufferUpdateAfterBind; 7103 VkBool32 descriptorBindingSampledImageUpdateAfterBind; 7104 VkBool32 descriptorBindingStorageImageUpdateAfterBind; 7105 VkBool32 descriptorBindingStorageBufferUpdateAfterBind; 7106 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; 7107 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; 7108 VkBool32 descriptorBindingUpdateUnusedWhilePending; 7109 VkBool32 descriptorBindingPartiallyBound; 7110 VkBool32 descriptorBindingVariableDescriptorCount; 7111 VkBool32 runtimeDescriptorArray; 7112} VkPhysicalDeviceDescriptorIndexingFeatures; 7113 7114typedef struct VkPhysicalDeviceDescriptorIndexingProperties { 7115 VkStructureType sType; 7116 void* pNext; 7117 deUint32 maxUpdateAfterBindDescriptorsInAllPools; 7118 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; 7119 VkBool32 shaderSampledImageArrayNonUniformIndexingNative; 7120 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; 7121 VkBool32 shaderStorageImageArrayNonUniformIndexingNative; 7122 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; 7123 VkBool32 robustBufferAccessUpdateAfterBind; 7124 VkBool32 quadDivergentImplicitLod; 7125 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers; 7126 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers; 7127 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers; 7128 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages; 7129 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages; 7130 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments; 7131 deUint32 maxPerStageUpdateAfterBindResources; 7132 deUint32 maxDescriptorSetUpdateAfterBindSamplers; 7133 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers; 7134 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; 7135 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers; 7136 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; 7137 deUint32 maxDescriptorSetUpdateAfterBindSampledImages; 7138 deUint32 maxDescriptorSetUpdateAfterBindStorageImages; 7139 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments; 7140} VkPhysicalDeviceDescriptorIndexingProperties; 7141 7142typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo { 7143 VkStructureType sType; 7144 const void* pNext; 7145 deUint32 descriptorSetCount; 7146 const deUint32* pDescriptorCounts; 7147} VkDescriptorSetVariableDescriptorCountAllocateInfo; 7148 7149typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport { 7150 VkStructureType sType; 7151 void* pNext; 7152 deUint32 maxVariableDescriptorCount; 7153} VkDescriptorSetVariableDescriptorCountLayoutSupport; 7154 7155typedef struct VkSubpassDescriptionDepthStencilResolve { 7156 VkStructureType sType; 7157 const void* pNext; 7158 VkResolveModeFlagBits depthResolveMode; 7159 VkResolveModeFlagBits stencilResolveMode; 7160 const VkAttachmentReference2* pDepthStencilResolveAttachment; 7161} VkSubpassDescriptionDepthStencilResolve; 7162 7163typedef struct VkPhysicalDeviceDepthStencilResolveProperties { 7164 VkStructureType sType; 7165 void* pNext; 7166 VkResolveModeFlags supportedDepthResolveModes; 7167 VkResolveModeFlags supportedStencilResolveModes; 7168 VkBool32 independentResolveNone; 7169 VkBool32 independentResolve; 7170} VkPhysicalDeviceDepthStencilResolveProperties; 7171 7172typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures { 7173 VkStructureType sType; 7174 void* pNext; 7175 VkBool32 scalarBlockLayout; 7176} VkPhysicalDeviceScalarBlockLayoutFeatures; 7177 7178typedef struct VkImageStencilUsageCreateInfo { 7179 VkStructureType sType; 7180 const void* pNext; 7181 VkImageUsageFlags stencilUsage; 7182} VkImageStencilUsageCreateInfo; 7183 7184typedef struct VkSamplerReductionModeCreateInfo { 7185 VkStructureType sType; 7186 const void* pNext; 7187 VkSamplerReductionMode reductionMode; 7188} VkSamplerReductionModeCreateInfo; 7189 7190typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties { 7191 VkStructureType sType; 7192 void* pNext; 7193 VkBool32 filterMinmaxSingleComponentFormats; 7194 VkBool32 filterMinmaxImageComponentMapping; 7195} VkPhysicalDeviceSamplerFilterMinmaxProperties; 7196 7197typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures { 7198 VkStructureType sType; 7199 void* pNext; 7200 VkBool32 vulkanMemoryModel; 7201 VkBool32 vulkanMemoryModelDeviceScope; 7202 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains; 7203} VkPhysicalDeviceVulkanMemoryModelFeatures; 7204 7205typedef struct VkPhysicalDeviceImagelessFramebufferFeatures { 7206 VkStructureType sType; 7207 void* pNext; 7208 VkBool32 imagelessFramebuffer; 7209} VkPhysicalDeviceImagelessFramebufferFeatures; 7210 7211typedef struct VkFramebufferAttachmentImageInfo { 7212 VkStructureType sType; 7213 const void* pNext; 7214 VkImageCreateFlags flags; 7215 VkImageUsageFlags usage; 7216 deUint32 width; 7217 deUint32 height; 7218 deUint32 layerCount; 7219 deUint32 viewFormatCount; 7220 const VkFormat* pViewFormats; 7221} VkFramebufferAttachmentImageInfo; 7222 7223typedef struct VkFramebufferAttachmentsCreateInfo { 7224 VkStructureType sType; 7225 const void* pNext; 7226 deUint32 attachmentImageInfoCount; 7227 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos; 7228} VkFramebufferAttachmentsCreateInfo; 7229 7230typedef struct VkRenderPassAttachmentBeginInfo { 7231 VkStructureType sType; 7232 const void* pNext; 7233 deUint32 attachmentCount; 7234 const VkImageView* pAttachments; 7235} VkRenderPassAttachmentBeginInfo; 7236 7237typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures { 7238 VkStructureType sType; 7239 void* pNext; 7240 VkBool32 uniformBufferStandardLayout; 7241} VkPhysicalDeviceUniformBufferStandardLayoutFeatures; 7242 7243typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { 7244 VkStructureType sType; 7245 void* pNext; 7246 VkBool32 shaderSubgroupExtendedTypes; 7247} VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures; 7248 7249typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { 7250 VkStructureType sType; 7251 void* pNext; 7252 VkBool32 separateDepthStencilLayouts; 7253} VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures; 7254 7255typedef struct VkAttachmentReferenceStencilLayout { 7256 VkStructureType sType; 7257 void* pNext; 7258 VkImageLayout stencilLayout; 7259} VkAttachmentReferenceStencilLayout; 7260 7261typedef struct VkAttachmentDescriptionStencilLayout { 7262 VkStructureType sType; 7263 void* pNext; 7264 VkImageLayout stencilInitialLayout; 7265 VkImageLayout stencilFinalLayout; 7266} VkAttachmentDescriptionStencilLayout; 7267 7268typedef struct VkPhysicalDeviceHostQueryResetFeatures { 7269 VkStructureType sType; 7270 void* pNext; 7271 VkBool32 hostQueryReset; 7272} VkPhysicalDeviceHostQueryResetFeatures; 7273 7274typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures { 7275 VkStructureType sType; 7276 void* pNext; 7277 VkBool32 timelineSemaphore; 7278} VkPhysicalDeviceTimelineSemaphoreFeatures; 7279 7280typedef struct VkPhysicalDeviceTimelineSemaphoreProperties { 7281 VkStructureType sType; 7282 void* pNext; 7283 deUint64 maxTimelineSemaphoreValueDifference; 7284} VkPhysicalDeviceTimelineSemaphoreProperties; 7285 7286typedef struct VkSemaphoreTypeCreateInfo { 7287 VkStructureType sType; 7288 const void* pNext; 7289 VkSemaphoreType semaphoreType; 7290 deUint64 initialValue; 7291} VkSemaphoreTypeCreateInfo; 7292 7293typedef struct VkTimelineSemaphoreSubmitInfo { 7294 VkStructureType sType; 7295 const void* pNext; 7296 deUint32 waitSemaphoreValueCount; 7297 const deUint64* pWaitSemaphoreValues; 7298 deUint32 signalSemaphoreValueCount; 7299 const deUint64* pSignalSemaphoreValues; 7300} VkTimelineSemaphoreSubmitInfo; 7301 7302typedef struct VkSemaphoreWaitInfo { 7303 VkStructureType sType; 7304 const void* pNext; 7305 VkSemaphoreWaitFlags flags; 7306 deUint32 semaphoreCount; 7307 const VkSemaphore* pSemaphores; 7308 const deUint64* pValues; 7309} VkSemaphoreWaitInfo; 7310 7311typedef struct VkSemaphoreSignalInfo { 7312 VkStructureType sType; 7313 const void* pNext; 7314 VkSemaphore semaphore; 7315 deUint64 value; 7316} VkSemaphoreSignalInfo; 7317 7318typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures { 7319 VkStructureType sType; 7320 void* pNext; 7321 VkBool32 bufferDeviceAddress; 7322 VkBool32 bufferDeviceAddressCaptureReplay; 7323 VkBool32 bufferDeviceAddressMultiDevice; 7324} VkPhysicalDeviceBufferDeviceAddressFeatures; 7325 7326typedef struct VkBufferDeviceAddressInfo { 7327 VkStructureType sType; 7328 const void* pNext; 7329 VkBuffer buffer; 7330} VkBufferDeviceAddressInfo; 7331 7332typedef struct VkBufferOpaqueCaptureAddressCreateInfo { 7333 VkStructureType sType; 7334 const void* pNext; 7335 deUint64 opaqueCaptureAddress; 7336} VkBufferOpaqueCaptureAddressCreateInfo; 7337 7338typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo { 7339 VkStructureType sType; 7340 const void* pNext; 7341 deUint64 opaqueCaptureAddress; 7342} VkMemoryOpaqueCaptureAddressAllocateInfo; 7343 7344typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo { 7345 VkStructureType sType; 7346 const void* pNext; 7347 VkDeviceMemory memory; 7348} VkDeviceMemoryOpaqueCaptureAddressInfo; 7349 7350typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); 7351typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); 7352typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 7353typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 7354typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 7355typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 7356typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount); 7357typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue); 7358typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout); 7359typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 7360typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 7361typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 7362typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 7363 7364#ifndef VK_NO_PROTOTYPES 7365VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount( 7366 VkCommandBuffer commandBuffer, 7367 VkBuffer buffer, 7368 VkDeviceSize offset, 7369 VkBuffer countBuffer, 7370 VkDeviceSize countBufferOffset, 7371 deUint32 maxDrawCount, 7372 deUint32 stride); 7373 7374VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount( 7375 VkCommandBuffer commandBuffer, 7376 VkBuffer buffer, 7377 VkDeviceSize offset, 7378 VkBuffer countBuffer, 7379 VkDeviceSize countBufferOffset, 7380 deUint32 maxDrawCount, 7381 deUint32 stride); 7382 7383VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2( 7384 VkDevice device, 7385 const VkRenderPassCreateInfo2* pCreateInfo, 7386 const VkAllocationCallbacks* pAllocator, 7387 VkRenderPass* pRenderPass); 7388 7389VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2( 7390 VkCommandBuffer commandBuffer, 7391 const VkRenderPassBeginInfo* pRenderPassBegin, 7392 const VkSubpassBeginInfo* pSubpassBeginInfo); 7393 7394VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2( 7395 VkCommandBuffer commandBuffer, 7396 const VkSubpassBeginInfo* pSubpassBeginInfo, 7397 const VkSubpassEndInfo* pSubpassEndInfo); 7398 7399VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2( 7400 VkCommandBuffer commandBuffer, 7401 const VkSubpassEndInfo* pSubpassEndInfo); 7402 7403VKAPI_ATTR void VKAPI_CALL vkResetQueryPool( 7404 VkDevice device, 7405 VkQueryPool queryPool, 7406 deUint32 firstQuery, 7407 deUint32 queryCount); 7408 7409VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue( 7410 VkDevice device, 7411 VkSemaphore semaphore, 7412 deUint64* pValue); 7413 7414VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores( 7415 VkDevice device, 7416 const VkSemaphoreWaitInfo* pWaitInfo, 7417 deUint64 timeout); 7418 7419VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore( 7420 VkDevice device, 7421 const VkSemaphoreSignalInfo* pSignalInfo); 7422 7423VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress( 7424 VkDevice device, 7425 const VkBufferDeviceAddressInfo* pInfo); 7426 7427VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress( 7428 VkDevice device, 7429 const VkBufferDeviceAddressInfo* pInfo); 7430 7431VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress( 7432 VkDevice device, 7433 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 7434#endif 7435 7436 7437#define VK_VERSION_1_3 1 7438// Vulkan 1.3 version number 7439#define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 7440 7441typedef deUint64 VkFlags64; 7442VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot) 7443 7444typedef enum VkPipelineCreationFeedbackFlagBits { 7445 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001, 7446 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002, 7447 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004, 7448 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, 7449 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT, 7450 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT, 7451 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 7452} VkPipelineCreationFeedbackFlagBits; 7453typedef VkFlags VkPipelineCreationFeedbackFlags; 7454 7455typedef enum VkToolPurposeFlagBits { 7456 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001, 7457 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002, 7458 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004, 7459 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008, 7460 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010, 7461 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020, 7462 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040, 7463 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT, 7464 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT, 7465 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT, 7466 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT, 7467 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT, 7468 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 7469} VkToolPurposeFlagBits; 7470typedef VkFlags VkToolPurposeFlags; 7471typedef VkFlags VkPrivateDataSlotCreateFlags; 7472typedef VkFlags64 VkPipelineStageFlags2; 7473 7474// Flag bits for VkPipelineStageFlagBits2 7475typedef VkFlags64 VkPipelineStageFlagBits2; 7476static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL; 7477static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL; 7478static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL; 7479static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL; 7480static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL; 7481static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL; 7482static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL; 7483static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL; 7484static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL; 7485static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL; 7486static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL; 7487static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL; 7488static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL; 7489static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL; 7490static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL; 7491static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL; 7492static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL; 7493static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL; 7494static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL; 7495static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL; 7496static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL; 7497static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL; 7498static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL; 7499static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL; 7500static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL; 7501static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL; 7502static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL; 7503static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL; 7504static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL; 7505static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL; 7506static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL; 7507static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL; 7508static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL; 7509static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL; 7510static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL; 7511static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL; 7512static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL; 7513static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL; 7514static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL; 7515static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL; 7516static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL; 7517static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL; 7518static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL; 7519static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL; 7520static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL; 7521static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL; 7522static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL; 7523static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL; 7524static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL; 7525static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 7526static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; 7527static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 7528static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; 7529#ifdef VK_ENABLE_BETA_EXTENSIONS 7530static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; 7531#endif 7532static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 7533static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 7534static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; 7535static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL; 7536static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL; 7537static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL; 7538static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL; 7539static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL; 7540static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL; 7541static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL; 7542static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL; 7543static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 7544static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL; 7545static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL; 7546static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; 7547static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; 7548static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; 7549static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; 7550static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; 7551 7552typedef VkFlags64 VkAccessFlags2; 7553 7554// Flag bits for VkAccessFlagBits2 7555typedef VkFlags64 VkAccessFlagBits2; 7556static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL; 7557static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL; 7558static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL; 7559static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL; 7560static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL; 7561static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL; 7562static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL; 7563static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL; 7564static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL; 7565static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL; 7566static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL; 7567static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL; 7568static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL; 7569static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL; 7570static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL; 7571static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL; 7572static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL; 7573static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL; 7574static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL; 7575static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL; 7576static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL; 7577static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL; 7578static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL; 7579static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL; 7580static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL; 7581static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL; 7582static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL; 7583static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL; 7584static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL; 7585static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL; 7586static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL; 7587static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL; 7588static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL; 7589static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL; 7590static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL; 7591static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL; 7592static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL; 7593static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL; 7594static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL; 7595static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 7596static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; 7597static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 7598static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; 7599static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; 7600#ifdef VK_ENABLE_BETA_EXTENSIONS 7601static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; 7602#endif 7603#ifdef VK_ENABLE_BETA_EXTENSIONS 7604static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; 7605#endif 7606static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 7607static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 7608static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; 7609static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL; 7610static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL; 7611static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL; 7612static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL; 7613static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL; 7614static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL; 7615static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL; 7616static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL; 7617static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 7618static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 7619static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 7620static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL; 7621static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; 7622static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL; 7623static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL; 7624static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL; 7625static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL; 7626static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL; 7627 7628 7629typedef enum VkSubmitFlagBits { 7630 VK_SUBMIT_PROTECTED_BIT = 0x00000001, 7631 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT, 7632 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 7633} VkSubmitFlagBits; 7634typedef VkFlags VkSubmitFlags; 7635 7636typedef enum VkRenderingFlagBits { 7637 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 7638 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 7639 VK_RENDERING_RESUMING_BIT = 0x00000004, 7640 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 7641 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 7642 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, 7643 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, 7644 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 7645} VkRenderingFlagBits; 7646typedef VkFlags VkRenderingFlags; 7647typedef VkFlags64 VkFormatFeatureFlags2; 7648 7649// Flag bits for VkFormatFeatureFlagBits2 7650typedef VkFlags64 VkFormatFeatureFlagBits2; 7651static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL; 7652static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL; 7653static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL; 7654static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL; 7655static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL; 7656static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL; 7657static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL; 7658static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 7659static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL; 7660static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL; 7661static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL; 7662static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL; 7663static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL; 7664static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL; 7665static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL; 7666static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL; 7667static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL; 7668static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL; 7669static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL; 7670static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL; 7671static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL; 7672static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL; 7673static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL; 7674static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL; 7675static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL; 7676static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL; 7677static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL; 7678static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL; 7679static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL; 7680static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL; 7681static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL; 7682static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL; 7683static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL; 7684static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL; 7685static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL; 7686static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL; 7687static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL; 7688static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL; 7689static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL; 7690static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL; 7691static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL; 7692static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL; 7693static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL; 7694static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL; 7695static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL; 7696static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL; 7697static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL; 7698static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL; 7699static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL; 7700static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL; 7701static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL; 7702static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 7703static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; 7704static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 7705static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; 7706static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; 7707static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; 7708static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; 7709static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 7710#ifdef VK_ENABLE_BETA_EXTENSIONS 7711static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; 7712#endif 7713#ifdef VK_ENABLE_BETA_EXTENSIONS 7714static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; 7715#endif 7716static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL; 7717static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL; 7718static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL; 7719static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL; 7720static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL; 7721static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL; 7722static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL; 7723static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL; 7724 7725typedef struct VkPhysicalDeviceVulkan13Features { 7726 VkStructureType sType; 7727 void* pNext; 7728 VkBool32 robustImageAccess; 7729 VkBool32 inlineUniformBlock; 7730 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 7731 VkBool32 pipelineCreationCacheControl; 7732 VkBool32 privateData; 7733 VkBool32 shaderDemoteToHelperInvocation; 7734 VkBool32 shaderTerminateInvocation; 7735 VkBool32 subgroupSizeControl; 7736 VkBool32 computeFullSubgroups; 7737 VkBool32 synchronization2; 7738 VkBool32 textureCompressionASTC_HDR; 7739 VkBool32 shaderZeroInitializeWorkgroupMemory; 7740 VkBool32 dynamicRendering; 7741 VkBool32 shaderIntegerDotProduct; 7742 VkBool32 maintenance4; 7743} VkPhysicalDeviceVulkan13Features; 7744 7745typedef struct VkPhysicalDeviceVulkan13Properties { 7746 VkStructureType sType; 7747 void* pNext; 7748 deUint32 minSubgroupSize; 7749 deUint32 maxSubgroupSize; 7750 deUint32 maxComputeWorkgroupSubgroups; 7751 VkShaderStageFlags requiredSubgroupSizeStages; 7752 deUint32 maxInlineUniformBlockSize; 7753 deUint32 maxPerStageDescriptorInlineUniformBlocks; 7754 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 7755 deUint32 maxDescriptorSetInlineUniformBlocks; 7756 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 7757 deUint32 maxInlineUniformTotalSize; 7758 VkBool32 integerDotProduct8BitUnsignedAccelerated; 7759 VkBool32 integerDotProduct8BitSignedAccelerated; 7760 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 7761 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 7762 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 7763 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 7764 VkBool32 integerDotProduct16BitUnsignedAccelerated; 7765 VkBool32 integerDotProduct16BitSignedAccelerated; 7766 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 7767 VkBool32 integerDotProduct32BitUnsignedAccelerated; 7768 VkBool32 integerDotProduct32BitSignedAccelerated; 7769 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 7770 VkBool32 integerDotProduct64BitUnsignedAccelerated; 7771 VkBool32 integerDotProduct64BitSignedAccelerated; 7772 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 7773 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 7774 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 7775 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 7776 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 7777 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 7778 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 7779 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 7780 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 7781 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 7782 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 7783 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 7784 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 7785 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 7786 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 7787 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 7788 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 7789 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 7790 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 7791 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 7792 VkDeviceSize maxBufferSize; 7793} VkPhysicalDeviceVulkan13Properties; 7794 7795typedef struct VkPipelineCreationFeedback { 7796 VkPipelineCreationFeedbackFlags flags; 7797 deUint64 duration; 7798} VkPipelineCreationFeedback; 7799 7800typedef struct VkPipelineCreationFeedbackCreateInfo { 7801 VkStructureType sType; 7802 const void* pNext; 7803 VkPipelineCreationFeedback* pPipelineCreationFeedback; 7804 deUint32 pipelineStageCreationFeedbackCount; 7805 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks; 7806} VkPipelineCreationFeedbackCreateInfo; 7807 7808typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures { 7809 VkStructureType sType; 7810 void* pNext; 7811 VkBool32 shaderTerminateInvocation; 7812} VkPhysicalDeviceShaderTerminateInvocationFeatures; 7813 7814typedef struct VkPhysicalDeviceToolProperties { 7815 VkStructureType sType; 7816 void* pNext; 7817 char name[VK_MAX_EXTENSION_NAME_SIZE]; 7818 char version[VK_MAX_EXTENSION_NAME_SIZE]; 7819 VkToolPurposeFlags purposes; 7820 char description[VK_MAX_DESCRIPTION_SIZE]; 7821 char layer[VK_MAX_EXTENSION_NAME_SIZE]; 7822} VkPhysicalDeviceToolProperties; 7823 7824typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { 7825 VkStructureType sType; 7826 void* pNext; 7827 VkBool32 shaderDemoteToHelperInvocation; 7828} VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures; 7829 7830typedef struct VkPhysicalDevicePrivateDataFeatures { 7831 VkStructureType sType; 7832 void* pNext; 7833 VkBool32 privateData; 7834} VkPhysicalDevicePrivateDataFeatures; 7835 7836typedef struct VkDevicePrivateDataCreateInfo { 7837 VkStructureType sType; 7838 const void* pNext; 7839 deUint32 privateDataSlotRequestCount; 7840} VkDevicePrivateDataCreateInfo; 7841 7842typedef struct VkPrivateDataSlotCreateInfo { 7843 VkStructureType sType; 7844 const void* pNext; 7845 VkPrivateDataSlotCreateFlags flags; 7846} VkPrivateDataSlotCreateInfo; 7847 7848typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures { 7849 VkStructureType sType; 7850 void* pNext; 7851 VkBool32 pipelineCreationCacheControl; 7852} VkPhysicalDevicePipelineCreationCacheControlFeatures; 7853 7854typedef struct VkMemoryBarrier2 { 7855 VkStructureType sType; 7856 const void* pNext; 7857 VkPipelineStageFlags2 srcStageMask; 7858 VkAccessFlags2 srcAccessMask; 7859 VkPipelineStageFlags2 dstStageMask; 7860 VkAccessFlags2 dstAccessMask; 7861} VkMemoryBarrier2; 7862 7863typedef struct VkBufferMemoryBarrier2 { 7864 VkStructureType sType; 7865 const void* pNext; 7866 VkPipelineStageFlags2 srcStageMask; 7867 VkAccessFlags2 srcAccessMask; 7868 VkPipelineStageFlags2 dstStageMask; 7869 VkAccessFlags2 dstAccessMask; 7870 deUint32 srcQueueFamilyIndex; 7871 deUint32 dstQueueFamilyIndex; 7872 VkBuffer buffer; 7873 VkDeviceSize offset; 7874 VkDeviceSize size; 7875} VkBufferMemoryBarrier2; 7876 7877typedef struct VkImageMemoryBarrier2 { 7878 VkStructureType sType; 7879 const void* pNext; 7880 VkPipelineStageFlags2 srcStageMask; 7881 VkAccessFlags2 srcAccessMask; 7882 VkPipelineStageFlags2 dstStageMask; 7883 VkAccessFlags2 dstAccessMask; 7884 VkImageLayout oldLayout; 7885 VkImageLayout newLayout; 7886 deUint32 srcQueueFamilyIndex; 7887 deUint32 dstQueueFamilyIndex; 7888 VkImage image; 7889 VkImageSubresourceRange subresourceRange; 7890} VkImageMemoryBarrier2; 7891 7892typedef struct VkDependencyInfo { 7893 VkStructureType sType; 7894 const void* pNext; 7895 VkDependencyFlags dependencyFlags; 7896 deUint32 memoryBarrierCount; 7897 const VkMemoryBarrier2* pMemoryBarriers; 7898 deUint32 bufferMemoryBarrierCount; 7899 const VkBufferMemoryBarrier2* pBufferMemoryBarriers; 7900 deUint32 imageMemoryBarrierCount; 7901 const VkImageMemoryBarrier2* pImageMemoryBarriers; 7902} VkDependencyInfo; 7903 7904typedef struct VkSemaphoreSubmitInfo { 7905 VkStructureType sType; 7906 const void* pNext; 7907 VkSemaphore semaphore; 7908 deUint64 value; 7909 VkPipelineStageFlags2 stageMask; 7910 deUint32 deviceIndex; 7911} VkSemaphoreSubmitInfo; 7912 7913typedef struct VkCommandBufferSubmitInfo { 7914 VkStructureType sType; 7915 const void* pNext; 7916 VkCommandBuffer commandBuffer; 7917 deUint32 deviceMask; 7918} VkCommandBufferSubmitInfo; 7919 7920typedef struct VkSubmitInfo2 { 7921 VkStructureType sType; 7922 const void* pNext; 7923 VkSubmitFlags flags; 7924 deUint32 waitSemaphoreInfoCount; 7925 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos; 7926 deUint32 commandBufferInfoCount; 7927 const VkCommandBufferSubmitInfo* pCommandBufferInfos; 7928 deUint32 signalSemaphoreInfoCount; 7929 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos; 7930} VkSubmitInfo2; 7931 7932typedef struct VkPhysicalDeviceSynchronization2Features { 7933 VkStructureType sType; 7934 void* pNext; 7935 VkBool32 synchronization2; 7936} VkPhysicalDeviceSynchronization2Features; 7937 7938typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { 7939 VkStructureType sType; 7940 void* pNext; 7941 VkBool32 shaderZeroInitializeWorkgroupMemory; 7942} VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures; 7943 7944typedef struct VkPhysicalDeviceImageRobustnessFeatures { 7945 VkStructureType sType; 7946 void* pNext; 7947 VkBool32 robustImageAccess; 7948} VkPhysicalDeviceImageRobustnessFeatures; 7949 7950typedef struct VkBufferCopy2 { 7951 VkStructureType sType; 7952 const void* pNext; 7953 VkDeviceSize srcOffset; 7954 VkDeviceSize dstOffset; 7955 VkDeviceSize size; 7956} VkBufferCopy2; 7957 7958typedef struct VkCopyBufferInfo2 { 7959 VkStructureType sType; 7960 const void* pNext; 7961 VkBuffer srcBuffer; 7962 VkBuffer dstBuffer; 7963 deUint32 regionCount; 7964 const VkBufferCopy2* pRegions; 7965} VkCopyBufferInfo2; 7966 7967typedef struct VkImageCopy2 { 7968 VkStructureType sType; 7969 const void* pNext; 7970 VkImageSubresourceLayers srcSubresource; 7971 VkOffset3D srcOffset; 7972 VkImageSubresourceLayers dstSubresource; 7973 VkOffset3D dstOffset; 7974 VkExtent3D extent; 7975} VkImageCopy2; 7976 7977typedef struct VkCopyImageInfo2 { 7978 VkStructureType sType; 7979 const void* pNext; 7980 VkImage srcImage; 7981 VkImageLayout srcImageLayout; 7982 VkImage dstImage; 7983 VkImageLayout dstImageLayout; 7984 deUint32 regionCount; 7985 const VkImageCopy2* pRegions; 7986} VkCopyImageInfo2; 7987 7988typedef struct VkBufferImageCopy2 { 7989 VkStructureType sType; 7990 const void* pNext; 7991 VkDeviceSize bufferOffset; 7992 deUint32 bufferRowLength; 7993 deUint32 bufferImageHeight; 7994 VkImageSubresourceLayers imageSubresource; 7995 VkOffset3D imageOffset; 7996 VkExtent3D imageExtent; 7997} VkBufferImageCopy2; 7998 7999typedef struct VkCopyBufferToImageInfo2 { 8000 VkStructureType sType; 8001 const void* pNext; 8002 VkBuffer srcBuffer; 8003 VkImage dstImage; 8004 VkImageLayout dstImageLayout; 8005 deUint32 regionCount; 8006 const VkBufferImageCopy2* pRegions; 8007} VkCopyBufferToImageInfo2; 8008 8009typedef struct VkCopyImageToBufferInfo2 { 8010 VkStructureType sType; 8011 const void* pNext; 8012 VkImage srcImage; 8013 VkImageLayout srcImageLayout; 8014 VkBuffer dstBuffer; 8015 deUint32 regionCount; 8016 const VkBufferImageCopy2* pRegions; 8017} VkCopyImageToBufferInfo2; 8018 8019typedef struct VkImageBlit2 { 8020 VkStructureType sType; 8021 const void* pNext; 8022 VkImageSubresourceLayers srcSubresource; 8023 VkOffset3D srcOffsets[2]; 8024 VkImageSubresourceLayers dstSubresource; 8025 VkOffset3D dstOffsets[2]; 8026} VkImageBlit2; 8027 8028typedef struct VkBlitImageInfo2 { 8029 VkStructureType sType; 8030 const void* pNext; 8031 VkImage srcImage; 8032 VkImageLayout srcImageLayout; 8033 VkImage dstImage; 8034 VkImageLayout dstImageLayout; 8035 deUint32 regionCount; 8036 const VkImageBlit2* pRegions; 8037 VkFilter filter; 8038} VkBlitImageInfo2; 8039 8040typedef struct VkImageResolve2 { 8041 VkStructureType sType; 8042 const void* pNext; 8043 VkImageSubresourceLayers srcSubresource; 8044 VkOffset3D srcOffset; 8045 VkImageSubresourceLayers dstSubresource; 8046 VkOffset3D dstOffset; 8047 VkExtent3D extent; 8048} VkImageResolve2; 8049 8050typedef struct VkResolveImageInfo2 { 8051 VkStructureType sType; 8052 const void* pNext; 8053 VkImage srcImage; 8054 VkImageLayout srcImageLayout; 8055 VkImage dstImage; 8056 VkImageLayout dstImageLayout; 8057 deUint32 regionCount; 8058 const VkImageResolve2* pRegions; 8059} VkResolveImageInfo2; 8060 8061typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures { 8062 VkStructureType sType; 8063 void* pNext; 8064 VkBool32 subgroupSizeControl; 8065 VkBool32 computeFullSubgroups; 8066} VkPhysicalDeviceSubgroupSizeControlFeatures; 8067 8068typedef struct VkPhysicalDeviceSubgroupSizeControlProperties { 8069 VkStructureType sType; 8070 void* pNext; 8071 deUint32 minSubgroupSize; 8072 deUint32 maxSubgroupSize; 8073 deUint32 maxComputeWorkgroupSubgroups; 8074 VkShaderStageFlags requiredSubgroupSizeStages; 8075} VkPhysicalDeviceSubgroupSizeControlProperties; 8076 8077typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { 8078 VkStructureType sType; 8079 void* pNext; 8080 deUint32 requiredSubgroupSize; 8081} VkPipelineShaderStageRequiredSubgroupSizeCreateInfo; 8082 8083typedef struct VkPhysicalDeviceInlineUniformBlockFeatures { 8084 VkStructureType sType; 8085 void* pNext; 8086 VkBool32 inlineUniformBlock; 8087 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind; 8088} VkPhysicalDeviceInlineUniformBlockFeatures; 8089 8090typedef struct VkPhysicalDeviceInlineUniformBlockProperties { 8091 VkStructureType sType; 8092 void* pNext; 8093 deUint32 maxInlineUniformBlockSize; 8094 deUint32 maxPerStageDescriptorInlineUniformBlocks; 8095 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks; 8096 deUint32 maxDescriptorSetInlineUniformBlocks; 8097 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks; 8098} VkPhysicalDeviceInlineUniformBlockProperties; 8099 8100typedef struct VkWriteDescriptorSetInlineUniformBlock { 8101 VkStructureType sType; 8102 const void* pNext; 8103 deUint32 dataSize; 8104 const void* pData; 8105} VkWriteDescriptorSetInlineUniformBlock; 8106 8107typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo { 8108 VkStructureType sType; 8109 const void* pNext; 8110 deUint32 maxInlineUniformBlockBindings; 8111} VkDescriptorPoolInlineUniformBlockCreateInfo; 8112 8113typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures { 8114 VkStructureType sType; 8115 void* pNext; 8116 VkBool32 textureCompressionASTC_HDR; 8117} VkPhysicalDeviceTextureCompressionASTCHDRFeatures; 8118 8119typedef struct VkRenderingAttachmentInfo { 8120 VkStructureType sType; 8121 const void* pNext; 8122 VkImageView imageView; 8123 VkImageLayout imageLayout; 8124 VkResolveModeFlagBits resolveMode; 8125 VkImageView resolveImageView; 8126 VkImageLayout resolveImageLayout; 8127 VkAttachmentLoadOp loadOp; 8128 VkAttachmentStoreOp storeOp; 8129 VkClearValue clearValue; 8130} VkRenderingAttachmentInfo; 8131 8132typedef struct VkRenderingInfo { 8133 VkStructureType sType; 8134 const void* pNext; 8135 VkRenderingFlags flags; 8136 VkRect2D renderArea; 8137 deUint32 layerCount; 8138 deUint32 viewMask; 8139 deUint32 colorAttachmentCount; 8140 const VkRenderingAttachmentInfo* pColorAttachments; 8141 const VkRenderingAttachmentInfo* pDepthAttachment; 8142 const VkRenderingAttachmentInfo* pStencilAttachment; 8143} VkRenderingInfo; 8144 8145typedef struct VkPipelineRenderingCreateInfo { 8146 VkStructureType sType; 8147 const void* pNext; 8148 deUint32 viewMask; 8149 deUint32 colorAttachmentCount; 8150 const VkFormat* pColorAttachmentFormats; 8151 VkFormat depthAttachmentFormat; 8152 VkFormat stencilAttachmentFormat; 8153} VkPipelineRenderingCreateInfo; 8154 8155typedef struct VkPhysicalDeviceDynamicRenderingFeatures { 8156 VkStructureType sType; 8157 void* pNext; 8158 VkBool32 dynamicRendering; 8159} VkPhysicalDeviceDynamicRenderingFeatures; 8160 8161typedef struct VkCommandBufferInheritanceRenderingInfo { 8162 VkStructureType sType; 8163 const void* pNext; 8164 VkRenderingFlags flags; 8165 deUint32 viewMask; 8166 deUint32 colorAttachmentCount; 8167 const VkFormat* pColorAttachmentFormats; 8168 VkFormat depthAttachmentFormat; 8169 VkFormat stencilAttachmentFormat; 8170 VkSampleCountFlagBits rasterizationSamples; 8171} VkCommandBufferInheritanceRenderingInfo; 8172 8173typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures { 8174 VkStructureType sType; 8175 void* pNext; 8176 VkBool32 shaderIntegerDotProduct; 8177} VkPhysicalDeviceShaderIntegerDotProductFeatures; 8178 8179typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties { 8180 VkStructureType sType; 8181 void* pNext; 8182 VkBool32 integerDotProduct8BitUnsignedAccelerated; 8183 VkBool32 integerDotProduct8BitSignedAccelerated; 8184 VkBool32 integerDotProduct8BitMixedSignednessAccelerated; 8185 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; 8186 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; 8187 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; 8188 VkBool32 integerDotProduct16BitUnsignedAccelerated; 8189 VkBool32 integerDotProduct16BitSignedAccelerated; 8190 VkBool32 integerDotProduct16BitMixedSignednessAccelerated; 8191 VkBool32 integerDotProduct32BitUnsignedAccelerated; 8192 VkBool32 integerDotProduct32BitSignedAccelerated; 8193 VkBool32 integerDotProduct32BitMixedSignednessAccelerated; 8194 VkBool32 integerDotProduct64BitUnsignedAccelerated; 8195 VkBool32 integerDotProduct64BitSignedAccelerated; 8196 VkBool32 integerDotProduct64BitMixedSignednessAccelerated; 8197 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; 8198 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; 8199 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; 8200 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; 8201 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; 8202 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; 8203 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; 8204 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; 8205 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; 8206 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; 8207 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; 8208 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; 8209 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; 8210 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; 8211 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; 8212} VkPhysicalDeviceShaderIntegerDotProductProperties; 8213 8214typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties { 8215 VkStructureType sType; 8216 void* pNext; 8217 VkDeviceSize storageTexelBufferOffsetAlignmentBytes; 8218 VkBool32 storageTexelBufferOffsetSingleTexelAlignment; 8219 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; 8220 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; 8221} VkPhysicalDeviceTexelBufferAlignmentProperties; 8222 8223typedef struct VkFormatProperties3 { 8224 VkStructureType sType; 8225 void* pNext; 8226 VkFormatFeatureFlags2 linearTilingFeatures; 8227 VkFormatFeatureFlags2 optimalTilingFeatures; 8228 VkFormatFeatureFlags2 bufferFeatures; 8229} VkFormatProperties3; 8230 8231typedef struct VkPhysicalDeviceMaintenance4Features { 8232 VkStructureType sType; 8233 void* pNext; 8234 VkBool32 maintenance4; 8235} VkPhysicalDeviceMaintenance4Features; 8236 8237typedef struct VkPhysicalDeviceMaintenance4Properties { 8238 VkStructureType sType; 8239 void* pNext; 8240 VkDeviceSize maxBufferSize; 8241} VkPhysicalDeviceMaintenance4Properties; 8242 8243typedef struct VkDeviceBufferMemoryRequirements { 8244 VkStructureType sType; 8245 const void* pNext; 8246 const VkBufferCreateInfo* pCreateInfo; 8247} VkDeviceBufferMemoryRequirements; 8248 8249typedef struct VkDeviceImageMemoryRequirements { 8250 VkStructureType sType; 8251 const void* pNext; 8252 const VkImageCreateInfo* pCreateInfo; 8253 VkImageAspectFlagBits planeAspect; 8254} VkDeviceImageMemoryRequirements; 8255 8256typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 8257typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 8258typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 8259typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data); 8260typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData); 8261typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 8262typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 8263typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 8264typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 8265typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query); 8266typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 8267typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 8268typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 8269typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 8270typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 8271typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 8272typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 8273typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 8274typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer); 8275typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 8276typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 8277typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 8278typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports); 8279typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors); 8280typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); 8281typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 8282typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 8283typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 8284typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 8285typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 8286typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 8287typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 8288typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 8289typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 8290typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 8291typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 8292typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 8293 8294#ifndef VK_NO_PROTOTYPES 8295VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties( 8296 VkPhysicalDevice physicalDevice, 8297 deUint32* pToolCount, 8298 VkPhysicalDeviceToolProperties* pToolProperties); 8299 8300VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot( 8301 VkDevice device, 8302 const VkPrivateDataSlotCreateInfo* pCreateInfo, 8303 const VkAllocationCallbacks* pAllocator, 8304 VkPrivateDataSlot* pPrivateDataSlot); 8305 8306VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot( 8307 VkDevice device, 8308 VkPrivateDataSlot privateDataSlot, 8309 const VkAllocationCallbacks* pAllocator); 8310 8311VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData( 8312 VkDevice device, 8313 VkObjectType objectType, 8314 deUint64 objectHandle, 8315 VkPrivateDataSlot privateDataSlot, 8316 deUint64 data); 8317 8318VKAPI_ATTR void VKAPI_CALL vkGetPrivateData( 8319 VkDevice device, 8320 VkObjectType objectType, 8321 deUint64 objectHandle, 8322 VkPrivateDataSlot privateDataSlot, 8323 deUint64* pData); 8324 8325VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2( 8326 VkCommandBuffer commandBuffer, 8327 VkEvent event, 8328 const VkDependencyInfo* pDependencyInfo); 8329 8330VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2( 8331 VkCommandBuffer commandBuffer, 8332 VkEvent event, 8333 VkPipelineStageFlags2 stageMask); 8334 8335VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2( 8336 VkCommandBuffer commandBuffer, 8337 deUint32 eventCount, 8338 const VkEvent* pEvents, 8339 const VkDependencyInfo* pDependencyInfos); 8340 8341VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2( 8342 VkCommandBuffer commandBuffer, 8343 const VkDependencyInfo* pDependencyInfo); 8344 8345VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2( 8346 VkCommandBuffer commandBuffer, 8347 VkPipelineStageFlags2 stage, 8348 VkQueryPool queryPool, 8349 deUint32 query); 8350 8351VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2( 8352 VkQueue queue, 8353 deUint32 submitCount, 8354 const VkSubmitInfo2* pSubmits, 8355 VkFence fence); 8356 8357VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2( 8358 VkCommandBuffer commandBuffer, 8359 const VkCopyBufferInfo2* pCopyBufferInfo); 8360 8361VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2( 8362 VkCommandBuffer commandBuffer, 8363 const VkCopyImageInfo2* pCopyImageInfo); 8364 8365VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2( 8366 VkCommandBuffer commandBuffer, 8367 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 8368 8369VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2( 8370 VkCommandBuffer commandBuffer, 8371 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 8372 8373VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2( 8374 VkCommandBuffer commandBuffer, 8375 const VkBlitImageInfo2* pBlitImageInfo); 8376 8377VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2( 8378 VkCommandBuffer commandBuffer, 8379 const VkResolveImageInfo2* pResolveImageInfo); 8380 8381VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering( 8382 VkCommandBuffer commandBuffer, 8383 const VkRenderingInfo* pRenderingInfo); 8384 8385VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering( 8386 VkCommandBuffer commandBuffer); 8387 8388VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode( 8389 VkCommandBuffer commandBuffer, 8390 VkCullModeFlags cullMode); 8391 8392VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace( 8393 VkCommandBuffer commandBuffer, 8394 VkFrontFace frontFace); 8395 8396VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology( 8397 VkCommandBuffer commandBuffer, 8398 VkPrimitiveTopology primitiveTopology); 8399 8400VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount( 8401 VkCommandBuffer commandBuffer, 8402 deUint32 viewportCount, 8403 const VkViewport* pViewports); 8404 8405VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount( 8406 VkCommandBuffer commandBuffer, 8407 deUint32 scissorCount, 8408 const VkRect2D* pScissors); 8409 8410VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2( 8411 VkCommandBuffer commandBuffer, 8412 deUint32 firstBinding, 8413 deUint32 bindingCount, 8414 const VkBuffer* pBuffers, 8415 const VkDeviceSize* pOffsets, 8416 const VkDeviceSize* pSizes, 8417 const VkDeviceSize* pStrides); 8418 8419VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable( 8420 VkCommandBuffer commandBuffer, 8421 VkBool32 depthTestEnable); 8422 8423VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable( 8424 VkCommandBuffer commandBuffer, 8425 VkBool32 depthWriteEnable); 8426 8427VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp( 8428 VkCommandBuffer commandBuffer, 8429 VkCompareOp depthCompareOp); 8430 8431VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable( 8432 VkCommandBuffer commandBuffer, 8433 VkBool32 depthBoundsTestEnable); 8434 8435VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable( 8436 VkCommandBuffer commandBuffer, 8437 VkBool32 stencilTestEnable); 8438 8439VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp( 8440 VkCommandBuffer commandBuffer, 8441 VkStencilFaceFlags faceMask, 8442 VkStencilOp failOp, 8443 VkStencilOp passOp, 8444 VkStencilOp depthFailOp, 8445 VkCompareOp compareOp); 8446 8447VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable( 8448 VkCommandBuffer commandBuffer, 8449 VkBool32 rasterizerDiscardEnable); 8450 8451VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable( 8452 VkCommandBuffer commandBuffer, 8453 VkBool32 depthBiasEnable); 8454 8455VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable( 8456 VkCommandBuffer commandBuffer, 8457 VkBool32 primitiveRestartEnable); 8458 8459VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements( 8460 VkDevice device, 8461 const VkDeviceBufferMemoryRequirements* pInfo, 8462 VkMemoryRequirements2* pMemoryRequirements); 8463 8464VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements( 8465 VkDevice device, 8466 const VkDeviceImageMemoryRequirements* pInfo, 8467 VkMemoryRequirements2* pMemoryRequirements); 8468 8469VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements( 8470 VkDevice device, 8471 const VkDeviceImageMemoryRequirements* pInfo, 8472 deUint32* pSparseMemoryRequirementCount, 8473 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 8474#endif 8475 8476 8477#define VK_KHR_surface 1 8478VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 8479#define VK_KHR_SURFACE_SPEC_VERSION 25 8480#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" 8481 8482typedef enum VkPresentModeKHR { 8483 VK_PRESENT_MODE_IMMEDIATE_KHR = 0, 8484 VK_PRESENT_MODE_MAILBOX_KHR = 1, 8485 VK_PRESENT_MODE_FIFO_KHR = 2, 8486 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3, 8487 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000, 8488 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001, 8489 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 8490} VkPresentModeKHR; 8491 8492typedef enum VkColorSpaceKHR { 8493 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0, 8494 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001, 8495 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002, 8496 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003, 8497 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004, 8498 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005, 8499 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006, 8500 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007, 8501 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008, 8502 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009, 8503 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010, 8504 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011, 8505 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012, 8506 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013, 8507 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014, 8508 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000, 8509 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, 8510 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, 8511 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF 8512} VkColorSpaceKHR; 8513 8514typedef enum VkSurfaceTransformFlagBitsKHR { 8515 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001, 8516 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002, 8517 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004, 8518 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008, 8519 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010, 8520 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020, 8521 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040, 8522 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080, 8523 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100, 8524 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8525} VkSurfaceTransformFlagBitsKHR; 8526 8527typedef enum VkCompositeAlphaFlagBitsKHR { 8528 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 8529 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002, 8530 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004, 8531 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008, 8532 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8533} VkCompositeAlphaFlagBitsKHR; 8534typedef VkFlags VkCompositeAlphaFlagsKHR; 8535typedef VkFlags VkSurfaceTransformFlagsKHR; 8536typedef struct VkSurfaceCapabilitiesKHR { 8537 deUint32 minImageCount; 8538 deUint32 maxImageCount; 8539 VkExtent2D currentExtent; 8540 VkExtent2D minImageExtent; 8541 VkExtent2D maxImageExtent; 8542 deUint32 maxImageArrayLayers; 8543 VkSurfaceTransformFlagsKHR supportedTransforms; 8544 VkSurfaceTransformFlagBitsKHR currentTransform; 8545 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 8546 VkImageUsageFlags supportedUsageFlags; 8547} VkSurfaceCapabilitiesKHR; 8548 8549typedef struct VkSurfaceFormatKHR { 8550 VkFormat format; 8551 VkColorSpaceKHR colorSpace; 8552} VkSurfaceFormatKHR; 8553 8554typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator); 8555typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported); 8556typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 8557typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats); 8558typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes); 8559 8560#ifndef VK_NO_PROTOTYPES 8561VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR( 8562 VkInstance instance, 8563 VkSurfaceKHR surface, 8564 const VkAllocationCallbacks* pAllocator); 8565 8566VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR( 8567 VkPhysicalDevice physicalDevice, 8568 deUint32 queueFamilyIndex, 8569 VkSurfaceKHR surface, 8570 VkBool32* pSupported); 8571 8572VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR( 8573 VkPhysicalDevice physicalDevice, 8574 VkSurfaceKHR surface, 8575 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities); 8576 8577VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR( 8578 VkPhysicalDevice physicalDevice, 8579 VkSurfaceKHR surface, 8580 deUint32* pSurfaceFormatCount, 8581 VkSurfaceFormatKHR* pSurfaceFormats); 8582 8583VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR( 8584 VkPhysicalDevice physicalDevice, 8585 VkSurfaceKHR surface, 8586 deUint32* pPresentModeCount, 8587 VkPresentModeKHR* pPresentModes); 8588#endif 8589 8590 8591#define VK_KHR_swapchain 1 8592VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 8593#define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 8594#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain" 8595 8596typedef enum VkSwapchainCreateFlagBitsKHR { 8597 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 8598 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 8599 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 8600 VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008, 8601 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8602} VkSwapchainCreateFlagBitsKHR; 8603typedef VkFlags VkSwapchainCreateFlagsKHR; 8604 8605typedef enum VkDeviceGroupPresentModeFlagBitsKHR { 8606 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001, 8607 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002, 8608 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004, 8609 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008, 8610 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8611} VkDeviceGroupPresentModeFlagBitsKHR; 8612typedef VkFlags VkDeviceGroupPresentModeFlagsKHR; 8613typedef struct VkSwapchainCreateInfoKHR { 8614 VkStructureType sType; 8615 const void* pNext; 8616 VkSwapchainCreateFlagsKHR flags; 8617 VkSurfaceKHR surface; 8618 deUint32 minImageCount; 8619 VkFormat imageFormat; 8620 VkColorSpaceKHR imageColorSpace; 8621 VkExtent2D imageExtent; 8622 deUint32 imageArrayLayers; 8623 VkImageUsageFlags imageUsage; 8624 VkSharingMode imageSharingMode; 8625 deUint32 queueFamilyIndexCount; 8626 const deUint32* pQueueFamilyIndices; 8627 VkSurfaceTransformFlagBitsKHR preTransform; 8628 VkCompositeAlphaFlagBitsKHR compositeAlpha; 8629 VkPresentModeKHR presentMode; 8630 VkBool32 clipped; 8631 VkSwapchainKHR oldSwapchain; 8632} VkSwapchainCreateInfoKHR; 8633 8634typedef struct VkPresentInfoKHR { 8635 VkStructureType sType; 8636 const void* pNext; 8637 deUint32 waitSemaphoreCount; 8638 const VkSemaphore* pWaitSemaphores; 8639 deUint32 swapchainCount; 8640 const VkSwapchainKHR* pSwapchains; 8641 const deUint32* pImageIndices; 8642 VkResult* pResults; 8643} VkPresentInfoKHR; 8644 8645typedef struct VkImageSwapchainCreateInfoKHR { 8646 VkStructureType sType; 8647 const void* pNext; 8648 VkSwapchainKHR swapchain; 8649} VkImageSwapchainCreateInfoKHR; 8650 8651typedef struct VkBindImageMemorySwapchainInfoKHR { 8652 VkStructureType sType; 8653 const void* pNext; 8654 VkSwapchainKHR swapchain; 8655 deUint32 imageIndex; 8656} VkBindImageMemorySwapchainInfoKHR; 8657 8658typedef struct VkAcquireNextImageInfoKHR { 8659 VkStructureType sType; 8660 const void* pNext; 8661 VkSwapchainKHR swapchain; 8662 deUint64 timeout; 8663 VkSemaphore semaphore; 8664 VkFence fence; 8665 deUint32 deviceMask; 8666} VkAcquireNextImageInfoKHR; 8667 8668typedef struct VkDeviceGroupPresentCapabilitiesKHR { 8669 VkStructureType sType; 8670 void* pNext; 8671 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE]; 8672 VkDeviceGroupPresentModeFlagsKHR modes; 8673} VkDeviceGroupPresentCapabilitiesKHR; 8674 8675typedef struct VkDeviceGroupPresentInfoKHR { 8676 VkStructureType sType; 8677 const void* pNext; 8678 deUint32 swapchainCount; 8679 const deUint32* pDeviceMasks; 8680 VkDeviceGroupPresentModeFlagBitsKHR mode; 8681} VkDeviceGroupPresentInfoKHR; 8682 8683typedef struct VkDeviceGroupSwapchainCreateInfoKHR { 8684 VkStructureType sType; 8685 const void* pNext; 8686 VkDeviceGroupPresentModeFlagsKHR modes; 8687} VkDeviceGroupSwapchainCreateInfoKHR; 8688 8689typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain); 8690typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator); 8691typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages); 8692typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex); 8693typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo); 8694typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 8695typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes); 8696typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects); 8697typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex); 8698 8699#ifndef VK_NO_PROTOTYPES 8700VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR( 8701 VkDevice device, 8702 const VkSwapchainCreateInfoKHR* pCreateInfo, 8703 const VkAllocationCallbacks* pAllocator, 8704 VkSwapchainKHR* pSwapchain); 8705 8706VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR( 8707 VkDevice device, 8708 VkSwapchainKHR swapchain, 8709 const VkAllocationCallbacks* pAllocator); 8710 8711VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR( 8712 VkDevice device, 8713 VkSwapchainKHR swapchain, 8714 deUint32* pSwapchainImageCount, 8715 VkImage* pSwapchainImages); 8716 8717VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR( 8718 VkDevice device, 8719 VkSwapchainKHR swapchain, 8720 deUint64 timeout, 8721 VkSemaphore semaphore, 8722 VkFence fence, 8723 deUint32* pImageIndex); 8724 8725VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR( 8726 VkQueue queue, 8727 const VkPresentInfoKHR* pPresentInfo); 8728 8729VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR( 8730 VkDevice device, 8731 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities); 8732 8733VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR( 8734 VkDevice device, 8735 VkSurfaceKHR surface, 8736 VkDeviceGroupPresentModeFlagsKHR* pModes); 8737 8738VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR( 8739 VkPhysicalDevice physicalDevice, 8740 VkSurfaceKHR surface, 8741 deUint32* pRectCount, 8742 VkRect2D* pRects); 8743 8744VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR( 8745 VkDevice device, 8746 const VkAcquireNextImageInfoKHR* pAcquireInfo, 8747 deUint32* pImageIndex); 8748#endif 8749 8750 8751#define VK_KHR_display 1 8752VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 8753VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) 8754#define VK_KHR_DISPLAY_SPEC_VERSION 23 8755#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display" 8756typedef VkFlags VkDisplayModeCreateFlagsKHR; 8757 8758typedef enum VkDisplayPlaneAlphaFlagBitsKHR { 8759 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001, 8760 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002, 8761 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004, 8762 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008, 8763 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8764} VkDisplayPlaneAlphaFlagBitsKHR; 8765typedef VkFlags VkDisplayPlaneAlphaFlagsKHR; 8766typedef VkFlags VkDisplaySurfaceCreateFlagsKHR; 8767typedef struct VkDisplayModeParametersKHR { 8768 VkExtent2D visibleRegion; 8769 deUint32 refreshRate; 8770} VkDisplayModeParametersKHR; 8771 8772typedef struct VkDisplayModeCreateInfoKHR { 8773 VkStructureType sType; 8774 const void* pNext; 8775 VkDisplayModeCreateFlagsKHR flags; 8776 VkDisplayModeParametersKHR parameters; 8777} VkDisplayModeCreateInfoKHR; 8778 8779typedef struct VkDisplayModePropertiesKHR { 8780 VkDisplayModeKHR displayMode; 8781 VkDisplayModeParametersKHR parameters; 8782} VkDisplayModePropertiesKHR; 8783 8784typedef struct VkDisplayPlaneCapabilitiesKHR { 8785 VkDisplayPlaneAlphaFlagsKHR supportedAlpha; 8786 VkOffset2D minSrcPosition; 8787 VkOffset2D maxSrcPosition; 8788 VkExtent2D minSrcExtent; 8789 VkExtent2D maxSrcExtent; 8790 VkOffset2D minDstPosition; 8791 VkOffset2D maxDstPosition; 8792 VkExtent2D minDstExtent; 8793 VkExtent2D maxDstExtent; 8794} VkDisplayPlaneCapabilitiesKHR; 8795 8796typedef struct VkDisplayPlanePropertiesKHR { 8797 VkDisplayKHR currentDisplay; 8798 deUint32 currentStackIndex; 8799} VkDisplayPlanePropertiesKHR; 8800 8801typedef struct VkDisplayPropertiesKHR { 8802 VkDisplayKHR display; 8803 const char* displayName; 8804 VkExtent2D physicalDimensions; 8805 VkExtent2D physicalResolution; 8806 VkSurfaceTransformFlagsKHR supportedTransforms; 8807 VkBool32 planeReorderPossible; 8808 VkBool32 persistentContent; 8809} VkDisplayPropertiesKHR; 8810 8811typedef struct VkDisplaySurfaceCreateInfoKHR { 8812 VkStructureType sType; 8813 const void* pNext; 8814 VkDisplaySurfaceCreateFlagsKHR flags; 8815 VkDisplayModeKHR displayMode; 8816 deUint32 planeIndex; 8817 deUint32 planeStackIndex; 8818 VkSurfaceTransformFlagBitsKHR transform; 8819 float globalAlpha; 8820 VkDisplayPlaneAlphaFlagBitsKHR alphaMode; 8821 VkExtent2D imageExtent; 8822} VkDisplaySurfaceCreateInfoKHR; 8823 8824typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties); 8825typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties); 8826typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays); 8827typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties); 8828typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode); 8829typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities); 8830typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 8831 8832#ifndef VK_NO_PROTOTYPES 8833VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR( 8834 VkPhysicalDevice physicalDevice, 8835 deUint32* pPropertyCount, 8836 VkDisplayPropertiesKHR* pProperties); 8837 8838VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR( 8839 VkPhysicalDevice physicalDevice, 8840 deUint32* pPropertyCount, 8841 VkDisplayPlanePropertiesKHR* pProperties); 8842 8843VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR( 8844 VkPhysicalDevice physicalDevice, 8845 deUint32 planeIndex, 8846 deUint32* pDisplayCount, 8847 VkDisplayKHR* pDisplays); 8848 8849VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR( 8850 VkPhysicalDevice physicalDevice, 8851 VkDisplayKHR display, 8852 deUint32* pPropertyCount, 8853 VkDisplayModePropertiesKHR* pProperties); 8854 8855VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR( 8856 VkPhysicalDevice physicalDevice, 8857 VkDisplayKHR display, 8858 const VkDisplayModeCreateInfoKHR* pCreateInfo, 8859 const VkAllocationCallbacks* pAllocator, 8860 VkDisplayModeKHR* pMode); 8861 8862VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR( 8863 VkPhysicalDevice physicalDevice, 8864 VkDisplayModeKHR mode, 8865 deUint32 planeIndex, 8866 VkDisplayPlaneCapabilitiesKHR* pCapabilities); 8867 8868VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR( 8869 VkInstance instance, 8870 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, 8871 const VkAllocationCallbacks* pAllocator, 8872 VkSurfaceKHR* pSurface); 8873#endif 8874 8875 8876#define VK_KHR_display_swapchain 1 8877#define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 8878#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" 8879typedef struct VkDisplayPresentInfoKHR { 8880 VkStructureType sType; 8881 const void* pNext; 8882 VkRect2D srcRect; 8883 VkRect2D dstRect; 8884 VkBool32 persistent; 8885} VkDisplayPresentInfoKHR; 8886 8887typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains); 8888 8889#ifndef VK_NO_PROTOTYPES 8890VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR( 8891 VkDevice device, 8892 deUint32 swapchainCount, 8893 const VkSwapchainCreateInfoKHR* pCreateInfos, 8894 const VkAllocationCallbacks* pAllocator, 8895 VkSwapchainKHR* pSwapchains); 8896#endif 8897 8898 8899#define VK_KHR_sampler_mirror_clamp_to_edge 1 8900#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 8901#define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 8902 8903 8904#define VK_KHR_video_queue 1 8905VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) 8906VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) 8907#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8 8908#define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" 8909 8910typedef enum VkQueryResultStatusKHR { 8911 VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, 8912 VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, 8913 VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, 8914 VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF 8915} VkQueryResultStatusKHR; 8916 8917typedef enum VkVideoCodecOperationFlagBitsKHR { 8918 VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0, 8919#ifdef VK_ENABLE_BETA_EXTENSIONS 8920 VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT = 0x00010000, 8921#endif 8922#ifdef VK_ENABLE_BETA_EXTENSIONS 8923 VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT = 0x00020000, 8924#endif 8925 VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001, 8926 VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002, 8927 VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8928} VkVideoCodecOperationFlagBitsKHR; 8929typedef VkFlags VkVideoCodecOperationFlagsKHR; 8930 8931typedef enum VkVideoChromaSubsamplingFlagBitsKHR { 8932 VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0, 8933 VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, 8934 VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, 8935 VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, 8936 VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, 8937 VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8938} VkVideoChromaSubsamplingFlagBitsKHR; 8939typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; 8940 8941typedef enum VkVideoComponentBitDepthFlagBitsKHR { 8942 VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, 8943 VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, 8944 VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, 8945 VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, 8946 VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8947} VkVideoComponentBitDepthFlagBitsKHR; 8948typedef VkFlags VkVideoComponentBitDepthFlagsKHR; 8949 8950typedef enum VkVideoCapabilityFlagBitsKHR { 8951 VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8952 VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, 8953 VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8954} VkVideoCapabilityFlagBitsKHR; 8955typedef VkFlags VkVideoCapabilityFlagsKHR; 8956 8957typedef enum VkVideoSessionCreateFlagBitsKHR { 8958 VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 8959 VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8960} VkVideoSessionCreateFlagBitsKHR; 8961typedef VkFlags VkVideoSessionCreateFlagsKHR; 8962typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; 8963typedef VkFlags VkVideoBeginCodingFlagsKHR; 8964typedef VkFlags VkVideoEndCodingFlagsKHR; 8965 8966typedef enum VkVideoCodingControlFlagBitsKHR { 8967 VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, 8968#ifdef VK_ENABLE_BETA_EXTENSIONS 8969 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002, 8970#endif 8971#ifdef VK_ENABLE_BETA_EXTENSIONS 8972 VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_LAYER_BIT_KHR = 0x00000004, 8973#endif 8974 VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8975} VkVideoCodingControlFlagBitsKHR; 8976typedef VkFlags VkVideoCodingControlFlagsKHR; 8977typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { 8978 VkStructureType sType; 8979 void* pNext; 8980 VkBool32 queryResultStatusSupport; 8981} VkQueueFamilyQueryResultStatusPropertiesKHR; 8982 8983typedef struct VkQueueFamilyVideoPropertiesKHR { 8984 VkStructureType sType; 8985 void* pNext; 8986 VkVideoCodecOperationFlagsKHR videoCodecOperations; 8987} VkQueueFamilyVideoPropertiesKHR; 8988 8989typedef struct VkVideoProfileInfoKHR { 8990 VkStructureType sType; 8991 const void* pNext; 8992 VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 8993 VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 8994 VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 8995 VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 8996} VkVideoProfileInfoKHR; 8997 8998typedef struct VkVideoProfileListInfoKHR { 8999 VkStructureType sType; 9000 const void* pNext; 9001 deUint32 profileCount; 9002 const VkVideoProfileInfoKHR* pProfiles; 9003} VkVideoProfileListInfoKHR; 9004 9005typedef struct VkVideoCapabilitiesKHR { 9006 VkStructureType sType; 9007 void* pNext; 9008 VkVideoCapabilityFlagsKHR flags; 9009 VkDeviceSize minBitstreamBufferOffsetAlignment; 9010 VkDeviceSize minBitstreamBufferSizeAlignment; 9011 VkExtent2D pictureAccessGranularity; 9012 VkExtent2D minCodedExtent; 9013 VkExtent2D maxCodedExtent; 9014 deUint32 maxDpbSlots; 9015 deUint32 maxActiveReferencePictures; 9016 VkExtensionProperties stdHeaderVersion; 9017} VkVideoCapabilitiesKHR; 9018 9019typedef struct VkPhysicalDeviceVideoFormatInfoKHR { 9020 VkStructureType sType; 9021 const void* pNext; 9022 VkImageUsageFlags imageUsage; 9023} VkPhysicalDeviceVideoFormatInfoKHR; 9024 9025typedef struct VkVideoFormatPropertiesKHR { 9026 VkStructureType sType; 9027 void* pNext; 9028 VkFormat format; 9029 VkComponentMapping componentMapping; 9030 VkImageCreateFlags imageCreateFlags; 9031 VkImageType imageType; 9032 VkImageTiling imageTiling; 9033 VkImageUsageFlags imageUsageFlags; 9034} VkVideoFormatPropertiesKHR; 9035 9036typedef struct VkVideoPictureResourceInfoKHR { 9037 VkStructureType sType; 9038 const void* pNext; 9039 VkOffset2D codedOffset; 9040 VkExtent2D codedExtent; 9041 deUint32 baseArrayLayer; 9042 VkImageView imageViewBinding; 9043} VkVideoPictureResourceInfoKHR; 9044 9045typedef struct VkVideoReferenceSlotInfoKHR { 9046 VkStructureType sType; 9047 const void* pNext; 9048 deInt32 slotIndex; 9049 const VkVideoPictureResourceInfoKHR* pPictureResource; 9050} VkVideoReferenceSlotInfoKHR; 9051 9052typedef struct VkVideoSessionMemoryRequirementsKHR { 9053 VkStructureType sType; 9054 void* pNext; 9055 deUint32 memoryBindIndex; 9056 VkMemoryRequirements memoryRequirements; 9057} VkVideoSessionMemoryRequirementsKHR; 9058 9059typedef struct VkBindVideoSessionMemoryInfoKHR { 9060 VkStructureType sType; 9061 const void* pNext; 9062 deUint32 memoryBindIndex; 9063 VkDeviceMemory memory; 9064 VkDeviceSize memoryOffset; 9065 VkDeviceSize memorySize; 9066} VkBindVideoSessionMemoryInfoKHR; 9067 9068typedef struct VkVideoSessionCreateInfoKHR { 9069 VkStructureType sType; 9070 const void* pNext; 9071 deUint32 queueFamilyIndex; 9072 VkVideoSessionCreateFlagsKHR flags; 9073 const VkVideoProfileInfoKHR* pVideoProfile; 9074 VkFormat pictureFormat; 9075 VkExtent2D maxCodedExtent; 9076 VkFormat referencePictureFormat; 9077 deUint32 maxDpbSlots; 9078 deUint32 maxActiveReferencePictures; 9079 const VkExtensionProperties* pStdHeaderVersion; 9080} VkVideoSessionCreateInfoKHR; 9081 9082typedef struct VkVideoSessionParametersCreateInfoKHR { 9083 VkStructureType sType; 9084 const void* pNext; 9085 VkVideoSessionParametersCreateFlagsKHR flags; 9086 VkVideoSessionParametersKHR videoSessionParametersTemplate; 9087 VkVideoSessionKHR videoSession; 9088} VkVideoSessionParametersCreateInfoKHR; 9089 9090typedef struct VkVideoSessionParametersUpdateInfoKHR { 9091 VkStructureType sType; 9092 const void* pNext; 9093 deUint32 updateSequenceCount; 9094} VkVideoSessionParametersUpdateInfoKHR; 9095 9096typedef struct VkVideoBeginCodingInfoKHR { 9097 VkStructureType sType; 9098 const void* pNext; 9099 VkVideoBeginCodingFlagsKHR flags; 9100 VkVideoSessionKHR videoSession; 9101 VkVideoSessionParametersKHR videoSessionParameters; 9102 deUint32 referenceSlotCount; 9103 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 9104} VkVideoBeginCodingInfoKHR; 9105 9106typedef struct VkVideoEndCodingInfoKHR { 9107 VkStructureType sType; 9108 const void* pNext; 9109 VkVideoEndCodingFlagsKHR flags; 9110} VkVideoEndCodingInfoKHR; 9111 9112typedef struct VkVideoCodingControlInfoKHR { 9113 VkStructureType sType; 9114 const void* pNext; 9115 VkVideoCodingControlFlagsKHR flags; 9116} VkVideoCodingControlInfoKHR; 9117 9118typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); 9119typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, deUint32* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); 9120typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); 9121typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); 9122typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, deUint32* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 9123typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, deUint32 bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 9124typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); 9125typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 9126typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); 9127typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); 9128typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); 9129typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); 9130 9131#ifndef VK_NO_PROTOTYPES 9132VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR( 9133 VkPhysicalDevice physicalDevice, 9134 const VkVideoProfileInfoKHR* pVideoProfile, 9135 VkVideoCapabilitiesKHR* pCapabilities); 9136 9137VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR( 9138 VkPhysicalDevice physicalDevice, 9139 const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, 9140 deUint32* pVideoFormatPropertyCount, 9141 VkVideoFormatPropertiesKHR* pVideoFormatProperties); 9142 9143VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR( 9144 VkDevice device, 9145 const VkVideoSessionCreateInfoKHR* pCreateInfo, 9146 const VkAllocationCallbacks* pAllocator, 9147 VkVideoSessionKHR* pVideoSession); 9148 9149VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR( 9150 VkDevice device, 9151 VkVideoSessionKHR videoSession, 9152 const VkAllocationCallbacks* pAllocator); 9153 9154VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR( 9155 VkDevice device, 9156 VkVideoSessionKHR videoSession, 9157 deUint32* pMemoryRequirementsCount, 9158 VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 9159 9160VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR( 9161 VkDevice device, 9162 VkVideoSessionKHR videoSession, 9163 deUint32 bindSessionMemoryInfoCount, 9164 const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 9165 9166VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR( 9167 VkDevice device, 9168 const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, 9169 const VkAllocationCallbacks* pAllocator, 9170 VkVideoSessionParametersKHR* pVideoSessionParameters); 9171 9172VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR( 9173 VkDevice device, 9174 VkVideoSessionParametersKHR videoSessionParameters, 9175 const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 9176 9177VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR( 9178 VkDevice device, 9179 VkVideoSessionParametersKHR videoSessionParameters, 9180 const VkAllocationCallbacks* pAllocator); 9181 9182VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR( 9183 VkCommandBuffer commandBuffer, 9184 const VkVideoBeginCodingInfoKHR* pBeginInfo); 9185 9186VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR( 9187 VkCommandBuffer commandBuffer, 9188 const VkVideoEndCodingInfoKHR* pEndCodingInfo); 9189 9190VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( 9191 VkCommandBuffer commandBuffer, 9192 const VkVideoCodingControlInfoKHR* pCodingControlInfo); 9193#endif 9194 9195 9196#define VK_KHR_video_decode_queue 1 9197#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 7 9198#define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" 9199 9200typedef enum VkVideoDecodeCapabilityFlagBitsKHR { 9201 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, 9202 VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, 9203 VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9204} VkVideoDecodeCapabilityFlagBitsKHR; 9205typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; 9206 9207typedef enum VkVideoDecodeUsageFlagBitsKHR { 9208 VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0, 9209 VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 9210 VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002, 9211 VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004, 9212 VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9213} VkVideoDecodeUsageFlagBitsKHR; 9214typedef VkFlags VkVideoDecodeUsageFlagsKHR; 9215typedef VkFlags VkVideoDecodeFlagsKHR; 9216typedef struct VkVideoDecodeCapabilitiesKHR { 9217 VkStructureType sType; 9218 void* pNext; 9219 VkVideoDecodeCapabilityFlagsKHR flags; 9220} VkVideoDecodeCapabilitiesKHR; 9221 9222typedef struct VkVideoDecodeUsageInfoKHR { 9223 VkStructureType sType; 9224 const void* pNext; 9225 VkVideoDecodeUsageFlagsKHR videoUsageHints; 9226} VkVideoDecodeUsageInfoKHR; 9227 9228typedef struct VkVideoDecodeInfoKHR { 9229 VkStructureType sType; 9230 const void* pNext; 9231 VkVideoDecodeFlagsKHR flags; 9232 VkBuffer srcBuffer; 9233 VkDeviceSize srcBufferOffset; 9234 VkDeviceSize srcBufferRange; 9235 VkVideoPictureResourceInfoKHR dstPictureResource; 9236 const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 9237 deUint32 referenceSlotCount; 9238 const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 9239} VkVideoDecodeInfoKHR; 9240 9241typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo); 9242 9243#ifndef VK_NO_PROTOTYPES 9244VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR( 9245 VkCommandBuffer commandBuffer, 9246 const VkVideoDecodeInfoKHR* pDecodeInfo); 9247#endif 9248 9249 9250#define VK_KHR_video_decode_h264 1 9251 9252 9253#define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 8 9254#define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264" 9255 9256typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR { 9257 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0, 9258 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001, 9259 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002, 9260 VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9261} VkVideoDecodeH264PictureLayoutFlagBitsKHR; 9262typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; 9263typedef struct VkVideoDecodeH264ProfileInfoKHR { 9264 VkStructureType sType; 9265 const void* pNext; 9266 StdVideoH264ProfileIdc stdProfileIdc; 9267 VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout; 9268} VkVideoDecodeH264ProfileInfoKHR; 9269 9270typedef struct VkVideoDecodeH264CapabilitiesKHR { 9271 VkStructureType sType; 9272 void* pNext; 9273 StdVideoH264LevelIdc maxLevelIdc; 9274 VkOffset2D fieldOffsetGranularity; 9275} VkVideoDecodeH264CapabilitiesKHR; 9276 9277typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { 9278 VkStructureType sType; 9279 const void* pNext; 9280 deUint32 stdSPSCount; 9281 const StdVideoH264SequenceParameterSet* pStdSPSs; 9282 deUint32 stdPPSCount; 9283 const StdVideoH264PictureParameterSet* pStdPPSs; 9284} VkVideoDecodeH264SessionParametersAddInfoKHR; 9285 9286typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR { 9287 VkStructureType sType; 9288 const void* pNext; 9289 deUint32 maxStdSPSCount; 9290 deUint32 maxStdPPSCount; 9291 const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 9292} VkVideoDecodeH264SessionParametersCreateInfoKHR; 9293 9294typedef struct VkVideoDecodeH264PictureInfoKHR { 9295 VkStructureType sType; 9296 const void* pNext; 9297 const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 9298 deUint32 sliceCount; 9299 const deUint32* pSliceOffsets; 9300} VkVideoDecodeH264PictureInfoKHR; 9301 9302typedef struct VkVideoDecodeH264DpbSlotInfoKHR { 9303 VkStructureType sType; 9304 const void* pNext; 9305 const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 9306} VkVideoDecodeH264DpbSlotInfoKHR; 9307 9308 9309 9310#define VK_KHR_dynamic_rendering 1 9311#define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 9312#define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" 9313typedef VkRenderingFlags VkRenderingFlagsKHR; 9314 9315typedef VkRenderingFlagBits VkRenderingFlagBitsKHR; 9316 9317typedef VkRenderingInfo VkRenderingInfoKHR; 9318 9319typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR; 9320 9321typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR; 9322 9323typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR; 9324 9325typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR; 9326 9327typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR { 9328 VkStructureType sType; 9329 const void* pNext; 9330 VkImageView imageView; 9331 VkImageLayout imageLayout; 9332 VkExtent2D shadingRateAttachmentTexelSize; 9333} VkRenderingFragmentShadingRateAttachmentInfoKHR; 9334 9335typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT { 9336 VkStructureType sType; 9337 const void* pNext; 9338 VkImageView imageView; 9339 VkImageLayout imageLayout; 9340} VkRenderingFragmentDensityMapAttachmentInfoEXT; 9341 9342typedef struct VkAttachmentSampleCountInfoAMD { 9343 VkStructureType sType; 9344 const void* pNext; 9345 deUint32 colorAttachmentCount; 9346 const VkSampleCountFlagBits* pColorAttachmentSamples; 9347 VkSampleCountFlagBits depthStencilAttachmentSamples; 9348} VkAttachmentSampleCountInfoAMD; 9349 9350typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV; 9351 9352typedef struct VkMultiviewPerViewAttributesInfoNVX { 9353 VkStructureType sType; 9354 const void* pNext; 9355 VkBool32 perViewAttributes; 9356 VkBool32 perViewAttributesPositionXOnly; 9357} VkMultiviewPerViewAttributesInfoNVX; 9358 9359typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo); 9360typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer); 9361 9362#ifndef VK_NO_PROTOTYPES 9363VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR( 9364 VkCommandBuffer commandBuffer, 9365 const VkRenderingInfo* pRenderingInfo); 9366 9367VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR( 9368 VkCommandBuffer commandBuffer); 9369#endif 9370 9371 9372#define VK_KHR_multiview 1 9373#define VK_KHR_MULTIVIEW_SPEC_VERSION 1 9374#define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" 9375typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR; 9376 9377typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR; 9378 9379typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR; 9380 9381 9382 9383#define VK_KHR_get_physical_device_properties2 1 9384#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 9385#define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" 9386typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR; 9387 9388typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR; 9389 9390typedef VkFormatProperties2 VkFormatProperties2KHR; 9391 9392typedef VkImageFormatProperties2 VkImageFormatProperties2KHR; 9393 9394typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR; 9395 9396typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR; 9397 9398typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR; 9399 9400typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR; 9401 9402typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR; 9403 9404typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures); 9405typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties); 9406typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties); 9407typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties); 9408typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties); 9409typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 9410typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties); 9411 9412#ifndef VK_NO_PROTOTYPES 9413VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR( 9414 VkPhysicalDevice physicalDevice, 9415 VkPhysicalDeviceFeatures2* pFeatures); 9416 9417VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR( 9418 VkPhysicalDevice physicalDevice, 9419 VkPhysicalDeviceProperties2* pProperties); 9420 9421VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR( 9422 VkPhysicalDevice physicalDevice, 9423 VkFormat format, 9424 VkFormatProperties2* pFormatProperties); 9425 9426VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR( 9427 VkPhysicalDevice physicalDevice, 9428 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, 9429 VkImageFormatProperties2* pImageFormatProperties); 9430 9431VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR( 9432 VkPhysicalDevice physicalDevice, 9433 deUint32* pQueueFamilyPropertyCount, 9434 VkQueueFamilyProperties2* pQueueFamilyProperties); 9435 9436VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR( 9437 VkPhysicalDevice physicalDevice, 9438 VkPhysicalDeviceMemoryProperties2* pMemoryProperties); 9439 9440VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR( 9441 VkPhysicalDevice physicalDevice, 9442 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, 9443 deUint32* pPropertyCount, 9444 VkSparseImageFormatProperties2* pProperties); 9445#endif 9446 9447 9448#define VK_KHR_device_group 1 9449#define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 9450#define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" 9451typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; 9452 9453typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR; 9454 9455typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR; 9456 9457typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR; 9458 9459typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR; 9460 9461typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR; 9462 9463typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR; 9464 9465typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR; 9466 9467typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR; 9468 9469typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR; 9470 9471typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR; 9472 9473typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 9474typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask); 9475typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); 9476 9477#ifndef VK_NO_PROTOTYPES 9478VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR( 9479 VkDevice device, 9480 deUint32 heapIndex, 9481 deUint32 localDeviceIndex, 9482 deUint32 remoteDeviceIndex, 9483 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures); 9484 9485VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR( 9486 VkCommandBuffer commandBuffer, 9487 deUint32 deviceMask); 9488 9489VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR( 9490 VkCommandBuffer commandBuffer, 9491 deUint32 baseGroupX, 9492 deUint32 baseGroupY, 9493 deUint32 baseGroupZ, 9494 deUint32 groupCountX, 9495 deUint32 groupCountY, 9496 deUint32 groupCountZ); 9497#endif 9498 9499 9500#define VK_KHR_shader_draw_parameters 1 9501#define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 9502#define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 9503 9504 9505#define VK_KHR_maintenance1 1 9506#define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 9507#define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" 9508#define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION 9509#define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME 9510typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; 9511 9512typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); 9513 9514#ifndef VK_NO_PROTOTYPES 9515VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR( 9516 VkDevice device, 9517 VkCommandPool commandPool, 9518 VkCommandPoolTrimFlags flags); 9519#endif 9520 9521 9522#define VK_KHR_device_group_creation 1 9523#define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 9524#define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" 9525#define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE 9526typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR; 9527 9528typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR; 9529 9530typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9531 9532#ifndef VK_NO_PROTOTYPES 9533VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR( 9534 VkInstance instance, 9535 deUint32* pPhysicalDeviceGroupCount, 9536 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties); 9537#endif 9538 9539 9540#define VK_KHR_external_memory_capabilities 1 9541#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 9542#define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" 9543#define VK_LUID_SIZE_KHR VK_LUID_SIZE 9544typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR; 9545 9546typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR; 9547 9548typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR; 9549 9550typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR; 9551 9552typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR; 9553 9554typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR; 9555 9556typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR; 9557 9558typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR; 9559 9560typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR; 9561 9562typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR; 9563 9564typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties); 9565 9566#ifndef VK_NO_PROTOTYPES 9567VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR( 9568 VkPhysicalDevice physicalDevice, 9569 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, 9570 VkExternalBufferProperties* pExternalBufferProperties); 9571#endif 9572 9573 9574#define VK_KHR_external_memory 1 9575#define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 9576#define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" 9577#define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL 9578typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR; 9579 9580typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR; 9581 9582typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR; 9583 9584 9585 9586#define VK_KHR_external_memory_fd 1 9587#define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 9588#define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" 9589typedef struct VkImportMemoryFdInfoKHR { 9590 VkStructureType sType; 9591 const void* pNext; 9592 VkExternalMemoryHandleTypeFlagBits handleType; 9593 int fd; 9594} VkImportMemoryFdInfoKHR; 9595 9596typedef struct VkMemoryFdPropertiesKHR { 9597 VkStructureType sType; 9598 void* pNext; 9599 deUint32 memoryTypeBits; 9600} VkMemoryFdPropertiesKHR; 9601 9602typedef struct VkMemoryGetFdInfoKHR { 9603 VkStructureType sType; 9604 const void* pNext; 9605 VkDeviceMemory memory; 9606 VkExternalMemoryHandleTypeFlagBits handleType; 9607} VkMemoryGetFdInfoKHR; 9608 9609typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd); 9610typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9611 9612#ifndef VK_NO_PROTOTYPES 9613VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR( 9614 VkDevice device, 9615 const VkMemoryGetFdInfoKHR* pGetFdInfo, 9616 int* pFd); 9617 9618VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR( 9619 VkDevice device, 9620 VkExternalMemoryHandleTypeFlagBits handleType, 9621 int fd, 9622 VkMemoryFdPropertiesKHR* pMemoryFdProperties); 9623#endif 9624 9625 9626#define VK_KHR_external_semaphore_capabilities 1 9627#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 9628#define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" 9629typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR; 9630 9631typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR; 9632 9633typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR; 9634 9635typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR; 9636 9637typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR; 9638 9639typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR; 9640 9641typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9642 9643#ifndef VK_NO_PROTOTYPES 9644VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( 9645 VkPhysicalDevice physicalDevice, 9646 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, 9647 VkExternalSemaphoreProperties* pExternalSemaphoreProperties); 9648#endif 9649 9650 9651#define VK_KHR_external_semaphore 1 9652#define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 9653#define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" 9654typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR; 9655 9656typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR; 9657 9658typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR; 9659 9660 9661 9662#define VK_KHR_external_semaphore_fd 1 9663#define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 9664#define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" 9665typedef struct VkImportSemaphoreFdInfoKHR { 9666 VkStructureType sType; 9667 const void* pNext; 9668 VkSemaphore semaphore; 9669 VkSemaphoreImportFlags flags; 9670 VkExternalSemaphoreHandleTypeFlagBits handleType; 9671 int fd; 9672} VkImportSemaphoreFdInfoKHR; 9673 9674typedef struct VkSemaphoreGetFdInfoKHR { 9675 VkStructureType sType; 9676 const void* pNext; 9677 VkSemaphore semaphore; 9678 VkExternalSemaphoreHandleTypeFlagBits handleType; 9679} VkSemaphoreGetFdInfoKHR; 9680 9681typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 9682typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd); 9683 9684#ifndef VK_NO_PROTOTYPES 9685VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR( 9686 VkDevice device, 9687 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo); 9688 9689VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR( 9690 VkDevice device, 9691 const VkSemaphoreGetFdInfoKHR* pGetFdInfo, 9692 int* pFd); 9693#endif 9694 9695 9696#define VK_KHR_push_descriptor 1 9697#define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 9698#define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" 9699typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR { 9700 VkStructureType sType; 9701 void* pNext; 9702 deUint32 maxPushDescriptors; 9703} VkPhysicalDevicePushDescriptorPropertiesKHR; 9704 9705typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites); 9706typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData); 9707 9708#ifndef VK_NO_PROTOTYPES 9709VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR( 9710 VkCommandBuffer commandBuffer, 9711 VkPipelineBindPoint pipelineBindPoint, 9712 VkPipelineLayout layout, 9713 deUint32 set, 9714 deUint32 descriptorWriteCount, 9715 const VkWriteDescriptorSet* pDescriptorWrites); 9716 9717VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR( 9718 VkCommandBuffer commandBuffer, 9719 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9720 VkPipelineLayout layout, 9721 deUint32 set, 9722 const void* pData); 9723#endif 9724 9725 9726#define VK_KHR_shader_float16_int8 1 9727#define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 9728#define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" 9729typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR; 9730 9731typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR; 9732 9733 9734 9735#define VK_KHR_16bit_storage 1 9736#define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 9737#define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" 9738typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR; 9739 9740 9741 9742#define VK_KHR_incremental_present 1 9743#define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 9744#define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" 9745typedef struct VkRectLayerKHR { 9746 VkOffset2D offset; 9747 VkExtent2D extent; 9748 deUint32 layer; 9749} VkRectLayerKHR; 9750 9751typedef struct VkPresentRegionKHR { 9752 deUint32 rectangleCount; 9753 const VkRectLayerKHR* pRectangles; 9754} VkPresentRegionKHR; 9755 9756typedef struct VkPresentRegionsKHR { 9757 VkStructureType sType; 9758 const void* pNext; 9759 deUint32 swapchainCount; 9760 const VkPresentRegionKHR* pRegions; 9761} VkPresentRegionsKHR; 9762 9763 9764 9765#define VK_KHR_descriptor_update_template 1 9766typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 9767 9768#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1 9769#define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template" 9770typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR; 9771 9772typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR; 9773 9774typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR; 9775 9776typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR; 9777 9778typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 9779typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator); 9780typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData); 9781 9782#ifndef VK_NO_PROTOTYPES 9783VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR( 9784 VkDevice device, 9785 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, 9786 const VkAllocationCallbacks* pAllocator, 9787 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate); 9788 9789VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR( 9790 VkDevice device, 9791 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9792 const VkAllocationCallbacks* pAllocator); 9793 9794VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR( 9795 VkDevice device, 9796 VkDescriptorSet descriptorSet, 9797 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 9798 const void* pData); 9799#endif 9800 9801 9802#define VK_KHR_imageless_framebuffer 1 9803#define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 9804#define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" 9805typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR; 9806 9807typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR; 9808 9809typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR; 9810 9811typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR; 9812 9813 9814 9815#define VK_KHR_create_renderpass2 1 9816#define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 9817#define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" 9818typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR; 9819 9820typedef VkAttachmentDescription2 VkAttachmentDescription2KHR; 9821 9822typedef VkAttachmentReference2 VkAttachmentReference2KHR; 9823 9824typedef VkSubpassDescription2 VkSubpassDescription2KHR; 9825 9826typedef VkSubpassDependency2 VkSubpassDependency2KHR; 9827 9828typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR; 9829 9830typedef VkSubpassEndInfo VkSubpassEndInfoKHR; 9831 9832typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass); 9833typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo); 9834typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo); 9835typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo); 9836 9837#ifndef VK_NO_PROTOTYPES 9838VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR( 9839 VkDevice device, 9840 const VkRenderPassCreateInfo2* pCreateInfo, 9841 const VkAllocationCallbacks* pAllocator, 9842 VkRenderPass* pRenderPass); 9843 9844VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR( 9845 VkCommandBuffer commandBuffer, 9846 const VkRenderPassBeginInfo* pRenderPassBegin, 9847 const VkSubpassBeginInfo* pSubpassBeginInfo); 9848 9849VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR( 9850 VkCommandBuffer commandBuffer, 9851 const VkSubpassBeginInfo* pSubpassBeginInfo, 9852 const VkSubpassEndInfo* pSubpassEndInfo); 9853 9854VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR( 9855 VkCommandBuffer commandBuffer, 9856 const VkSubpassEndInfo* pSubpassEndInfo); 9857#endif 9858 9859 9860#define VK_KHR_shared_presentable_image 1 9861#define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 9862#define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" 9863typedef struct VkSharedPresentSurfaceCapabilitiesKHR { 9864 VkStructureType sType; 9865 void* pNext; 9866 VkImageUsageFlags sharedPresentSupportedUsageFlags; 9867} VkSharedPresentSurfaceCapabilitiesKHR; 9868 9869typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain); 9870 9871#ifndef VK_NO_PROTOTYPES 9872VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR( 9873 VkDevice device, 9874 VkSwapchainKHR swapchain); 9875#endif 9876 9877 9878#define VK_KHR_external_fence_capabilities 1 9879#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 9880#define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" 9881typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR; 9882 9883typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR; 9884 9885typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR; 9886 9887typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR; 9888 9889typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR; 9890 9891typedef VkExternalFenceProperties VkExternalFencePropertiesKHR; 9892 9893typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties); 9894 9895#ifndef VK_NO_PROTOTYPES 9896VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR( 9897 VkPhysicalDevice physicalDevice, 9898 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, 9899 VkExternalFenceProperties* pExternalFenceProperties); 9900#endif 9901 9902 9903#define VK_KHR_external_fence 1 9904#define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 9905#define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" 9906typedef VkFenceImportFlags VkFenceImportFlagsKHR; 9907 9908typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR; 9909 9910typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR; 9911 9912 9913 9914#define VK_KHR_external_fence_fd 1 9915#define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 9916#define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" 9917typedef struct VkImportFenceFdInfoKHR { 9918 VkStructureType sType; 9919 const void* pNext; 9920 VkFence fence; 9921 VkFenceImportFlags flags; 9922 VkExternalFenceHandleTypeFlagBits handleType; 9923 int fd; 9924} VkImportFenceFdInfoKHR; 9925 9926typedef struct VkFenceGetFdInfoKHR { 9927 VkStructureType sType; 9928 const void* pNext; 9929 VkFence fence; 9930 VkExternalFenceHandleTypeFlagBits handleType; 9931} VkFenceGetFdInfoKHR; 9932 9933typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 9934typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd); 9935 9936#ifndef VK_NO_PROTOTYPES 9937VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR( 9938 VkDevice device, 9939 const VkImportFenceFdInfoKHR* pImportFenceFdInfo); 9940 9941VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR( 9942 VkDevice device, 9943 const VkFenceGetFdInfoKHR* pGetFdInfo, 9944 int* pFd); 9945#endif 9946 9947 9948#define VK_KHR_performance_query 1 9949#define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 9950#define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" 9951 9952typedef enum VkPerformanceCounterUnitKHR { 9953 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0, 9954 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1, 9955 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2, 9956 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3, 9957 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4, 9958 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5, 9959 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6, 9960 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7, 9961 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8, 9962 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9, 9963 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10, 9964 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF 9965} VkPerformanceCounterUnitKHR; 9966 9967typedef enum VkPerformanceCounterScopeKHR { 9968 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0, 9969 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1, 9970 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2, 9971 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR, 9972 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR, 9973 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR, 9974 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 9975} VkPerformanceCounterScopeKHR; 9976 9977typedef enum VkPerformanceCounterStorageKHR { 9978 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0, 9979 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1, 9980 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2, 9981 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3, 9982 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4, 9983 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5, 9984 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF 9985} VkPerformanceCounterStorageKHR; 9986 9987typedef enum VkPerformanceCounterDescriptionFlagBitsKHR { 9988 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001, 9989 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002, 9990 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR, 9991 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR, 9992 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9993} VkPerformanceCounterDescriptionFlagBitsKHR; 9994typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; 9995 9996typedef enum VkAcquireProfilingLockFlagBitsKHR { 9997 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 9998} VkAcquireProfilingLockFlagBitsKHR; 9999typedef VkFlags VkAcquireProfilingLockFlagsKHR; 10000typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR { 10001 VkStructureType sType; 10002 void* pNext; 10003 VkBool32 performanceCounterQueryPools; 10004 VkBool32 performanceCounterMultipleQueryPools; 10005} VkPhysicalDevicePerformanceQueryFeaturesKHR; 10006 10007typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { 10008 VkStructureType sType; 10009 void* pNext; 10010 VkBool32 allowCommandBufferQueryCopies; 10011} VkPhysicalDevicePerformanceQueryPropertiesKHR; 10012 10013typedef struct VkPerformanceCounterKHR { 10014 VkStructureType sType; 10015 void* pNext; 10016 VkPerformanceCounterUnitKHR unit; 10017 VkPerformanceCounterScopeKHR scope; 10018 VkPerformanceCounterStorageKHR storage; 10019 deUint8 uuid[VK_UUID_SIZE]; 10020} VkPerformanceCounterKHR; 10021 10022typedef struct VkPerformanceCounterDescriptionKHR { 10023 VkStructureType sType; 10024 void* pNext; 10025 VkPerformanceCounterDescriptionFlagsKHR flags; 10026 char name[VK_MAX_DESCRIPTION_SIZE]; 10027 char category[VK_MAX_DESCRIPTION_SIZE]; 10028 char description[VK_MAX_DESCRIPTION_SIZE]; 10029} VkPerformanceCounterDescriptionKHR; 10030 10031typedef struct VkQueryPoolPerformanceCreateInfoKHR { 10032 VkStructureType sType; 10033 const void* pNext; 10034 deUint32 queueFamilyIndex; 10035 deUint32 counterIndexCount; 10036 const deUint32* pCounterIndices; 10037} VkQueryPoolPerformanceCreateInfoKHR; 10038 10039typedef union VkPerformanceCounterResultKHR { 10040 deInt32 int32; 10041 deInt64 int64; 10042 deUint32 uint32; 10043 deUint64 uint64; 10044 float float32; 10045 double float64; 10046} VkPerformanceCounterResultKHR; 10047 10048typedef struct VkAcquireProfilingLockInfoKHR { 10049 VkStructureType sType; 10050 const void* pNext; 10051 VkAcquireProfilingLockFlagsKHR flags; 10052 deUint64 timeout; 10053} VkAcquireProfilingLockInfoKHR; 10054 10055typedef struct VkPerformanceQuerySubmitInfoKHR { 10056 VkStructureType sType; 10057 const void* pNext; 10058 deUint32 counterPassIndex; 10059} VkPerformanceQuerySubmitInfoKHR; 10060 10061typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 10062typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses); 10063typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo); 10064typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device); 10065 10066#ifndef VK_NO_PROTOTYPES 10067VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( 10068 VkPhysicalDevice physicalDevice, 10069 deUint32 queueFamilyIndex, 10070 deUint32* pCounterCount, 10071 VkPerformanceCounterKHR* pCounters, 10072 VkPerformanceCounterDescriptionKHR* pCounterDescriptions); 10073 10074VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( 10075 VkPhysicalDevice physicalDevice, 10076 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, 10077 deUint32* pNumPasses); 10078 10079VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR( 10080 VkDevice device, 10081 const VkAcquireProfilingLockInfoKHR* pInfo); 10082 10083VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR( 10084 VkDevice device); 10085#endif 10086 10087 10088#define VK_KHR_maintenance2 1 10089#define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 10090#define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" 10091#define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION 10092#define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME 10093typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; 10094 10095typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; 10096 10097typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR; 10098 10099typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR; 10100 10101typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR; 10102 10103typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR; 10104 10105typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR; 10106 10107 10108 10109#define VK_KHR_get_surface_capabilities2 1 10110#define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 10111#define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" 10112typedef struct VkPhysicalDeviceSurfaceInfo2KHR { 10113 VkStructureType sType; 10114 const void* pNext; 10115 VkSurfaceKHR surface; 10116} VkPhysicalDeviceSurfaceInfo2KHR; 10117 10118typedef struct VkSurfaceCapabilities2KHR { 10119 VkStructureType sType; 10120 void* pNext; 10121 VkSurfaceCapabilitiesKHR surfaceCapabilities; 10122} VkSurfaceCapabilities2KHR; 10123 10124typedef struct VkSurfaceFormat2KHR { 10125 VkStructureType sType; 10126 void* pNext; 10127 VkSurfaceFormatKHR surfaceFormat; 10128} VkSurfaceFormat2KHR; 10129 10130typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 10131typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats); 10132 10133#ifndef VK_NO_PROTOTYPES 10134VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR( 10135 VkPhysicalDevice physicalDevice, 10136 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 10137 VkSurfaceCapabilities2KHR* pSurfaceCapabilities); 10138 10139VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR( 10140 VkPhysicalDevice physicalDevice, 10141 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 10142 deUint32* pSurfaceFormatCount, 10143 VkSurfaceFormat2KHR* pSurfaceFormats); 10144#endif 10145 10146 10147#define VK_KHR_variable_pointers 1 10148#define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 10149#define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" 10150typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR; 10151 10152typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR; 10153 10154 10155 10156#define VK_KHR_get_display_properties2 1 10157#define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 10158#define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" 10159typedef struct VkDisplayProperties2KHR { 10160 VkStructureType sType; 10161 void* pNext; 10162 VkDisplayPropertiesKHR displayProperties; 10163} VkDisplayProperties2KHR; 10164 10165typedef struct VkDisplayPlaneProperties2KHR { 10166 VkStructureType sType; 10167 void* pNext; 10168 VkDisplayPlanePropertiesKHR displayPlaneProperties; 10169} VkDisplayPlaneProperties2KHR; 10170 10171typedef struct VkDisplayModeProperties2KHR { 10172 VkStructureType sType; 10173 void* pNext; 10174 VkDisplayModePropertiesKHR displayModeProperties; 10175} VkDisplayModeProperties2KHR; 10176 10177typedef struct VkDisplayPlaneInfo2KHR { 10178 VkStructureType sType; 10179 const void* pNext; 10180 VkDisplayModeKHR mode; 10181 deUint32 planeIndex; 10182} VkDisplayPlaneInfo2KHR; 10183 10184typedef struct VkDisplayPlaneCapabilities2KHR { 10185 VkStructureType sType; 10186 void* pNext; 10187 VkDisplayPlaneCapabilitiesKHR capabilities; 10188} VkDisplayPlaneCapabilities2KHR; 10189 10190typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties); 10191typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); 10192typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); 10193typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); 10194 10195#ifndef VK_NO_PROTOTYPES 10196VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( 10197 VkPhysicalDevice physicalDevice, 10198 deUint32* pPropertyCount, 10199 VkDisplayProperties2KHR* pProperties); 10200 10201VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( 10202 VkPhysicalDevice physicalDevice, 10203 deUint32* pPropertyCount, 10204 VkDisplayPlaneProperties2KHR* pProperties); 10205 10206VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( 10207 VkPhysicalDevice physicalDevice, 10208 VkDisplayKHR display, 10209 deUint32* pPropertyCount, 10210 VkDisplayModeProperties2KHR* pProperties); 10211 10212VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( 10213 VkPhysicalDevice physicalDevice, 10214 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, 10215 VkDisplayPlaneCapabilities2KHR* pCapabilities); 10216#endif 10217 10218 10219#define VK_KHR_dedicated_allocation 1 10220#define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 10221#define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" 10222typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR; 10223 10224typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR; 10225 10226 10227 10228#define VK_KHR_storage_buffer_storage_class 1 10229#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 10230#define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 10231 10232 10233#define VK_KHR_relaxed_block_layout 1 10234#define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 10235#define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 10236 10237 10238#define VK_KHR_get_memory_requirements2 1 10239#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 10240#define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" 10241typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR; 10242 10243typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR; 10244 10245typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR; 10246 10247typedef VkMemoryRequirements2 VkMemoryRequirements2KHR; 10248 10249typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR; 10250 10251typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 10252typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements); 10253typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 10254 10255#ifndef VK_NO_PROTOTYPES 10256VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR( 10257 VkDevice device, 10258 const VkImageMemoryRequirementsInfo2* pInfo, 10259 VkMemoryRequirements2* pMemoryRequirements); 10260 10261VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR( 10262 VkDevice device, 10263 const VkBufferMemoryRequirementsInfo2* pInfo, 10264 VkMemoryRequirements2* pMemoryRequirements); 10265 10266VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR( 10267 VkDevice device, 10268 const VkImageSparseMemoryRequirementsInfo2* pInfo, 10269 deUint32* pSparseMemoryRequirementCount, 10270 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 10271#endif 10272 10273 10274#define VK_KHR_image_format_list 1 10275#define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 10276#define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" 10277typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR; 10278 10279 10280 10281#define VK_KHR_sampler_ycbcr_conversion 1 10282typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 10283 10284#define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14 10285#define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion" 10286typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR; 10287 10288typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR; 10289 10290typedef VkChromaLocation VkChromaLocationKHR; 10291 10292typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR; 10293 10294typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR; 10295 10296typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR; 10297 10298typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR; 10299 10300typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR; 10301 10302typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR; 10303 10304typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion); 10305typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator); 10306 10307#ifndef VK_NO_PROTOTYPES 10308VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR( 10309 VkDevice device, 10310 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, 10311 const VkAllocationCallbacks* pAllocator, 10312 VkSamplerYcbcrConversion* pYcbcrConversion); 10313 10314VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR( 10315 VkDevice device, 10316 VkSamplerYcbcrConversion ycbcrConversion, 10317 const VkAllocationCallbacks* pAllocator); 10318#endif 10319 10320 10321#define VK_KHR_bind_memory2 1 10322#define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 10323#define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" 10324typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR; 10325 10326typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR; 10327 10328typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos); 10329typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos); 10330 10331#ifndef VK_NO_PROTOTYPES 10332VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR( 10333 VkDevice device, 10334 deUint32 bindInfoCount, 10335 const VkBindBufferMemoryInfo* pBindInfos); 10336 10337VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR( 10338 VkDevice device, 10339 deUint32 bindInfoCount, 10340 const VkBindImageMemoryInfo* pBindInfos); 10341#endif 10342 10343 10344#define VK_KHR_maintenance3 1 10345#define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 10346#define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" 10347#define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION 10348#define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME 10349typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; 10350 10351typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; 10352 10353typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport); 10354 10355#ifndef VK_NO_PROTOTYPES 10356VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( 10357 VkDevice device, 10358 const VkDescriptorSetLayoutCreateInfo* pCreateInfo, 10359 VkDescriptorSetLayoutSupport* pSupport); 10360#endif 10361 10362 10363#define VK_KHR_draw_indirect_count 1 10364#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 10365#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" 10366typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); 10367typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); 10368 10369#ifndef VK_NO_PROTOTYPES 10370VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( 10371 VkCommandBuffer commandBuffer, 10372 VkBuffer buffer, 10373 VkDeviceSize offset, 10374 VkBuffer countBuffer, 10375 VkDeviceSize countBufferOffset, 10376 deUint32 maxDrawCount, 10377 deUint32 stride); 10378 10379VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( 10380 VkCommandBuffer commandBuffer, 10381 VkBuffer buffer, 10382 VkDeviceSize offset, 10383 VkBuffer countBuffer, 10384 VkDeviceSize countBufferOffset, 10385 deUint32 maxDrawCount, 10386 deUint32 stride); 10387#endif 10388 10389 10390#define VK_KHR_shader_subgroup_extended_types 1 10391#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 10392#define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" 10393typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR; 10394 10395 10396 10397#define VK_KHR_8bit_storage 1 10398#define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 10399#define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" 10400typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR; 10401 10402 10403 10404#define VK_KHR_shader_atomic_int64 1 10405#define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 10406#define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" 10407typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR; 10408 10409 10410 10411#define VK_KHR_shader_clock 1 10412#define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 10413#define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" 10414typedef struct VkPhysicalDeviceShaderClockFeaturesKHR { 10415 VkStructureType sType; 10416 void* pNext; 10417 VkBool32 shaderSubgroupClock; 10418 VkBool32 shaderDeviceClock; 10419} VkPhysicalDeviceShaderClockFeaturesKHR; 10420 10421 10422 10423#define VK_KHR_video_decode_h265 1 10424 10425 10426#define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 7 10427#define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265" 10428typedef struct VkVideoDecodeH265ProfileInfoKHR { 10429 VkStructureType sType; 10430 const void* pNext; 10431 StdVideoH265ProfileIdc stdProfileIdc; 10432} VkVideoDecodeH265ProfileInfoKHR; 10433 10434typedef struct VkVideoDecodeH265CapabilitiesKHR { 10435 VkStructureType sType; 10436 void* pNext; 10437 StdVideoH265LevelIdc maxLevelIdc; 10438} VkVideoDecodeH265CapabilitiesKHR; 10439 10440typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR { 10441 VkStructureType sType; 10442 const void* pNext; 10443 deUint32 stdVPSCount; 10444 const StdVideoH265VideoParameterSet* pStdVPSs; 10445 deUint32 stdSPSCount; 10446 const StdVideoH265SequenceParameterSet* pStdSPSs; 10447 deUint32 stdPPSCount; 10448 const StdVideoH265PictureParameterSet* pStdPPSs; 10449} VkVideoDecodeH265SessionParametersAddInfoKHR; 10450 10451typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR { 10452 VkStructureType sType; 10453 const void* pNext; 10454 deUint32 maxStdVPSCount; 10455 deUint32 maxStdSPSCount; 10456 deUint32 maxStdPPSCount; 10457 const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 10458} VkVideoDecodeH265SessionParametersCreateInfoKHR; 10459 10460typedef struct VkVideoDecodeH265PictureInfoKHR { 10461 VkStructureType sType; 10462 const void* pNext; 10463 StdVideoDecodeH265PictureInfo* pStdPictureInfo; 10464 deUint32 sliceSegmentCount; 10465 const deUint32* pSliceSegmentOffsets; 10466} VkVideoDecodeH265PictureInfoKHR; 10467 10468typedef struct VkVideoDecodeH265DpbSlotInfoKHR { 10469 VkStructureType sType; 10470 const void* pNext; 10471 const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 10472} VkVideoDecodeH265DpbSlotInfoKHR; 10473 10474 10475 10476#define VK_KHR_global_priority 1 10477#define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U 10478#define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1 10479#define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority" 10480 10481typedef enum VkQueueGlobalPriorityKHR { 10482 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128, 10483 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256, 10484 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512, 10485 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024, 10486 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR, 10487 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR, 10488 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR, 10489 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR, 10490 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF 10491} VkQueueGlobalPriorityKHR; 10492typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR { 10493 VkStructureType sType; 10494 const void* pNext; 10495 VkQueueGlobalPriorityKHR globalPriority; 10496} VkDeviceQueueGlobalPriorityCreateInfoKHR; 10497 10498typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR { 10499 VkStructureType sType; 10500 void* pNext; 10501 VkBool32 globalPriorityQuery; 10502} VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR; 10503 10504typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR { 10505 VkStructureType sType; 10506 void* pNext; 10507 deUint32 priorityCount; 10508 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR]; 10509} VkQueueFamilyGlobalPriorityPropertiesKHR; 10510 10511 10512 10513#define VK_KHR_driver_properties 1 10514#define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 10515#define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" 10516#define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE 10517#define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE 10518typedef VkDriverId VkDriverIdKHR; 10519 10520typedef VkConformanceVersion VkConformanceVersionKHR; 10521 10522typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR; 10523 10524 10525 10526#define VK_KHR_shader_float_controls 1 10527#define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 10528#define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" 10529typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR; 10530 10531typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR; 10532 10533 10534 10535#define VK_KHR_depth_stencil_resolve 1 10536#define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 10537#define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" 10538typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR; 10539 10540typedef VkResolveModeFlags VkResolveModeFlagsKHR; 10541 10542typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR; 10543 10544typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR; 10545 10546 10547 10548#define VK_KHR_swapchain_mutable_format 1 10549#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 10550#define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 10551 10552 10553#define VK_KHR_timeline_semaphore 1 10554#define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 10555#define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" 10556typedef VkSemaphoreType VkSemaphoreTypeKHR; 10557 10558typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR; 10559 10560typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR; 10561 10562typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR; 10563 10564typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR; 10565 10566typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR; 10567 10568typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR; 10569 10570typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR; 10571 10572typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR; 10573 10574typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue); 10575typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout); 10576typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo); 10577 10578#ifndef VK_NO_PROTOTYPES 10579VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR( 10580 VkDevice device, 10581 VkSemaphore semaphore, 10582 deUint64* pValue); 10583 10584VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR( 10585 VkDevice device, 10586 const VkSemaphoreWaitInfo* pWaitInfo, 10587 deUint64 timeout); 10588 10589VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR( 10590 VkDevice device, 10591 const VkSemaphoreSignalInfo* pSignalInfo); 10592#endif 10593 10594 10595#define VK_KHR_vulkan_memory_model 1 10596#define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 10597#define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" 10598typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR; 10599 10600 10601 10602#define VK_KHR_shader_terminate_invocation 1 10603#define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 10604#define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" 10605typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR; 10606 10607 10608 10609#define VK_KHR_fragment_shading_rate 1 10610#define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 10611#define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" 10612 10613typedef enum VkFragmentShadingRateCombinerOpKHR { 10614 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0, 10615 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1, 10616 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2, 10617 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3, 10618 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4, 10619 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF 10620} VkFragmentShadingRateCombinerOpKHR; 10621typedef struct VkFragmentShadingRateAttachmentInfoKHR { 10622 VkStructureType sType; 10623 const void* pNext; 10624 const VkAttachmentReference2* pFragmentShadingRateAttachment; 10625 VkExtent2D shadingRateAttachmentTexelSize; 10626} VkFragmentShadingRateAttachmentInfoKHR; 10627 10628typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR { 10629 VkStructureType sType; 10630 const void* pNext; 10631 VkExtent2D fragmentSize; 10632 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 10633} VkPipelineFragmentShadingRateStateCreateInfoKHR; 10634 10635typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR { 10636 VkStructureType sType; 10637 void* pNext; 10638 VkBool32 pipelineFragmentShadingRate; 10639 VkBool32 primitiveFragmentShadingRate; 10640 VkBool32 attachmentFragmentShadingRate; 10641} VkPhysicalDeviceFragmentShadingRateFeaturesKHR; 10642 10643typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR { 10644 VkStructureType sType; 10645 void* pNext; 10646 VkExtent2D minFragmentShadingRateAttachmentTexelSize; 10647 VkExtent2D maxFragmentShadingRateAttachmentTexelSize; 10648 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio; 10649 VkBool32 primitiveFragmentShadingRateWithMultipleViewports; 10650 VkBool32 layeredShadingRateAttachments; 10651 VkBool32 fragmentShadingRateNonTrivialCombinerOps; 10652 VkExtent2D maxFragmentSize; 10653 deUint32 maxFragmentSizeAspectRatio; 10654 deUint32 maxFragmentShadingRateCoverageSamples; 10655 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples; 10656 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites; 10657 VkBool32 fragmentShadingRateWithSampleMask; 10658 VkBool32 fragmentShadingRateWithShaderSampleMask; 10659 VkBool32 fragmentShadingRateWithConservativeRasterization; 10660 VkBool32 fragmentShadingRateWithFragmentShaderInterlock; 10661 VkBool32 fragmentShadingRateWithCustomSampleLocations; 10662 VkBool32 fragmentShadingRateStrictMultiplyCombiner; 10663} VkPhysicalDeviceFragmentShadingRatePropertiesKHR; 10664 10665typedef struct VkPhysicalDeviceFragmentShadingRateKHR { 10666 VkStructureType sType; 10667 void* pNext; 10668 VkSampleCountFlags sampleCounts; 10669 VkExtent2D fragmentSize; 10670} VkPhysicalDeviceFragmentShadingRateKHR; 10671 10672typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 10673typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 10674 10675#ifndef VK_NO_PROTOTYPES 10676VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR( 10677 VkPhysicalDevice physicalDevice, 10678 deUint32* pFragmentShadingRateCount, 10679 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates); 10680 10681VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR( 10682 VkCommandBuffer commandBuffer, 10683 const VkExtent2D* pFragmentSize, 10684 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 10685#endif 10686 10687 10688#define VK_KHR_spirv_1_4 1 10689#define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 10690#define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 10691 10692 10693#define VK_KHR_surface_protected_capabilities 1 10694#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 10695#define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" 10696typedef struct VkSurfaceProtectedCapabilitiesKHR { 10697 VkStructureType sType; 10698 const void* pNext; 10699 VkBool32 supportsProtected; 10700} VkSurfaceProtectedCapabilitiesKHR; 10701 10702 10703 10704#define VK_KHR_separate_depth_stencil_layouts 1 10705#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 10706#define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" 10707typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR; 10708 10709typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR; 10710 10711typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR; 10712 10713 10714 10715#define VK_KHR_present_wait 1 10716#define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 10717#define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" 10718typedef struct VkPhysicalDevicePresentWaitFeaturesKHR { 10719 VkStructureType sType; 10720 void* pNext; 10721 VkBool32 presentWait; 10722} VkPhysicalDevicePresentWaitFeaturesKHR; 10723 10724typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 presentId, deUint64 timeout); 10725 10726#ifndef VK_NO_PROTOTYPES 10727VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR( 10728 VkDevice device, 10729 VkSwapchainKHR swapchain, 10730 deUint64 presentId, 10731 deUint64 timeout); 10732#endif 10733 10734 10735#define VK_KHR_uniform_buffer_standard_layout 1 10736#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 10737#define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" 10738typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR; 10739 10740 10741 10742#define VK_KHR_buffer_device_address 1 10743#define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 10744#define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" 10745typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR; 10746 10747typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR; 10748 10749typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR; 10750 10751typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR; 10752 10753typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR; 10754 10755typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10756typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 10757typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 10758 10759#ifndef VK_NO_PROTOTYPES 10760VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR( 10761 VkDevice device, 10762 const VkBufferDeviceAddressInfo* pInfo); 10763 10764VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR( 10765 VkDevice device, 10766 const VkBufferDeviceAddressInfo* pInfo); 10767 10768VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR( 10769 VkDevice device, 10770 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo); 10771#endif 10772 10773 10774#define VK_KHR_deferred_host_operations 1 10775VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 10776#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 10777#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations" 10778typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation); 10779typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator); 10780typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation); 10781typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation); 10782typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation); 10783 10784#ifndef VK_NO_PROTOTYPES 10785VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR( 10786 VkDevice device, 10787 const VkAllocationCallbacks* pAllocator, 10788 VkDeferredOperationKHR* pDeferredOperation); 10789 10790VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR( 10791 VkDevice device, 10792 VkDeferredOperationKHR operation, 10793 const VkAllocationCallbacks* pAllocator); 10794 10795VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR( 10796 VkDevice device, 10797 VkDeferredOperationKHR operation); 10798 10799VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR( 10800 VkDevice device, 10801 VkDeferredOperationKHR operation); 10802 10803VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR( 10804 VkDevice device, 10805 VkDeferredOperationKHR operation); 10806#endif 10807 10808 10809#define VK_KHR_pipeline_executable_properties 1 10810#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 10811#define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" 10812 10813typedef enum VkPipelineExecutableStatisticFormatKHR { 10814 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0, 10815 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1, 10816 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2, 10817 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3, 10818 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF 10819} VkPipelineExecutableStatisticFormatKHR; 10820typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR { 10821 VkStructureType sType; 10822 void* pNext; 10823 VkBool32 pipelineExecutableInfo; 10824} VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR; 10825 10826typedef struct VkPipelineInfoKHR { 10827 VkStructureType sType; 10828 const void* pNext; 10829 VkPipeline pipeline; 10830} VkPipelineInfoKHR; 10831 10832typedef struct VkPipelineExecutablePropertiesKHR { 10833 VkStructureType sType; 10834 void* pNext; 10835 VkShaderStageFlags stages; 10836 char name[VK_MAX_DESCRIPTION_SIZE]; 10837 char description[VK_MAX_DESCRIPTION_SIZE]; 10838 deUint32 subgroupSize; 10839} VkPipelineExecutablePropertiesKHR; 10840 10841typedef struct VkPipelineExecutableInfoKHR { 10842 VkStructureType sType; 10843 const void* pNext; 10844 VkPipeline pipeline; 10845 deUint32 executableIndex; 10846} VkPipelineExecutableInfoKHR; 10847 10848typedef union VkPipelineExecutableStatisticValueKHR { 10849 VkBool32 b32; 10850 deInt64 i64; 10851 deUint64 u64; 10852 double f64; 10853} VkPipelineExecutableStatisticValueKHR; 10854 10855typedef struct VkPipelineExecutableStatisticKHR { 10856 VkStructureType sType; 10857 void* pNext; 10858 char name[VK_MAX_DESCRIPTION_SIZE]; 10859 char description[VK_MAX_DESCRIPTION_SIZE]; 10860 VkPipelineExecutableStatisticFormatKHR format; 10861 VkPipelineExecutableStatisticValueKHR value; 10862} VkPipelineExecutableStatisticKHR; 10863 10864typedef struct VkPipelineExecutableInternalRepresentationKHR { 10865 VkStructureType sType; 10866 void* pNext; 10867 char name[VK_MAX_DESCRIPTION_SIZE]; 10868 char description[VK_MAX_DESCRIPTION_SIZE]; 10869 VkBool32 isText; 10870 deUintptr dataSize; 10871 void* pData; 10872} VkPipelineExecutableInternalRepresentationKHR; 10873 10874typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties); 10875typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics); 10876typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 10877 10878#ifndef VK_NO_PROTOTYPES 10879VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR( 10880 VkDevice device, 10881 const VkPipelineInfoKHR* pPipelineInfo, 10882 deUint32* pExecutableCount, 10883 VkPipelineExecutablePropertiesKHR* pProperties); 10884 10885VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR( 10886 VkDevice device, 10887 const VkPipelineExecutableInfoKHR* pExecutableInfo, 10888 deUint32* pStatisticCount, 10889 VkPipelineExecutableStatisticKHR* pStatistics); 10890 10891VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR( 10892 VkDevice device, 10893 const VkPipelineExecutableInfoKHR* pExecutableInfo, 10894 deUint32* pInternalRepresentationCount, 10895 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations); 10896#endif 10897 10898 10899#define VK_KHR_shader_integer_dot_product 1 10900#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 10901#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" 10902typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; 10903 10904typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; 10905 10906 10907 10908#define VK_KHR_pipeline_library 1 10909#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 10910#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" 10911typedef struct VkPipelineLibraryCreateInfoKHR { 10912 VkStructureType sType; 10913 const void* pNext; 10914 deUint32 libraryCount; 10915 const VkPipeline* pLibraries; 10916} VkPipelineLibraryCreateInfoKHR; 10917 10918 10919 10920#define VK_KHR_shader_non_semantic_info 1 10921#define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 10922#define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 10923 10924 10925#define VK_KHR_present_id 1 10926#define VK_KHR_PRESENT_ID_SPEC_VERSION 1 10927#define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" 10928typedef struct VkPresentIdKHR { 10929 VkStructureType sType; 10930 const void* pNext; 10931 deUint32 swapchainCount; 10932 const deUint64* pPresentIds; 10933} VkPresentIdKHR; 10934 10935typedef struct VkPhysicalDevicePresentIdFeaturesKHR { 10936 VkStructureType sType; 10937 void* pNext; 10938 VkBool32 presentId; 10939} VkPhysicalDevicePresentIdFeaturesKHR; 10940 10941 10942 10943#define VK_KHR_synchronization2 1 10944#define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 10945#define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" 10946typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR; 10947 10948typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR; 10949 10950typedef VkAccessFlags2 VkAccessFlags2KHR; 10951 10952typedef VkAccessFlagBits2 VkAccessFlagBits2KHR; 10953 10954typedef VkSubmitFlagBits VkSubmitFlagBitsKHR; 10955 10956typedef VkSubmitFlags VkSubmitFlagsKHR; 10957 10958typedef VkMemoryBarrier2 VkMemoryBarrier2KHR; 10959 10960typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR; 10961 10962typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR; 10963 10964typedef VkDependencyInfo VkDependencyInfoKHR; 10965 10966typedef VkSubmitInfo2 VkSubmitInfo2KHR; 10967 10968typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR; 10969 10970typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR; 10971 10972typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR; 10973 10974typedef struct VkQueueFamilyCheckpointProperties2NV { 10975 VkStructureType sType; 10976 void* pNext; 10977 VkPipelineStageFlags2 checkpointExecutionStageMask; 10978} VkQueueFamilyCheckpointProperties2NV; 10979 10980typedef struct VkCheckpointData2NV { 10981 VkStructureType sType; 10982 void* pNext; 10983 VkPipelineStageFlags2 stage; 10984 void* pCheckpointMarker; 10985} VkCheckpointData2NV; 10986 10987typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo); 10988typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask); 10989typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos); 10990typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo); 10991typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query); 10992typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 10993typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker); 10994typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData); 10995 10996#ifndef VK_NO_PROTOTYPES 10997VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR( 10998 VkCommandBuffer commandBuffer, 10999 VkEvent event, 11000 const VkDependencyInfo* pDependencyInfo); 11001 11002VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR( 11003 VkCommandBuffer commandBuffer, 11004 VkEvent event, 11005 VkPipelineStageFlags2 stageMask); 11006 11007VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR( 11008 VkCommandBuffer commandBuffer, 11009 deUint32 eventCount, 11010 const VkEvent* pEvents, 11011 const VkDependencyInfo* pDependencyInfos); 11012 11013VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR( 11014 VkCommandBuffer commandBuffer, 11015 const VkDependencyInfo* pDependencyInfo); 11016 11017VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR( 11018 VkCommandBuffer commandBuffer, 11019 VkPipelineStageFlags2 stage, 11020 VkQueryPool queryPool, 11021 deUint32 query); 11022 11023VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR( 11024 VkQueue queue, 11025 deUint32 submitCount, 11026 const VkSubmitInfo2* pSubmits, 11027 VkFence fence); 11028 11029VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD( 11030 VkCommandBuffer commandBuffer, 11031 VkPipelineStageFlags2 stage, 11032 VkBuffer dstBuffer, 11033 VkDeviceSize dstOffset, 11034 deUint32 marker); 11035 11036VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV( 11037 VkQueue queue, 11038 deUint32* pCheckpointDataCount, 11039 VkCheckpointData2NV* pCheckpointData); 11040#endif 11041 11042 11043#define VK_KHR_fragment_shader_barycentric 1 11044#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 11045#define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric" 11046typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR { 11047 VkStructureType sType; 11048 void* pNext; 11049 VkBool32 fragmentShaderBarycentric; 11050} VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR; 11051 11052typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR { 11053 VkStructureType sType; 11054 void* pNext; 11055 VkBool32 triStripVertexOrderIndependentOfProvokingVertex; 11056} VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR; 11057 11058 11059 11060#define VK_KHR_shader_subgroup_uniform_control_flow 1 11061#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 11062#define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" 11063typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR { 11064 VkStructureType sType; 11065 void* pNext; 11066 VkBool32 shaderSubgroupUniformControlFlow; 11067} VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR; 11068 11069 11070 11071#define VK_KHR_zero_initialize_workgroup_memory 1 11072#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 11073#define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" 11074typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR; 11075 11076 11077 11078#define VK_KHR_workgroup_memory_explicit_layout 1 11079#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 11080#define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" 11081typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR { 11082 VkStructureType sType; 11083 void* pNext; 11084 VkBool32 workgroupMemoryExplicitLayout; 11085 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout; 11086 VkBool32 workgroupMemoryExplicitLayout8BitAccess; 11087 VkBool32 workgroupMemoryExplicitLayout16BitAccess; 11088} VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR; 11089 11090 11091 11092#define VK_KHR_copy_commands2 1 11093#define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 11094#define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" 11095typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR; 11096 11097typedef VkCopyImageInfo2 VkCopyImageInfo2KHR; 11098 11099typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR; 11100 11101typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR; 11102 11103typedef VkBlitImageInfo2 VkBlitImageInfo2KHR; 11104 11105typedef VkResolveImageInfo2 VkResolveImageInfo2KHR; 11106 11107typedef VkBufferCopy2 VkBufferCopy2KHR; 11108 11109typedef VkImageCopy2 VkImageCopy2KHR; 11110 11111typedef VkImageBlit2 VkImageBlit2KHR; 11112 11113typedef VkBufferImageCopy2 VkBufferImageCopy2KHR; 11114 11115typedef VkImageResolve2 VkImageResolve2KHR; 11116 11117typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo); 11118typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo); 11119typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 11120typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 11121typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo); 11122typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo); 11123 11124#ifndef VK_NO_PROTOTYPES 11125VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR( 11126 VkCommandBuffer commandBuffer, 11127 const VkCopyBufferInfo2* pCopyBufferInfo); 11128 11129VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR( 11130 VkCommandBuffer commandBuffer, 11131 const VkCopyImageInfo2* pCopyImageInfo); 11132 11133VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR( 11134 VkCommandBuffer commandBuffer, 11135 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo); 11136 11137VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR( 11138 VkCommandBuffer commandBuffer, 11139 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo); 11140 11141VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR( 11142 VkCommandBuffer commandBuffer, 11143 const VkBlitImageInfo2* pBlitImageInfo); 11144 11145VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR( 11146 VkCommandBuffer commandBuffer, 11147 const VkResolveImageInfo2* pResolveImageInfo); 11148#endif 11149 11150 11151#define VK_KHR_format_feature_flags2 1 11152#define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2 11153#define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" 11154typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR; 11155 11156typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR; 11157 11158typedef VkFormatProperties3 VkFormatProperties3KHR; 11159 11160 11161 11162#define VK_KHR_ray_tracing_maintenance1 1 11163#define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1 11164#define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1" 11165typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { 11166 VkStructureType sType; 11167 void* pNext; 11168 VkBool32 rayTracingMaintenance1; 11169 VkBool32 rayTracingPipelineTraceRaysIndirect2; 11170} VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR; 11171 11172typedef struct VkTraceRaysIndirectCommand2KHR { 11173 VkDeviceAddress raygenShaderRecordAddress; 11174 VkDeviceSize raygenShaderRecordSize; 11175 VkDeviceAddress missShaderBindingTableAddress; 11176 VkDeviceSize missShaderBindingTableSize; 11177 VkDeviceSize missShaderBindingTableStride; 11178 VkDeviceAddress hitShaderBindingTableAddress; 11179 VkDeviceSize hitShaderBindingTableSize; 11180 VkDeviceSize hitShaderBindingTableStride; 11181 VkDeviceAddress callableShaderBindingTableAddress; 11182 VkDeviceSize callableShaderBindingTableSize; 11183 VkDeviceSize callableShaderBindingTableStride; 11184 deUint32 width; 11185 deUint32 height; 11186 deUint32 depth; 11187} VkTraceRaysIndirectCommand2KHR; 11188 11189typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress); 11190 11191#ifndef VK_NO_PROTOTYPES 11192VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR( 11193 VkCommandBuffer commandBuffer, 11194 VkDeviceAddress indirectDeviceAddress); 11195#endif 11196 11197 11198#define VK_KHR_portability_enumeration 1 11199#define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1 11200#define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration" 11201 11202 11203#define VK_KHR_maintenance4 1 11204#define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 11205#define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" 11206typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR; 11207 11208typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR; 11209 11210typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR; 11211 11212typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR; 11213 11214typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11215typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements); 11216typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11217 11218#ifndef VK_NO_PROTOTYPES 11219VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR( 11220 VkDevice device, 11221 const VkDeviceBufferMemoryRequirements* pInfo, 11222 VkMemoryRequirements2* pMemoryRequirements); 11223 11224VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR( 11225 VkDevice device, 11226 const VkDeviceImageMemoryRequirements* pInfo, 11227 VkMemoryRequirements2* pMemoryRequirements); 11228 11229VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR( 11230 VkDevice device, 11231 const VkDeviceImageMemoryRequirements* pInfo, 11232 deUint32* pSparseMemoryRequirementCount, 11233 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements); 11234#endif 11235 11236 11237#define VK_EXT_debug_report 1 11238VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 11239#define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 11240#define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report" 11241 11242typedef enum VkDebugReportObjectTypeEXT { 11243 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0, 11244 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1, 11245 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2, 11246 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3, 11247 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4, 11248 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5, 11249 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6, 11250 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7, 11251 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8, 11252 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9, 11253 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10, 11254 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11, 11255 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12, 11256 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13, 11257 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14, 11258 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15, 11259 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16, 11260 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17, 11261 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18, 11262 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19, 11263 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20, 11264 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21, 11265 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22, 11266 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23, 11267 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24, 11268 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25, 11269 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26, 11270 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27, 11271 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28, 11272 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29, 11273 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30, 11274 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33, 11275 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000, 11276 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000, 11277 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000, 11278 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, 11279 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, 11280 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, 11281 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, 11282 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 11283 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, 11284 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT, 11285 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT, 11286 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 11287} VkDebugReportObjectTypeEXT; 11288 11289typedef enum VkDebugReportFlagBitsEXT { 11290 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001, 11291 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002, 11292 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004, 11293 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008, 11294 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010, 11295 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 11296} VkDebugReportFlagBitsEXT; 11297typedef VkFlags VkDebugReportFlagsEXT; 11298typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)( 11299 VkDebugReportFlagsEXT flags, 11300 VkDebugReportObjectTypeEXT objectType, 11301 deUint64 object, 11302 deUintptr location, 11303 deInt32 messageCode, 11304 const char* pLayerPrefix, 11305 const char* pMessage, 11306 void* pUserData); 11307 11308typedef struct VkDebugReportCallbackCreateInfoEXT { 11309 VkStructureType sType; 11310 const void* pNext; 11311 VkDebugReportFlagsEXT flags; 11312 PFN_vkDebugReportCallbackEXT pfnCallback; 11313 void* pUserData; 11314} VkDebugReportCallbackCreateInfoEXT; 11315 11316typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback); 11317typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator); 11318typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage); 11319 11320#ifndef VK_NO_PROTOTYPES 11321VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT( 11322 VkInstance instance, 11323 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, 11324 const VkAllocationCallbacks* pAllocator, 11325 VkDebugReportCallbackEXT* pCallback); 11326 11327VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT( 11328 VkInstance instance, 11329 VkDebugReportCallbackEXT callback, 11330 const VkAllocationCallbacks* pAllocator); 11331 11332VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT( 11333 VkInstance instance, 11334 VkDebugReportFlagsEXT flags, 11335 VkDebugReportObjectTypeEXT objectType, 11336 deUint64 object, 11337 deUintptr location, 11338 deInt32 messageCode, 11339 const char* pLayerPrefix, 11340 const char* pMessage); 11341#endif 11342 11343 11344#define VK_NV_glsl_shader 1 11345#define VK_NV_GLSL_SHADER_SPEC_VERSION 1 11346#define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 11347 11348 11349#define VK_EXT_depth_range_unrestricted 1 11350#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 11351#define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 11352 11353 11354#define VK_IMG_filter_cubic 1 11355#define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 11356#define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 11357 11358 11359#define VK_AMD_rasterization_order 1 11360#define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 11361#define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" 11362 11363typedef enum VkRasterizationOrderAMD { 11364 VK_RASTERIZATION_ORDER_STRICT_AMD = 0, 11365 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1, 11366 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF 11367} VkRasterizationOrderAMD; 11368typedef struct VkPipelineRasterizationStateRasterizationOrderAMD { 11369 VkStructureType sType; 11370 const void* pNext; 11371 VkRasterizationOrderAMD rasterizationOrder; 11372} VkPipelineRasterizationStateRasterizationOrderAMD; 11373 11374 11375 11376#define VK_AMD_shader_trinary_minmax 1 11377#define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 11378#define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 11379 11380 11381#define VK_AMD_shader_explicit_vertex_parameter 1 11382#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 11383#define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 11384 11385 11386#define VK_EXT_debug_marker 1 11387#define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 11388#define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" 11389typedef struct VkDebugMarkerObjectNameInfoEXT { 11390 VkStructureType sType; 11391 const void* pNext; 11392 VkDebugReportObjectTypeEXT objectType; 11393 deUint64 object; 11394 const char* pObjectName; 11395} VkDebugMarkerObjectNameInfoEXT; 11396 11397typedef struct VkDebugMarkerObjectTagInfoEXT { 11398 VkStructureType sType; 11399 const void* pNext; 11400 VkDebugReportObjectTypeEXT objectType; 11401 deUint64 object; 11402 deUint64 tagName; 11403 deUintptr tagSize; 11404 const void* pTag; 11405} VkDebugMarkerObjectTagInfoEXT; 11406 11407typedef struct VkDebugMarkerMarkerInfoEXT { 11408 VkStructureType sType; 11409 const void* pNext; 11410 const char* pMarkerName; 11411 float color[4]; 11412} VkDebugMarkerMarkerInfoEXT; 11413 11414typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 11415typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 11416typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11417typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer); 11418typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11419 11420#ifndef VK_NO_PROTOTYPES 11421VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT( 11422 VkDevice device, 11423 const VkDebugMarkerObjectTagInfoEXT* pTagInfo); 11424 11425VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT( 11426 VkDevice device, 11427 const VkDebugMarkerObjectNameInfoEXT* pNameInfo); 11428 11429VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT( 11430 VkCommandBuffer commandBuffer, 11431 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11432 11433VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT( 11434 VkCommandBuffer commandBuffer); 11435 11436VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT( 11437 VkCommandBuffer commandBuffer, 11438 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo); 11439#endif 11440 11441 11442#define VK_AMD_gcn_shader 1 11443#define VK_AMD_GCN_SHADER_SPEC_VERSION 1 11444#define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 11445 11446 11447#define VK_NV_dedicated_allocation 1 11448#define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 11449#define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" 11450typedef struct VkDedicatedAllocationImageCreateInfoNV { 11451 VkStructureType sType; 11452 const void* pNext; 11453 VkBool32 dedicatedAllocation; 11454} VkDedicatedAllocationImageCreateInfoNV; 11455 11456typedef struct VkDedicatedAllocationBufferCreateInfoNV { 11457 VkStructureType sType; 11458 const void* pNext; 11459 VkBool32 dedicatedAllocation; 11460} VkDedicatedAllocationBufferCreateInfoNV; 11461 11462typedef struct VkDedicatedAllocationMemoryAllocateInfoNV { 11463 VkStructureType sType; 11464 const void* pNext; 11465 VkImage image; 11466 VkBuffer buffer; 11467} VkDedicatedAllocationMemoryAllocateInfoNV; 11468 11469 11470 11471#define VK_EXT_transform_feedback 1 11472#define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 11473#define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" 11474typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT; 11475typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT { 11476 VkStructureType sType; 11477 void* pNext; 11478 VkBool32 transformFeedback; 11479 VkBool32 geometryStreams; 11480} VkPhysicalDeviceTransformFeedbackFeaturesEXT; 11481 11482typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT { 11483 VkStructureType sType; 11484 void* pNext; 11485 deUint32 maxTransformFeedbackStreams; 11486 deUint32 maxTransformFeedbackBuffers; 11487 VkDeviceSize maxTransformFeedbackBufferSize; 11488 deUint32 maxTransformFeedbackStreamDataSize; 11489 deUint32 maxTransformFeedbackBufferDataSize; 11490 deUint32 maxTransformFeedbackBufferDataStride; 11491 VkBool32 transformFeedbackQueries; 11492 VkBool32 transformFeedbackStreamsLinesTriangles; 11493 VkBool32 transformFeedbackRasterizationStreamSelect; 11494 VkBool32 transformFeedbackDraw; 11495} VkPhysicalDeviceTransformFeedbackPropertiesEXT; 11496 11497typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT { 11498 VkStructureType sType; 11499 const void* pNext; 11500 VkPipelineRasterizationStateStreamCreateFlagsEXT flags; 11501 deUint32 rasterizationStream; 11502} VkPipelineRasterizationStateStreamCreateInfoEXT; 11503 11504typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes); 11505typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 11506typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets); 11507typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index); 11508typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index); 11509typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride); 11510 11511#ifndef VK_NO_PROTOTYPES 11512VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT( 11513 VkCommandBuffer commandBuffer, 11514 deUint32 firstBinding, 11515 deUint32 bindingCount, 11516 const VkBuffer* pBuffers, 11517 const VkDeviceSize* pOffsets, 11518 const VkDeviceSize* pSizes); 11519 11520VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT( 11521 VkCommandBuffer commandBuffer, 11522 deUint32 firstCounterBuffer, 11523 deUint32 counterBufferCount, 11524 const VkBuffer* pCounterBuffers, 11525 const VkDeviceSize* pCounterBufferOffsets); 11526 11527VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT( 11528 VkCommandBuffer commandBuffer, 11529 deUint32 firstCounterBuffer, 11530 deUint32 counterBufferCount, 11531 const VkBuffer* pCounterBuffers, 11532 const VkDeviceSize* pCounterBufferOffsets); 11533 11534VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT( 11535 VkCommandBuffer commandBuffer, 11536 VkQueryPool queryPool, 11537 deUint32 query, 11538 VkQueryControlFlags flags, 11539 deUint32 index); 11540 11541VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT( 11542 VkCommandBuffer commandBuffer, 11543 VkQueryPool queryPool, 11544 deUint32 query, 11545 deUint32 index); 11546 11547VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT( 11548 VkCommandBuffer commandBuffer, 11549 deUint32 instanceCount, 11550 deUint32 firstInstance, 11551 VkBuffer counterBuffer, 11552 VkDeviceSize counterBufferOffset, 11553 deUint32 counterOffset, 11554 deUint32 vertexStride); 11555#endif 11556 11557 11558#define VK_NVX_binary_import 1 11559VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) 11560VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) 11561#define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1 11562#define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import" 11563typedef struct VkCuModuleCreateInfoNVX { 11564 VkStructureType sType; 11565 const void* pNext; 11566 deUintptr dataSize; 11567 const void* pData; 11568} VkCuModuleCreateInfoNVX; 11569 11570typedef struct VkCuFunctionCreateInfoNVX { 11571 VkStructureType sType; 11572 const void* pNext; 11573 VkCuModuleNVX module; 11574 const char* pName; 11575} VkCuFunctionCreateInfoNVX; 11576 11577typedef struct VkCuLaunchInfoNVX { 11578 VkStructureType sType; 11579 const void* pNext; 11580 VkCuFunctionNVX function; 11581 deUint32 gridDimX; 11582 deUint32 gridDimY; 11583 deUint32 gridDimZ; 11584 deUint32 blockDimX; 11585 deUint32 blockDimY; 11586 deUint32 blockDimZ; 11587 deUint32 sharedMemBytes; 11588 deUintptr paramCount; 11589 const void* const * pParams; 11590 deUintptr extraCount; 11591 const void* const * pExtras; 11592} VkCuLaunchInfoNVX; 11593 11594typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule); 11595typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction); 11596typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator); 11597typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator); 11598typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo); 11599 11600#ifndef VK_NO_PROTOTYPES 11601VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX( 11602 VkDevice device, 11603 const VkCuModuleCreateInfoNVX* pCreateInfo, 11604 const VkAllocationCallbacks* pAllocator, 11605 VkCuModuleNVX* pModule); 11606 11607VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX( 11608 VkDevice device, 11609 const VkCuFunctionCreateInfoNVX* pCreateInfo, 11610 const VkAllocationCallbacks* pAllocator, 11611 VkCuFunctionNVX* pFunction); 11612 11613VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX( 11614 VkDevice device, 11615 VkCuModuleNVX module, 11616 const VkAllocationCallbacks* pAllocator); 11617 11618VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX( 11619 VkDevice device, 11620 VkCuFunctionNVX function, 11621 const VkAllocationCallbacks* pAllocator); 11622 11623VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX( 11624 VkCommandBuffer commandBuffer, 11625 const VkCuLaunchInfoNVX* pLaunchInfo); 11626#endif 11627 11628 11629#define VK_NVX_image_view_handle 1 11630#define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 11631#define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" 11632typedef struct VkImageViewHandleInfoNVX { 11633 VkStructureType sType; 11634 const void* pNext; 11635 VkImageView imageView; 11636 VkDescriptorType descriptorType; 11637 VkSampler sampler; 11638} VkImageViewHandleInfoNVX; 11639 11640typedef struct VkImageViewAddressPropertiesNVX { 11641 VkStructureType sType; 11642 void* pNext; 11643 VkDeviceAddress deviceAddress; 11644 VkDeviceSize size; 11645} VkImageViewAddressPropertiesNVX; 11646 11647typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo); 11648typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties); 11649 11650#ifndef VK_NO_PROTOTYPES 11651VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX( 11652 VkDevice device, 11653 const VkImageViewHandleInfoNVX* pInfo); 11654 11655VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX( 11656 VkDevice device, 11657 VkImageView imageView, 11658 VkImageViewAddressPropertiesNVX* pProperties); 11659#endif 11660 11661 11662#define VK_AMD_draw_indirect_count 1 11663#define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 11664#define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" 11665typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); 11666typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); 11667 11668#ifndef VK_NO_PROTOTYPES 11669VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD( 11670 VkCommandBuffer commandBuffer, 11671 VkBuffer buffer, 11672 VkDeviceSize offset, 11673 VkBuffer countBuffer, 11674 VkDeviceSize countBufferOffset, 11675 deUint32 maxDrawCount, 11676 deUint32 stride); 11677 11678VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD( 11679 VkCommandBuffer commandBuffer, 11680 VkBuffer buffer, 11681 VkDeviceSize offset, 11682 VkBuffer countBuffer, 11683 VkDeviceSize countBufferOffset, 11684 deUint32 maxDrawCount, 11685 deUint32 stride); 11686#endif 11687 11688 11689#define VK_AMD_negative_viewport_height 1 11690#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 11691#define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 11692 11693 11694#define VK_AMD_gpu_shader_half_float 1 11695#define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 11696#define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 11697 11698 11699#define VK_AMD_shader_ballot 1 11700#define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 11701#define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 11702 11703 11704#define VK_AMD_texture_gather_bias_lod 1 11705#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 11706#define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" 11707typedef struct VkTextureLODGatherFormatPropertiesAMD { 11708 VkStructureType sType; 11709 void* pNext; 11710 VkBool32 supportsTextureGatherLODBiasAMD; 11711} VkTextureLODGatherFormatPropertiesAMD; 11712 11713 11714 11715#define VK_AMD_shader_info 1 11716#define VK_AMD_SHADER_INFO_SPEC_VERSION 1 11717#define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" 11718 11719typedef enum VkShaderInfoTypeAMD { 11720 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0, 11721 VK_SHADER_INFO_TYPE_BINARY_AMD = 1, 11722 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2, 11723 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF 11724} VkShaderInfoTypeAMD; 11725typedef struct VkShaderResourceUsageAMD { 11726 deUint32 numUsedVgprs; 11727 deUint32 numUsedSgprs; 11728 deUint32 ldsSizePerLocalWorkGroup; 11729 deUintptr ldsUsageSizeInBytes; 11730 deUintptr scratchMemUsageInBytes; 11731} VkShaderResourceUsageAMD; 11732 11733typedef struct VkShaderStatisticsInfoAMD { 11734 VkShaderStageFlags shaderStageMask; 11735 VkShaderResourceUsageAMD resourceUsage; 11736 deUint32 numPhysicalVgprs; 11737 deUint32 numPhysicalSgprs; 11738 deUint32 numAvailableVgprs; 11739 deUint32 numAvailableSgprs; 11740 deUint32 computeWorkGroupSize[3]; 11741} VkShaderStatisticsInfoAMD; 11742 11743typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo); 11744 11745#ifndef VK_NO_PROTOTYPES 11746VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD( 11747 VkDevice device, 11748 VkPipeline pipeline, 11749 VkShaderStageFlagBits shaderStage, 11750 VkShaderInfoTypeAMD infoType, 11751 deUintptr* pInfoSize, 11752 void* pInfo); 11753#endif 11754 11755 11756#define VK_AMD_shader_image_load_store_lod 1 11757#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 11758#define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 11759 11760 11761#define VK_NV_corner_sampled_image 1 11762#define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 11763#define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" 11764typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV { 11765 VkStructureType sType; 11766 void* pNext; 11767 VkBool32 cornerSampledImage; 11768} VkPhysicalDeviceCornerSampledImageFeaturesNV; 11769 11770 11771 11772#define VK_IMG_format_pvrtc 1 11773#define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 11774#define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 11775 11776 11777#define VK_NV_external_memory_capabilities 1 11778#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 11779#define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" 11780 11781typedef enum VkExternalMemoryHandleTypeFlagBitsNV { 11782 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001, 11783 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002, 11784 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004, 11785 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008, 11786 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 11787} VkExternalMemoryHandleTypeFlagBitsNV; 11788typedef VkFlags VkExternalMemoryHandleTypeFlagsNV; 11789 11790typedef enum VkExternalMemoryFeatureFlagBitsNV { 11791 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001, 11792 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002, 11793 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004, 11794 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 11795} VkExternalMemoryFeatureFlagBitsNV; 11796typedef VkFlags VkExternalMemoryFeatureFlagsNV; 11797typedef struct VkExternalImageFormatPropertiesNV { 11798 VkImageFormatProperties imageFormatProperties; 11799 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures; 11800 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes; 11801 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes; 11802} VkExternalImageFormatPropertiesNV; 11803 11804typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 11805 11806#ifndef VK_NO_PROTOTYPES 11807VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV( 11808 VkPhysicalDevice physicalDevice, 11809 VkFormat format, 11810 VkImageType type, 11811 VkImageTiling tiling, 11812 VkImageUsageFlags usage, 11813 VkImageCreateFlags flags, 11814 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 11815 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 11816#endif 11817 11818 11819#define VK_NV_external_memory 1 11820#define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 11821#define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" 11822typedef struct VkExternalMemoryImageCreateInfoNV { 11823 VkStructureType sType; 11824 const void* pNext; 11825 VkExternalMemoryHandleTypeFlagsNV handleTypes; 11826} VkExternalMemoryImageCreateInfoNV; 11827 11828typedef struct VkExportMemoryAllocateInfoNV { 11829 VkStructureType sType; 11830 const void* pNext; 11831 VkExternalMemoryHandleTypeFlagsNV handleTypes; 11832} VkExportMemoryAllocateInfoNV; 11833 11834 11835 11836#define VK_EXT_validation_flags 1 11837#define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2 11838#define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 11839 11840typedef enum VkValidationCheckEXT { 11841 VK_VALIDATION_CHECK_ALL_EXT = 0, 11842 VK_VALIDATION_CHECK_SHADERS_EXT = 1, 11843 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF 11844} VkValidationCheckEXT; 11845typedef struct VkValidationFlagsEXT { 11846 VkStructureType sType; 11847 const void* pNext; 11848 deUint32 disabledValidationCheckCount; 11849 const VkValidationCheckEXT* pDisabledValidationChecks; 11850} VkValidationFlagsEXT; 11851 11852 11853 11854#define VK_EXT_shader_subgroup_ballot 1 11855#define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 11856#define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 11857 11858 11859#define VK_EXT_shader_subgroup_vote 1 11860#define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 11861#define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 11862 11863 11864#define VK_EXT_texture_compression_astc_hdr 1 11865#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 11866#define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" 11867typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT; 11868 11869 11870 11871#define VK_EXT_astc_decode_mode 1 11872#define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 11873#define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" 11874typedef struct VkImageViewASTCDecodeModeEXT { 11875 VkStructureType sType; 11876 const void* pNext; 11877 VkFormat decodeMode; 11878} VkImageViewASTCDecodeModeEXT; 11879 11880typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT { 11881 VkStructureType sType; 11882 void* pNext; 11883 VkBool32 decodeModeSharedExponent; 11884} VkPhysicalDeviceASTCDecodeFeaturesEXT; 11885 11886 11887 11888#define VK_EXT_pipeline_robustness 1 11889#define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1 11890#define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness" 11891 11892typedef enum VkPipelineRobustnessBufferBehaviorEXT { 11893 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 11894 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1, 11895 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2, 11896 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3, 11897 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 11898} VkPipelineRobustnessBufferBehaviorEXT; 11899 11900typedef enum VkPipelineRobustnessImageBehaviorEXT { 11901 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0, 11902 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1, 11903 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2, 11904 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3, 11905 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF 11906} VkPipelineRobustnessImageBehaviorEXT; 11907typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT { 11908 VkStructureType sType; 11909 void* pNext; 11910 VkBool32 pipelineRobustness; 11911} VkPhysicalDevicePipelineRobustnessFeaturesEXT; 11912 11913typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT { 11914 VkStructureType sType; 11915 void* pNext; 11916 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers; 11917 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers; 11918 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs; 11919 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages; 11920} VkPhysicalDevicePipelineRobustnessPropertiesEXT; 11921 11922typedef struct VkPipelineRobustnessCreateInfoEXT { 11923 VkStructureType sType; 11924 const void* pNext; 11925 VkPipelineRobustnessBufferBehaviorEXT storageBuffers; 11926 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers; 11927 VkPipelineRobustnessBufferBehaviorEXT vertexInputs; 11928 VkPipelineRobustnessImageBehaviorEXT images; 11929} VkPipelineRobustnessCreateInfoEXT; 11930 11931 11932 11933#define VK_EXT_conditional_rendering 1 11934#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 11935#define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" 11936 11937typedef enum VkConditionalRenderingFlagBitsEXT { 11938 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001, 11939 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 11940} VkConditionalRenderingFlagBitsEXT; 11941typedef VkFlags VkConditionalRenderingFlagsEXT; 11942typedef struct VkConditionalRenderingBeginInfoEXT { 11943 VkStructureType sType; 11944 const void* pNext; 11945 VkBuffer buffer; 11946 VkDeviceSize offset; 11947 VkConditionalRenderingFlagsEXT flags; 11948} VkConditionalRenderingBeginInfoEXT; 11949 11950typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT { 11951 VkStructureType sType; 11952 void* pNext; 11953 VkBool32 conditionalRendering; 11954 VkBool32 inheritedConditionalRendering; 11955} VkPhysicalDeviceConditionalRenderingFeaturesEXT; 11956 11957typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT { 11958 VkStructureType sType; 11959 const void* pNext; 11960 VkBool32 conditionalRenderingEnable; 11961} VkCommandBufferInheritanceConditionalRenderingInfoEXT; 11962 11963typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 11964typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer); 11965 11966#ifndef VK_NO_PROTOTYPES 11967VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT( 11968 VkCommandBuffer commandBuffer, 11969 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin); 11970 11971VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT( 11972 VkCommandBuffer commandBuffer); 11973#endif 11974 11975 11976#define VK_NV_clip_space_w_scaling 1 11977#define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 11978#define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" 11979typedef struct VkViewportWScalingNV { 11980 float xcoeff; 11981 float ycoeff; 11982} VkViewportWScalingNV; 11983 11984typedef struct VkPipelineViewportWScalingStateCreateInfoNV { 11985 VkStructureType sType; 11986 const void* pNext; 11987 VkBool32 viewportWScalingEnable; 11988 deUint32 viewportCount; 11989 const VkViewportWScalingNV* pViewportWScalings; 11990} VkPipelineViewportWScalingStateCreateInfoNV; 11991 11992typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings); 11993 11994#ifndef VK_NO_PROTOTYPES 11995VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV( 11996 VkCommandBuffer commandBuffer, 11997 deUint32 firstViewport, 11998 deUint32 viewportCount, 11999 const VkViewportWScalingNV* pViewportWScalings); 12000#endif 12001 12002 12003#define VK_EXT_direct_mode_display 1 12004#define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 12005#define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" 12006typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 12007 12008#ifndef VK_NO_PROTOTYPES 12009VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT( 12010 VkPhysicalDevice physicalDevice, 12011 VkDisplayKHR display); 12012#endif 12013 12014 12015#define VK_EXT_display_surface_counter 1 12016#define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 12017#define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" 12018 12019typedef enum VkSurfaceCounterFlagBitsEXT { 12020 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001, 12021 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT, 12022 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12023} VkSurfaceCounterFlagBitsEXT; 12024typedef VkFlags VkSurfaceCounterFlagsEXT; 12025typedef struct VkSurfaceCapabilities2EXT { 12026 VkStructureType sType; 12027 void* pNext; 12028 deUint32 minImageCount; 12029 deUint32 maxImageCount; 12030 VkExtent2D currentExtent; 12031 VkExtent2D minImageExtent; 12032 VkExtent2D maxImageExtent; 12033 deUint32 maxImageArrayLayers; 12034 VkSurfaceTransformFlagsKHR supportedTransforms; 12035 VkSurfaceTransformFlagBitsKHR currentTransform; 12036 VkCompositeAlphaFlagsKHR supportedCompositeAlpha; 12037 VkImageUsageFlags supportedUsageFlags; 12038 VkSurfaceCounterFlagsEXT supportedSurfaceCounters; 12039} VkSurfaceCapabilities2EXT; 12040 12041typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 12042 12043#ifndef VK_NO_PROTOTYPES 12044VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT( 12045 VkPhysicalDevice physicalDevice, 12046 VkSurfaceKHR surface, 12047 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 12048#endif 12049 12050 12051#define VK_EXT_display_control 1 12052#define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 12053#define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" 12054 12055typedef enum VkDisplayPowerStateEXT { 12056 VK_DISPLAY_POWER_STATE_OFF_EXT = 0, 12057 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1, 12058 VK_DISPLAY_POWER_STATE_ON_EXT = 2, 12059 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF 12060} VkDisplayPowerStateEXT; 12061 12062typedef enum VkDeviceEventTypeEXT { 12063 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0, 12064 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12065} VkDeviceEventTypeEXT; 12066 12067typedef enum VkDisplayEventTypeEXT { 12068 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0, 12069 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 12070} VkDisplayEventTypeEXT; 12071typedef struct VkDisplayPowerInfoEXT { 12072 VkStructureType sType; 12073 const void* pNext; 12074 VkDisplayPowerStateEXT powerState; 12075} VkDisplayPowerInfoEXT; 12076 12077typedef struct VkDeviceEventInfoEXT { 12078 VkStructureType sType; 12079 const void* pNext; 12080 VkDeviceEventTypeEXT deviceEvent; 12081} VkDeviceEventInfoEXT; 12082 12083typedef struct VkDisplayEventInfoEXT { 12084 VkStructureType sType; 12085 const void* pNext; 12086 VkDisplayEventTypeEXT displayEvent; 12087} VkDisplayEventInfoEXT; 12088 12089typedef struct VkSwapchainCounterCreateInfoEXT { 12090 VkStructureType sType; 12091 const void* pNext; 12092 VkSurfaceCounterFlagsEXT surfaceCounters; 12093} VkSwapchainCounterCreateInfoEXT; 12094 12095typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 12096typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 12097typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence); 12098typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue); 12099 12100#ifndef VK_NO_PROTOTYPES 12101VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT( 12102 VkDevice device, 12103 VkDisplayKHR display, 12104 const VkDisplayPowerInfoEXT* pDisplayPowerInfo); 12105 12106VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT( 12107 VkDevice device, 12108 const VkDeviceEventInfoEXT* pDeviceEventInfo, 12109 const VkAllocationCallbacks* pAllocator, 12110 VkFence* pFence); 12111 12112VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT( 12113 VkDevice device, 12114 VkDisplayKHR display, 12115 const VkDisplayEventInfoEXT* pDisplayEventInfo, 12116 const VkAllocationCallbacks* pAllocator, 12117 VkFence* pFence); 12118 12119VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT( 12120 VkDevice device, 12121 VkSwapchainKHR swapchain, 12122 VkSurfaceCounterFlagBitsEXT counter, 12123 deUint64* pCounterValue); 12124#endif 12125 12126 12127#define VK_GOOGLE_display_timing 1 12128#define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 12129#define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" 12130typedef struct VkRefreshCycleDurationGOOGLE { 12131 deUint64 refreshDuration; 12132} VkRefreshCycleDurationGOOGLE; 12133 12134typedef struct VkPastPresentationTimingGOOGLE { 12135 deUint32 presentID; 12136 deUint64 desiredPresentTime; 12137 deUint64 actualPresentTime; 12138 deUint64 earliestPresentTime; 12139 deUint64 presentMargin; 12140} VkPastPresentationTimingGOOGLE; 12141 12142typedef struct VkPresentTimeGOOGLE { 12143 deUint32 presentID; 12144 deUint64 desiredPresentTime; 12145} VkPresentTimeGOOGLE; 12146 12147typedef struct VkPresentTimesInfoGOOGLE { 12148 VkStructureType sType; 12149 const void* pNext; 12150 deUint32 swapchainCount; 12151 const VkPresentTimeGOOGLE* pTimes; 12152} VkPresentTimesInfoGOOGLE; 12153 12154typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 12155typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings); 12156 12157#ifndef VK_NO_PROTOTYPES 12158VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE( 12159 VkDevice device, 12160 VkSwapchainKHR swapchain, 12161 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties); 12162 12163VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE( 12164 VkDevice device, 12165 VkSwapchainKHR swapchain, 12166 deUint32* pPresentationTimingCount, 12167 VkPastPresentationTimingGOOGLE* pPresentationTimings); 12168#endif 12169 12170 12171#define VK_NV_sample_mask_override_coverage 1 12172#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 12173#define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 12174 12175 12176#define VK_NV_geometry_shader_passthrough 1 12177#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 12178#define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 12179 12180 12181#define VK_NV_viewport_array2 1 12182#define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 12183#define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" 12184#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 12185#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME 12186 12187 12188#define VK_NVX_multiview_per_view_attributes 1 12189#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 12190#define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" 12191typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX { 12192 VkStructureType sType; 12193 void* pNext; 12194 VkBool32 perViewPositionAllComponents; 12195} VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX; 12196 12197 12198 12199#define VK_NV_viewport_swizzle 1 12200#define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 12201#define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" 12202 12203typedef enum VkViewportCoordinateSwizzleNV { 12204 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0, 12205 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1, 12206 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2, 12207 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3, 12208 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4, 12209 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5, 12210 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6, 12211 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7, 12212 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF 12213} VkViewportCoordinateSwizzleNV; 12214typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV; 12215typedef struct VkViewportSwizzleNV { 12216 VkViewportCoordinateSwizzleNV x; 12217 VkViewportCoordinateSwizzleNV y; 12218 VkViewportCoordinateSwizzleNV z; 12219 VkViewportCoordinateSwizzleNV w; 12220} VkViewportSwizzleNV; 12221 12222typedef struct VkPipelineViewportSwizzleStateCreateInfoNV { 12223 VkStructureType sType; 12224 const void* pNext; 12225 VkPipelineViewportSwizzleStateCreateFlagsNV flags; 12226 deUint32 viewportCount; 12227 const VkViewportSwizzleNV* pViewportSwizzles; 12228} VkPipelineViewportSwizzleStateCreateInfoNV; 12229 12230 12231 12232#define VK_EXT_discard_rectangles 1 12233#define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 12234#define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 12235 12236typedef enum VkDiscardRectangleModeEXT { 12237 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0, 12238 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1, 12239 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 12240} VkDiscardRectangleModeEXT; 12241typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT; 12242typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT { 12243 VkStructureType sType; 12244 void* pNext; 12245 deUint32 maxDiscardRectangles; 12246} VkPhysicalDeviceDiscardRectanglePropertiesEXT; 12247 12248typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT { 12249 VkStructureType sType; 12250 const void* pNext; 12251 VkPipelineDiscardRectangleStateCreateFlagsEXT flags; 12252 VkDiscardRectangleModeEXT discardRectangleMode; 12253 deUint32 discardRectangleCount; 12254 const VkRect2D* pDiscardRectangles; 12255} VkPipelineDiscardRectangleStateCreateInfoEXT; 12256 12257typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles); 12258 12259#ifndef VK_NO_PROTOTYPES 12260VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( 12261 VkCommandBuffer commandBuffer, 12262 deUint32 firstDiscardRectangle, 12263 deUint32 discardRectangleCount, 12264 const VkRect2D* pDiscardRectangles); 12265#endif 12266 12267 12268#define VK_EXT_conservative_rasterization 1 12269#define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 12270#define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" 12271 12272typedef enum VkConservativeRasterizationModeEXT { 12273 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0, 12274 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1, 12275 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2, 12276 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 12277} VkConservativeRasterizationModeEXT; 12278typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT; 12279typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT { 12280 VkStructureType sType; 12281 void* pNext; 12282 float primitiveOverestimationSize; 12283 float maxExtraPrimitiveOverestimationSize; 12284 float extraPrimitiveOverestimationSizeGranularity; 12285 VkBool32 primitiveUnderestimation; 12286 VkBool32 conservativePointAndLineRasterization; 12287 VkBool32 degenerateTrianglesRasterized; 12288 VkBool32 degenerateLinesRasterized; 12289 VkBool32 fullyCoveredFragmentShaderInputVariable; 12290 VkBool32 conservativeRasterizationPostDepthCoverage; 12291} VkPhysicalDeviceConservativeRasterizationPropertiesEXT; 12292 12293typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT { 12294 VkStructureType sType; 12295 const void* pNext; 12296 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags; 12297 VkConservativeRasterizationModeEXT conservativeRasterizationMode; 12298 float extraPrimitiveOverestimationSize; 12299} VkPipelineRasterizationConservativeStateCreateInfoEXT; 12300 12301 12302 12303#define VK_EXT_depth_clip_enable 1 12304#define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 12305#define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" 12306typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT; 12307typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT { 12308 VkStructureType sType; 12309 void* pNext; 12310 VkBool32 depthClipEnable; 12311} VkPhysicalDeviceDepthClipEnableFeaturesEXT; 12312 12313typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT { 12314 VkStructureType sType; 12315 const void* pNext; 12316 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags; 12317 VkBool32 depthClipEnable; 12318} VkPipelineRasterizationDepthClipStateCreateInfoEXT; 12319 12320 12321 12322#define VK_EXT_swapchain_colorspace 1 12323#define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 12324#define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 12325 12326 12327#define VK_EXT_hdr_metadata 1 12328#define VK_EXT_HDR_METADATA_SPEC_VERSION 2 12329#define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" 12330typedef struct VkXYColorEXT { 12331 float x; 12332 float y; 12333} VkXYColorEXT; 12334 12335typedef struct VkHdrMetadataEXT { 12336 VkStructureType sType; 12337 const void* pNext; 12338 VkXYColorEXT displayPrimaryRed; 12339 VkXYColorEXT displayPrimaryGreen; 12340 VkXYColorEXT displayPrimaryBlue; 12341 VkXYColorEXT whitePoint; 12342 float maxLuminance; 12343 float minLuminance; 12344 float maxContentLightLevel; 12345 float maxFrameAverageLightLevel; 12346} VkHdrMetadataEXT; 12347 12348typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata); 12349 12350#ifndef VK_NO_PROTOTYPES 12351VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT( 12352 VkDevice device, 12353 deUint32 swapchainCount, 12354 const VkSwapchainKHR* pSwapchains, 12355 const VkHdrMetadataEXT* pMetadata); 12356#endif 12357 12358 12359#define VK_EXT_external_memory_dma_buf 1 12360#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 12361#define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 12362 12363 12364#define VK_EXT_queue_family_foreign 1 12365#define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 12366#define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 12367#define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 12368 12369 12370#define VK_EXT_debug_utils 1 12371VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 12372#define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 12373#define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils" 12374typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT; 12375 12376typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT { 12377 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001, 12378 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010, 12379 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100, 12380 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000, 12381 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12382} VkDebugUtilsMessageSeverityFlagBitsEXT; 12383 12384typedef enum VkDebugUtilsMessageTypeFlagBitsEXT { 12385 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 12386 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 12387 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 12388 VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008, 12389 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 12390} VkDebugUtilsMessageTypeFlagBitsEXT; 12391typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; 12392typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT; 12393typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT; 12394typedef struct VkDebugUtilsLabelEXT { 12395 VkStructureType sType; 12396 const void* pNext; 12397 const char* pLabelName; 12398 float color[4]; 12399} VkDebugUtilsLabelEXT; 12400 12401typedef struct VkDebugUtilsObjectNameInfoEXT { 12402 VkStructureType sType; 12403 const void* pNext; 12404 VkObjectType objectType; 12405 deUint64 objectHandle; 12406 const char* pObjectName; 12407} VkDebugUtilsObjectNameInfoEXT; 12408 12409typedef struct VkDebugUtilsMessengerCallbackDataEXT { 12410 VkStructureType sType; 12411 const void* pNext; 12412 VkDebugUtilsMessengerCallbackDataFlagsEXT flags; 12413 const char* pMessageIdName; 12414 deInt32 messageIdNumber; 12415 const char* pMessage; 12416 deUint32 queueLabelCount; 12417 const VkDebugUtilsLabelEXT* pQueueLabels; 12418 deUint32 cmdBufLabelCount; 12419 const VkDebugUtilsLabelEXT* pCmdBufLabels; 12420 deUint32 objectCount; 12421 const VkDebugUtilsObjectNameInfoEXT* pObjects; 12422} VkDebugUtilsMessengerCallbackDataEXT; 12423 12424typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)( 12425 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 12426 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 12427 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, 12428 void* pUserData); 12429 12430typedef struct VkDebugUtilsMessengerCreateInfoEXT { 12431 VkStructureType sType; 12432 const void* pNext; 12433 VkDebugUtilsMessengerCreateFlagsEXT flags; 12434 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity; 12435 VkDebugUtilsMessageTypeFlagsEXT messageType; 12436 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback; 12437 void* pUserData; 12438} VkDebugUtilsMessengerCreateInfoEXT; 12439 12440typedef struct VkDebugUtilsObjectTagInfoEXT { 12441 VkStructureType sType; 12442 const void* pNext; 12443 VkObjectType objectType; 12444 deUint64 objectHandle; 12445 deUint64 tagName; 12446 deUintptr tagSize; 12447 const void* pTag; 12448} VkDebugUtilsObjectTagInfoEXT; 12449 12450typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 12451typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 12452typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 12453typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue); 12454typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo); 12455typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 12456typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer); 12457typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo); 12458typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger); 12459typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator); 12460typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 12461 12462#ifndef VK_NO_PROTOTYPES 12463VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT( 12464 VkDevice device, 12465 const VkDebugUtilsObjectNameInfoEXT* pNameInfo); 12466 12467VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT( 12468 VkDevice device, 12469 const VkDebugUtilsObjectTagInfoEXT* pTagInfo); 12470 12471VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT( 12472 VkQueue queue, 12473 const VkDebugUtilsLabelEXT* pLabelInfo); 12474 12475VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT( 12476 VkQueue queue); 12477 12478VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT( 12479 VkQueue queue, 12480 const VkDebugUtilsLabelEXT* pLabelInfo); 12481 12482VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT( 12483 VkCommandBuffer commandBuffer, 12484 const VkDebugUtilsLabelEXT* pLabelInfo); 12485 12486VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT( 12487 VkCommandBuffer commandBuffer); 12488 12489VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT( 12490 VkCommandBuffer commandBuffer, 12491 const VkDebugUtilsLabelEXT* pLabelInfo); 12492 12493VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT( 12494 VkInstance instance, 12495 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, 12496 const VkAllocationCallbacks* pAllocator, 12497 VkDebugUtilsMessengerEXT* pMessenger); 12498 12499VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT( 12500 VkInstance instance, 12501 VkDebugUtilsMessengerEXT messenger, 12502 const VkAllocationCallbacks* pAllocator); 12503 12504VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT( 12505 VkInstance instance, 12506 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, 12507 VkDebugUtilsMessageTypeFlagsEXT messageTypes, 12508 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData); 12509#endif 12510 12511 12512#define VK_EXT_sampler_filter_minmax 1 12513#define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 12514#define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" 12515typedef VkSamplerReductionMode VkSamplerReductionModeEXT; 12516 12517typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT; 12518 12519typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT; 12520 12521 12522 12523#define VK_AMD_gpu_shader_int16 1 12524#define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 12525#define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 12526 12527 12528#define VK_AMD_mixed_attachment_samples 1 12529#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 12530#define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 12531 12532 12533#define VK_AMD_shader_fragment_mask 1 12534#define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 12535#define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 12536 12537 12538#define VK_EXT_inline_uniform_block 1 12539#define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 12540#define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" 12541typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT; 12542 12543typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT; 12544 12545typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT; 12546 12547typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT; 12548 12549 12550 12551#define VK_EXT_shader_stencil_export 1 12552#define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 12553#define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 12554 12555 12556#define VK_EXT_sample_locations 1 12557#define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 12558#define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" 12559typedef struct VkSampleLocationEXT { 12560 float x; 12561 float y; 12562} VkSampleLocationEXT; 12563 12564typedef struct VkSampleLocationsInfoEXT { 12565 VkStructureType sType; 12566 const void* pNext; 12567 VkSampleCountFlagBits sampleLocationsPerPixel; 12568 VkExtent2D sampleLocationGridSize; 12569 deUint32 sampleLocationsCount; 12570 const VkSampleLocationEXT* pSampleLocations; 12571} VkSampleLocationsInfoEXT; 12572 12573typedef struct VkAttachmentSampleLocationsEXT { 12574 deUint32 attachmentIndex; 12575 VkSampleLocationsInfoEXT sampleLocationsInfo; 12576} VkAttachmentSampleLocationsEXT; 12577 12578typedef struct VkSubpassSampleLocationsEXT { 12579 deUint32 subpassIndex; 12580 VkSampleLocationsInfoEXT sampleLocationsInfo; 12581} VkSubpassSampleLocationsEXT; 12582 12583typedef struct VkRenderPassSampleLocationsBeginInfoEXT { 12584 VkStructureType sType; 12585 const void* pNext; 12586 deUint32 attachmentInitialSampleLocationsCount; 12587 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations; 12588 deUint32 postSubpassSampleLocationsCount; 12589 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations; 12590} VkRenderPassSampleLocationsBeginInfoEXT; 12591 12592typedef struct VkPipelineSampleLocationsStateCreateInfoEXT { 12593 VkStructureType sType; 12594 const void* pNext; 12595 VkBool32 sampleLocationsEnable; 12596 VkSampleLocationsInfoEXT sampleLocationsInfo; 12597} VkPipelineSampleLocationsStateCreateInfoEXT; 12598 12599typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT { 12600 VkStructureType sType; 12601 void* pNext; 12602 VkSampleCountFlags sampleLocationSampleCounts; 12603 VkExtent2D maxSampleLocationGridSize; 12604 float sampleLocationCoordinateRange[2]; 12605 deUint32 sampleLocationSubPixelBits; 12606 VkBool32 variableSampleLocations; 12607} VkPhysicalDeviceSampleLocationsPropertiesEXT; 12608 12609typedef struct VkMultisamplePropertiesEXT { 12610 VkStructureType sType; 12611 void* pNext; 12612 VkExtent2D maxSampleLocationGridSize; 12613} VkMultisamplePropertiesEXT; 12614 12615typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 12616typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties); 12617 12618#ifndef VK_NO_PROTOTYPES 12619VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT( 12620 VkCommandBuffer commandBuffer, 12621 const VkSampleLocationsInfoEXT* pSampleLocationsInfo); 12622 12623VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT( 12624 VkPhysicalDevice physicalDevice, 12625 VkSampleCountFlagBits samples, 12626 VkMultisamplePropertiesEXT* pMultisampleProperties); 12627#endif 12628 12629 12630#define VK_EXT_blend_operation_advanced 1 12631#define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 12632#define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" 12633 12634typedef enum VkBlendOverlapEXT { 12635 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0, 12636 VK_BLEND_OVERLAP_DISJOINT_EXT = 1, 12637 VK_BLEND_OVERLAP_CONJOINT_EXT = 2, 12638 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF 12639} VkBlendOverlapEXT; 12640typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT { 12641 VkStructureType sType; 12642 void* pNext; 12643 VkBool32 advancedBlendCoherentOperations; 12644} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT; 12645 12646typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT { 12647 VkStructureType sType; 12648 void* pNext; 12649 deUint32 advancedBlendMaxColorAttachments; 12650 VkBool32 advancedBlendIndependentBlend; 12651 VkBool32 advancedBlendNonPremultipliedSrcColor; 12652 VkBool32 advancedBlendNonPremultipliedDstColor; 12653 VkBool32 advancedBlendCorrelatedOverlap; 12654 VkBool32 advancedBlendAllOperations; 12655} VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT; 12656 12657typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT { 12658 VkStructureType sType; 12659 const void* pNext; 12660 VkBool32 srcPremultiplied; 12661 VkBool32 dstPremultiplied; 12662 VkBlendOverlapEXT blendOverlap; 12663} VkPipelineColorBlendAdvancedStateCreateInfoEXT; 12664 12665 12666 12667#define VK_NV_fragment_coverage_to_color 1 12668#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 12669#define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" 12670typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV; 12671typedef struct VkPipelineCoverageToColorStateCreateInfoNV { 12672 VkStructureType sType; 12673 const void* pNext; 12674 VkPipelineCoverageToColorStateCreateFlagsNV flags; 12675 VkBool32 coverageToColorEnable; 12676 deUint32 coverageToColorLocation; 12677} VkPipelineCoverageToColorStateCreateInfoNV; 12678 12679 12680 12681#define VK_NV_framebuffer_mixed_samples 1 12682#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 12683#define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" 12684 12685typedef enum VkCoverageModulationModeNV { 12686 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0, 12687 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1, 12688 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2, 12689 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3, 12690 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 12691} VkCoverageModulationModeNV; 12692typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV; 12693typedef struct VkPipelineCoverageModulationStateCreateInfoNV { 12694 VkStructureType sType; 12695 const void* pNext; 12696 VkPipelineCoverageModulationStateCreateFlagsNV flags; 12697 VkCoverageModulationModeNV coverageModulationMode; 12698 VkBool32 coverageModulationTableEnable; 12699 deUint32 coverageModulationTableCount; 12700 const float* pCoverageModulationTable; 12701} VkPipelineCoverageModulationStateCreateInfoNV; 12702 12703 12704 12705#define VK_NV_fill_rectangle 1 12706#define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 12707#define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 12708 12709 12710#define VK_NV_shader_sm_builtins 1 12711#define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 12712#define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" 12713typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV { 12714 VkStructureType sType; 12715 void* pNext; 12716 deUint32 shaderSMCount; 12717 deUint32 shaderWarpsPerSM; 12718} VkPhysicalDeviceShaderSMBuiltinsPropertiesNV; 12719 12720typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV { 12721 VkStructureType sType; 12722 void* pNext; 12723 VkBool32 shaderSMBuiltins; 12724} VkPhysicalDeviceShaderSMBuiltinsFeaturesNV; 12725 12726 12727 12728#define VK_EXT_post_depth_coverage 1 12729#define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 12730#define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 12731 12732 12733#define VK_EXT_image_drm_format_modifier 1 12734#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 12735#define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" 12736typedef struct VkDrmFormatModifierPropertiesEXT { 12737 deUint64 drmFormatModifier; 12738 deUint32 drmFormatModifierPlaneCount; 12739 VkFormatFeatureFlags drmFormatModifierTilingFeatures; 12740} VkDrmFormatModifierPropertiesEXT; 12741 12742typedef struct VkDrmFormatModifierPropertiesListEXT { 12743 VkStructureType sType; 12744 void* pNext; 12745 deUint32 drmFormatModifierCount; 12746 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties; 12747} VkDrmFormatModifierPropertiesListEXT; 12748 12749typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT { 12750 VkStructureType sType; 12751 const void* pNext; 12752 deUint64 drmFormatModifier; 12753 VkSharingMode sharingMode; 12754 deUint32 queueFamilyIndexCount; 12755 const deUint32* pQueueFamilyIndices; 12756} VkPhysicalDeviceImageDrmFormatModifierInfoEXT; 12757 12758typedef struct VkImageDrmFormatModifierListCreateInfoEXT { 12759 VkStructureType sType; 12760 const void* pNext; 12761 deUint32 drmFormatModifierCount; 12762 const deUint64* pDrmFormatModifiers; 12763} VkImageDrmFormatModifierListCreateInfoEXT; 12764 12765typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT { 12766 VkStructureType sType; 12767 const void* pNext; 12768 deUint64 drmFormatModifier; 12769 deUint32 drmFormatModifierPlaneCount; 12770 const VkSubresourceLayout* pPlaneLayouts; 12771} VkImageDrmFormatModifierExplicitCreateInfoEXT; 12772 12773typedef struct VkImageDrmFormatModifierPropertiesEXT { 12774 VkStructureType sType; 12775 void* pNext; 12776 deUint64 drmFormatModifier; 12777} VkImageDrmFormatModifierPropertiesEXT; 12778 12779typedef struct VkDrmFormatModifierProperties2EXT { 12780 deUint64 drmFormatModifier; 12781 deUint32 drmFormatModifierPlaneCount; 12782 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures; 12783} VkDrmFormatModifierProperties2EXT; 12784 12785typedef struct VkDrmFormatModifierPropertiesList2EXT { 12786 VkStructureType sType; 12787 void* pNext; 12788 deUint32 drmFormatModifierCount; 12789 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties; 12790} VkDrmFormatModifierPropertiesList2EXT; 12791 12792typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties); 12793 12794#ifndef VK_NO_PROTOTYPES 12795VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT( 12796 VkDevice device, 12797 VkImage image, 12798 VkImageDrmFormatModifierPropertiesEXT* pProperties); 12799#endif 12800 12801 12802#define VK_EXT_validation_cache 1 12803VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 12804#define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 12805#define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache" 12806 12807typedef enum VkValidationCacheHeaderVersionEXT { 12808 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1, 12809 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 12810} VkValidationCacheHeaderVersionEXT; 12811typedef VkFlags VkValidationCacheCreateFlagsEXT; 12812typedef struct VkValidationCacheCreateInfoEXT { 12813 VkStructureType sType; 12814 const void* pNext; 12815 VkValidationCacheCreateFlagsEXT flags; 12816 deUintptr initialDataSize; 12817 const void* pInitialData; 12818} VkValidationCacheCreateInfoEXT; 12819 12820typedef struct VkShaderModuleValidationCacheCreateInfoEXT { 12821 VkStructureType sType; 12822 const void* pNext; 12823 VkValidationCacheEXT validationCache; 12824} VkShaderModuleValidationCacheCreateInfoEXT; 12825 12826typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache); 12827typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator); 12828typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches); 12829typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData); 12830 12831#ifndef VK_NO_PROTOTYPES 12832VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT( 12833 VkDevice device, 12834 const VkValidationCacheCreateInfoEXT* pCreateInfo, 12835 const VkAllocationCallbacks* pAllocator, 12836 VkValidationCacheEXT* pValidationCache); 12837 12838VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT( 12839 VkDevice device, 12840 VkValidationCacheEXT validationCache, 12841 const VkAllocationCallbacks* pAllocator); 12842 12843VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT( 12844 VkDevice device, 12845 VkValidationCacheEXT dstCache, 12846 deUint32 srcCacheCount, 12847 const VkValidationCacheEXT* pSrcCaches); 12848 12849VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT( 12850 VkDevice device, 12851 VkValidationCacheEXT validationCache, 12852 deUintptr* pDataSize, 12853 void* pData); 12854#endif 12855 12856 12857#define VK_EXT_descriptor_indexing 1 12858#define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 12859#define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" 12860typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT; 12861 12862typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT; 12863 12864typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT; 12865 12866typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT; 12867 12868typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT; 12869 12870typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT; 12871 12872typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT; 12873 12874 12875 12876#define VK_EXT_shader_viewport_index_layer 1 12877#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 12878#define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 12879 12880 12881#define VK_NV_shading_rate_image 1 12882#define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 12883#define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" 12884 12885typedef enum VkShadingRatePaletteEntryNV { 12886 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0, 12887 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1, 12888 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2, 12889 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3, 12890 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4, 12891 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5, 12892 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6, 12893 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7, 12894 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8, 12895 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 12896 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10, 12897 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11, 12898 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF 12899} VkShadingRatePaletteEntryNV; 12900 12901typedef enum VkCoarseSampleOrderTypeNV { 12902 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, 12903 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1, 12904 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2, 12905 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3, 12906 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 12907} VkCoarseSampleOrderTypeNV; 12908typedef struct VkShadingRatePaletteNV { 12909 deUint32 shadingRatePaletteEntryCount; 12910 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries; 12911} VkShadingRatePaletteNV; 12912 12913typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV { 12914 VkStructureType sType; 12915 const void* pNext; 12916 VkBool32 shadingRateImageEnable; 12917 deUint32 viewportCount; 12918 const VkShadingRatePaletteNV* pShadingRatePalettes; 12919} VkPipelineViewportShadingRateImageStateCreateInfoNV; 12920 12921typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV { 12922 VkStructureType sType; 12923 void* pNext; 12924 VkBool32 shadingRateImage; 12925 VkBool32 shadingRateCoarseSampleOrder; 12926} VkPhysicalDeviceShadingRateImageFeaturesNV; 12927 12928typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV { 12929 VkStructureType sType; 12930 void* pNext; 12931 VkExtent2D shadingRateTexelSize; 12932 deUint32 shadingRatePaletteSize; 12933 deUint32 shadingRateMaxCoarseSamples; 12934} VkPhysicalDeviceShadingRateImagePropertiesNV; 12935 12936typedef struct VkCoarseSampleLocationNV { 12937 deUint32 pixelX; 12938 deUint32 pixelY; 12939 deUint32 sample; 12940} VkCoarseSampleLocationNV; 12941 12942typedef struct VkCoarseSampleOrderCustomNV { 12943 VkShadingRatePaletteEntryNV shadingRate; 12944 deUint32 sampleCount; 12945 deUint32 sampleLocationCount; 12946 const VkCoarseSampleLocationNV* pSampleLocations; 12947} VkCoarseSampleOrderCustomNV; 12948 12949typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV { 12950 VkStructureType sType; 12951 const void* pNext; 12952 VkCoarseSampleOrderTypeNV sampleOrderType; 12953 deUint32 customSampleOrderCount; 12954 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders; 12955} VkPipelineViewportCoarseSampleOrderStateCreateInfoNV; 12956 12957typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 12958typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes); 12959typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 12960 12961#ifndef VK_NO_PROTOTYPES 12962VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV( 12963 VkCommandBuffer commandBuffer, 12964 VkImageView imageView, 12965 VkImageLayout imageLayout); 12966 12967VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV( 12968 VkCommandBuffer commandBuffer, 12969 deUint32 firstViewport, 12970 deUint32 viewportCount, 12971 const VkShadingRatePaletteNV* pShadingRatePalettes); 12972 12973VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV( 12974 VkCommandBuffer commandBuffer, 12975 VkCoarseSampleOrderTypeNV sampleOrderType, 12976 deUint32 customSampleOrderCount, 12977 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders); 12978#endif 12979 12980 12981#define VK_NV_ray_tracing 1 12982VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) 12983#define VK_NV_RAY_TRACING_SPEC_VERSION 3 12984#define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing" 12985#define VK_SHADER_UNUSED_KHR (~0U) 12986#define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR 12987 12988typedef enum VkRayTracingShaderGroupTypeKHR { 12989 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, 12990 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1, 12991 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2, 12992 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR, 12993 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR, 12994 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, 12995 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 12996} VkRayTracingShaderGroupTypeKHR; 12997typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV; 12998 12999 13000typedef enum VkGeometryTypeKHR { 13001 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, 13002 VK_GEOMETRY_TYPE_AABBS_KHR = 1, 13003 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, 13004 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, 13005 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, 13006 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13007} VkGeometryTypeKHR; 13008typedef VkGeometryTypeKHR VkGeometryTypeNV; 13009 13010 13011typedef enum VkAccelerationStructureTypeKHR { 13012 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0, 13013 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1, 13014 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2, 13015 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR, 13016 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR, 13017 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 13018} VkAccelerationStructureTypeKHR; 13019typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV; 13020 13021 13022typedef enum VkCopyAccelerationStructureModeKHR { 13023 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, 13024 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1, 13025 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2, 13026 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3, 13027 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR, 13028 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 13029 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 13030} VkCopyAccelerationStructureModeKHR; 13031typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV; 13032 13033 13034typedef enum VkAccelerationStructureMemoryRequirementsTypeNV { 13035 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0, 13036 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1, 13037 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2, 13038 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13039} VkAccelerationStructureMemoryRequirementsTypeNV; 13040 13041typedef enum VkGeometryFlagBitsKHR { 13042 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001, 13043 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002, 13044 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR, 13045 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, 13046 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13047} VkGeometryFlagBitsKHR; 13048typedef VkFlags VkGeometryFlagsKHR; 13049typedef VkGeometryFlagsKHR VkGeometryFlagsNV; 13050 13051typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; 13052 13053 13054typedef enum VkGeometryInstanceFlagBitsKHR { 13055 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, 13056 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, 13057 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 13058 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 13059 VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010, 13060 VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020, 13061 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 13062 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 13063 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, 13064 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, 13065 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR, 13066 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13067} VkGeometryInstanceFlagBitsKHR; 13068typedef VkFlags VkGeometryInstanceFlagsKHR; 13069typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV; 13070 13071typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV; 13072 13073 13074typedef enum VkBuildAccelerationStructureFlagBitsKHR { 13075 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001, 13076 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002, 13077 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004, 13078 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 13079 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 13080 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, 13081 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040, 13082 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080, 13083 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100, 13084 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 13085 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 13086 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, 13087 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR, 13088 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR, 13089 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 13090} VkBuildAccelerationStructureFlagBitsKHR; 13091typedef VkFlags VkBuildAccelerationStructureFlagsKHR; 13092typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; 13093 13094typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV; 13095 13096typedef struct VkRayTracingShaderGroupCreateInfoNV { 13097 VkStructureType sType; 13098 const void* pNext; 13099 VkRayTracingShaderGroupTypeKHR type; 13100 deUint32 generalShader; 13101 deUint32 closestHitShader; 13102 deUint32 anyHitShader; 13103 deUint32 intersectionShader; 13104} VkRayTracingShaderGroupCreateInfoNV; 13105 13106typedef struct VkRayTracingPipelineCreateInfoNV { 13107 VkStructureType sType; 13108 const void* pNext; 13109 VkPipelineCreateFlags flags; 13110 deUint32 stageCount; 13111 const VkPipelineShaderStageCreateInfo* pStages; 13112 deUint32 groupCount; 13113 const VkRayTracingShaderGroupCreateInfoNV* pGroups; 13114 deUint32 maxRecursionDepth; 13115 VkPipelineLayout layout; 13116 VkPipeline basePipelineHandle; 13117 deInt32 basePipelineIndex; 13118} VkRayTracingPipelineCreateInfoNV; 13119 13120typedef struct VkGeometryTrianglesNV { 13121 VkStructureType sType; 13122 const void* pNext; 13123 VkBuffer vertexData; 13124 VkDeviceSize vertexOffset; 13125 deUint32 vertexCount; 13126 VkDeviceSize vertexStride; 13127 VkFormat vertexFormat; 13128 VkBuffer indexData; 13129 VkDeviceSize indexOffset; 13130 deUint32 indexCount; 13131 VkIndexType indexType; 13132 VkBuffer transformData; 13133 VkDeviceSize transformOffset; 13134} VkGeometryTrianglesNV; 13135 13136typedef struct VkGeometryAABBNV { 13137 VkStructureType sType; 13138 const void* pNext; 13139 VkBuffer aabbData; 13140 deUint32 numAABBs; 13141 deUint32 stride; 13142 VkDeviceSize offset; 13143} VkGeometryAABBNV; 13144 13145typedef struct VkGeometryDataNV { 13146 VkGeometryTrianglesNV triangles; 13147 VkGeometryAABBNV aabbs; 13148} VkGeometryDataNV; 13149 13150typedef struct VkGeometryNV { 13151 VkStructureType sType; 13152 const void* pNext; 13153 VkGeometryTypeKHR geometryType; 13154 VkGeometryDataNV geometry; 13155 VkGeometryFlagsKHR flags; 13156} VkGeometryNV; 13157 13158typedef struct VkAccelerationStructureInfoNV { 13159 VkStructureType sType; 13160 const void* pNext; 13161 VkAccelerationStructureTypeNV type; 13162 VkBuildAccelerationStructureFlagsNV flags; 13163 deUint32 instanceCount; 13164 deUint32 geometryCount; 13165 const VkGeometryNV* pGeometries; 13166} VkAccelerationStructureInfoNV; 13167 13168typedef struct VkAccelerationStructureCreateInfoNV { 13169 VkStructureType sType; 13170 const void* pNext; 13171 VkDeviceSize compactedSize; 13172 VkAccelerationStructureInfoNV info; 13173} VkAccelerationStructureCreateInfoNV; 13174 13175typedef struct VkBindAccelerationStructureMemoryInfoNV { 13176 VkStructureType sType; 13177 const void* pNext; 13178 VkAccelerationStructureNV accelerationStructure; 13179 VkDeviceMemory memory; 13180 VkDeviceSize memoryOffset; 13181 deUint32 deviceIndexCount; 13182 const deUint32* pDeviceIndices; 13183} VkBindAccelerationStructureMemoryInfoNV; 13184 13185typedef struct VkWriteDescriptorSetAccelerationStructureNV { 13186 VkStructureType sType; 13187 const void* pNext; 13188 deUint32 accelerationStructureCount; 13189 const VkAccelerationStructureNV* pAccelerationStructures; 13190} VkWriteDescriptorSetAccelerationStructureNV; 13191 13192typedef struct VkAccelerationStructureMemoryRequirementsInfoNV { 13193 VkStructureType sType; 13194 const void* pNext; 13195 VkAccelerationStructureMemoryRequirementsTypeNV type; 13196 VkAccelerationStructureNV accelerationStructure; 13197} VkAccelerationStructureMemoryRequirementsInfoNV; 13198 13199typedef struct VkPhysicalDeviceRayTracingPropertiesNV { 13200 VkStructureType sType; 13201 void* pNext; 13202 deUint32 shaderGroupHandleSize; 13203 deUint32 maxRecursionDepth; 13204 deUint32 maxShaderGroupStride; 13205 deUint32 shaderGroupBaseAlignment; 13206 deUint64 maxGeometryCount; 13207 deUint64 maxInstanceCount; 13208 deUint64 maxTriangleCount; 13209 deUint32 maxDescriptorSetAccelerationStructures; 13210} VkPhysicalDeviceRayTracingPropertiesNV; 13211 13212typedef struct VkTransformMatrixKHR { 13213 float matrix[3][4]; 13214} VkTransformMatrixKHR; 13215 13216typedef VkTransformMatrixKHR VkTransformMatrixNV; 13217 13218typedef struct VkAabbPositionsKHR { 13219 float minX; 13220 float minY; 13221 float minZ; 13222 float maxX; 13223 float maxY; 13224 float maxZ; 13225} VkAabbPositionsKHR; 13226 13227typedef VkAabbPositionsKHR VkAabbPositionsNV; 13228 13229typedef struct VkAccelerationStructureInstanceKHR { 13230 VkTransformMatrixKHR transform; 13231 deUint32 instanceCustomIndex:24; 13232 deUint32 mask:8; 13233 deUint32 instanceShaderBindingTableRecordOffset:24; 13234 VkGeometryInstanceFlagsKHR flags:8; 13235 deUint64 accelerationStructureReference; 13236} VkAccelerationStructureInstanceKHR; 13237 13238typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV; 13239 13240typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure); 13241typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator); 13242typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements); 13243typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 13244typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset); 13245typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); 13246typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysNV)(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, deUint32 width, deUint32 height, deUint32 depth); 13247typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 13248typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData); 13249typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData); 13250typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData); 13251typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery); 13252typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader); 13253 13254#ifndef VK_NO_PROTOTYPES 13255VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV( 13256 VkDevice device, 13257 const VkAccelerationStructureCreateInfoNV* pCreateInfo, 13258 const VkAllocationCallbacks* pAllocator, 13259 VkAccelerationStructureNV* pAccelerationStructure); 13260 13261VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV( 13262 VkDevice device, 13263 VkAccelerationStructureNV accelerationStructure, 13264 const VkAllocationCallbacks* pAllocator); 13265 13266VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV( 13267 VkDevice device, 13268 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, 13269 VkMemoryRequirements2KHR* pMemoryRequirements); 13270 13271VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV( 13272 VkDevice device, 13273 deUint32 bindInfoCount, 13274 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos); 13275 13276VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV( 13277 VkCommandBuffer commandBuffer, 13278 const VkAccelerationStructureInfoNV* pInfo, 13279 VkBuffer instanceData, 13280 VkDeviceSize instanceOffset, 13281 VkBool32 update, 13282 VkAccelerationStructureNV dst, 13283 VkAccelerationStructureNV src, 13284 VkBuffer scratch, 13285 VkDeviceSize scratchOffset); 13286 13287VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV( 13288 VkCommandBuffer commandBuffer, 13289 VkAccelerationStructureNV dst, 13290 VkAccelerationStructureNV src, 13291 VkCopyAccelerationStructureModeKHR mode); 13292 13293VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV( 13294 VkCommandBuffer commandBuffer, 13295 VkBuffer raygenShaderBindingTableBuffer, 13296 VkDeviceSize raygenShaderBindingOffset, 13297 VkBuffer missShaderBindingTableBuffer, 13298 VkDeviceSize missShaderBindingOffset, 13299 VkDeviceSize missShaderBindingStride, 13300 VkBuffer hitShaderBindingTableBuffer, 13301 VkDeviceSize hitShaderBindingOffset, 13302 VkDeviceSize hitShaderBindingStride, 13303 VkBuffer callableShaderBindingTableBuffer, 13304 VkDeviceSize callableShaderBindingOffset, 13305 VkDeviceSize callableShaderBindingStride, 13306 deUint32 width, 13307 deUint32 height, 13308 deUint32 depth); 13309 13310VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV( 13311 VkDevice device, 13312 VkPipelineCache pipelineCache, 13313 deUint32 createInfoCount, 13314 const VkRayTracingPipelineCreateInfoNV* pCreateInfos, 13315 const VkAllocationCallbacks* pAllocator, 13316 VkPipeline* pPipelines); 13317 13318VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR( 13319 VkDevice device, 13320 VkPipeline pipeline, 13321 deUint32 firstGroup, 13322 deUint32 groupCount, 13323 deUintptr dataSize, 13324 void* pData); 13325 13326VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV( 13327 VkDevice device, 13328 VkPipeline pipeline, 13329 deUint32 firstGroup, 13330 deUint32 groupCount, 13331 deUintptr dataSize, 13332 void* pData); 13333 13334VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV( 13335 VkDevice device, 13336 VkAccelerationStructureNV accelerationStructure, 13337 deUintptr dataSize, 13338 void* pData); 13339 13340VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV( 13341 VkCommandBuffer commandBuffer, 13342 deUint32 accelerationStructureCount, 13343 const VkAccelerationStructureNV* pAccelerationStructures, 13344 VkQueryType queryType, 13345 VkQueryPool queryPool, 13346 deUint32 firstQuery); 13347 13348VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV( 13349 VkDevice device, 13350 VkPipeline pipeline, 13351 deUint32 shader); 13352#endif 13353 13354 13355#define VK_NV_representative_fragment_test 1 13356#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 13357#define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" 13358typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV { 13359 VkStructureType sType; 13360 void* pNext; 13361 VkBool32 representativeFragmentTest; 13362} VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV; 13363 13364typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV { 13365 VkStructureType sType; 13366 const void* pNext; 13367 VkBool32 representativeFragmentTestEnable; 13368} VkPipelineRepresentativeFragmentTestStateCreateInfoNV; 13369 13370 13371 13372#define VK_EXT_filter_cubic 1 13373#define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 13374#define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" 13375typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT { 13376 VkStructureType sType; 13377 void* pNext; 13378 VkImageViewType imageViewType; 13379} VkPhysicalDeviceImageViewImageFormatInfoEXT; 13380 13381typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT { 13382 VkStructureType sType; 13383 void* pNext; 13384 VkBool32 filterCubic; 13385 VkBool32 filterCubicMinmax; 13386} VkFilterCubicImageViewImageFormatPropertiesEXT; 13387 13388 13389 13390#define VK_QCOM_render_pass_shader_resolve 1 13391#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 13392#define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 13393 13394 13395#define VK_EXT_global_priority 1 13396#define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 13397#define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" 13398typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT; 13399 13400typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT; 13401 13402 13403 13404#define VK_EXT_external_memory_host 1 13405#define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 13406#define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" 13407typedef struct VkImportMemoryHostPointerInfoEXT { 13408 VkStructureType sType; 13409 const void* pNext; 13410 VkExternalMemoryHandleTypeFlagBits handleType; 13411 void* pHostPointer; 13412} VkImportMemoryHostPointerInfoEXT; 13413 13414typedef struct VkMemoryHostPointerPropertiesEXT { 13415 VkStructureType sType; 13416 void* pNext; 13417 deUint32 memoryTypeBits; 13418} VkMemoryHostPointerPropertiesEXT; 13419 13420typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT { 13421 VkStructureType sType; 13422 void* pNext; 13423 VkDeviceSize minImportedHostPointerAlignment; 13424} VkPhysicalDeviceExternalMemoryHostPropertiesEXT; 13425 13426typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 13427 13428#ifndef VK_NO_PROTOTYPES 13429VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT( 13430 VkDevice device, 13431 VkExternalMemoryHandleTypeFlagBits handleType, 13432 const void* pHostPointer, 13433 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties); 13434#endif 13435 13436 13437#define VK_AMD_buffer_marker 1 13438#define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 13439#define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" 13440typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker); 13441 13442#ifndef VK_NO_PROTOTYPES 13443VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD( 13444 VkCommandBuffer commandBuffer, 13445 VkPipelineStageFlagBits pipelineStage, 13446 VkBuffer dstBuffer, 13447 VkDeviceSize dstOffset, 13448 deUint32 marker); 13449#endif 13450 13451 13452#define VK_AMD_pipeline_compiler_control 1 13453#define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 13454#define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" 13455 13456typedef enum VkPipelineCompilerControlFlagBitsAMD { 13457 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 13458} VkPipelineCompilerControlFlagBitsAMD; 13459typedef VkFlags VkPipelineCompilerControlFlagsAMD; 13460typedef struct VkPipelineCompilerControlCreateInfoAMD { 13461 VkStructureType sType; 13462 const void* pNext; 13463 VkPipelineCompilerControlFlagsAMD compilerControlFlags; 13464} VkPipelineCompilerControlCreateInfoAMD; 13465 13466 13467 13468#define VK_EXT_calibrated_timestamps 1 13469#define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 13470#define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 13471 13472typedef enum VkTimeDomainEXT { 13473 VK_TIME_DOMAIN_DEVICE_EXT = 0, 13474 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1, 13475 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2, 13476 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3, 13477 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF 13478} VkTimeDomainEXT; 13479typedef struct VkCalibratedTimestampInfoEXT { 13480 VkStructureType sType; 13481 const void* pNext; 13482 VkTimeDomainEXT timeDomain; 13483} VkCalibratedTimestampInfoEXT; 13484 13485typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains); 13486typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation); 13487 13488#ifndef VK_NO_PROTOTYPES 13489VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 13490 VkPhysicalDevice physicalDevice, 13491 deUint32* pTimeDomainCount, 13492 VkTimeDomainEXT* pTimeDomains); 13493 13494VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 13495 VkDevice device, 13496 deUint32 timestampCount, 13497 const VkCalibratedTimestampInfoEXT* pTimestampInfos, 13498 deUint64* pTimestamps, 13499 deUint64* pMaxDeviation); 13500#endif 13501 13502 13503#define VK_AMD_shader_core_properties 1 13504#define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 13505#define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" 13506typedef struct VkPhysicalDeviceShaderCorePropertiesAMD { 13507 VkStructureType sType; 13508 void* pNext; 13509 deUint32 shaderEngineCount; 13510 deUint32 shaderArraysPerEngineCount; 13511 deUint32 computeUnitsPerShaderArray; 13512 deUint32 simdPerComputeUnit; 13513 deUint32 wavefrontsPerSimd; 13514 deUint32 wavefrontSize; 13515 deUint32 sgprsPerSimd; 13516 deUint32 minSgprAllocation; 13517 deUint32 maxSgprAllocation; 13518 deUint32 sgprAllocationGranularity; 13519 deUint32 vgprsPerSimd; 13520 deUint32 minVgprAllocation; 13521 deUint32 maxVgprAllocation; 13522 deUint32 vgprAllocationGranularity; 13523} VkPhysicalDeviceShaderCorePropertiesAMD; 13524 13525 13526 13527#define VK_AMD_memory_overallocation_behavior 1 13528#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 13529#define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" 13530 13531typedef enum VkMemoryOverallocationBehaviorAMD { 13532 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0, 13533 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1, 13534 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2, 13535 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF 13536} VkMemoryOverallocationBehaviorAMD; 13537typedef struct VkDeviceMemoryOverallocationCreateInfoAMD { 13538 VkStructureType sType; 13539 const void* pNext; 13540 VkMemoryOverallocationBehaviorAMD overallocationBehavior; 13541} VkDeviceMemoryOverallocationCreateInfoAMD; 13542 13543 13544 13545#define VK_EXT_vertex_attribute_divisor 1 13546#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 13547#define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" 13548typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT { 13549 VkStructureType sType; 13550 void* pNext; 13551 deUint32 maxVertexAttribDivisor; 13552} VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 13553 13554typedef struct VkVertexInputBindingDivisorDescriptionEXT { 13555 deUint32 binding; 13556 deUint32 divisor; 13557} VkVertexInputBindingDivisorDescriptionEXT; 13558 13559typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT { 13560 VkStructureType sType; 13561 const void* pNext; 13562 deUint32 vertexBindingDivisorCount; 13563 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; 13564} VkPipelineVertexInputDivisorStateCreateInfoEXT; 13565 13566typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT { 13567 VkStructureType sType; 13568 void* pNext; 13569 VkBool32 vertexAttributeInstanceRateDivisor; 13570 VkBool32 vertexAttributeInstanceRateZeroDivisor; 13571} VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 13572 13573 13574 13575#define VK_EXT_pipeline_creation_feedback 1 13576#define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 13577#define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" 13578typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT; 13579 13580typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT; 13581 13582typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT; 13583 13584typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT; 13585 13586 13587 13588#define VK_NV_shader_subgroup_partitioned 1 13589#define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 13590#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 13591 13592 13593#define VK_NV_compute_shader_derivatives 1 13594#define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 13595#define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" 13596typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV { 13597 VkStructureType sType; 13598 void* pNext; 13599 VkBool32 computeDerivativeGroupQuads; 13600 VkBool32 computeDerivativeGroupLinear; 13601} VkPhysicalDeviceComputeShaderDerivativesFeaturesNV; 13602 13603 13604 13605#define VK_NV_mesh_shader 1 13606#define VK_NV_MESH_SHADER_SPEC_VERSION 1 13607#define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" 13608typedef struct VkPhysicalDeviceMeshShaderFeaturesNV { 13609 VkStructureType sType; 13610 void* pNext; 13611 VkBool32 taskShader; 13612 VkBool32 meshShader; 13613} VkPhysicalDeviceMeshShaderFeaturesNV; 13614 13615typedef struct VkPhysicalDeviceMeshShaderPropertiesNV { 13616 VkStructureType sType; 13617 void* pNext; 13618 deUint32 maxDrawMeshTasksCount; 13619 deUint32 maxTaskWorkGroupInvocations; 13620 deUint32 maxTaskWorkGroupSize[3]; 13621 deUint32 maxTaskTotalMemorySize; 13622 deUint32 maxTaskOutputCount; 13623 deUint32 maxMeshWorkGroupInvocations; 13624 deUint32 maxMeshWorkGroupSize[3]; 13625 deUint32 maxMeshTotalMemorySize; 13626 deUint32 maxMeshOutputVertices; 13627 deUint32 maxMeshOutputPrimitives; 13628 deUint32 maxMeshMultiviewViewCount; 13629 deUint32 meshOutputPerVertexGranularity; 13630 deUint32 meshOutputPerPrimitiveGranularity; 13631} VkPhysicalDeviceMeshShaderPropertiesNV; 13632 13633typedef struct VkDrawMeshTasksIndirectCommandNV { 13634 deUint32 taskCount; 13635 deUint32 firstTask; 13636} VkDrawMeshTasksIndirectCommandNV; 13637 13638typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask); 13639typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); 13640typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); 13641 13642#ifndef VK_NO_PROTOTYPES 13643VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV( 13644 VkCommandBuffer commandBuffer, 13645 deUint32 taskCount, 13646 deUint32 firstTask); 13647 13648VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV( 13649 VkCommandBuffer commandBuffer, 13650 VkBuffer buffer, 13651 VkDeviceSize offset, 13652 deUint32 drawCount, 13653 deUint32 stride); 13654 13655VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV( 13656 VkCommandBuffer commandBuffer, 13657 VkBuffer buffer, 13658 VkDeviceSize offset, 13659 VkBuffer countBuffer, 13660 VkDeviceSize countBufferOffset, 13661 deUint32 maxDrawCount, 13662 deUint32 stride); 13663#endif 13664 13665 13666#define VK_NV_fragment_shader_barycentric 1 13667#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 13668#define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" 13669typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV; 13670 13671 13672 13673#define VK_NV_shader_image_footprint 1 13674#define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 13675#define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" 13676typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV { 13677 VkStructureType sType; 13678 void* pNext; 13679 VkBool32 imageFootprint; 13680} VkPhysicalDeviceShaderImageFootprintFeaturesNV; 13681 13682 13683 13684#define VK_NV_scissor_exclusive 1 13685#define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1 13686#define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 13687typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 13688 VkStructureType sType; 13689 const void* pNext; 13690 deUint32 exclusiveScissorCount; 13691 const VkRect2D* pExclusiveScissors; 13692} VkPipelineViewportExclusiveScissorStateCreateInfoNV; 13693 13694typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV { 13695 VkStructureType sType; 13696 void* pNext; 13697 VkBool32 exclusiveScissor; 13698} VkPhysicalDeviceExclusiveScissorFeaturesNV; 13699 13700typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 13701 13702#ifndef VK_NO_PROTOTYPES 13703VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 13704 VkCommandBuffer commandBuffer, 13705 deUint32 firstExclusiveScissor, 13706 deUint32 exclusiveScissorCount, 13707 const VkRect2D* pExclusiveScissors); 13708#endif 13709 13710 13711#define VK_NV_device_diagnostic_checkpoints 1 13712#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 13713#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" 13714typedef struct VkQueueFamilyCheckpointPropertiesNV { 13715 VkStructureType sType; 13716 void* pNext; 13717 VkPipelineStageFlags checkpointExecutionStageMask; 13718} VkQueueFamilyCheckpointPropertiesNV; 13719 13720typedef struct VkCheckpointDataNV { 13721 VkStructureType sType; 13722 void* pNext; 13723 VkPipelineStageFlagBits stage; 13724 void* pCheckpointMarker; 13725} VkCheckpointDataNV; 13726 13727typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker); 13728typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData); 13729 13730#ifndef VK_NO_PROTOTYPES 13731VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV( 13732 VkCommandBuffer commandBuffer, 13733 const void* pCheckpointMarker); 13734 13735VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV( 13736 VkQueue queue, 13737 deUint32* pCheckpointDataCount, 13738 VkCheckpointDataNV* pCheckpointData); 13739#endif 13740 13741 13742#define VK_INTEL_shader_integer_functions2 1 13743#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 13744#define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" 13745typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { 13746 VkStructureType sType; 13747 void* pNext; 13748 VkBool32 shaderIntegerFunctions2; 13749} VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL; 13750 13751 13752 13753#define VK_INTEL_performance_query 1 13754VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 13755#define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 13756#define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query" 13757 13758typedef enum VkPerformanceConfigurationTypeINTEL { 13759 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0, 13760 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 13761} VkPerformanceConfigurationTypeINTEL; 13762 13763typedef enum VkQueryPoolSamplingModeINTEL { 13764 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0, 13765 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF 13766} VkQueryPoolSamplingModeINTEL; 13767 13768typedef enum VkPerformanceOverrideTypeINTEL { 13769 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0, 13770 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1, 13771 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 13772} VkPerformanceOverrideTypeINTEL; 13773 13774typedef enum VkPerformanceParameterTypeINTEL { 13775 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0, 13776 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1, 13777 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 13778} VkPerformanceParameterTypeINTEL; 13779 13780typedef enum VkPerformanceValueTypeINTEL { 13781 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0, 13782 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1, 13783 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2, 13784 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3, 13785 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4, 13786 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF 13787} VkPerformanceValueTypeINTEL; 13788typedef union VkPerformanceValueDataINTEL { 13789 deUint32 value32; 13790 deUint64 value64; 13791 float valueFloat; 13792 VkBool32 valueBool; 13793 const char* valueString; 13794} VkPerformanceValueDataINTEL; 13795 13796typedef struct VkPerformanceValueINTEL { 13797 VkPerformanceValueTypeINTEL type; 13798 VkPerformanceValueDataINTEL data; 13799} VkPerformanceValueINTEL; 13800 13801typedef struct VkInitializePerformanceApiInfoINTEL { 13802 VkStructureType sType; 13803 const void* pNext; 13804 void* pUserData; 13805} VkInitializePerformanceApiInfoINTEL; 13806 13807typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL { 13808 VkStructureType sType; 13809 const void* pNext; 13810 VkQueryPoolSamplingModeINTEL performanceCountersSampling; 13811} VkQueryPoolPerformanceQueryCreateInfoINTEL; 13812 13813typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL; 13814 13815typedef struct VkPerformanceMarkerInfoINTEL { 13816 VkStructureType sType; 13817 const void* pNext; 13818 deUint64 marker; 13819} VkPerformanceMarkerInfoINTEL; 13820 13821typedef struct VkPerformanceStreamMarkerInfoINTEL { 13822 VkStructureType sType; 13823 const void* pNext; 13824 deUint32 marker; 13825} VkPerformanceStreamMarkerInfoINTEL; 13826 13827typedef struct VkPerformanceOverrideInfoINTEL { 13828 VkStructureType sType; 13829 const void* pNext; 13830 VkPerformanceOverrideTypeINTEL type; 13831 VkBool32 enable; 13832 deUint64 parameter; 13833} VkPerformanceOverrideInfoINTEL; 13834 13835typedef struct VkPerformanceConfigurationAcquireInfoINTEL { 13836 VkStructureType sType; 13837 const void* pNext; 13838 VkPerformanceConfigurationTypeINTEL type; 13839} VkPerformanceConfigurationAcquireInfoINTEL; 13840 13841typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 13842typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device); 13843typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 13844typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 13845typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 13846typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration); 13847typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration); 13848typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration); 13849typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue); 13850 13851#ifndef VK_NO_PROTOTYPES 13852VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL( 13853 VkDevice device, 13854 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo); 13855 13856VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL( 13857 VkDevice device); 13858 13859VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL( 13860 VkCommandBuffer commandBuffer, 13861 const VkPerformanceMarkerInfoINTEL* pMarkerInfo); 13862 13863VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL( 13864 VkCommandBuffer commandBuffer, 13865 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo); 13866 13867VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL( 13868 VkCommandBuffer commandBuffer, 13869 const VkPerformanceOverrideInfoINTEL* pOverrideInfo); 13870 13871VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL( 13872 VkDevice device, 13873 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, 13874 VkPerformanceConfigurationINTEL* pConfiguration); 13875 13876VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL( 13877 VkDevice device, 13878 VkPerformanceConfigurationINTEL configuration); 13879 13880VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL( 13881 VkQueue queue, 13882 VkPerformanceConfigurationINTEL configuration); 13883 13884VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL( 13885 VkDevice device, 13886 VkPerformanceParameterTypeINTEL parameter, 13887 VkPerformanceValueINTEL* pValue); 13888#endif 13889 13890 13891#define VK_EXT_pci_bus_info 1 13892#define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 13893#define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" 13894typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT { 13895 VkStructureType sType; 13896 void* pNext; 13897 deUint32 pciDomain; 13898 deUint32 pciBus; 13899 deUint32 pciDevice; 13900 deUint32 pciFunction; 13901} VkPhysicalDevicePCIBusInfoPropertiesEXT; 13902 13903 13904 13905#define VK_AMD_display_native_hdr 1 13906#define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 13907#define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" 13908typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD { 13909 VkStructureType sType; 13910 void* pNext; 13911 VkBool32 localDimmingSupport; 13912} VkDisplayNativeHdrSurfaceCapabilitiesAMD; 13913 13914typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD { 13915 VkStructureType sType; 13916 const void* pNext; 13917 VkBool32 localDimmingEnable; 13918} VkSwapchainDisplayNativeHdrCreateInfoAMD; 13919 13920typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable); 13921 13922#ifndef VK_NO_PROTOTYPES 13923VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD( 13924 VkDevice device, 13925 VkSwapchainKHR swapChain, 13926 VkBool32 localDimmingEnable); 13927#endif 13928 13929 13930#define VK_EXT_fragment_density_map 1 13931#define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 13932#define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" 13933typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT { 13934 VkStructureType sType; 13935 void* pNext; 13936 VkBool32 fragmentDensityMap; 13937 VkBool32 fragmentDensityMapDynamic; 13938 VkBool32 fragmentDensityMapNonSubsampledImages; 13939} VkPhysicalDeviceFragmentDensityMapFeaturesEXT; 13940 13941typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT { 13942 VkStructureType sType; 13943 void* pNext; 13944 VkExtent2D minFragmentDensityTexelSize; 13945 VkExtent2D maxFragmentDensityTexelSize; 13946 VkBool32 fragmentDensityInvocations; 13947} VkPhysicalDeviceFragmentDensityMapPropertiesEXT; 13948 13949typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT { 13950 VkStructureType sType; 13951 const void* pNext; 13952 VkAttachmentReference fragmentDensityMapAttachment; 13953} VkRenderPassFragmentDensityMapCreateInfoEXT; 13954 13955 13956 13957#define VK_EXT_scalar_block_layout 1 13958#define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 13959#define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" 13960typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT; 13961 13962 13963 13964#define VK_GOOGLE_hlsl_functionality1 1 13965#define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 13966#define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" 13967#define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 13968#define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME 13969 13970 13971#define VK_GOOGLE_decorate_string 1 13972#define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 13973#define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 13974 13975 13976#define VK_EXT_subgroup_size_control 1 13977#define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 13978#define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" 13979typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT; 13980 13981typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT; 13982 13983typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT; 13984 13985 13986 13987#define VK_AMD_shader_core_properties2 1 13988#define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 13989#define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" 13990 13991typedef enum VkShaderCorePropertiesFlagBitsAMD { 13992 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF 13993} VkShaderCorePropertiesFlagBitsAMD; 13994typedef VkFlags VkShaderCorePropertiesFlagsAMD; 13995typedef struct VkPhysicalDeviceShaderCoreProperties2AMD { 13996 VkStructureType sType; 13997 void* pNext; 13998 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures; 13999 deUint32 activeComputeUnitCount; 14000} VkPhysicalDeviceShaderCoreProperties2AMD; 14001 14002 14003 14004#define VK_AMD_device_coherent_memory 1 14005#define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 14006#define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" 14007typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD { 14008 VkStructureType sType; 14009 void* pNext; 14010 VkBool32 deviceCoherentMemory; 14011} VkPhysicalDeviceCoherentMemoryFeaturesAMD; 14012 14013 14014 14015#define VK_EXT_shader_image_atomic_int64 1 14016#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 14017#define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" 14018typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT { 14019 VkStructureType sType; 14020 void* pNext; 14021 VkBool32 shaderImageInt64Atomics; 14022 VkBool32 sparseImageInt64Atomics; 14023} VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT; 14024 14025 14026 14027#define VK_EXT_memory_budget 1 14028#define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 14029#define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" 14030typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT { 14031 VkStructureType sType; 14032 void* pNext; 14033 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS]; 14034 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS]; 14035} VkPhysicalDeviceMemoryBudgetPropertiesEXT; 14036 14037 14038 14039#define VK_EXT_memory_priority 1 14040#define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 14041#define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" 14042typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT { 14043 VkStructureType sType; 14044 void* pNext; 14045 VkBool32 memoryPriority; 14046} VkPhysicalDeviceMemoryPriorityFeaturesEXT; 14047 14048typedef struct VkMemoryPriorityAllocateInfoEXT { 14049 VkStructureType sType; 14050 const void* pNext; 14051 float priority; 14052} VkMemoryPriorityAllocateInfoEXT; 14053 14054 14055 14056#define VK_NV_dedicated_allocation_image_aliasing 1 14057#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 14058#define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" 14059typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV { 14060 VkStructureType sType; 14061 void* pNext; 14062 VkBool32 dedicatedAllocationImageAliasing; 14063} VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; 14064 14065 14066 14067#define VK_EXT_buffer_device_address 1 14068#define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 14069#define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" 14070typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT { 14071 VkStructureType sType; 14072 void* pNext; 14073 VkBool32 bufferDeviceAddress; 14074 VkBool32 bufferDeviceAddressCaptureReplay; 14075 VkBool32 bufferDeviceAddressMultiDevice; 14076} VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; 14077 14078typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT; 14079 14080typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT; 14081 14082typedef struct VkBufferDeviceAddressCreateInfoEXT { 14083 VkStructureType sType; 14084 const void* pNext; 14085 VkDeviceAddress deviceAddress; 14086} VkBufferDeviceAddressCreateInfoEXT; 14087 14088typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo); 14089 14090#ifndef VK_NO_PROTOTYPES 14091VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT( 14092 VkDevice device, 14093 const VkBufferDeviceAddressInfo* pInfo); 14094#endif 14095 14096 14097#define VK_EXT_tooling_info 1 14098#define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 14099#define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" 14100typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT; 14101 14102typedef VkToolPurposeFlags VkToolPurposeFlagsEXT; 14103 14104typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT; 14105 14106typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties); 14107 14108#ifndef VK_NO_PROTOTYPES 14109VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT( 14110 VkPhysicalDevice physicalDevice, 14111 deUint32* pToolCount, 14112 VkPhysicalDeviceToolProperties* pToolProperties); 14113#endif 14114 14115 14116#define VK_EXT_separate_stencil_usage 1 14117#define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 14118#define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" 14119typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT; 14120 14121 14122 14123#define VK_EXT_validation_features 1 14124#define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5 14125#define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 14126 14127typedef enum VkValidationFeatureEnableEXT { 14128 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0, 14129 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1, 14130 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2, 14131 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3, 14132 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4, 14133 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF 14134} VkValidationFeatureEnableEXT; 14135 14136typedef enum VkValidationFeatureDisableEXT { 14137 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0, 14138 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1, 14139 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2, 14140 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3, 14141 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4, 14142 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5, 14143 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6, 14144 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7, 14145 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF 14146} VkValidationFeatureDisableEXT; 14147typedef struct VkValidationFeaturesEXT { 14148 VkStructureType sType; 14149 const void* pNext; 14150 deUint32 enabledValidationFeatureCount; 14151 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures; 14152 deUint32 disabledValidationFeatureCount; 14153 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures; 14154} VkValidationFeaturesEXT; 14155 14156 14157 14158#define VK_NV_cooperative_matrix 1 14159#define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 14160#define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 14161 14162typedef enum VkComponentTypeNV { 14163 VK_COMPONENT_TYPE_FLOAT16_NV = 0, 14164 VK_COMPONENT_TYPE_FLOAT32_NV = 1, 14165 VK_COMPONENT_TYPE_FLOAT64_NV = 2, 14166 VK_COMPONENT_TYPE_SINT8_NV = 3, 14167 VK_COMPONENT_TYPE_SINT16_NV = 4, 14168 VK_COMPONENT_TYPE_SINT32_NV = 5, 14169 VK_COMPONENT_TYPE_SINT64_NV = 6, 14170 VK_COMPONENT_TYPE_UINT8_NV = 7, 14171 VK_COMPONENT_TYPE_UINT16_NV = 8, 14172 VK_COMPONENT_TYPE_UINT32_NV = 9, 14173 VK_COMPONENT_TYPE_UINT64_NV = 10, 14174 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 14175} VkComponentTypeNV; 14176 14177typedef enum VkScopeNV { 14178 VK_SCOPE_DEVICE_NV = 1, 14179 VK_SCOPE_WORKGROUP_NV = 2, 14180 VK_SCOPE_SUBGROUP_NV = 3, 14181 VK_SCOPE_QUEUE_FAMILY_NV = 5, 14182 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF 14183} VkScopeNV; 14184typedef struct VkCooperativeMatrixPropertiesNV { 14185 VkStructureType sType; 14186 void* pNext; 14187 deUint32 MSize; 14188 deUint32 NSize; 14189 deUint32 KSize; 14190 VkComponentTypeNV AType; 14191 VkComponentTypeNV BType; 14192 VkComponentTypeNV CType; 14193 VkComponentTypeNV DType; 14194 VkScopeNV scope; 14195} VkCooperativeMatrixPropertiesNV; 14196 14197typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV { 14198 VkStructureType sType; 14199 void* pNext; 14200 VkBool32 cooperativeMatrix; 14201 VkBool32 cooperativeMatrixRobustBufferAccess; 14202} VkPhysicalDeviceCooperativeMatrixFeaturesNV; 14203 14204typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV { 14205 VkStructureType sType; 14206 void* pNext; 14207 VkShaderStageFlags cooperativeMatrixSupportedStages; 14208} VkPhysicalDeviceCooperativeMatrixPropertiesNV; 14209 14210typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties); 14211 14212#ifndef VK_NO_PROTOTYPES 14213VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( 14214 VkPhysicalDevice physicalDevice, 14215 deUint32* pPropertyCount, 14216 VkCooperativeMatrixPropertiesNV* pProperties); 14217#endif 14218 14219 14220#define VK_NV_coverage_reduction_mode 1 14221#define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 14222#define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" 14223 14224typedef enum VkCoverageReductionModeNV { 14225 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0, 14226 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1, 14227 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF 14228} VkCoverageReductionModeNV; 14229typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV; 14230typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV { 14231 VkStructureType sType; 14232 void* pNext; 14233 VkBool32 coverageReductionMode; 14234} VkPhysicalDeviceCoverageReductionModeFeaturesNV; 14235 14236typedef struct VkPipelineCoverageReductionStateCreateInfoNV { 14237 VkStructureType sType; 14238 const void* pNext; 14239 VkPipelineCoverageReductionStateCreateFlagsNV flags; 14240 VkCoverageReductionModeNV coverageReductionMode; 14241} VkPipelineCoverageReductionStateCreateInfoNV; 14242 14243typedef struct VkFramebufferMixedSamplesCombinationNV { 14244 VkStructureType sType; 14245 void* pNext; 14246 VkCoverageReductionModeNV coverageReductionMode; 14247 VkSampleCountFlagBits rasterizationSamples; 14248 VkSampleCountFlags depthStencilSamples; 14249 VkSampleCountFlags colorSamples; 14250} VkFramebufferMixedSamplesCombinationNV; 14251 14252typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations); 14253 14254#ifndef VK_NO_PROTOTYPES 14255VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( 14256 VkPhysicalDevice physicalDevice, 14257 deUint32* pCombinationCount, 14258 VkFramebufferMixedSamplesCombinationNV* pCombinations); 14259#endif 14260 14261 14262#define VK_EXT_fragment_shader_interlock 1 14263#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 14264#define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" 14265typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT { 14266 VkStructureType sType; 14267 void* pNext; 14268 VkBool32 fragmentShaderSampleInterlock; 14269 VkBool32 fragmentShaderPixelInterlock; 14270 VkBool32 fragmentShaderShadingRateInterlock; 14271} VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT; 14272 14273 14274 14275#define VK_EXT_ycbcr_image_arrays 1 14276#define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 14277#define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" 14278typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT { 14279 VkStructureType sType; 14280 void* pNext; 14281 VkBool32 ycbcrImageArrays; 14282} VkPhysicalDeviceYcbcrImageArraysFeaturesEXT; 14283 14284 14285 14286#define VK_EXT_provoking_vertex 1 14287#define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 14288#define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" 14289 14290typedef enum VkProvokingVertexModeEXT { 14291 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0, 14292 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1, 14293 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 14294} VkProvokingVertexModeEXT; 14295typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT { 14296 VkStructureType sType; 14297 void* pNext; 14298 VkBool32 provokingVertexLast; 14299 VkBool32 transformFeedbackPreservesProvokingVertex; 14300} VkPhysicalDeviceProvokingVertexFeaturesEXT; 14301 14302typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT { 14303 VkStructureType sType; 14304 void* pNext; 14305 VkBool32 provokingVertexModePerPipeline; 14306 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex; 14307} VkPhysicalDeviceProvokingVertexPropertiesEXT; 14308 14309typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT { 14310 VkStructureType sType; 14311 const void* pNext; 14312 VkProvokingVertexModeEXT provokingVertexMode; 14313} VkPipelineRasterizationProvokingVertexStateCreateInfoEXT; 14314 14315 14316 14317#define VK_EXT_headless_surface 1 14318#define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 14319#define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" 14320typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT; 14321typedef struct VkHeadlessSurfaceCreateInfoEXT { 14322 VkStructureType sType; 14323 const void* pNext; 14324 VkHeadlessSurfaceCreateFlagsEXT flags; 14325} VkHeadlessSurfaceCreateInfoEXT; 14326 14327typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 14328 14329#ifndef VK_NO_PROTOTYPES 14330VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT( 14331 VkInstance instance, 14332 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, 14333 const VkAllocationCallbacks* pAllocator, 14334 VkSurfaceKHR* pSurface); 14335#endif 14336 14337 14338#define VK_EXT_line_rasterization 1 14339#define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 14340#define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" 14341 14342typedef enum VkLineRasterizationModeEXT { 14343 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0, 14344 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1, 14345 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2, 14346 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3, 14347 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 14348} VkLineRasterizationModeEXT; 14349typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT { 14350 VkStructureType sType; 14351 void* pNext; 14352 VkBool32 rectangularLines; 14353 VkBool32 bresenhamLines; 14354 VkBool32 smoothLines; 14355 VkBool32 stippledRectangularLines; 14356 VkBool32 stippledBresenhamLines; 14357 VkBool32 stippledSmoothLines; 14358} VkPhysicalDeviceLineRasterizationFeaturesEXT; 14359 14360typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT { 14361 VkStructureType sType; 14362 void* pNext; 14363 deUint32 lineSubPixelPrecisionBits; 14364} VkPhysicalDeviceLineRasterizationPropertiesEXT; 14365 14366typedef struct VkPipelineRasterizationLineStateCreateInfoEXT { 14367 VkStructureType sType; 14368 const void* pNext; 14369 VkLineRasterizationModeEXT lineRasterizationMode; 14370 VkBool32 stippledLineEnable; 14371 deUint32 lineStippleFactor; 14372 deUint16 lineStipplePattern; 14373} VkPipelineRasterizationLineStateCreateInfoEXT; 14374 14375typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern); 14376 14377#ifndef VK_NO_PROTOTYPES 14378VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT( 14379 VkCommandBuffer commandBuffer, 14380 deUint32 lineStippleFactor, 14381 deUint16 lineStipplePattern); 14382#endif 14383 14384 14385#define VK_EXT_shader_atomic_float 1 14386#define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 14387#define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" 14388typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT { 14389 VkStructureType sType; 14390 void* pNext; 14391 VkBool32 shaderBufferFloat32Atomics; 14392 VkBool32 shaderBufferFloat32AtomicAdd; 14393 VkBool32 shaderBufferFloat64Atomics; 14394 VkBool32 shaderBufferFloat64AtomicAdd; 14395 VkBool32 shaderSharedFloat32Atomics; 14396 VkBool32 shaderSharedFloat32AtomicAdd; 14397 VkBool32 shaderSharedFloat64Atomics; 14398 VkBool32 shaderSharedFloat64AtomicAdd; 14399 VkBool32 shaderImageFloat32Atomics; 14400 VkBool32 shaderImageFloat32AtomicAdd; 14401 VkBool32 sparseImageFloat32Atomics; 14402 VkBool32 sparseImageFloat32AtomicAdd; 14403} VkPhysicalDeviceShaderAtomicFloatFeaturesEXT; 14404 14405 14406 14407#define VK_EXT_host_query_reset 1 14408#define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 14409#define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" 14410typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT; 14411 14412typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount); 14413 14414#ifndef VK_NO_PROTOTYPES 14415VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT( 14416 VkDevice device, 14417 VkQueryPool queryPool, 14418 deUint32 firstQuery, 14419 deUint32 queryCount); 14420#endif 14421 14422 14423#define VK_EXT_index_type_uint8 1 14424#define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 14425#define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" 14426typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT { 14427 VkStructureType sType; 14428 void* pNext; 14429 VkBool32 indexTypeUint8; 14430} VkPhysicalDeviceIndexTypeUint8FeaturesEXT; 14431 14432 14433 14434#define VK_EXT_extended_dynamic_state 1 14435#define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 14436#define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" 14437typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT { 14438 VkStructureType sType; 14439 void* pNext; 14440 VkBool32 extendedDynamicState; 14441} VkPhysicalDeviceExtendedDynamicStateFeaturesEXT; 14442 14443typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode); 14444typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace); 14445typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology); 14446typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports); 14447typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors); 14448typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides); 14449typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable); 14450typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable); 14451typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp); 14452typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable); 14453typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable); 14454typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp); 14455 14456#ifndef VK_NO_PROTOTYPES 14457VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT( 14458 VkCommandBuffer commandBuffer, 14459 VkCullModeFlags cullMode); 14460 14461VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT( 14462 VkCommandBuffer commandBuffer, 14463 VkFrontFace frontFace); 14464 14465VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT( 14466 VkCommandBuffer commandBuffer, 14467 VkPrimitiveTopology primitiveTopology); 14468 14469VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT( 14470 VkCommandBuffer commandBuffer, 14471 deUint32 viewportCount, 14472 const VkViewport* pViewports); 14473 14474VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT( 14475 VkCommandBuffer commandBuffer, 14476 deUint32 scissorCount, 14477 const VkRect2D* pScissors); 14478 14479VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT( 14480 VkCommandBuffer commandBuffer, 14481 deUint32 firstBinding, 14482 deUint32 bindingCount, 14483 const VkBuffer* pBuffers, 14484 const VkDeviceSize* pOffsets, 14485 const VkDeviceSize* pSizes, 14486 const VkDeviceSize* pStrides); 14487 14488VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT( 14489 VkCommandBuffer commandBuffer, 14490 VkBool32 depthTestEnable); 14491 14492VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT( 14493 VkCommandBuffer commandBuffer, 14494 VkBool32 depthWriteEnable); 14495 14496VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT( 14497 VkCommandBuffer commandBuffer, 14498 VkCompareOp depthCompareOp); 14499 14500VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT( 14501 VkCommandBuffer commandBuffer, 14502 VkBool32 depthBoundsTestEnable); 14503 14504VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT( 14505 VkCommandBuffer commandBuffer, 14506 VkBool32 stencilTestEnable); 14507 14508VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT( 14509 VkCommandBuffer commandBuffer, 14510 VkStencilFaceFlags faceMask, 14511 VkStencilOp failOp, 14512 VkStencilOp passOp, 14513 VkStencilOp depthFailOp, 14514 VkCompareOp compareOp); 14515#endif 14516 14517 14518#define VK_EXT_shader_atomic_float2 1 14519#define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 14520#define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" 14521typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT { 14522 VkStructureType sType; 14523 void* pNext; 14524 VkBool32 shaderBufferFloat16Atomics; 14525 VkBool32 shaderBufferFloat16AtomicAdd; 14526 VkBool32 shaderBufferFloat16AtomicMinMax; 14527 VkBool32 shaderBufferFloat32AtomicMinMax; 14528 VkBool32 shaderBufferFloat64AtomicMinMax; 14529 VkBool32 shaderSharedFloat16Atomics; 14530 VkBool32 shaderSharedFloat16AtomicAdd; 14531 VkBool32 shaderSharedFloat16AtomicMinMax; 14532 VkBool32 shaderSharedFloat32AtomicMinMax; 14533 VkBool32 shaderSharedFloat64AtomicMinMax; 14534 VkBool32 shaderImageFloat32AtomicMinMax; 14535 VkBool32 sparseImageFloat32AtomicMinMax; 14536} VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT; 14537 14538 14539 14540#define VK_EXT_surface_maintenance1 1 14541#define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1 14542#define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1" 14543 14544typedef enum VkPresentScalingFlagBitsEXT { 14545 VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001, 14546 VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002, 14547 VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004, 14548 VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 14549} VkPresentScalingFlagBitsEXT; 14550typedef VkFlags VkPresentScalingFlagsEXT; 14551 14552typedef enum VkPresentGravityFlagBitsEXT { 14553 VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001, 14554 VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002, 14555 VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004, 14556 VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 14557} VkPresentGravityFlagBitsEXT; 14558typedef VkFlags VkPresentGravityFlagsEXT; 14559typedef struct VkSurfacePresentModeEXT { 14560 VkStructureType sType; 14561 void* pNext; 14562 VkPresentModeKHR presentMode; 14563} VkSurfacePresentModeEXT; 14564 14565typedef struct VkSurfacePresentScalingCapabilitiesEXT { 14566 VkStructureType sType; 14567 void* pNext; 14568 VkPresentScalingFlagsEXT supportedPresentScaling; 14569 VkPresentGravityFlagsEXT supportedPresentGravityX; 14570 VkPresentGravityFlagsEXT supportedPresentGravityY; 14571 VkExtent2D minScaledImageExtent; 14572 VkExtent2D maxScaledImageExtent; 14573} VkSurfacePresentScalingCapabilitiesEXT; 14574 14575typedef struct VkSurfacePresentModeCompatibilityEXT { 14576 VkStructureType sType; 14577 void* pNext; 14578 deUint32 presentModeCount; 14579 VkPresentModeKHR* pPresentModes; 14580} VkSurfacePresentModeCompatibilityEXT; 14581 14582 14583 14584#define VK_EXT_swapchain_maintenance1 1 14585#define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1 14586#define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1" 14587typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT { 14588 VkStructureType sType; 14589 void* pNext; 14590 VkBool32 swapchainMaintenance1; 14591} VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT; 14592 14593typedef struct VkSwapchainPresentFenceInfoEXT { 14594 VkStructureType sType; 14595 void* pNext; 14596 deUint32 swapchainCount; 14597 const VkFence* pFences; 14598} VkSwapchainPresentFenceInfoEXT; 14599 14600typedef struct VkSwapchainPresentModesCreateInfoEXT { 14601 VkStructureType sType; 14602 void* pNext; 14603 deUint32 presentModeCount; 14604 const VkPresentModeKHR* pPresentModes; 14605} VkSwapchainPresentModesCreateInfoEXT; 14606 14607typedef struct VkSwapchainPresentModeInfoEXT { 14608 VkStructureType sType; 14609 void* pNext; 14610 deUint32 swapchainCount; 14611 const VkPresentModeKHR* pPresentModes; 14612} VkSwapchainPresentModeInfoEXT; 14613 14614typedef struct VkSwapchainPresentScalingCreateInfoEXT { 14615 VkStructureType sType; 14616 const void* pNext; 14617 VkPresentScalingFlagsEXT scalingBehavior; 14618 VkPresentGravityFlagsEXT presentGravityX; 14619 VkPresentGravityFlagsEXT presentGravityY; 14620} VkSwapchainPresentScalingCreateInfoEXT; 14621 14622typedef struct VkReleaseSwapchainImagesInfoEXT { 14623 VkStructureType sType; 14624 const void* pNext; 14625 VkSwapchainKHR swapchain; 14626 deUint32 imageIndexCount; 14627 const deUint32* pImageIndices; 14628} VkReleaseSwapchainImagesInfoEXT; 14629 14630typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 14631 14632#ifndef VK_NO_PROTOTYPES 14633VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT( 14634 VkDevice device, 14635 const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 14636#endif 14637 14638 14639#define VK_EXT_shader_demote_to_helper_invocation 1 14640#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 14641#define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" 14642typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT; 14643 14644 14645 14646#define VK_NV_device_generated_commands 1 14647VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 14648#define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 14649#define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands" 14650 14651typedef enum VkIndirectCommandsTokenTypeNV { 14652 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0, 14653 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1, 14654 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2, 14655 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3, 14656 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4, 14657 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5, 14658 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 14659 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 14660 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, 14661 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 14662} VkIndirectCommandsTokenTypeNV; 14663 14664typedef enum VkIndirectStateFlagBitsNV { 14665 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001, 14666 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 14667} VkIndirectStateFlagBitsNV; 14668typedef VkFlags VkIndirectStateFlagsNV; 14669 14670typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV { 14671 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001, 14672 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002, 14673 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004, 14674 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 14675} VkIndirectCommandsLayoutUsageFlagBitsNV; 14676typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV; 14677typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { 14678 VkStructureType sType; 14679 void* pNext; 14680 deUint32 maxGraphicsShaderGroupCount; 14681 deUint32 maxIndirectSequenceCount; 14682 deUint32 maxIndirectCommandsTokenCount; 14683 deUint32 maxIndirectCommandsStreamCount; 14684 deUint32 maxIndirectCommandsTokenOffset; 14685 deUint32 maxIndirectCommandsStreamStride; 14686 deUint32 minSequencesCountBufferOffsetAlignment; 14687 deUint32 minSequencesIndexBufferOffsetAlignment; 14688 deUint32 minIndirectCommandsBufferOffsetAlignment; 14689} VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV; 14690 14691typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV { 14692 VkStructureType sType; 14693 void* pNext; 14694 VkBool32 deviceGeneratedCommands; 14695} VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV; 14696 14697typedef struct VkGraphicsShaderGroupCreateInfoNV { 14698 VkStructureType sType; 14699 const void* pNext; 14700 deUint32 stageCount; 14701 const VkPipelineShaderStageCreateInfo* pStages; 14702 const VkPipelineVertexInputStateCreateInfo* pVertexInputState; 14703 const VkPipelineTessellationStateCreateInfo* pTessellationState; 14704} VkGraphicsShaderGroupCreateInfoNV; 14705 14706typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV { 14707 VkStructureType sType; 14708 const void* pNext; 14709 deUint32 groupCount; 14710 const VkGraphicsShaderGroupCreateInfoNV* pGroups; 14711 deUint32 pipelineCount; 14712 const VkPipeline* pPipelines; 14713} VkGraphicsPipelineShaderGroupsCreateInfoNV; 14714 14715typedef struct VkBindShaderGroupIndirectCommandNV { 14716 deUint32 groupIndex; 14717} VkBindShaderGroupIndirectCommandNV; 14718 14719typedef struct VkBindIndexBufferIndirectCommandNV { 14720 VkDeviceAddress bufferAddress; 14721 deUint32 size; 14722 VkIndexType indexType; 14723} VkBindIndexBufferIndirectCommandNV; 14724 14725typedef struct VkBindVertexBufferIndirectCommandNV { 14726 VkDeviceAddress bufferAddress; 14727 deUint32 size; 14728 deUint32 stride; 14729} VkBindVertexBufferIndirectCommandNV; 14730 14731typedef struct VkSetStateFlagsIndirectCommandNV { 14732 deUint32 data; 14733} VkSetStateFlagsIndirectCommandNV; 14734 14735typedef struct VkIndirectCommandsStreamNV { 14736 VkBuffer buffer; 14737 VkDeviceSize offset; 14738} VkIndirectCommandsStreamNV; 14739 14740typedef struct VkIndirectCommandsLayoutTokenNV { 14741 VkStructureType sType; 14742 const void* pNext; 14743 VkIndirectCommandsTokenTypeNV tokenType; 14744 deUint32 stream; 14745 deUint32 offset; 14746 deUint32 vertexBindingUnit; 14747 VkBool32 vertexDynamicStride; 14748 VkPipelineLayout pushconstantPipelineLayout; 14749 VkShaderStageFlags pushconstantShaderStageFlags; 14750 deUint32 pushconstantOffset; 14751 deUint32 pushconstantSize; 14752 VkIndirectStateFlagsNV indirectStateFlags; 14753 deUint32 indexTypeCount; 14754 const VkIndexType* pIndexTypes; 14755 const deUint32* pIndexTypeValues; 14756} VkIndirectCommandsLayoutTokenNV; 14757 14758typedef struct VkIndirectCommandsLayoutCreateInfoNV { 14759 VkStructureType sType; 14760 const void* pNext; 14761 VkIndirectCommandsLayoutUsageFlagsNV flags; 14762 VkPipelineBindPoint pipelineBindPoint; 14763 deUint32 tokenCount; 14764 const VkIndirectCommandsLayoutTokenNV* pTokens; 14765 deUint32 streamCount; 14766 const deUint32* pStreamStrides; 14767} VkIndirectCommandsLayoutCreateInfoNV; 14768 14769typedef struct VkGeneratedCommandsInfoNV { 14770 VkStructureType sType; 14771 const void* pNext; 14772 VkPipelineBindPoint pipelineBindPoint; 14773 VkPipeline pipeline; 14774 VkIndirectCommandsLayoutNV indirectCommandsLayout; 14775 deUint32 streamCount; 14776 const VkIndirectCommandsStreamNV* pStreams; 14777 deUint32 sequencesCount; 14778 VkBuffer preprocessBuffer; 14779 VkDeviceSize preprocessOffset; 14780 VkDeviceSize preprocessSize; 14781 VkBuffer sequencesCountBuffer; 14782 VkDeviceSize sequencesCountOffset; 14783 VkBuffer sequencesIndexBuffer; 14784 VkDeviceSize sequencesIndexOffset; 14785} VkGeneratedCommandsInfoNV; 14786 14787typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV { 14788 VkStructureType sType; 14789 const void* pNext; 14790 VkPipelineBindPoint pipelineBindPoint; 14791 VkPipeline pipeline; 14792 VkIndirectCommandsLayoutNV indirectCommandsLayout; 14793 deUint32 maxSequencesCount; 14794} VkGeneratedCommandsMemoryRequirementsInfoNV; 14795 14796typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements); 14797typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 14798typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 14799typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex); 14800typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 14801typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator); 14802 14803#ifndef VK_NO_PROTOTYPES 14804VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV( 14805 VkDevice device, 14806 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, 14807 VkMemoryRequirements2* pMemoryRequirements); 14808 14809VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV( 14810 VkCommandBuffer commandBuffer, 14811 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 14812 14813VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV( 14814 VkCommandBuffer commandBuffer, 14815 VkBool32 isPreprocessed, 14816 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo); 14817 14818VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV( 14819 VkCommandBuffer commandBuffer, 14820 VkPipelineBindPoint pipelineBindPoint, 14821 VkPipeline pipeline, 14822 deUint32 groupIndex); 14823 14824VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV( 14825 VkDevice device, 14826 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, 14827 const VkAllocationCallbacks* pAllocator, 14828 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout); 14829 14830VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV( 14831 VkDevice device, 14832 VkIndirectCommandsLayoutNV indirectCommandsLayout, 14833 const VkAllocationCallbacks* pAllocator); 14834#endif 14835 14836 14837#define VK_NV_inherited_viewport_scissor 1 14838#define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 14839#define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" 14840typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV { 14841 VkStructureType sType; 14842 void* pNext; 14843 VkBool32 inheritedViewportScissor2D; 14844} VkPhysicalDeviceInheritedViewportScissorFeaturesNV; 14845 14846typedef struct VkCommandBufferInheritanceViewportScissorInfoNV { 14847 VkStructureType sType; 14848 const void* pNext; 14849 VkBool32 viewportScissor2D; 14850 deUint32 viewportDepthCount; 14851 const VkViewport* pViewportDepths; 14852} VkCommandBufferInheritanceViewportScissorInfoNV; 14853 14854 14855 14856#define VK_EXT_texel_buffer_alignment 1 14857#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 14858#define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" 14859typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT { 14860 VkStructureType sType; 14861 void* pNext; 14862 VkBool32 texelBufferAlignment; 14863} VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT; 14864 14865typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT; 14866 14867 14868 14869#define VK_QCOM_render_pass_transform 1 14870#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 3 14871#define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 14872typedef struct VkRenderPassTransformBeginInfoQCOM { 14873 VkStructureType sType; 14874 void* pNext; 14875 VkSurfaceTransformFlagBitsKHR transform; 14876} VkRenderPassTransformBeginInfoQCOM; 14877 14878typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM { 14879 VkStructureType sType; 14880 void* pNext; 14881 VkSurfaceTransformFlagBitsKHR transform; 14882 VkRect2D renderArea; 14883} VkCommandBufferInheritanceRenderPassTransformInfoQCOM; 14884 14885 14886 14887#define VK_EXT_device_memory_report 1 14888#define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 14889#define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" 14890 14891typedef enum VkDeviceMemoryReportEventTypeEXT { 14892 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0, 14893 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1, 14894 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2, 14895 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3, 14896 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4, 14897 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 14898} VkDeviceMemoryReportEventTypeEXT; 14899typedef VkFlags VkDeviceMemoryReportFlagsEXT; 14900typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { 14901 VkStructureType sType; 14902 void* pNext; 14903 VkBool32 deviceMemoryReport; 14904} VkPhysicalDeviceDeviceMemoryReportFeaturesEXT; 14905 14906typedef struct VkDeviceMemoryReportCallbackDataEXT { 14907 VkStructureType sType; 14908 void* pNext; 14909 VkDeviceMemoryReportFlagsEXT flags; 14910 VkDeviceMemoryReportEventTypeEXT type; 14911 deUint64 memoryObjectId; 14912 VkDeviceSize size; 14913 VkObjectType objectType; 14914 deUint64 objectHandle; 14915 deUint32 heapIndex; 14916} VkDeviceMemoryReportCallbackDataEXT; 14917 14918typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)( 14919 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData, 14920 void* pUserData); 14921 14922typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT { 14923 VkStructureType sType; 14924 const void* pNext; 14925 VkDeviceMemoryReportFlagsEXT flags; 14926 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback; 14927 void* pUserData; 14928} VkDeviceDeviceMemoryReportCreateInfoEXT; 14929 14930 14931 14932#define VK_EXT_acquire_drm_display 1 14933#define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 14934#define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" 14935typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, VkDisplayKHR display); 14936typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, deUint32 connectorId, VkDisplayKHR* display); 14937 14938#ifndef VK_NO_PROTOTYPES 14939VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT( 14940 VkPhysicalDevice physicalDevice, 14941 deInt32 drmFd, 14942 VkDisplayKHR display); 14943 14944VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT( 14945 VkPhysicalDevice physicalDevice, 14946 deInt32 drmFd, 14947 deUint32 connectorId, 14948 VkDisplayKHR* display); 14949#endif 14950 14951 14952#define VK_EXT_robustness2 1 14953#define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 14954#define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" 14955typedef struct VkPhysicalDeviceRobustness2FeaturesEXT { 14956 VkStructureType sType; 14957 void* pNext; 14958 VkBool32 robustBufferAccess2; 14959 VkBool32 robustImageAccess2; 14960 VkBool32 nullDescriptor; 14961} VkPhysicalDeviceRobustness2FeaturesEXT; 14962 14963typedef struct VkPhysicalDeviceRobustness2PropertiesEXT { 14964 VkStructureType sType; 14965 void* pNext; 14966 VkDeviceSize robustStorageBufferAccessSizeAlignment; 14967 VkDeviceSize robustUniformBufferAccessSizeAlignment; 14968} VkPhysicalDeviceRobustness2PropertiesEXT; 14969 14970 14971 14972#define VK_EXT_custom_border_color 1 14973#define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 14974#define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" 14975typedef struct VkSamplerCustomBorderColorCreateInfoEXT { 14976 VkStructureType sType; 14977 const void* pNext; 14978 VkClearColorValue customBorderColor; 14979 VkFormat format; 14980} VkSamplerCustomBorderColorCreateInfoEXT; 14981 14982typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT { 14983 VkStructureType sType; 14984 void* pNext; 14985 deUint32 maxCustomBorderColorSamplers; 14986} VkPhysicalDeviceCustomBorderColorPropertiesEXT; 14987 14988typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT { 14989 VkStructureType sType; 14990 void* pNext; 14991 VkBool32 customBorderColors; 14992 VkBool32 customBorderColorWithoutFormat; 14993} VkPhysicalDeviceCustomBorderColorFeaturesEXT; 14994 14995 14996 14997#define VK_GOOGLE_user_type 1 14998#define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 14999#define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 15000 15001 15002#define VK_NV_present_barrier 1 15003#define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1 15004#define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier" 15005typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { 15006 VkStructureType sType; 15007 void* pNext; 15008 VkBool32 presentBarrier; 15009} VkPhysicalDevicePresentBarrierFeaturesNV; 15010 15011typedef struct VkSurfaceCapabilitiesPresentBarrierNV { 15012 VkStructureType sType; 15013 void* pNext; 15014 VkBool32 presentBarrierSupported; 15015} VkSurfaceCapabilitiesPresentBarrierNV; 15016 15017typedef struct VkSwapchainPresentBarrierCreateInfoNV { 15018 VkStructureType sType; 15019 void* pNext; 15020 VkBool32 presentBarrierEnable; 15021} VkSwapchainPresentBarrierCreateInfoNV; 15022 15023 15024 15025#define VK_EXT_private_data 1 15026typedef VkPrivateDataSlot VkPrivateDataSlotEXT; 15027 15028#define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1 15029#define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" 15030typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; 15031 15032typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; 15033 15034typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; 15035 15036typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT; 15037 15038typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot); 15039typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator); 15040typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data); 15041typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData); 15042 15043#ifndef VK_NO_PROTOTYPES 15044VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT( 15045 VkDevice device, 15046 const VkPrivateDataSlotCreateInfo* pCreateInfo, 15047 const VkAllocationCallbacks* pAllocator, 15048 VkPrivateDataSlot* pPrivateDataSlot); 15049 15050VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT( 15051 VkDevice device, 15052 VkPrivateDataSlot privateDataSlot, 15053 const VkAllocationCallbacks* pAllocator); 15054 15055VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT( 15056 VkDevice device, 15057 VkObjectType objectType, 15058 deUint64 objectHandle, 15059 VkPrivateDataSlot privateDataSlot, 15060 deUint64 data); 15061 15062VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT( 15063 VkDevice device, 15064 VkObjectType objectType, 15065 deUint64 objectHandle, 15066 VkPrivateDataSlot privateDataSlot, 15067 deUint64* pData); 15068#endif 15069 15070 15071#define VK_EXT_pipeline_creation_cache_control 1 15072#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 15073#define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" 15074typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT; 15075 15076 15077 15078#define VK_NV_device_diagnostics_config 1 15079#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2 15080#define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" 15081 15082typedef enum VkDeviceDiagnosticsConfigFlagBitsNV { 15083 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001, 15084 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002, 15085 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004, 15086 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008, 15087 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 15088} VkDeviceDiagnosticsConfigFlagBitsNV; 15089typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV; 15090typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV { 15091 VkStructureType sType; 15092 void* pNext; 15093 VkBool32 diagnosticsConfig; 15094} VkPhysicalDeviceDiagnosticsConfigFeaturesNV; 15095 15096typedef struct VkDeviceDiagnosticsConfigCreateInfoNV { 15097 VkStructureType sType; 15098 const void* pNext; 15099 VkDeviceDiagnosticsConfigFlagsNV flags; 15100} VkDeviceDiagnosticsConfigCreateInfoNV; 15101 15102 15103 15104#define VK_QCOM_render_pass_store_ops 1 15105#define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 15106#define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 15107 15108 15109#define VK_EXT_descriptor_buffer 1 15110VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 15111#define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1 15112#define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer" 15113typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT { 15114 VkStructureType sType; 15115 void* pNext; 15116 VkBool32 combinedImageSamplerDescriptorSingleArray; 15117 VkBool32 bufferlessPushDescriptors; 15118 VkBool32 allowSamplerImageViewPostSubmitCreation; 15119 VkDeviceSize descriptorBufferOffsetAlignment; 15120 deUint32 maxDescriptorBufferBindings; 15121 deUint32 maxResourceDescriptorBufferBindings; 15122 deUint32 maxSamplerDescriptorBufferBindings; 15123 deUint32 maxEmbeddedImmutableSamplerBindings; 15124 deUint32 maxEmbeddedImmutableSamplers; 15125 deUintptr bufferCaptureReplayDescriptorDataSize; 15126 deUintptr imageCaptureReplayDescriptorDataSize; 15127 deUintptr imageViewCaptureReplayDescriptorDataSize; 15128 deUintptr samplerCaptureReplayDescriptorDataSize; 15129 deUintptr accelerationStructureCaptureReplayDescriptorDataSize; 15130 deUintptr samplerDescriptorSize; 15131 deUintptr combinedImageSamplerDescriptorSize; 15132 deUintptr sampledImageDescriptorSize; 15133 deUintptr storageImageDescriptorSize; 15134 deUintptr uniformTexelBufferDescriptorSize; 15135 deUintptr robustUniformTexelBufferDescriptorSize; 15136 deUintptr storageTexelBufferDescriptorSize; 15137 deUintptr robustStorageTexelBufferDescriptorSize; 15138 deUintptr uniformBufferDescriptorSize; 15139 deUintptr robustUniformBufferDescriptorSize; 15140 deUintptr storageBufferDescriptorSize; 15141 deUintptr robustStorageBufferDescriptorSize; 15142 deUintptr inputAttachmentDescriptorSize; 15143 deUintptr accelerationStructureDescriptorSize; 15144 VkDeviceSize maxSamplerDescriptorBufferRange; 15145 VkDeviceSize maxResourceDescriptorBufferRange; 15146 VkDeviceSize samplerDescriptorBufferAddressSpaceSize; 15147 VkDeviceSize resourceDescriptorBufferAddressSpaceSize; 15148 VkDeviceSize descriptorBufferAddressSpaceSize; 15149} VkPhysicalDeviceDescriptorBufferPropertiesEXT; 15150 15151typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { 15152 VkStructureType sType; 15153 void* pNext; 15154 deUintptr combinedImageSamplerDensityMapDescriptorSize; 15155} VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT; 15156 15157typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT { 15158 VkStructureType sType; 15159 void* pNext; 15160 VkBool32 descriptorBuffer; 15161 VkBool32 descriptorBufferCaptureReplay; 15162 VkBool32 descriptorBufferImageLayoutIgnored; 15163 VkBool32 descriptorBufferPushDescriptors; 15164} VkPhysicalDeviceDescriptorBufferFeaturesEXT; 15165 15166typedef struct VkDescriptorAddressInfoEXT { 15167 VkStructureType sType; 15168 void* pNext; 15169 VkDeviceAddress address; 15170 VkDeviceSize range; 15171 VkFormat format; 15172} VkDescriptorAddressInfoEXT; 15173 15174typedef struct VkDescriptorBufferBindingInfoEXT { 15175 VkStructureType sType; 15176 void* pNext; 15177 VkDeviceAddress address; 15178 VkBufferUsageFlags usage; 15179} VkDescriptorBufferBindingInfoEXT; 15180 15181typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT { 15182 VkStructureType sType; 15183 void* pNext; 15184 VkBuffer buffer; 15185} VkDescriptorBufferBindingPushDescriptorBufferHandleEXT; 15186 15187typedef union VkDescriptorDataEXT { 15188 const VkSampler* pSampler; 15189 const VkDescriptorImageInfo* pCombinedImageSampler; 15190 const VkDescriptorImageInfo* pInputAttachmentImage; 15191 const VkDescriptorImageInfo* pSampledImage; 15192 const VkDescriptorImageInfo* pStorageImage; 15193 const VkDescriptorAddressInfoEXT* pUniformTexelBuffer; 15194 const VkDescriptorAddressInfoEXT* pStorageTexelBuffer; 15195 const VkDescriptorAddressInfoEXT* pUniformBuffer; 15196 const VkDescriptorAddressInfoEXT* pStorageBuffer; 15197 VkDeviceAddress accelerationStructure; 15198} VkDescriptorDataEXT; 15199 15200typedef struct VkDescriptorGetInfoEXT { 15201 VkStructureType sType; 15202 const void* pNext; 15203 VkDescriptorType type; 15204 VkDescriptorDataEXT data; 15205} VkDescriptorGetInfoEXT; 15206 15207typedef struct VkBufferCaptureDescriptorDataInfoEXT { 15208 VkStructureType sType; 15209 const void* pNext; 15210 VkBuffer buffer; 15211} VkBufferCaptureDescriptorDataInfoEXT; 15212 15213typedef struct VkImageCaptureDescriptorDataInfoEXT { 15214 VkStructureType sType; 15215 const void* pNext; 15216 VkImage image; 15217} VkImageCaptureDescriptorDataInfoEXT; 15218 15219typedef struct VkImageViewCaptureDescriptorDataInfoEXT { 15220 VkStructureType sType; 15221 const void* pNext; 15222 VkImageView imageView; 15223} VkImageViewCaptureDescriptorDataInfoEXT; 15224 15225typedef struct VkSamplerCaptureDescriptorDataInfoEXT { 15226 VkStructureType sType; 15227 const void* pNext; 15228 VkSampler sampler; 15229} VkSamplerCaptureDescriptorDataInfoEXT; 15230 15231typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT { 15232 VkStructureType sType; 15233 const void* pNext; 15234 const void* opaqueCaptureDescriptorData; 15235} VkOpaqueCaptureDescriptorDataCreateInfoEXT; 15236 15237typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT { 15238 VkStructureType sType; 15239 const void* pNext; 15240 VkAccelerationStructureKHR accelerationStructure; 15241 VkAccelerationStructureNV accelerationStructureNV; 15242} VkAccelerationStructureCaptureDescriptorDataInfoEXT; 15243 15244typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes); 15245typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, deUint32 binding, VkDeviceSize* pOffset); 15246typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, deUintptr dataSize, void* pDescriptor); 15247typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 15248typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsetsEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 setCount, const deUint32* pBufferIndices, const VkDeviceSize* pOffsets); 15249typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set); 15250typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData); 15251typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData); 15252typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData); 15253typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData); 15254typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData); 15255 15256#ifndef VK_NO_PROTOTYPES 15257VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT( 15258 VkDevice device, 15259 VkDescriptorSetLayout layout, 15260 VkDeviceSize* pLayoutSizeInBytes); 15261 15262VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT( 15263 VkDevice device, 15264 VkDescriptorSetLayout layout, 15265 deUint32 binding, 15266 VkDeviceSize* pOffset); 15267 15268VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT( 15269 VkDevice device, 15270 const VkDescriptorGetInfoEXT* pDescriptorInfo, 15271 deUintptr dataSize, 15272 void* pDescriptor); 15273 15274VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT( 15275 VkCommandBuffer commandBuffer, 15276 deUint32 bufferCount, 15277 const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 15278 15279VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT( 15280 VkCommandBuffer commandBuffer, 15281 VkPipelineBindPoint pipelineBindPoint, 15282 VkPipelineLayout layout, 15283 deUint32 firstSet, 15284 deUint32 setCount, 15285 const deUint32* pBufferIndices, 15286 const VkDeviceSize* pOffsets); 15287 15288VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT( 15289 VkCommandBuffer commandBuffer, 15290 VkPipelineBindPoint pipelineBindPoint, 15291 VkPipelineLayout layout, 15292 deUint32 set); 15293 15294VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT( 15295 VkDevice device, 15296 const VkBufferCaptureDescriptorDataInfoEXT* pInfo, 15297 void* pData); 15298 15299VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT( 15300 VkDevice device, 15301 const VkImageCaptureDescriptorDataInfoEXT* pInfo, 15302 void* pData); 15303 15304VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT( 15305 VkDevice device, 15306 const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, 15307 void* pData); 15308 15309VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT( 15310 VkDevice device, 15311 const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, 15312 void* pData); 15313 15314VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 15315 VkDevice device, 15316 const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, 15317 void* pData); 15318#endif 15319 15320 15321#define VK_EXT_graphics_pipeline_library 1 15322#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1 15323#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library" 15324 15325typedef enum VkGraphicsPipelineLibraryFlagBitsEXT { 15326 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001, 15327 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002, 15328 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004, 15329 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008, 15330 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15331} VkGraphicsPipelineLibraryFlagBitsEXT; 15332typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT; 15333typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { 15334 VkStructureType sType; 15335 void* pNext; 15336 VkBool32 graphicsPipelineLibrary; 15337} VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT; 15338 15339typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT { 15340 VkStructureType sType; 15341 void* pNext; 15342 VkBool32 graphicsPipelineLibraryFastLinking; 15343 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration; 15344} VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT; 15345 15346typedef struct VkGraphicsPipelineLibraryCreateInfoEXT { 15347 VkStructureType sType; 15348 void* pNext; 15349 VkGraphicsPipelineLibraryFlagsEXT flags; 15350} VkGraphicsPipelineLibraryCreateInfoEXT; 15351 15352 15353 15354#define VK_AMD_shader_early_and_late_fragment_tests 1 15355#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1 15356#define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests" 15357typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD { 15358 VkStructureType sType; 15359 void* pNext; 15360 VkBool32 shaderEarlyAndLateFragmentTests; 15361} VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD; 15362 15363 15364 15365#define VK_NV_fragment_shading_rate_enums 1 15366#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 15367#define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" 15368 15369typedef enum VkFragmentShadingRateTypeNV { 15370 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0, 15371 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1, 15372 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 15373} VkFragmentShadingRateTypeNV; 15374 15375typedef enum VkFragmentShadingRateNV { 15376 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0, 15377 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1, 15378 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4, 15379 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5, 15380 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6, 15381 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9, 15382 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10, 15383 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11, 15384 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12, 15385 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13, 15386 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14, 15387 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15, 15388 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF 15389} VkFragmentShadingRateNV; 15390typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV { 15391 VkStructureType sType; 15392 void* pNext; 15393 VkBool32 fragmentShadingRateEnums; 15394 VkBool32 supersampleFragmentShadingRates; 15395 VkBool32 noInvocationFragmentShadingRates; 15396} VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV; 15397 15398typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV { 15399 VkStructureType sType; 15400 void* pNext; 15401 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount; 15402} VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV; 15403 15404typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV { 15405 VkStructureType sType; 15406 const void* pNext; 15407 VkFragmentShadingRateTypeNV shadingRateType; 15408 VkFragmentShadingRateNV shadingRate; 15409 VkFragmentShadingRateCombinerOpKHR combinerOps[2]; 15410} VkPipelineFragmentShadingRateEnumStateCreateInfoNV; 15411 15412typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 15413 15414#ifndef VK_NO_PROTOTYPES 15415VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV( 15416 VkCommandBuffer commandBuffer, 15417 VkFragmentShadingRateNV shadingRate, 15418 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]); 15419#endif 15420 15421 15422#define VK_NV_ray_tracing_motion_blur 1 15423#define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 15424#define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" 15425 15426typedef enum VkAccelerationStructureMotionInstanceTypeNV { 15427 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0, 15428 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1, 15429 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2, 15430 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 15431} VkAccelerationStructureMotionInstanceTypeNV; 15432typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV; 15433typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; 15434typedef union VkDeviceOrHostAddressConstKHR { 15435 VkDeviceAddress deviceAddress; 15436 const void* hostAddress; 15437} VkDeviceOrHostAddressConstKHR; 15438 15439typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { 15440 VkStructureType sType; 15441 const void* pNext; 15442 VkDeviceOrHostAddressConstKHR vertexData; 15443} VkAccelerationStructureGeometryMotionTrianglesDataNV; 15444 15445typedef struct VkAccelerationStructureMotionInfoNV { 15446 VkStructureType sType; 15447 const void* pNext; 15448 deUint32 maxInstances; 15449 VkAccelerationStructureMotionInfoFlagsNV flags; 15450} VkAccelerationStructureMotionInfoNV; 15451 15452typedef struct VkAccelerationStructureMatrixMotionInstanceNV { 15453 VkTransformMatrixKHR transformT0; 15454 VkTransformMatrixKHR transformT1; 15455 deUint32 instanceCustomIndex:24; 15456 deUint32 mask:8; 15457 deUint32 instanceShaderBindingTableRecordOffset:24; 15458 VkGeometryInstanceFlagsKHR flags:8; 15459 deUint64 accelerationStructureReference; 15460} VkAccelerationStructureMatrixMotionInstanceNV; 15461 15462typedef struct VkSRTDataNV { 15463 float sx; 15464 float a; 15465 float b; 15466 float pvx; 15467 float sy; 15468 float c; 15469 float pvy; 15470 float sz; 15471 float pvz; 15472 float qx; 15473 float qy; 15474 float qz; 15475 float qw; 15476 float tx; 15477 float ty; 15478 float tz; 15479} VkSRTDataNV; 15480 15481typedef struct VkAccelerationStructureSRTMotionInstanceNV { 15482 VkSRTDataNV transformT0; 15483 VkSRTDataNV transformT1; 15484 deUint32 instanceCustomIndex:24; 15485 deUint32 mask:8; 15486 deUint32 instanceShaderBindingTableRecordOffset:24; 15487 VkGeometryInstanceFlagsKHR flags:8; 15488 deUint64 accelerationStructureReference; 15489} VkAccelerationStructureSRTMotionInstanceNV; 15490 15491typedef union VkAccelerationStructureMotionInstanceDataNV { 15492 VkAccelerationStructureInstanceKHR staticInstance; 15493 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance; 15494 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance; 15495} VkAccelerationStructureMotionInstanceDataNV; 15496 15497typedef struct VkAccelerationStructureMotionInstanceNV { 15498 VkAccelerationStructureMotionInstanceTypeNV type; 15499 VkAccelerationStructureMotionInstanceFlagsNV flags; 15500 VkAccelerationStructureMotionInstanceDataNV data; 15501} VkAccelerationStructureMotionInstanceNV; 15502 15503typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { 15504 VkStructureType sType; 15505 void* pNext; 15506 VkBool32 rayTracingMotionBlur; 15507 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; 15508} VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; 15509 15510 15511 15512#define VK_EXT_ycbcr_2plane_444_formats 1 15513#define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 15514#define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" 15515typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { 15516 VkStructureType sType; 15517 void* pNext; 15518 VkBool32 ycbcr2plane444Formats; 15519} VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT; 15520 15521 15522 15523#define VK_EXT_fragment_density_map2 1 15524#define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 15525#define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" 15526typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT { 15527 VkStructureType sType; 15528 void* pNext; 15529 VkBool32 fragmentDensityMapDeferred; 15530} VkPhysicalDeviceFragmentDensityMap2FeaturesEXT; 15531 15532typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT { 15533 VkStructureType sType; 15534 void* pNext; 15535 VkBool32 subsampledLoads; 15536 VkBool32 subsampledCoarseReconstructionEarlyAccess; 15537 deUint32 maxSubsampledArrayLayers; 15538 deUint32 maxDescriptorSetSubsampledSamplers; 15539} VkPhysicalDeviceFragmentDensityMap2PropertiesEXT; 15540 15541 15542 15543#define VK_QCOM_rotated_copy_commands 1 15544#define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1 15545#define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" 15546typedef struct VkCopyCommandTransformInfoQCOM { 15547 VkStructureType sType; 15548 const void* pNext; 15549 VkSurfaceTransformFlagBitsKHR transform; 15550} VkCopyCommandTransformInfoQCOM; 15551 15552 15553 15554#define VK_EXT_image_robustness 1 15555#define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 15556#define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" 15557typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT; 15558 15559 15560 15561#define VK_EXT_image_compression_control 1 15562#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 15563#define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" 15564 15565typedef enum VkImageCompressionFlagBitsEXT { 15566 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0, 15567 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001, 15568 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002, 15569 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004, 15570 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15571} VkImageCompressionFlagBitsEXT; 15572typedef VkFlags VkImageCompressionFlagsEXT; 15573 15574typedef enum VkImageCompressionFixedRateFlagBitsEXT { 15575 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0, 15576 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001, 15577 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002, 15578 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004, 15579 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008, 15580 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010, 15581 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020, 15582 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040, 15583 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080, 15584 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100, 15585 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200, 15586 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400, 15587 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800, 15588 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000, 15589 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000, 15590 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000, 15591 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000, 15592 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000, 15593 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000, 15594 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000, 15595 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000, 15596 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000, 15597 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000, 15598 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000, 15599 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000, 15600 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15601} VkImageCompressionFixedRateFlagBitsEXT; 15602typedef VkFlags VkImageCompressionFixedRateFlagsEXT; 15603typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT { 15604 VkStructureType sType; 15605 void* pNext; 15606 VkBool32 imageCompressionControl; 15607} VkPhysicalDeviceImageCompressionControlFeaturesEXT; 15608 15609typedef struct VkImageCompressionControlEXT { 15610 VkStructureType sType; 15611 const void* pNext; 15612 VkImageCompressionFlagsEXT flags; 15613 deUint32 compressionControlPlaneCount; 15614 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 15615} VkImageCompressionControlEXT; 15616 15617typedef struct VkSubresourceLayout2EXT { 15618 VkStructureType sType; 15619 void* pNext; 15620 VkSubresourceLayout subresourceLayout; 15621} VkSubresourceLayout2EXT; 15622 15623typedef struct VkImageSubresource2EXT { 15624 VkStructureType sType; 15625 void* pNext; 15626 VkImageSubresource imageSubresource; 15627} VkImageSubresource2EXT; 15628 15629typedef struct VkImageCompressionPropertiesEXT { 15630 VkStructureType sType; 15631 void* pNext; 15632 VkImageCompressionFlagsEXT imageCompressionFlags; 15633 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 15634} VkImageCompressionPropertiesEXT; 15635 15636typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout); 15637 15638#ifndef VK_NO_PROTOTYPES 15639VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 15640 VkDevice device, 15641 VkImage image, 15642 const VkImageSubresource2EXT* pSubresource, 15643 VkSubresourceLayout2EXT* pLayout); 15644#endif 15645 15646 15647#define VK_EXT_attachment_feedback_loop_layout 1 15648#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2 15649#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout" 15650typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { 15651 VkStructureType sType; 15652 void* pNext; 15653 VkBool32 attachmentFeedbackLoopLayout; 15654} VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT; 15655 15656 15657 15658#define VK_EXT_4444_formats 1 15659#define VK_EXT_4444_FORMATS_SPEC_VERSION 1 15660#define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" 15661typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { 15662 VkStructureType sType; 15663 void* pNext; 15664 VkBool32 formatA4R4G4B4; 15665 VkBool32 formatA4B4G4R4; 15666} VkPhysicalDevice4444FormatsFeaturesEXT; 15667 15668 15669 15670#define VK_EXT_device_fault 1 15671#define VK_EXT_DEVICE_FAULT_SPEC_VERSION 1 15672#define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault" 15673 15674typedef enum VkDeviceFaultAddressTypeEXT { 15675 VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0, 15676 VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1, 15677 VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2, 15678 VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3, 15679 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4, 15680 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5, 15681 VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6, 15682 VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 15683} VkDeviceFaultAddressTypeEXT; 15684 15685typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT { 15686 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1, 15687 VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 15688} VkDeviceFaultVendorBinaryHeaderVersionEXT; 15689typedef struct VkPhysicalDeviceFaultFeaturesEXT { 15690 VkStructureType sType; 15691 void* pNext; 15692 VkBool32 deviceFault; 15693 VkBool32 deviceFaultVendorBinary; 15694} VkPhysicalDeviceFaultFeaturesEXT; 15695 15696typedef struct VkDeviceFaultCountsEXT { 15697 VkStructureType sType; 15698 void* pNext; 15699 deUint32 addressInfoCount; 15700 deUint32 vendorInfoCount; 15701 VkDeviceSize vendorBinarySize; 15702} VkDeviceFaultCountsEXT; 15703 15704typedef struct VkDeviceFaultAddressInfoEXT { 15705 VkDeviceFaultAddressTypeEXT addressType; 15706 VkDeviceAddress reportedAddress; 15707 VkDeviceSize addressPrecision; 15708} VkDeviceFaultAddressInfoEXT; 15709 15710typedef struct VkDeviceFaultVendorInfoEXT { 15711 char description[VK_MAX_DESCRIPTION_SIZE]; 15712 deUint64 vendorFaultCode; 15713 deUint64 vendorFaultData; 15714} VkDeviceFaultVendorInfoEXT; 15715 15716typedef struct VkDeviceFaultInfoEXT { 15717 VkStructureType sType; 15718 void* pNext; 15719 char description[VK_MAX_DESCRIPTION_SIZE]; 15720 VkDeviceFaultAddressInfoEXT* pAddressInfos; 15721 VkDeviceFaultVendorInfoEXT* pVendorInfos; 15722 void* pVendorBinaryData; 15723} VkDeviceFaultInfoEXT; 15724 15725typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT { 15726 deUint32 headerSize; 15727 VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 15728 deUint32 vendorID; 15729 deUint32 deviceID; 15730 deUint32 driverVersion; 15731 deUint8 pipelineCacheUUID[VK_UUID_SIZE]; 15732 deUint32 applicationNameOffset; 15733 deUint32 applicationVersion; 15734 deUint32 engineNameOffset; 15735} VkDeviceFaultVendorBinaryHeaderVersionOneEXT; 15736 15737typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); 15738 15739#ifndef VK_NO_PROTOTYPES 15740VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT( 15741 VkDevice device, 15742 VkDeviceFaultCountsEXT* pFaultCounts, 15743 VkDeviceFaultInfoEXT* pFaultInfo); 15744#endif 15745 15746 15747#define VK_ARM_rasterization_order_attachment_access 1 15748#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 15749#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" 15750typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { 15751 VkStructureType sType; 15752 void* pNext; 15753 VkBool32 rasterizationOrderColorAttachmentAccess; 15754 VkBool32 rasterizationOrderDepthAttachmentAccess; 15755 VkBool32 rasterizationOrderStencilAttachmentAccess; 15756} VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; 15757 15758typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; 15759 15760 15761 15762#define VK_EXT_rgba10x6_formats 1 15763#define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 15764#define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" 15765typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT { 15766 VkStructureType sType; 15767 void* pNext; 15768 VkBool32 formatRgba10x6WithoutYCbCrSampler; 15769} VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT; 15770 15771 15772 15773#define VK_VALVE_mutable_descriptor_type 1 15774#define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 15775#define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" 15776typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { 15777 VkStructureType sType; 15778 void* pNext; 15779 VkBool32 mutableDescriptorType; 15780} VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; 15781 15782typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 15783 15784typedef struct VkMutableDescriptorTypeListEXT { 15785 deUint32 descriptorTypeCount; 15786 const VkDescriptorType* pDescriptorTypes; 15787} VkMutableDescriptorTypeListEXT; 15788 15789typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 15790 15791typedef struct VkMutableDescriptorTypeCreateInfoEXT { 15792 VkStructureType sType; 15793 const void* pNext; 15794 deUint32 mutableDescriptorTypeListCount; 15795 const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 15796} VkMutableDescriptorTypeCreateInfoEXT; 15797 15798typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 15799 15800 15801 15802#define VK_EXT_vertex_input_dynamic_state 1 15803#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 15804#define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" 15805typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT { 15806 VkStructureType sType; 15807 void* pNext; 15808 VkBool32 vertexInputDynamicState; 15809} VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT; 15810 15811typedef struct VkVertexInputBindingDescription2EXT { 15812 VkStructureType sType; 15813 void* pNext; 15814 deUint32 binding; 15815 deUint32 stride; 15816 VkVertexInputRate inputRate; 15817 deUint32 divisor; 15818} VkVertexInputBindingDescription2EXT; 15819 15820typedef struct VkVertexInputAttributeDescription2EXT { 15821 VkStructureType sType; 15822 void* pNext; 15823 deUint32 location; 15824 deUint32 binding; 15825 VkFormat format; 15826 deUint32 offset; 15827} VkVertexInputAttributeDescription2EXT; 15828 15829typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 15830 15831#ifndef VK_NO_PROTOTYPES 15832VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT( 15833 VkCommandBuffer commandBuffer, 15834 deUint32 vertexBindingDescriptionCount, 15835 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, 15836 deUint32 vertexAttributeDescriptionCount, 15837 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); 15838#endif 15839 15840 15841#define VK_EXT_physical_device_drm 1 15842#define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 15843#define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" 15844typedef struct VkPhysicalDeviceDrmPropertiesEXT { 15845 VkStructureType sType; 15846 void* pNext; 15847 VkBool32 hasPrimary; 15848 VkBool32 hasRender; 15849 deInt64 primaryMajor; 15850 deInt64 primaryMinor; 15851 deInt64 renderMajor; 15852 deInt64 renderMinor; 15853} VkPhysicalDeviceDrmPropertiesEXT; 15854 15855 15856 15857#define VK_EXT_device_address_binding_report 1 15858#define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1 15859#define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report" 15860 15861typedef enum VkDeviceAddressBindingTypeEXT { 15862 VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0, 15863 VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1, 15864 VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 15865} VkDeviceAddressBindingTypeEXT; 15866 15867typedef enum VkDeviceAddressBindingFlagBitsEXT { 15868 VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001, 15869 VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15870} VkDeviceAddressBindingFlagBitsEXT; 15871typedef VkFlags VkDeviceAddressBindingFlagsEXT; 15872typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT { 15873 VkStructureType sType; 15874 void* pNext; 15875 VkBool32 reportAddressBinding; 15876} VkPhysicalDeviceAddressBindingReportFeaturesEXT; 15877 15878typedef struct VkDeviceAddressBindingCallbackDataEXT { 15879 VkStructureType sType; 15880 void* pNext; 15881 VkDeviceAddressBindingFlagsEXT flags; 15882 VkDeviceAddress baseAddress; 15883 VkDeviceSize size; 15884 VkDeviceAddressBindingTypeEXT bindingType; 15885} VkDeviceAddressBindingCallbackDataEXT; 15886 15887 15888 15889#define VK_EXT_depth_clip_control 1 15890#define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 15891#define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" 15892typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { 15893 VkStructureType sType; 15894 void* pNext; 15895 VkBool32 depthClipControl; 15896} VkPhysicalDeviceDepthClipControlFeaturesEXT; 15897 15898typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { 15899 VkStructureType sType; 15900 const void* pNext; 15901 VkBool32 negativeOneToOne; 15902} VkPipelineViewportDepthClipControlCreateInfoEXT; 15903 15904 15905 15906#define VK_EXT_primitive_topology_list_restart 1 15907#define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 15908#define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" 15909typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { 15910 VkStructureType sType; 15911 void* pNext; 15912 VkBool32 primitiveTopologyListRestart; 15913 VkBool32 primitiveTopologyPatchListRestart; 15914} VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; 15915 15916 15917 15918#define VK_HUAWEI_subpass_shading 1 15919#define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2 15920#define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" 15921typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { 15922 VkStructureType sType; 15923 void* pNext; 15924 VkRenderPass renderPass; 15925 deUint32 subpass; 15926} VkSubpassShadingPipelineCreateInfoHUAWEI; 15927 15928typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI { 15929 VkStructureType sType; 15930 void* pNext; 15931 VkBool32 subpassShading; 15932} VkPhysicalDeviceSubpassShadingFeaturesHUAWEI; 15933 15934typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI { 15935 VkStructureType sType; 15936 void* pNext; 15937 deUint32 maxSubpassShadingWorkgroupSizeAspectRatio; 15938} VkPhysicalDeviceSubpassShadingPropertiesHUAWEI; 15939 15940typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize); 15941typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer); 15942 15943#ifndef VK_NO_PROTOTYPES 15944VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( 15945 VkDevice device, 15946 VkRenderPass renderpass, 15947 VkExtent2D* pMaxWorkgroupSize); 15948 15949VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI( 15950 VkCommandBuffer commandBuffer); 15951#endif 15952 15953 15954#define VK_HUAWEI_invocation_mask 1 15955#define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 15956#define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" 15957typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI { 15958 VkStructureType sType; 15959 void* pNext; 15960 VkBool32 invocationMask; 15961} VkPhysicalDeviceInvocationMaskFeaturesHUAWEI; 15962 15963typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout); 15964 15965#ifndef VK_NO_PROTOTYPES 15966VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI( 15967 VkCommandBuffer commandBuffer, 15968 VkImageView imageView, 15969 VkImageLayout imageLayout); 15970#endif 15971 15972 15973#define VK_NV_external_memory_rdma 1 15974typedef void* VkRemoteAddressNV; 15975#define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 15976#define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma" 15977typedef struct VkMemoryGetRemoteAddressInfoNV { 15978 VkStructureType sType; 15979 const void* pNext; 15980 VkDeviceMemory memory; 15981 VkExternalMemoryHandleTypeFlagBits handleType; 15982} VkMemoryGetRemoteAddressInfoNV; 15983 15984typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV { 15985 VkStructureType sType; 15986 void* pNext; 15987 VkBool32 externalMemoryRDMA; 15988} VkPhysicalDeviceExternalMemoryRDMAFeaturesNV; 15989 15990typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); 15991 15992#ifndef VK_NO_PROTOTYPES 15993VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV( 15994 VkDevice device, 15995 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, 15996 VkRemoteAddressNV* pAddress); 15997#endif 15998 15999 16000#define VK_EXT_pipeline_properties 1 16001#define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1 16002#define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties" 16003typedef VkPipelineInfoKHR VkPipelineInfoEXT; 16004 16005typedef struct VkPipelinePropertiesIdentifierEXT { 16006 VkStructureType sType; 16007 void* pNext; 16008 deUint8 pipelineIdentifier[VK_UUID_SIZE]; 16009} VkPipelinePropertiesIdentifierEXT; 16010 16011typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT { 16012 VkStructureType sType; 16013 void* pNext; 16014 VkBool32 pipelinePropertiesIdentifier; 16015} VkPhysicalDevicePipelinePropertiesFeaturesEXT; 16016 16017typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties); 16018 16019#ifndef VK_NO_PROTOTYPES 16020VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT( 16021 VkDevice device, 16022 const VkPipelineInfoEXT* pPipelineInfo, 16023 VkBaseOutStructure* pPipelineProperties); 16024#endif 16025 16026 16027#define VK_EXT_multisampled_render_to_single_sampled 1 16028#define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1 16029#define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled" 16030typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { 16031 VkStructureType sType; 16032 void* pNext; 16033 VkBool32 multisampledRenderToSingleSampled; 16034} VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT; 16035 16036typedef struct VkSubpassResolvePerformanceQueryEXT { 16037 VkStructureType sType; 16038 void* pNext; 16039 VkBool32 optimal; 16040} VkSubpassResolvePerformanceQueryEXT; 16041 16042typedef struct VkMultisampledRenderToSingleSampledInfoEXT { 16043 VkStructureType sType; 16044 const void* pNext; 16045 VkBool32 multisampledRenderToSingleSampledEnable; 16046 VkSampleCountFlagBits rasterizationSamples; 16047} VkMultisampledRenderToSingleSampledInfoEXT; 16048 16049 16050 16051#define VK_EXT_extended_dynamic_state2 1 16052#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 16053#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" 16054typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT { 16055 VkStructureType sType; 16056 void* pNext; 16057 VkBool32 extendedDynamicState2; 16058 VkBool32 extendedDynamicState2LogicOp; 16059 VkBool32 extendedDynamicState2PatchControlPoints; 16060} VkPhysicalDeviceExtendedDynamicState2FeaturesEXT; 16061 16062typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints); 16063typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable); 16064typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable); 16065typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp); 16066typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable); 16067 16068#ifndef VK_NO_PROTOTYPES 16069VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT( 16070 VkCommandBuffer commandBuffer, 16071 deUint32 patchControlPoints); 16072 16073VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT( 16074 VkCommandBuffer commandBuffer, 16075 VkBool32 rasterizerDiscardEnable); 16076 16077VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT( 16078 VkCommandBuffer commandBuffer, 16079 VkBool32 depthBiasEnable); 16080 16081VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT( 16082 VkCommandBuffer commandBuffer, 16083 VkLogicOp logicOp); 16084 16085VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT( 16086 VkCommandBuffer commandBuffer, 16087 VkBool32 primitiveRestartEnable); 16088#endif 16089 16090 16091#define VK_EXT_color_write_enable 1 16092#define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 16093#define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" 16094typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT { 16095 VkStructureType sType; 16096 void* pNext; 16097 VkBool32 colorWriteEnable; 16098} VkPhysicalDeviceColorWriteEnableFeaturesEXT; 16099 16100typedef struct VkPipelineColorWriteCreateInfoEXT { 16101 VkStructureType sType; 16102 const void* pNext; 16103 deUint32 attachmentCount; 16104 const VkBool32* pColorWriteEnables; 16105} VkPipelineColorWriteCreateInfoEXT; 16106 16107typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables); 16108 16109#ifndef VK_NO_PROTOTYPES 16110VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT( 16111 VkCommandBuffer commandBuffer, 16112 deUint32 attachmentCount, 16113 const VkBool32* pColorWriteEnables); 16114#endif 16115 16116 16117#define VK_EXT_primitives_generated_query 1 16118#define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1 16119#define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query" 16120typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT { 16121 VkStructureType sType; 16122 void* pNext; 16123 VkBool32 primitivesGeneratedQuery; 16124 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard; 16125 VkBool32 primitivesGeneratedQueryWithNonZeroStreams; 16126} VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT; 16127 16128 16129 16130#define VK_EXT_global_priority_query 1 16131#define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 16132#define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" 16133#define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16134typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT; 16135 16136typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT; 16137 16138 16139 16140#define VK_EXT_image_view_min_lod 1 16141#define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 16142#define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" 16143typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT { 16144 VkStructureType sType; 16145 void* pNext; 16146 VkBool32 minLod; 16147} VkPhysicalDeviceImageViewMinLodFeaturesEXT; 16148 16149typedef struct VkImageViewMinLodCreateInfoEXT { 16150 VkStructureType sType; 16151 const void* pNext; 16152 float minLod; 16153} VkImageViewMinLodCreateInfoEXT; 16154 16155 16156 16157#define VK_EXT_multi_draw 1 16158#define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 16159#define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" 16160typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT { 16161 VkStructureType sType; 16162 void* pNext; 16163 VkBool32 multiDraw; 16164} VkPhysicalDeviceMultiDrawFeaturesEXT; 16165 16166typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT { 16167 VkStructureType sType; 16168 void* pNext; 16169 deUint32 maxMultiDrawCount; 16170} VkPhysicalDeviceMultiDrawPropertiesEXT; 16171 16172typedef struct VkMultiDrawInfoEXT { 16173 deUint32 firstVertex; 16174 deUint32 vertexCount; 16175} VkMultiDrawInfoEXT; 16176 16177typedef struct VkMultiDrawIndexedInfoEXT { 16178 deUint32 firstIndex; 16179 deUint32 indexCount; 16180 deInt32 vertexOffset; 16181} VkMultiDrawIndexedInfoEXT; 16182 16183typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawInfoEXT* pVertexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride); 16184typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride, const deInt32* pVertexOffset); 16185 16186#ifndef VK_NO_PROTOTYPES 16187VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT( 16188 VkCommandBuffer commandBuffer, 16189 deUint32 drawCount, 16190 const VkMultiDrawInfoEXT* pVertexInfo, 16191 deUint32 instanceCount, 16192 deUint32 firstInstance, 16193 deUint32 stride); 16194 16195VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( 16196 VkCommandBuffer commandBuffer, 16197 deUint32 drawCount, 16198 const VkMultiDrawIndexedInfoEXT* pIndexInfo, 16199 deUint32 instanceCount, 16200 deUint32 firstInstance, 16201 deUint32 stride, 16202 const deInt32* pVertexOffset); 16203#endif 16204 16205 16206#define VK_EXT_image_2d_view_of_3d 1 16207#define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 16208#define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" 16209typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { 16210 VkStructureType sType; 16211 void* pNext; 16212 VkBool32 image2DViewOf3D; 16213 VkBool32 sampler2DViewOf3D; 16214} VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; 16215 16216 16217 16218#define VK_EXT_opacity_micromap 1 16219VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) 16220#define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2 16221#define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap" 16222 16223typedef enum VkMicromapTypeEXT { 16224 VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0, 16225 VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16226} VkMicromapTypeEXT; 16227 16228typedef enum VkBuildMicromapModeEXT { 16229 VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0, 16230 VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 16231} VkBuildMicromapModeEXT; 16232 16233typedef enum VkCopyMicromapModeEXT { 16234 VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, 16235 VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1, 16236 VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2, 16237 VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, 16238 VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 16239} VkCopyMicromapModeEXT; 16240 16241typedef enum VkOpacityMicromapFormatEXT { 16242 VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, 16243 VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, 16244 VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF 16245} VkOpacityMicromapFormatEXT; 16246 16247typedef enum VkOpacityMicromapSpecialIndexEXT { 16248 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, 16249 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, 16250 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, 16251 VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, 16252 VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF 16253} VkOpacityMicromapSpecialIndexEXT; 16254 16255typedef enum VkAccelerationStructureCompatibilityKHR { 16256 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 16257 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 16258 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 16259} VkAccelerationStructureCompatibilityKHR; 16260 16261typedef enum VkAccelerationStructureBuildTypeKHR { 16262 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 16263 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 16264 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 16265 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 16266} VkAccelerationStructureBuildTypeKHR; 16267 16268typedef enum VkBuildMicromapFlagBitsEXT { 16269 VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001, 16270 VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002, 16271 VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004, 16272 VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16273} VkBuildMicromapFlagBitsEXT; 16274typedef VkFlags VkBuildMicromapFlagsEXT; 16275 16276typedef enum VkMicromapCreateFlagBitsEXT { 16277 VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001, 16278 VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16279} VkMicromapCreateFlagBitsEXT; 16280typedef VkFlags VkMicromapCreateFlagsEXT; 16281typedef struct VkMicromapUsageEXT { 16282 deUint32 count; 16283 deUint32 subdivisionLevel; 16284 deUint32 format; 16285} VkMicromapUsageEXT; 16286 16287typedef union VkDeviceOrHostAddressKHR { 16288 VkDeviceAddress deviceAddress; 16289 void* hostAddress; 16290} VkDeviceOrHostAddressKHR; 16291 16292typedef struct VkMicromapBuildInfoEXT { 16293 VkStructureType sType; 16294 const void* pNext; 16295 VkMicromapTypeEXT type; 16296 VkBuildMicromapFlagsEXT flags; 16297 VkBuildMicromapModeEXT mode; 16298 VkMicromapEXT dstMicromap; 16299 deUint32 usageCountsCount; 16300 const VkMicromapUsageEXT* pUsageCounts; 16301 const VkMicromapUsageEXT* const* ppUsageCounts; 16302 VkDeviceOrHostAddressConstKHR data; 16303 VkDeviceOrHostAddressKHR scratchData; 16304 VkDeviceOrHostAddressConstKHR triangleArray; 16305 VkDeviceSize triangleArrayStride; 16306} VkMicromapBuildInfoEXT; 16307 16308typedef struct VkMicromapCreateInfoEXT { 16309 VkStructureType sType; 16310 const void* pNext; 16311 VkMicromapCreateFlagsEXT createFlags; 16312 VkBuffer buffer; 16313 VkDeviceSize offset; 16314 VkDeviceSize size; 16315 VkMicromapTypeEXT type; 16316 VkDeviceAddress deviceAddress; 16317} VkMicromapCreateInfoEXT; 16318 16319typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { 16320 VkStructureType sType; 16321 void* pNext; 16322 VkBool32 micromap; 16323 VkBool32 micromapCaptureReplay; 16324 VkBool32 micromapHostCommands; 16325} VkPhysicalDeviceOpacityMicromapFeaturesEXT; 16326 16327typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT { 16328 VkStructureType sType; 16329 void* pNext; 16330 deUint32 maxOpacity2StateSubdivisionLevel; 16331 deUint32 maxOpacity4StateSubdivisionLevel; 16332} VkPhysicalDeviceOpacityMicromapPropertiesEXT; 16333 16334typedef struct VkMicromapVersionInfoEXT { 16335 VkStructureType sType; 16336 const void* pNext; 16337 const deUint8* pVersionData; 16338} VkMicromapVersionInfoEXT; 16339 16340typedef struct VkCopyMicromapToMemoryInfoEXT { 16341 VkStructureType sType; 16342 const void* pNext; 16343 VkMicromapEXT src; 16344 VkDeviceOrHostAddressKHR dst; 16345 VkCopyMicromapModeEXT mode; 16346} VkCopyMicromapToMemoryInfoEXT; 16347 16348typedef struct VkCopyMemoryToMicromapInfoEXT { 16349 VkStructureType sType; 16350 const void* pNext; 16351 VkDeviceOrHostAddressConstKHR src; 16352 VkMicromapEXT dst; 16353 VkCopyMicromapModeEXT mode; 16354} VkCopyMemoryToMicromapInfoEXT; 16355 16356typedef struct VkCopyMicromapInfoEXT { 16357 VkStructureType sType; 16358 const void* pNext; 16359 VkMicromapEXT src; 16360 VkMicromapEXT dst; 16361 VkCopyMicromapModeEXT mode; 16362} VkCopyMicromapInfoEXT; 16363 16364typedef struct VkMicromapBuildSizesInfoEXT { 16365 VkStructureType sType; 16366 const void* pNext; 16367 VkDeviceSize micromapSize; 16368 VkDeviceSize buildScratchSize; 16369 VkBool32 discardable; 16370} VkMicromapBuildSizesInfoEXT; 16371 16372typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { 16373 VkStructureType sType; 16374 void* pNext; 16375 VkIndexType indexType; 16376 VkDeviceOrHostAddressConstKHR indexBuffer; 16377 VkDeviceSize indexStride; 16378 deUint32 baseTriangle; 16379 deUint32 usageCountsCount; 16380 const VkMicromapUsageEXT* pUsageCounts; 16381 const VkMicromapUsageEXT* const* ppUsageCounts; 16382 VkMicromapEXT micromap; 16383} VkAccelerationStructureTrianglesOpacityMicromapEXT; 16384 16385typedef struct VkMicromapTriangleEXT { 16386 deUint32 dataOffset; 16387 deUint16 subdivisionLevel; 16388 deUint16 format; 16389} VkMicromapTriangleEXT; 16390 16391typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); 16392typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); 16393typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkMicromapBuildInfoEXT* pInfos); 16394typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkMicromapBuildInfoEXT* pInfos); 16395typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); 16396typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); 16397typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); 16398typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, deUint32 micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride); 16399typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); 16400typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); 16401typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); 16402typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, deUint32 micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery); 16403typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 16404typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); 16405 16406#ifndef VK_NO_PROTOTYPES 16407VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT( 16408 VkDevice device, 16409 const VkMicromapCreateInfoEXT* pCreateInfo, 16410 const VkAllocationCallbacks* pAllocator, 16411 VkMicromapEXT* pMicromap); 16412 16413VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT( 16414 VkDevice device, 16415 VkMicromapEXT micromap, 16416 const VkAllocationCallbacks* pAllocator); 16417 16418VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT( 16419 VkCommandBuffer commandBuffer, 16420 deUint32 infoCount, 16421 const VkMicromapBuildInfoEXT* pInfos); 16422 16423VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT( 16424 VkDevice device, 16425 VkDeferredOperationKHR deferredOperation, 16426 deUint32 infoCount, 16427 const VkMicromapBuildInfoEXT* pInfos); 16428 16429VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT( 16430 VkDevice device, 16431 VkDeferredOperationKHR deferredOperation, 16432 const VkCopyMicromapInfoEXT* pInfo); 16433 16434VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT( 16435 VkDevice device, 16436 VkDeferredOperationKHR deferredOperation, 16437 const VkCopyMicromapToMemoryInfoEXT* pInfo); 16438 16439VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT( 16440 VkDevice device, 16441 VkDeferredOperationKHR deferredOperation, 16442 const VkCopyMemoryToMicromapInfoEXT* pInfo); 16443 16444VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT( 16445 VkDevice device, 16446 deUint32 micromapCount, 16447 const VkMicromapEXT* pMicromaps, 16448 VkQueryType queryType, 16449 deUintptr dataSize, 16450 void* pData, 16451 deUintptr stride); 16452 16453VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT( 16454 VkCommandBuffer commandBuffer, 16455 const VkCopyMicromapInfoEXT* pInfo); 16456 16457VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT( 16458 VkCommandBuffer commandBuffer, 16459 const VkCopyMicromapToMemoryInfoEXT* pInfo); 16460 16461VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT( 16462 VkCommandBuffer commandBuffer, 16463 const VkCopyMemoryToMicromapInfoEXT* pInfo); 16464 16465VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT( 16466 VkCommandBuffer commandBuffer, 16467 deUint32 micromapCount, 16468 const VkMicromapEXT* pMicromaps, 16469 VkQueryType queryType, 16470 VkQueryPool queryPool, 16471 deUint32 firstQuery); 16472 16473VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT( 16474 VkDevice device, 16475 const VkMicromapVersionInfoEXT* pVersionInfo, 16476 VkAccelerationStructureCompatibilityKHR* pCompatibility); 16477 16478VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( 16479 VkDevice device, 16480 VkAccelerationStructureBuildTypeKHR buildType, 16481 const VkMicromapBuildInfoEXT* pBuildInfo, 16482 VkMicromapBuildSizesInfoEXT* pSizeInfo); 16483#endif 16484 16485 16486#define VK_EXT_load_store_op_none 1 16487#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 16488#define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" 16489 16490 16491#define VK_EXT_border_color_swizzle 1 16492#define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 16493#define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" 16494typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT { 16495 VkStructureType sType; 16496 void* pNext; 16497 VkBool32 borderColorSwizzle; 16498 VkBool32 borderColorSwizzleFromImage; 16499} VkPhysicalDeviceBorderColorSwizzleFeaturesEXT; 16500 16501typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT { 16502 VkStructureType sType; 16503 const void* pNext; 16504 VkComponentMapping components; 16505 VkBool32 srgb; 16506} VkSamplerBorderColorComponentMappingCreateInfoEXT; 16507 16508 16509 16510#define VK_EXT_pageable_device_local_memory 1 16511#define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 16512#define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" 16513typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT { 16514 VkStructureType sType; 16515 void* pNext; 16516 VkBool32 pageableDeviceLocalMemory; 16517} VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT; 16518 16519typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority); 16520 16521#ifndef VK_NO_PROTOTYPES 16522VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( 16523 VkDevice device, 16524 VkDeviceMemory memory, 16525 float priority); 16526#endif 16527 16528 16529#define VK_VALVE_descriptor_set_host_mapping 1 16530#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 16531#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" 16532typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { 16533 VkStructureType sType; 16534 void* pNext; 16535 VkBool32 descriptorSetHostMapping; 16536} VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; 16537 16538typedef struct VkDescriptorSetBindingReferenceVALVE { 16539 VkStructureType sType; 16540 const void* pNext; 16541 VkDescriptorSetLayout descriptorSetLayout; 16542 deUint32 binding; 16543} VkDescriptorSetBindingReferenceVALVE; 16544 16545typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE { 16546 VkStructureType sType; 16547 void* pNext; 16548 deUintptr descriptorOffset; 16549 deUint32 descriptorSize; 16550} VkDescriptorSetLayoutHostMappingInfoVALVE; 16551 16552typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 16553typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData); 16554 16555#ifndef VK_NO_PROTOTYPES 16556VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE( 16557 VkDevice device, 16558 const VkDescriptorSetBindingReferenceVALVE* pBindingReference, 16559 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); 16560 16561VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE( 16562 VkDevice device, 16563 VkDescriptorSet descriptorSet, 16564 void** ppData); 16565#endif 16566 16567 16568#define VK_EXT_depth_clamp_zero_one 1 16569#define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 16570#define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one" 16571typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT { 16572 VkStructureType sType; 16573 void* pNext; 16574 VkBool32 depthClampZeroOne; 16575} VkPhysicalDeviceDepthClampZeroOneFeaturesEXT; 16576 16577 16578 16579#define VK_EXT_non_seamless_cube_map 1 16580#define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 16581#define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" 16582typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT { 16583 VkStructureType sType; 16584 void* pNext; 16585 VkBool32 nonSeamlessCubeMap; 16586} VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT; 16587 16588 16589 16590#define VK_QCOM_fragment_density_map_offset 1 16591#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1 16592#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" 16593typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM { 16594 VkStructureType sType; 16595 void* pNext; 16596 VkBool32 fragmentDensityMapOffset; 16597} VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM; 16598 16599typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM { 16600 VkStructureType sType; 16601 void* pNext; 16602 VkExtent2D fragmentDensityOffsetGranularity; 16603} VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM; 16604 16605typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM { 16606 VkStructureType sType; 16607 const void* pNext; 16608 deUint32 fragmentDensityOffsetCount; 16609 const VkOffset2D* pFragmentDensityOffsets; 16610} VkSubpassFragmentDensityMapOffsetEndInfoQCOM; 16611 16612 16613 16614#define VK_NV_copy_memory_indirect 1 16615#define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1 16616#define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect" 16617typedef struct VkCopyMemoryIndirectCommandNV { 16618 VkDeviceAddress srcAddress; 16619 VkDeviceAddress dstAddress; 16620 VkDeviceSize size; 16621} VkCopyMemoryIndirectCommandNV; 16622 16623typedef struct VkCopyMemoryToImageIndirectCommandNV { 16624 VkDeviceAddress srcAddress; 16625 deUint32 bufferRowLength; 16626 deUint32 bufferImageHeight; 16627 VkImageSubresourceLayers imageSubresource; 16628 VkOffset3D imageOffset; 16629 VkExtent3D imageExtent; 16630} VkCopyMemoryToImageIndirectCommandNV; 16631 16632typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { 16633 VkStructureType sType; 16634 void* pNext; 16635 VkBool32 indirectCopy; 16636} VkPhysicalDeviceCopyMemoryIndirectFeaturesNV; 16637 16638typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV { 16639 VkStructureType sType; 16640 void* pNext; 16641 VkQueueFlags supportedQueues; 16642} VkPhysicalDeviceCopyMemoryIndirectPropertiesNV; 16643 16644typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, deUint32 copyCount, deUint32 stride); 16645typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, deUint32 copyCount, deUint32 stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources); 16646 16647#ifndef VK_NO_PROTOTYPES 16648VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV( 16649 VkCommandBuffer commandBuffer, 16650 VkDeviceAddress copyBufferAddress, 16651 deUint32 copyCount, 16652 deUint32 stride); 16653 16654VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV( 16655 VkCommandBuffer commandBuffer, 16656 VkDeviceAddress copyBufferAddress, 16657 deUint32 copyCount, 16658 deUint32 stride, 16659 VkImage dstImage, 16660 VkImageLayout dstImageLayout, 16661 const VkImageSubresourceLayers* pImageSubresources); 16662#endif 16663 16664 16665#define VK_NV_memory_decompression 1 16666#define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1 16667#define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression" 16668 16669// Flag bits for VkMemoryDecompressionMethodFlagBitsNV 16670typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV; 16671static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL; 16672 16673typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; 16674typedef struct VkDecompressMemoryRegionNV { 16675 VkDeviceAddress srcAddress; 16676 VkDeviceAddress dstAddress; 16677 VkDeviceSize compressedSize; 16678 VkDeviceSize decompressedSize; 16679 VkMemoryDecompressionMethodFlagsNV decompressionMethod; 16680} VkDecompressMemoryRegionNV; 16681 16682typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV { 16683 VkStructureType sType; 16684 void* pNext; 16685 VkBool32 memoryDecompression; 16686} VkPhysicalDeviceMemoryDecompressionFeaturesNV; 16687 16688typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV { 16689 VkStructureType sType; 16690 void* pNext; 16691 VkMemoryDecompressionMethodFlagsNV decompressionMethods; 16692 deUint64 maxDecompressionIndirectCount; 16693} VkPhysicalDeviceMemoryDecompressionPropertiesNV; 16694 16695typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, deUint32 decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 16696typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, deUint32 stride); 16697 16698#ifndef VK_NO_PROTOTYPES 16699VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV( 16700 VkCommandBuffer commandBuffer, 16701 deUint32 decompressRegionCount, 16702 const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 16703 16704VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV( 16705 VkCommandBuffer commandBuffer, 16706 VkDeviceAddress indirectCommandsAddress, 16707 VkDeviceAddress indirectCommandsCountAddress, 16708 deUint32 stride); 16709#endif 16710 16711 16712#define VK_NV_linear_color_attachment 1 16713#define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 16714#define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" 16715typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV { 16716 VkStructureType sType; 16717 void* pNext; 16718 VkBool32 linearColorAttachment; 16719} VkPhysicalDeviceLinearColorAttachmentFeaturesNV; 16720 16721 16722 16723#define VK_GOOGLE_surfaceless_query 1 16724#define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2 16725#define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query" 16726 16727 16728#define VK_EXT_image_compression_control_swapchain 1 16729#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 16730#define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" 16731typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT { 16732 VkStructureType sType; 16733 void* pNext; 16734 VkBool32 imageCompressionControlSwapchain; 16735} VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT; 16736 16737 16738 16739#define VK_QCOM_image_processing 1 16740#define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1 16741#define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing" 16742typedef struct VkImageViewSampleWeightCreateInfoQCOM { 16743 VkStructureType sType; 16744 const void* pNext; 16745 VkOffset2D filterCenter; 16746 VkExtent2D filterSize; 16747 deUint32 numPhases; 16748} VkImageViewSampleWeightCreateInfoQCOM; 16749 16750typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM { 16751 VkStructureType sType; 16752 void* pNext; 16753 VkBool32 textureSampleWeighted; 16754 VkBool32 textureBoxFilter; 16755 VkBool32 textureBlockMatch; 16756} VkPhysicalDeviceImageProcessingFeaturesQCOM; 16757 16758typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM { 16759 VkStructureType sType; 16760 void* pNext; 16761 deUint32 maxWeightFilterPhases; 16762 VkExtent2D maxWeightFilterDimension; 16763 VkExtent2D maxBlockMatchRegion; 16764 VkExtent2D maxBoxFilterBlockSize; 16765} VkPhysicalDeviceImageProcessingPropertiesQCOM; 16766 16767 16768 16769#define VK_OpenHarmony_external_memory_OHOS_native_buffer 1 16770struct OH_NativeBuffer; 16771#define VK_OPENHARMONY_EXTERNAL_MEMORY_OHOS_NATIVE_BUFFER_SPEC_VERSION 1 16772#define VK_OPENHARMONY_EXTERNAL_MEMORY_OHOS_NATIVE_BUFFER_EXTENSION_NAME "VK_OpenHarmony_external_memory_OHOS_native_buffer" 16773typedef struct VkOHOSNativeBufferUsageOpenHarmony { 16774 VkStructureType sType; 16775 void* pNext; 16776 deUint64 OHOSNativeBufferUsage; 16777} VkOHOSNativeBufferUsageOpenHarmony; 16778 16779typedef struct VkOHOSNativeBufferPropertiesOpenHarmony { 16780 VkStructureType sType; 16781 const void* pNext; 16782 VkDeviceSize allocationSize; 16783 deUint32 memoryTypeBits; 16784} VkOHOSNativeBufferPropertiesOpenHarmony; 16785 16786typedef struct VkOHOSNativeBufferFormatPropertiesOpenHarmony { 16787 VkStructureType sType; 16788 void* pNext; 16789 VkFormat format; 16790 deUint64 externalFormat; 16791 VkFormatFeatureFlags formatFeatures; 16792 VkComponentMapping samplerYcbcrConversionComponents; 16793 VkSamplerYcbcrModelConversion suggestedYcbcrModel; 16794 VkSamplerYcbcrRange suggestedYcbcrRange; 16795 VkChromaLocation suggestedXChromaOffset; 16796 VkChromaLocation suggestedYChromaOffset; 16797} VkOHOSNativeBufferFormatPropertiesOpenHarmony; 16798 16799typedef struct VkImportOHOSNativeBufferInfoOpenHarmony { 16800 VkStructureType sType; 16801 const void* pNext; 16802 struct OH_NativeBuffer* buffer; 16803} VkImportOHOSNativeBufferInfoOpenHarmony; 16804 16805typedef struct VkMemoryGetOHOSNativeBufferInfoOpenHarmony { 16806 VkStructureType sType; 16807 const void* pNext; 16808 VkDeviceMemory memory; 16809} VkMemoryGetOHOSNativeBufferInfoOpenHarmony; 16810 16811typedef struct VkExternalFormatOpenHarmony { 16812 VkStructureType sType; 16813 void* pNext; 16814 deUint64 externalFormat; 16815} VkExternalFormatOpenHarmony; 16816 16817typedef VkResult (VKAPI_PTR *PFN_vkGetOHOSNativeBufferPropertiesOpenHarmony)(VkDevice device, const struct OH_NativeBuffer* buffer, VkOHOSNativeBufferPropertiesOpenHarmony* pProperties); 16818typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryOHOSNativeBufferOpenHarmony)(VkDevice device, const VkMemoryGetOHOSNativeBufferInfoOpenHarmony* pInfo, struct OH_NativeBuffer** pBuffer); 16819 16820#ifndef VK_NO_PROTOTYPES 16821VKAPI_ATTR VkResult VKAPI_CALL vkGetOHOSNativeBufferPropertiesOpenHarmony( 16822 VkDevice device, 16823 const struct OH_NativeBuffer* buffer, 16824 VkOHOSNativeBufferPropertiesOpenHarmony* pProperties); 16825 16826VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryOHOSNativeBufferOpenHarmony( 16827 VkDevice device, 16828 const VkMemoryGetOHOSNativeBufferInfoOpenHarmony* pInfo, 16829 struct OH_NativeBuffer** pBuffer); 16830#endif 16831 16832 16833#define VK_EXT_extended_dynamic_state3 1 16834#define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2 16835#define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3" 16836typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT { 16837 VkStructureType sType; 16838 void* pNext; 16839 VkBool32 extendedDynamicState3TessellationDomainOrigin; 16840 VkBool32 extendedDynamicState3DepthClampEnable; 16841 VkBool32 extendedDynamicState3PolygonMode; 16842 VkBool32 extendedDynamicState3RasterizationSamples; 16843 VkBool32 extendedDynamicState3SampleMask; 16844 VkBool32 extendedDynamicState3AlphaToCoverageEnable; 16845 VkBool32 extendedDynamicState3AlphaToOneEnable; 16846 VkBool32 extendedDynamicState3LogicOpEnable; 16847 VkBool32 extendedDynamicState3ColorBlendEnable; 16848 VkBool32 extendedDynamicState3ColorBlendEquation; 16849 VkBool32 extendedDynamicState3ColorWriteMask; 16850 VkBool32 extendedDynamicState3RasterizationStream; 16851 VkBool32 extendedDynamicState3ConservativeRasterizationMode; 16852 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 16853 VkBool32 extendedDynamicState3DepthClipEnable; 16854 VkBool32 extendedDynamicState3SampleLocationsEnable; 16855 VkBool32 extendedDynamicState3ColorBlendAdvanced; 16856 VkBool32 extendedDynamicState3ProvokingVertexMode; 16857 VkBool32 extendedDynamicState3LineRasterizationMode; 16858 VkBool32 extendedDynamicState3LineStippleEnable; 16859 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 16860 VkBool32 extendedDynamicState3ViewportWScalingEnable; 16861 VkBool32 extendedDynamicState3ViewportSwizzle; 16862 VkBool32 extendedDynamicState3CoverageToColorEnable; 16863 VkBool32 extendedDynamicState3CoverageToColorLocation; 16864 VkBool32 extendedDynamicState3CoverageModulationMode; 16865 VkBool32 extendedDynamicState3CoverageModulationTableEnable; 16866 VkBool32 extendedDynamicState3CoverageModulationTable; 16867 VkBool32 extendedDynamicState3CoverageReductionMode; 16868 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 16869 VkBool32 extendedDynamicState3ShadingRateImageEnable; 16870} VkPhysicalDeviceExtendedDynamicState3FeaturesEXT; 16871 16872typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT { 16873 VkStructureType sType; 16874 void* pNext; 16875 VkBool32 dynamicPrimitiveTopologyUnrestricted; 16876} VkPhysicalDeviceExtendedDynamicState3PropertiesEXT; 16877 16878typedef struct VkColorBlendEquationEXT { 16879 VkBlendFactor srcColorBlendFactor; 16880 VkBlendFactor dstColorBlendFactor; 16881 VkBlendOp colorBlendOp; 16882 VkBlendFactor srcAlphaBlendFactor; 16883 VkBlendFactor dstAlphaBlendFactor; 16884 VkBlendOp alphaBlendOp; 16885} VkColorBlendEquationEXT; 16886 16887typedef struct VkColorBlendAdvancedEXT { 16888 VkBlendOp advancedBlendOp; 16889 VkBool32 srcPremultiplied; 16890 VkBool32 dstPremultiplied; 16891 VkBlendOverlapEXT blendOverlap; 16892 VkBool32 clampResults; 16893} VkColorBlendAdvancedEXT; 16894 16895typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); 16896typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); 16897typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); 16898typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); 16899typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask); 16900typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); 16901typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); 16902typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); 16903typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, deUint32 firstAttachment, deUint32 attachmentCount, const VkBool32* pColorBlendEnables); 16904typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, deUint32 firstAttachment, deUint32 attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations); 16905typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, deUint32 firstAttachment, deUint32 attachmentCount, const VkColorComponentFlags* pColorWriteMasks); 16906typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, deUint32 rasterizationStream); 16907typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); 16908typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); 16909typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); 16910typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); 16911typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, deUint32 firstAttachment, deUint32 attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 16912typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); 16913typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); 16914typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); 16915typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); 16916typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); 16917typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportSwizzleNV* pViewportSwizzles); 16918typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); 16919typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, deUint32 coverageToColorLocation); 16920typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); 16921typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); 16922typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, deUint32 coverageModulationTableCount, const float* pCoverageModulationTable); 16923typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); 16924typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); 16925typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); 16926 16927#ifndef VK_NO_PROTOTYPES 16928VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT( 16929 VkCommandBuffer commandBuffer, 16930 VkTessellationDomainOrigin domainOrigin); 16931 16932VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT( 16933 VkCommandBuffer commandBuffer, 16934 VkBool32 depthClampEnable); 16935 16936VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT( 16937 VkCommandBuffer commandBuffer, 16938 VkPolygonMode polygonMode); 16939 16940VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT( 16941 VkCommandBuffer commandBuffer, 16942 VkSampleCountFlagBits rasterizationSamples); 16943 16944VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT( 16945 VkCommandBuffer commandBuffer, 16946 VkSampleCountFlagBits samples, 16947 const VkSampleMask* pSampleMask); 16948 16949VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT( 16950 VkCommandBuffer commandBuffer, 16951 VkBool32 alphaToCoverageEnable); 16952 16953VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT( 16954 VkCommandBuffer commandBuffer, 16955 VkBool32 alphaToOneEnable); 16956 16957VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT( 16958 VkCommandBuffer commandBuffer, 16959 VkBool32 logicOpEnable); 16960 16961VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT( 16962 VkCommandBuffer commandBuffer, 16963 deUint32 firstAttachment, 16964 deUint32 attachmentCount, 16965 const VkBool32* pColorBlendEnables); 16966 16967VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT( 16968 VkCommandBuffer commandBuffer, 16969 deUint32 firstAttachment, 16970 deUint32 attachmentCount, 16971 const VkColorBlendEquationEXT* pColorBlendEquations); 16972 16973VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT( 16974 VkCommandBuffer commandBuffer, 16975 deUint32 firstAttachment, 16976 deUint32 attachmentCount, 16977 const VkColorComponentFlags* pColorWriteMasks); 16978 16979VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT( 16980 VkCommandBuffer commandBuffer, 16981 deUint32 rasterizationStream); 16982 16983VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT( 16984 VkCommandBuffer commandBuffer, 16985 VkConservativeRasterizationModeEXT conservativeRasterizationMode); 16986 16987VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT( 16988 VkCommandBuffer commandBuffer, 16989 float extraPrimitiveOverestimationSize); 16990 16991VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT( 16992 VkCommandBuffer commandBuffer, 16993 VkBool32 depthClipEnable); 16994 16995VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT( 16996 VkCommandBuffer commandBuffer, 16997 VkBool32 sampleLocationsEnable); 16998 16999VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT( 17000 VkCommandBuffer commandBuffer, 17001 deUint32 firstAttachment, 17002 deUint32 attachmentCount, 17003 const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 17004 17005VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT( 17006 VkCommandBuffer commandBuffer, 17007 VkProvokingVertexModeEXT provokingVertexMode); 17008 17009VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT( 17010 VkCommandBuffer commandBuffer, 17011 VkLineRasterizationModeEXT lineRasterizationMode); 17012 17013VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT( 17014 VkCommandBuffer commandBuffer, 17015 VkBool32 stippledLineEnable); 17016 17017VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT( 17018 VkCommandBuffer commandBuffer, 17019 VkBool32 negativeOneToOne); 17020 17021VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV( 17022 VkCommandBuffer commandBuffer, 17023 VkBool32 viewportWScalingEnable); 17024 17025VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV( 17026 VkCommandBuffer commandBuffer, 17027 deUint32 firstViewport, 17028 deUint32 viewportCount, 17029 const VkViewportSwizzleNV* pViewportSwizzles); 17030 17031VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV( 17032 VkCommandBuffer commandBuffer, 17033 VkBool32 coverageToColorEnable); 17034 17035VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV( 17036 VkCommandBuffer commandBuffer, 17037 deUint32 coverageToColorLocation); 17038 17039VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV( 17040 VkCommandBuffer commandBuffer, 17041 VkCoverageModulationModeNV coverageModulationMode); 17042 17043VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV( 17044 VkCommandBuffer commandBuffer, 17045 VkBool32 coverageModulationTableEnable); 17046 17047VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV( 17048 VkCommandBuffer commandBuffer, 17049 deUint32 coverageModulationTableCount, 17050 const float* pCoverageModulationTable); 17051 17052VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV( 17053 VkCommandBuffer commandBuffer, 17054 VkBool32 shadingRateImageEnable); 17055 17056VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV( 17057 VkCommandBuffer commandBuffer, 17058 VkBool32 representativeFragmentTestEnable); 17059 17060VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV( 17061 VkCommandBuffer commandBuffer, 17062 VkCoverageReductionModeNV coverageReductionMode); 17063#endif 17064 17065 17066#define VK_EXT_subpass_merge_feedback 1 17067#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 17068#define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" 17069 17070typedef enum VkSubpassMergeStatusEXT { 17071 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0, 17072 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1, 17073 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2, 17074 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3, 17075 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4, 17076 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5, 17077 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6, 17078 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7, 17079 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8, 17080 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9, 17081 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10, 17082 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11, 17083 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12, 17084 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13, 17085 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF 17086} VkSubpassMergeStatusEXT; 17087typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT { 17088 VkStructureType sType; 17089 void* pNext; 17090 VkBool32 subpassMergeFeedback; 17091} VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT; 17092 17093typedef struct VkRenderPassCreationControlEXT { 17094 VkStructureType sType; 17095 const void* pNext; 17096 VkBool32 disallowMerging; 17097} VkRenderPassCreationControlEXT; 17098 17099typedef struct VkRenderPassCreationFeedbackInfoEXT { 17100 deUint32 postMergeSubpassCount; 17101} VkRenderPassCreationFeedbackInfoEXT; 17102 17103typedef struct VkRenderPassCreationFeedbackCreateInfoEXT { 17104 VkStructureType sType; 17105 const void* pNext; 17106 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback; 17107} VkRenderPassCreationFeedbackCreateInfoEXT; 17108 17109typedef struct VkRenderPassSubpassFeedbackInfoEXT { 17110 VkSubpassMergeStatusEXT subpassMergeStatus; 17111 char description[VK_MAX_DESCRIPTION_SIZE]; 17112 deUint32 postMergeIndex; 17113} VkRenderPassSubpassFeedbackInfoEXT; 17114 17115typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT { 17116 VkStructureType sType; 17117 const void* pNext; 17118 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback; 17119} VkRenderPassSubpassFeedbackCreateInfoEXT; 17120 17121 17122 17123#define VK_LUNARG_direct_driver_loading 1 17124#define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1 17125#define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading" 17126 17127typedef enum VkDirectDriverLoadingModeLUNARG { 17128 VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0, 17129 VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1, 17130 VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF 17131} VkDirectDriverLoadingModeLUNARG; 17132typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; 17133typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( 17134 VkInstance instance, const char* pName); 17135 17136typedef struct VkDirectDriverLoadingInfoLUNARG { 17137 VkStructureType sType; 17138 void* pNext; 17139 VkDirectDriverLoadingFlagsLUNARG flags; 17140 PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr; 17141} VkDirectDriverLoadingInfoLUNARG; 17142 17143typedef struct VkDirectDriverLoadingListLUNARG { 17144 VkStructureType sType; 17145 void* pNext; 17146 VkDirectDriverLoadingModeLUNARG mode; 17147 deUint32 driverCount; 17148 const VkDirectDriverLoadingInfoLUNARG* pDrivers; 17149} VkDirectDriverLoadingListLUNARG; 17150 17151 17152 17153#define VK_EXT_shader_module_identifier 1 17154#define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U 17155#define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1 17156#define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier" 17157typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT { 17158 VkStructureType sType; 17159 void* pNext; 17160 VkBool32 shaderModuleIdentifier; 17161} VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT; 17162 17163typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT { 17164 VkStructureType sType; 17165 void* pNext; 17166 deUint8 shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE]; 17167} VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT; 17168 17169typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT { 17170 VkStructureType sType; 17171 const void* pNext; 17172 deUint32 identifierSize; 17173 const deUint8* pIdentifier; 17174} VkPipelineShaderStageModuleIdentifierCreateInfoEXT; 17175 17176typedef struct VkShaderModuleIdentifierEXT { 17177 VkStructureType sType; 17178 void* pNext; 17179 deUint32 identifierSize; 17180 deUint8 identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT]; 17181} VkShaderModuleIdentifierEXT; 17182 17183typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier); 17184typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier); 17185 17186#ifndef VK_NO_PROTOTYPES 17187VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT( 17188 VkDevice device, 17189 VkShaderModule shaderModule, 17190 VkShaderModuleIdentifierEXT* pIdentifier); 17191 17192VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT( 17193 VkDevice device, 17194 const VkShaderModuleCreateInfo* pCreateInfo, 17195 VkShaderModuleIdentifierEXT* pIdentifier); 17196#endif 17197 17198 17199#define VK_EXT_rasterization_order_attachment_access 1 17200#define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 17201#define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access" 17202 17203 17204#define VK_NV_optical_flow 1 17205VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) 17206#define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1 17207#define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow" 17208 17209typedef enum VkOpticalFlowPerformanceLevelNV { 17210 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0, 17211 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1, 17212 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2, 17213 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3, 17214 VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF 17215} VkOpticalFlowPerformanceLevelNV; 17216 17217typedef enum VkOpticalFlowSessionBindingPointNV { 17218 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0, 17219 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1, 17220 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2, 17221 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3, 17222 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4, 17223 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5, 17224 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6, 17225 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7, 17226 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8, 17227 VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF 17228} VkOpticalFlowSessionBindingPointNV; 17229 17230typedef enum VkOpticalFlowGridSizeFlagBitsNV { 17231 VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0, 17232 VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001, 17233 VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002, 17234 VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004, 17235 VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008, 17236 VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 17237} VkOpticalFlowGridSizeFlagBitsNV; 17238typedef VkFlags VkOpticalFlowGridSizeFlagsNV; 17239 17240typedef enum VkOpticalFlowUsageFlagBitsNV { 17241 VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0, 17242 VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001, 17243 VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002, 17244 VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004, 17245 VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008, 17246 VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010, 17247 VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 17248} VkOpticalFlowUsageFlagBitsNV; 17249typedef VkFlags VkOpticalFlowUsageFlagsNV; 17250 17251typedef enum VkOpticalFlowSessionCreateFlagBitsNV { 17252 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001, 17253 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002, 17254 VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004, 17255 VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008, 17256 VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010, 17257 VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 17258} VkOpticalFlowSessionCreateFlagBitsNV; 17259typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; 17260 17261typedef enum VkOpticalFlowExecuteFlagBitsNV { 17262 VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001, 17263 VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 17264} VkOpticalFlowExecuteFlagBitsNV; 17265typedef VkFlags VkOpticalFlowExecuteFlagsNV; 17266typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV { 17267 VkStructureType sType; 17268 void* pNext; 17269 VkBool32 opticalFlow; 17270} VkPhysicalDeviceOpticalFlowFeaturesNV; 17271 17272typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV { 17273 VkStructureType sType; 17274 void* pNext; 17275 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 17276 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 17277 VkBool32 hintSupported; 17278 VkBool32 costSupported; 17279 VkBool32 bidirectionalFlowSupported; 17280 VkBool32 globalFlowSupported; 17281 deUint32 minWidth; 17282 deUint32 minHeight; 17283 deUint32 maxWidth; 17284 deUint32 maxHeight; 17285 deUint32 maxNumRegionsOfInterest; 17286} VkPhysicalDeviceOpticalFlowPropertiesNV; 17287 17288typedef struct VkOpticalFlowImageFormatInfoNV { 17289 VkStructureType sType; 17290 const void* pNext; 17291 VkOpticalFlowUsageFlagsNV usage; 17292} VkOpticalFlowImageFormatInfoNV; 17293 17294typedef struct VkOpticalFlowImageFormatPropertiesNV { 17295 VkStructureType sType; 17296 const void* pNext; 17297 VkFormat format; 17298} VkOpticalFlowImageFormatPropertiesNV; 17299 17300typedef struct VkOpticalFlowSessionCreateInfoNV { 17301 VkStructureType sType; 17302 void* pNext; 17303 deUint32 width; 17304 deUint32 height; 17305 VkFormat imageFormat; 17306 VkFormat flowVectorFormat; 17307 VkFormat costFormat; 17308 VkOpticalFlowGridSizeFlagsNV outputGridSize; 17309 VkOpticalFlowGridSizeFlagsNV hintGridSize; 17310 VkOpticalFlowPerformanceLevelNV performanceLevel; 17311 VkOpticalFlowSessionCreateFlagsNV flags; 17312} VkOpticalFlowSessionCreateInfoNV; 17313 17314typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV { 17315 VkStructureType sType; 17316 void* pNext; 17317 deUint32 id; 17318 deUint32 size; 17319 const void* pPrivateData; 17320} VkOpticalFlowSessionCreatePrivateDataInfoNV; 17321 17322typedef struct VkOpticalFlowExecuteInfoNV { 17323 VkStructureType sType; 17324 void* pNext; 17325 VkOpticalFlowExecuteFlagsNV flags; 17326 deUint32 regionCount; 17327 const VkRect2D* pRegions; 17328} VkOpticalFlowExecuteInfoNV; 17329 17330typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, deUint32* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 17331typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession); 17332typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator); 17333typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout); 17334typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 17335 17336#ifndef VK_NO_PROTOTYPES 17337VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 17338 VkPhysicalDevice physicalDevice, 17339 const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, 17340 deUint32* pFormatCount, 17341 VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 17342 17343VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV( 17344 VkDevice device, 17345 const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, 17346 const VkAllocationCallbacks* pAllocator, 17347 VkOpticalFlowSessionNV* pSession); 17348 17349VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV( 17350 VkDevice device, 17351 VkOpticalFlowSessionNV session, 17352 const VkAllocationCallbacks* pAllocator); 17353 17354VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV( 17355 VkDevice device, 17356 VkOpticalFlowSessionNV session, 17357 VkOpticalFlowSessionBindingPointNV bindingPoint, 17358 VkImageView view, 17359 VkImageLayout layout); 17360 17361VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV( 17362 VkCommandBuffer commandBuffer, 17363 VkOpticalFlowSessionNV session, 17364 const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 17365#endif 17366 17367 17368#define VK_EXT_legacy_dithering 1 17369#define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1 17370#define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering" 17371typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT { 17372 VkStructureType sType; 17373 void* pNext; 17374 VkBool32 legacyDithering; 17375} VkPhysicalDeviceLegacyDitheringFeaturesEXT; 17376 17377 17378 17379#define VK_EXT_pipeline_protected_access 1 17380#define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1 17381#define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access" 17382typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT { 17383 VkStructureType sType; 17384 void* pNext; 17385 VkBool32 pipelineProtectedAccess; 17386} VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; 17387 17388 17389 17390#define VK_QCOM_tile_properties 1 17391#define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1 17392#define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties" 17393typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM { 17394 VkStructureType sType; 17395 void* pNext; 17396 VkBool32 tileProperties; 17397} VkPhysicalDeviceTilePropertiesFeaturesQCOM; 17398 17399typedef struct VkTilePropertiesQCOM { 17400 VkStructureType sType; 17401 void* pNext; 17402 VkExtent3D tileSize; 17403 VkExtent2D apronSize; 17404 VkOffset2D origin; 17405} VkTilePropertiesQCOM; 17406 17407typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, deUint32* pPropertiesCount, VkTilePropertiesQCOM* pProperties); 17408typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties); 17409 17410#ifndef VK_NO_PROTOTYPES 17411VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM( 17412 VkDevice device, 17413 VkFramebuffer framebuffer, 17414 deUint32* pPropertiesCount, 17415 VkTilePropertiesQCOM* pProperties); 17416 17417VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM( 17418 VkDevice device, 17419 const VkRenderingInfo* pRenderingInfo, 17420 VkTilePropertiesQCOM* pProperties); 17421#endif 17422 17423 17424#define VK_SEC_amigo_profiling 1 17425#define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1 17426#define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling" 17427typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC { 17428 VkStructureType sType; 17429 void* pNext; 17430 VkBool32 amigoProfiling; 17431} VkPhysicalDeviceAmigoProfilingFeaturesSEC; 17432 17433typedef struct VkAmigoProfilingSubmitInfoSEC { 17434 VkStructureType sType; 17435 const void* pNext; 17436 deUint64 firstDrawTimestamp; 17437 deUint64 swapBufferTimestamp; 17438} VkAmigoProfilingSubmitInfoSEC; 17439 17440 17441 17442#define VK_QCOM_multiview_per_view_viewports 1 17443#define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1 17444#define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports" 17445typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { 17446 VkStructureType sType; 17447 void* pNext; 17448 VkBool32 multiviewPerViewViewports; 17449} VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM; 17450 17451 17452 17453#define VK_NV_ray_tracing_invocation_reorder 1 17454#define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 17455#define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder" 17456 17457typedef enum VkRayTracingInvocationReorderModeNV { 17458 VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0, 17459 VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1, 17460 VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF 17461} VkRayTracingInvocationReorderModeNV; 17462typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV { 17463 VkStructureType sType; 17464 void* pNext; 17465 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; 17466} VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV; 17467 17468typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV { 17469 VkStructureType sType; 17470 void* pNext; 17471 VkBool32 rayTracingInvocationReorder; 17472} VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV; 17473 17474 17475 17476#define VK_EXT_mutable_descriptor_type 1 17477#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 17478#define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" 17479 17480 17481#define VK_ARM_shader_core_builtins 1 17482#define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2 17483#define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" 17484typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { 17485 VkStructureType sType; 17486 void* pNext; 17487 VkBool32 shaderCoreBuiltins; 17488} VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; 17489 17490typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { 17491 VkStructureType sType; 17492 void* pNext; 17493 deUint64 shaderCoreMask; 17494 deUint32 shaderCoreCount; 17495 deUint32 shaderWarpsPerCore; 17496} VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; 17497 17498 17499 17500#define VK_KHR_acceleration_structure 1 17501#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 17502#define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" 17503 17504typedef enum VkBuildAccelerationStructureModeKHR { 17505 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0, 17506 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1, 17507 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 17508} VkBuildAccelerationStructureModeKHR; 17509 17510typedef enum VkAccelerationStructureCreateFlagBitsKHR { 17511 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, 17512 VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 17513 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, 17514 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 17515} VkAccelerationStructureCreateFlagBitsKHR; 17516typedef VkFlags VkAccelerationStructureCreateFlagsKHR; 17517typedef struct VkAccelerationStructureBuildRangeInfoKHR { 17518 deUint32 primitiveCount; 17519 deUint32 primitiveOffset; 17520 deUint32 firstVertex; 17521 deUint32 transformOffset; 17522} VkAccelerationStructureBuildRangeInfoKHR; 17523 17524typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { 17525 VkStructureType sType; 17526 const void* pNext; 17527 VkFormat vertexFormat; 17528 VkDeviceOrHostAddressConstKHR vertexData; 17529 VkDeviceSize vertexStride; 17530 deUint32 maxVertex; 17531 VkIndexType indexType; 17532 VkDeviceOrHostAddressConstKHR indexData; 17533 VkDeviceOrHostAddressConstKHR transformData; 17534} VkAccelerationStructureGeometryTrianglesDataKHR; 17535 17536typedef struct VkAccelerationStructureGeometryAabbsDataKHR { 17537 VkStructureType sType; 17538 const void* pNext; 17539 VkDeviceOrHostAddressConstKHR data; 17540 VkDeviceSize stride; 17541} VkAccelerationStructureGeometryAabbsDataKHR; 17542 17543typedef struct VkAccelerationStructureGeometryInstancesDataKHR { 17544 VkStructureType sType; 17545 const void* pNext; 17546 VkBool32 arrayOfPointers; 17547 VkDeviceOrHostAddressConstKHR data; 17548} VkAccelerationStructureGeometryInstancesDataKHR; 17549 17550typedef union VkAccelerationStructureGeometryDataKHR { 17551 VkAccelerationStructureGeometryTrianglesDataKHR triangles; 17552 VkAccelerationStructureGeometryAabbsDataKHR aabbs; 17553 VkAccelerationStructureGeometryInstancesDataKHR instances; 17554} VkAccelerationStructureGeometryDataKHR; 17555 17556typedef struct VkAccelerationStructureGeometryKHR { 17557 VkStructureType sType; 17558 const void* pNext; 17559 VkGeometryTypeKHR geometryType; 17560 VkAccelerationStructureGeometryDataKHR geometry; 17561 VkGeometryFlagsKHR flags; 17562} VkAccelerationStructureGeometryKHR; 17563 17564typedef struct VkAccelerationStructureBuildGeometryInfoKHR { 17565 VkStructureType sType; 17566 const void* pNext; 17567 VkAccelerationStructureTypeKHR type; 17568 VkBuildAccelerationStructureFlagsKHR flags; 17569 VkBuildAccelerationStructureModeKHR mode; 17570 VkAccelerationStructureKHR srcAccelerationStructure; 17571 VkAccelerationStructureKHR dstAccelerationStructure; 17572 deUint32 geometryCount; 17573 const VkAccelerationStructureGeometryKHR* pGeometries; 17574 const VkAccelerationStructureGeometryKHR* const* ppGeometries; 17575 VkDeviceOrHostAddressKHR scratchData; 17576} VkAccelerationStructureBuildGeometryInfoKHR; 17577 17578typedef struct VkAccelerationStructureCreateInfoKHR { 17579 VkStructureType sType; 17580 const void* pNext; 17581 VkAccelerationStructureCreateFlagsKHR createFlags; 17582 VkBuffer buffer; 17583 VkDeviceSize offset; 17584 VkDeviceSize size; 17585 VkAccelerationStructureTypeKHR type; 17586 VkDeviceAddress deviceAddress; 17587} VkAccelerationStructureCreateInfoKHR; 17588 17589typedef struct VkWriteDescriptorSetAccelerationStructureKHR { 17590 VkStructureType sType; 17591 const void* pNext; 17592 deUint32 accelerationStructureCount; 17593 const VkAccelerationStructureKHR* pAccelerationStructures; 17594} VkWriteDescriptorSetAccelerationStructureKHR; 17595 17596typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR { 17597 VkStructureType sType; 17598 void* pNext; 17599 VkBool32 accelerationStructure; 17600 VkBool32 accelerationStructureCaptureReplay; 17601 VkBool32 accelerationStructureIndirectBuild; 17602 VkBool32 accelerationStructureHostCommands; 17603 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind; 17604} VkPhysicalDeviceAccelerationStructureFeaturesKHR; 17605 17606typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR { 17607 VkStructureType sType; 17608 void* pNext; 17609 deUint64 maxGeometryCount; 17610 deUint64 maxInstanceCount; 17611 deUint64 maxPrimitiveCount; 17612 deUint32 maxPerStageDescriptorAccelerationStructures; 17613 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures; 17614 deUint32 maxDescriptorSetAccelerationStructures; 17615 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures; 17616 deUint32 minAccelerationStructureScratchOffsetAlignment; 17617} VkPhysicalDeviceAccelerationStructurePropertiesKHR; 17618 17619typedef struct VkAccelerationStructureDeviceAddressInfoKHR { 17620 VkStructureType sType; 17621 const void* pNext; 17622 VkAccelerationStructureKHR accelerationStructure; 17623} VkAccelerationStructureDeviceAddressInfoKHR; 17624 17625typedef struct VkAccelerationStructureVersionInfoKHR { 17626 VkStructureType sType; 17627 const void* pNext; 17628 const deUint8* pVersionData; 17629} VkAccelerationStructureVersionInfoKHR; 17630 17631typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { 17632 VkStructureType sType; 17633 const void* pNext; 17634 VkAccelerationStructureKHR src; 17635 VkDeviceOrHostAddressKHR dst; 17636 VkCopyAccelerationStructureModeKHR mode; 17637} VkCopyAccelerationStructureToMemoryInfoKHR; 17638 17639typedef struct VkCopyMemoryToAccelerationStructureInfoKHR { 17640 VkStructureType sType; 17641 const void* pNext; 17642 VkDeviceOrHostAddressConstKHR src; 17643 VkAccelerationStructureKHR dst; 17644 VkCopyAccelerationStructureModeKHR mode; 17645} VkCopyMemoryToAccelerationStructureInfoKHR; 17646 17647typedef struct VkCopyAccelerationStructureInfoKHR { 17648 VkStructureType sType; 17649 const void* pNext; 17650 VkAccelerationStructureKHR src; 17651 VkAccelerationStructureKHR dst; 17652 VkCopyAccelerationStructureModeKHR mode; 17653} VkCopyAccelerationStructureInfoKHR; 17654 17655typedef struct VkAccelerationStructureBuildSizesInfoKHR { 17656 VkStructureType sType; 17657 const void* pNext; 17658 VkDeviceSize accelerationStructureSize; 17659 VkDeviceSize updateScratchSize; 17660 VkDeviceSize buildScratchSize; 17661} VkAccelerationStructureBuildSizesInfoKHR; 17662 17663typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure); 17664typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator); 17665typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 17666typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts); 17667typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 17668typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo); 17669typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 17670typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 17671typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride); 17672typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo); 17673typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 17674typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 17675typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 17676typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery); 17677typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 17678typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 17679 17680#ifndef VK_NO_PROTOTYPES 17681VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR( 17682 VkDevice device, 17683 const VkAccelerationStructureCreateInfoKHR* pCreateInfo, 17684 const VkAllocationCallbacks* pAllocator, 17685 VkAccelerationStructureKHR* pAccelerationStructure); 17686 17687VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR( 17688 VkDevice device, 17689 VkAccelerationStructureKHR accelerationStructure, 17690 const VkAllocationCallbacks* pAllocator); 17691 17692VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR( 17693 VkCommandBuffer commandBuffer, 17694 deUint32 infoCount, 17695 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 17696 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 17697 17698VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR( 17699 VkCommandBuffer commandBuffer, 17700 deUint32 infoCount, 17701 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 17702 const VkDeviceAddress* pIndirectDeviceAddresses, 17703 const deUint32* pIndirectStrides, 17704 const deUint32* const* ppMaxPrimitiveCounts); 17705 17706VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR( 17707 VkDevice device, 17708 VkDeferredOperationKHR deferredOperation, 17709 deUint32 infoCount, 17710 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, 17711 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos); 17712 17713VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR( 17714 VkDevice device, 17715 VkDeferredOperationKHR deferredOperation, 17716 const VkCopyAccelerationStructureInfoKHR* pInfo); 17717 17718VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR( 17719 VkDevice device, 17720 VkDeferredOperationKHR deferredOperation, 17721 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 17722 17723VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR( 17724 VkDevice device, 17725 VkDeferredOperationKHR deferredOperation, 17726 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 17727 17728VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR( 17729 VkDevice device, 17730 deUint32 accelerationStructureCount, 17731 const VkAccelerationStructureKHR* pAccelerationStructures, 17732 VkQueryType queryType, 17733 deUintptr dataSize, 17734 void* pData, 17735 deUintptr stride); 17736 17737VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR( 17738 VkCommandBuffer commandBuffer, 17739 const VkCopyAccelerationStructureInfoKHR* pInfo); 17740 17741VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR( 17742 VkCommandBuffer commandBuffer, 17743 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo); 17744 17745VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR( 17746 VkCommandBuffer commandBuffer, 17747 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo); 17748 17749VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR( 17750 VkDevice device, 17751 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo); 17752 17753VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR( 17754 VkCommandBuffer commandBuffer, 17755 deUint32 accelerationStructureCount, 17756 const VkAccelerationStructureKHR* pAccelerationStructures, 17757 VkQueryType queryType, 17758 VkQueryPool queryPool, 17759 deUint32 firstQuery); 17760 17761VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR( 17762 VkDevice device, 17763 const VkAccelerationStructureVersionInfoKHR* pVersionInfo, 17764 VkAccelerationStructureCompatibilityKHR* pCompatibility); 17765 17766VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR( 17767 VkDevice device, 17768 VkAccelerationStructureBuildTypeKHR buildType, 17769 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, 17770 const deUint32* pMaxPrimitiveCounts, 17771 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo); 17772#endif 17773 17774 17775#define VK_KHR_ray_tracing_pipeline 1 17776#define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 17777#define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" 17778 17779typedef enum VkShaderGroupShaderKHR { 17780 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0, 17781 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1, 17782 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2, 17783 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3, 17784 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF 17785} VkShaderGroupShaderKHR; 17786typedef struct VkRayTracingShaderGroupCreateInfoKHR { 17787 VkStructureType sType; 17788 const void* pNext; 17789 VkRayTracingShaderGroupTypeKHR type; 17790 deUint32 generalShader; 17791 deUint32 closestHitShader; 17792 deUint32 anyHitShader; 17793 deUint32 intersectionShader; 17794 const void* pShaderGroupCaptureReplayHandle; 17795} VkRayTracingShaderGroupCreateInfoKHR; 17796 17797typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { 17798 VkStructureType sType; 17799 const void* pNext; 17800 deUint32 maxPipelineRayPayloadSize; 17801 deUint32 maxPipelineRayHitAttributeSize; 17802} VkRayTracingPipelineInterfaceCreateInfoKHR; 17803 17804typedef struct VkRayTracingPipelineCreateInfoKHR { 17805 VkStructureType sType; 17806 const void* pNext; 17807 VkPipelineCreateFlags flags; 17808 deUint32 stageCount; 17809 const VkPipelineShaderStageCreateInfo* pStages; 17810 deUint32 groupCount; 17811 const VkRayTracingShaderGroupCreateInfoKHR* pGroups; 17812 deUint32 maxPipelineRayRecursionDepth; 17813 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 17814 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface; 17815 const VkPipelineDynamicStateCreateInfo* pDynamicState; 17816 VkPipelineLayout layout; 17817 VkPipeline basePipelineHandle; 17818 deInt32 basePipelineIndex; 17819} VkRayTracingPipelineCreateInfoKHR; 17820 17821typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR { 17822 VkStructureType sType; 17823 void* pNext; 17824 VkBool32 rayTracingPipeline; 17825 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay; 17826 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed; 17827 VkBool32 rayTracingPipelineTraceRaysIndirect; 17828 VkBool32 rayTraversalPrimitiveCulling; 17829} VkPhysicalDeviceRayTracingPipelineFeaturesKHR; 17830 17831typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR { 17832 VkStructureType sType; 17833 void* pNext; 17834 deUint32 shaderGroupHandleSize; 17835 deUint32 maxRayRecursionDepth; 17836 deUint32 maxShaderGroupStride; 17837 deUint32 shaderGroupBaseAlignment; 17838 deUint32 shaderGroupHandleCaptureReplaySize; 17839 deUint32 maxRayDispatchInvocationCount; 17840 deUint32 shaderGroupHandleAlignment; 17841 deUint32 maxRayHitAttributeSize; 17842} VkPhysicalDeviceRayTracingPipelinePropertiesKHR; 17843 17844typedef struct VkStridedDeviceAddressRegionKHR { 17845 VkDeviceAddress deviceAddress; 17846 VkDeviceSize stride; 17847 VkDeviceSize size; 17848} VkStridedDeviceAddressRegionKHR; 17849 17850typedef struct VkTraceRaysIndirectCommandKHR { 17851 deUint32 width; 17852 deUint32 height; 17853 deUint32 depth; 17854} VkTraceRaysIndirectCommandKHR; 17855 17856typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, deUint32 width, deUint32 height, deUint32 depth); 17857typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 17858typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData); 17859typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress); 17860typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader); 17861typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize); 17862 17863#ifndef VK_NO_PROTOTYPES 17864VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR( 17865 VkCommandBuffer commandBuffer, 17866 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 17867 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 17868 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 17869 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 17870 deUint32 width, 17871 deUint32 height, 17872 deUint32 depth); 17873 17874VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR( 17875 VkDevice device, 17876 VkDeferredOperationKHR deferredOperation, 17877 VkPipelineCache pipelineCache, 17878 deUint32 createInfoCount, 17879 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, 17880 const VkAllocationCallbacks* pAllocator, 17881 VkPipeline* pPipelines); 17882 17883VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( 17884 VkDevice device, 17885 VkPipeline pipeline, 17886 deUint32 firstGroup, 17887 deUint32 groupCount, 17888 deUintptr dataSize, 17889 void* pData); 17890 17891VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR( 17892 VkCommandBuffer commandBuffer, 17893 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, 17894 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, 17895 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, 17896 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, 17897 VkDeviceAddress indirectDeviceAddress); 17898 17899VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR( 17900 VkDevice device, 17901 VkPipeline pipeline, 17902 deUint32 group, 17903 VkShaderGroupShaderKHR groupShader); 17904 17905VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR( 17906 VkCommandBuffer commandBuffer, 17907 deUint32 pipelineStackSize); 17908#endif 17909 17910 17911#define VK_KHR_ray_query 1 17912#define VK_KHR_RAY_QUERY_SPEC_VERSION 1 17913#define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" 17914typedef struct VkPhysicalDeviceRayQueryFeaturesKHR { 17915 VkStructureType sType; 17916 void* pNext; 17917 VkBool32 rayQuery; 17918} VkPhysicalDeviceRayQueryFeaturesKHR; 17919 17920 17921 17922#define VK_EXT_mesh_shader 1 17923#define VK_EXT_MESH_SHADER_SPEC_VERSION 1 17924#define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader" 17925typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT { 17926 VkStructureType sType; 17927 void* pNext; 17928 VkBool32 taskShader; 17929 VkBool32 meshShader; 17930 VkBool32 multiviewMeshShader; 17931 VkBool32 primitiveFragmentShadingRateMeshShader; 17932 VkBool32 meshShaderQueries; 17933} VkPhysicalDeviceMeshShaderFeaturesEXT; 17934 17935typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT { 17936 VkStructureType sType; 17937 void* pNext; 17938 deUint32 maxTaskWorkGroupTotalCount; 17939 deUint32 maxTaskWorkGroupCount[3]; 17940 deUint32 maxTaskWorkGroupInvocations; 17941 deUint32 maxTaskWorkGroupSize[3]; 17942 deUint32 maxTaskPayloadSize; 17943 deUint32 maxTaskSharedMemorySize; 17944 deUint32 maxTaskPayloadAndSharedMemorySize; 17945 deUint32 maxMeshWorkGroupTotalCount; 17946 deUint32 maxMeshWorkGroupCount[3]; 17947 deUint32 maxMeshWorkGroupInvocations; 17948 deUint32 maxMeshWorkGroupSize[3]; 17949 deUint32 maxMeshSharedMemorySize; 17950 deUint32 maxMeshPayloadAndSharedMemorySize; 17951 deUint32 maxMeshOutputMemorySize; 17952 deUint32 maxMeshPayloadAndOutputMemorySize; 17953 deUint32 maxMeshOutputComponents; 17954 deUint32 maxMeshOutputVertices; 17955 deUint32 maxMeshOutputPrimitives; 17956 deUint32 maxMeshOutputLayers; 17957 deUint32 maxMeshMultiviewViewCount; 17958 deUint32 meshOutputPerVertexGranularity; 17959 deUint32 meshOutputPerPrimitiveGranularity; 17960 deUint32 maxPreferredTaskWorkGroupInvocations; 17961 deUint32 maxPreferredMeshWorkGroupInvocations; 17962 VkBool32 prefersLocalInvocationVertexOutput; 17963 VkBool32 prefersLocalInvocationPrimitiveOutput; 17964 VkBool32 prefersCompactVertexOutput; 17965 VkBool32 prefersCompactPrimitiveOutput; 17966} VkPhysicalDeviceMeshShaderPropertiesEXT; 17967 17968typedef struct VkDrawMeshTasksIndirectCommandEXT { 17969 deUint32 groupCountX; 17970 deUint32 groupCountY; 17971 deUint32 groupCountZ; 17972} VkDrawMeshTasksIndirectCommandEXT; 17973 17974typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ); 17975typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride); 17976typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride); 17977 17978#ifndef VK_NO_PROTOTYPES 17979VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT( 17980 VkCommandBuffer commandBuffer, 17981 deUint32 groupCountX, 17982 deUint32 groupCountY, 17983 deUint32 groupCountZ); 17984 17985VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT( 17986 VkCommandBuffer commandBuffer, 17987 VkBuffer buffer, 17988 VkDeviceSize offset, 17989 deUint32 drawCount, 17990 deUint32 stride); 17991 17992VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT( 17993 VkCommandBuffer commandBuffer, 17994 VkBuffer buffer, 17995 VkDeviceSize offset, 17996 VkBuffer countBuffer, 17997 VkDeviceSize countBufferOffset, 17998 deUint32 maxDrawCount, 17999 deUint32 stride); 18000#endif 18001 18002#ifdef __cplusplus 18003} 18004#endif 18005 18006#endif 18007 18008