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
6 #ifndef VULKAN_VIDEO_CODECS_COMMON_H_
7 #define VULKAN_VIDEO_CODECS_COMMON_H_ 1
10 ** Copyright 2015-2022 The Khronos Group Inc.
12 ** SPDX-License-Identifier: Apache-2.0
16 ** This header is generated from the Khronos Vulkan XML API Registry.
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)))
37 #ifndef VULKAN_VIDEO_CODEC_H264STD_H_
38 #define VULKAN_VIDEO_CODEC_H264STD_H_ 1
41 ** Copyright 2015-2022 The Khronos Group Inc.
43 ** SPDX-License-Identifier: Apache-2.0
47 ** This header is generated from the Khronos Vulkan XML API Registry.
58 #define vulkan_video_codec_h264std 1
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 2
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
68 typedef 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;
77 typedef 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;
86 typedef enum StdVideoH264Level {
87 STD_VIDEO_H264_LEVEL_1_0 = 0,
88 STD_VIDEO_H264_LEVEL_1_1 = 1,
89 STD_VIDEO_H264_LEVEL_1_2 = 2,
90 STD_VIDEO_H264_LEVEL_1_3 = 3,
91 STD_VIDEO_H264_LEVEL_2_0 = 4,
92 STD_VIDEO_H264_LEVEL_2_1 = 5,
93 STD_VIDEO_H264_LEVEL_2_2 = 6,
94 STD_VIDEO_H264_LEVEL_3_0 = 7,
95 STD_VIDEO_H264_LEVEL_3_1 = 8,
96 STD_VIDEO_H264_LEVEL_3_2 = 9,
97 STD_VIDEO_H264_LEVEL_4_0 = 10,
98 STD_VIDEO_H264_LEVEL_4_1 = 11,
99 STD_VIDEO_H264_LEVEL_4_2 = 12,
100 STD_VIDEO_H264_LEVEL_5_0 = 13,
101 STD_VIDEO_H264_LEVEL_5_1 = 14,
102 STD_VIDEO_H264_LEVEL_5_2 = 15,
103 STD_VIDEO_H264_LEVEL_6_0 = 16,
104 STD_VIDEO_H264_LEVEL_6_1 = 17,
105 STD_VIDEO_H264_LEVEL_6_2 = 18,
106 STD_VIDEO_H264_LEVEL_INVALID = 0x7FFFFFFF,
107 STD_VIDEO_H264_LEVEL_MAX_ENUM = 0x7FFFFFFF
110 typedef 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;
118 typedef 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;
141 typedef 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;
149 typedef 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;
158 typedef 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;
170 typedef 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;
178 typedef 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;
186 typedef 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;
194 typedef 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;
203 typedef 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;
214 typedef 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;
229 typedef struct StdVideoH264HrdParameters {
230 deUint8 cpb_cnt_minus1;
231 deUint8 bit_rate_scale;
232 deUint8 cpb_size_scale;
233 deUint32 bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
234 deUint32 cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
235 deUint8 cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
236 deUint32 initial_cpb_removal_delay_length_minus1;
237 deUint32 cpb_removal_delay_length_minus1;
238 deUint32 dpb_output_delay_length_minus1;
239 deUint32 time_offset_length;
240 } StdVideoH264HrdParameters;
242 typedef struct StdVideoH264SequenceParameterSetVui {
243 StdVideoH264SpsVuiFlags flags;
244 StdVideoH264AspectRatioIdc aspect_ratio_idc;
247 deUint8 video_format;
248 deUint8 color_primaries;
249 deUint8 transfer_characteristics;
250 deUint8 matrix_coefficients;
251 deUint32 num_units_in_tick;
253 const StdVideoH264HrdParameters* pHrdParameters;
254 deUint8 max_num_reorder_frames;
255 deUint8 max_dec_frame_buffering;
256 } StdVideoH264SequenceParameterSetVui;
258 typedef struct StdVideoH264SpsFlags {
259 deUint32 constraint_set0_flag : 1;
260 deUint32 constraint_set1_flag : 1;
261 deUint32 constraint_set2_flag : 1;
262 deUint32 constraint_set3_flag : 1;
263 deUint32 constraint_set4_flag : 1;
264 deUint32 constraint_set5_flag : 1;
265 deUint32 direct_8x8_inference_flag : 1;
266 deUint32 mb_adaptive_frame_field_flag : 1;
267 deUint32 frame_mbs_only_flag : 1;
268 deUint32 delta_pic_order_always_zero_flag : 1;
269 deUint32 separate_colour_plane_flag : 1;
270 deUint32 gaps_in_frame_num_value_allowed_flag : 1;
271 deUint32 qpprime_y_zero_transform_bypass_flag : 1;
272 deUint32 frame_cropping_flag : 1;
273 deUint32 seq_scaling_matrix_present_flag : 1;
274 deUint32 vui_parameters_present_flag : 1;
275 } StdVideoH264SpsFlags;
277 typedef struct StdVideoH264ScalingLists {
278 deUint8 scaling_list_present_mask;
279 deUint8 use_default_scaling_matrix_mask;
280 deUint8 ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
281 deUint8 ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
282 } StdVideoH264ScalingLists;
284 typedef struct StdVideoH264SequenceParameterSet {
285 StdVideoH264SpsFlags flags;
286 StdVideoH264ProfileIdc profile_idc;
287 StdVideoH264Level level_idc;
288 deUint8 seq_parameter_set_id;
289 StdVideoH264ChromaFormatIdc chroma_format_idc;
290 deUint8 bit_depth_luma_minus8;
291 deUint8 bit_depth_chroma_minus8;
292 deUint8 log2_max_frame_num_minus4;
293 StdVideoH264PocType pic_order_cnt_type;
294 deUint8 log2_max_pic_order_cnt_lsb_minus4;
295 deInt32 offset_for_non_ref_pic;
296 deInt32 offset_for_top_to_bottom_field;
297 deUint8 num_ref_frames_in_pic_order_cnt_cycle;
298 deUint8 max_num_ref_frames;
299 deUint32 pic_width_in_mbs_minus1;
300 deUint32 pic_height_in_map_units_minus1;
301 deUint32 frame_crop_left_offset;
302 deUint32 frame_crop_right_offset;
303 deUint32 frame_crop_top_offset;
304 deUint32 frame_crop_bottom_offset;
305 const deInt32* pOffsetForRefFrame;
306 const StdVideoH264ScalingLists* pScalingLists;
307 const StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui;
308 } StdVideoH264SequenceParameterSet;
310 typedef struct StdVideoH264PpsFlags {
311 deUint32 transform_8x8_mode_flag : 1;
312 deUint32 redundant_pic_cnt_present_flag : 1;
313 deUint32 constrained_intra_pred_flag : 1;
314 deUint32 deblocking_filter_control_present_flag : 1;
315 deUint32 weighted_bipred_idc_flag : 1;
316 deUint32 weighted_pred_flag : 1;
317 deUint32 pic_order_present_flag : 1;
318 deUint32 entropy_coding_mode_flag : 1;
319 deUint32 pic_scaling_matrix_present_flag : 1;
320 } StdVideoH264PpsFlags;
322 typedef struct StdVideoH264PictureParameterSet {
323 StdVideoH264PpsFlags flags;
324 deUint8 seq_parameter_set_id;
325 deUint8 pic_parameter_set_id;
326 deUint8 num_ref_idx_l0_default_active_minus1;
327 deUint8 num_ref_idx_l1_default_active_minus1;
328 StdVideoH264WeightedBipredIdc weighted_bipred_idc;
329 deInt8 pic_init_qp_minus26;
330 deInt8 pic_init_qs_minus26;
331 deInt8 chroma_qp_index_offset;
332 deInt8 second_chroma_qp_index_offset;
333 const StdVideoH264ScalingLists* pScalingLists;
334 } StdVideoH264PictureParameterSet;
342 #ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
343 #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1
346 ** Copyright 2015-2022 The Khronos Group Inc.
348 ** SPDX-License-Identifier: Apache-2.0
352 ** This header is generated from the Khronos Vulkan XML API Registry.
363 #define vulkan_video_codec_h264std_encode 1
364 // Vulkan 0.9 provisional Vulkan video H.264 encode std specification version number
365 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6) // Patch version should always be set to 0
367 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6
368 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_encode"
369 typedef struct StdVideoEncodeH264WeightTableFlags {
370 deUint32 luma_weight_l0_flag;
371 deUint32 chroma_weight_l0_flag;
372 deUint32 luma_weight_l1_flag;
373 deUint32 chroma_weight_l1_flag;
374 } StdVideoEncodeH264WeightTableFlags;
376 typedef struct StdVideoEncodeH264WeightTable {
377 StdVideoEncodeH264WeightTableFlags flags;
378 deUint8 luma_log2_weight_denom;
379 deUint8 chroma_log2_weight_denom;
380 deInt8 luma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF];
381 deInt8 luma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF];
382 deInt8 chroma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
383 deInt8 chroma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
384 deInt8 luma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF];
385 deInt8 luma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF];
386 deInt8 chroma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
387 deInt8 chroma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
388 } StdVideoEncodeH264WeightTable;
390 typedef struct StdVideoEncodeH264SliceHeaderFlags {
391 deUint32 direct_spatial_mv_pred_flag : 1;
392 deUint32 num_ref_idx_active_override_flag : 1;
393 deUint32 no_output_of_prior_pics_flag : 1;
394 deUint32 adaptive_ref_pic_marking_mode_flag : 1;
395 deUint32 no_prior_references_available_flag : 1;
396 } StdVideoEncodeH264SliceHeaderFlags;
398 typedef struct StdVideoEncodeH264PictureInfoFlags {
399 deUint32 idr_flag : 1;
400 deUint32 is_reference_flag : 1;
401 deUint32 used_for_long_term_reference : 1;
402 } StdVideoEncodeH264PictureInfoFlags;
404 typedef struct StdVideoEncodeH264ReferenceInfoFlags {
405 deUint32 used_for_long_term_reference : 1;
406 } StdVideoEncodeH264ReferenceInfoFlags;
408 typedef struct StdVideoEncodeH264RefMgmtFlags {
409 deUint32 ref_pic_list_modification_l0_flag : 1;
410 deUint32 ref_pic_list_modification_l1_flag : 1;
411 } StdVideoEncodeH264RefMgmtFlags;
413 typedef struct StdVideoEncodeH264RefListModEntry {
414 StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
415 deUint16 abs_diff_pic_num_minus1;
416 deUint16 long_term_pic_num;
417 } StdVideoEncodeH264RefListModEntry;
419 typedef struct StdVideoEncodeH264RefPicMarkingEntry {
420 StdVideoH264MemMgmtControlOp operation;
421 deUint16 difference_of_pic_nums_minus1;
422 deUint16 long_term_pic_num;
423 deUint16 long_term_frame_idx;
424 deUint16 max_long_term_frame_idx_plus1;
425 } StdVideoEncodeH264RefPicMarkingEntry;
427 typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations {
428 StdVideoEncodeH264RefMgmtFlags flags;
429 deUint8 refList0ModOpCount;
430 const StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
431 deUint8 refList1ModOpCount;
432 const StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
433 deUint8 refPicMarkingOpCount;
434 const StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
435 } StdVideoEncodeH264RefMemMgmtCtrlOperations;
437 typedef struct StdVideoEncodeH264PictureInfo {
438 StdVideoEncodeH264PictureInfoFlags flags;
439 deUint8 seq_parameter_set_id;
440 deUint8 pic_parameter_set_id;
441 StdVideoH264PictureType pictureType;
444 } StdVideoEncodeH264PictureInfo;
446 typedef struct StdVideoEncodeH264ReferenceInfo {
447 StdVideoEncodeH264ReferenceInfoFlags flags;
450 deUint16 long_term_pic_num;
451 deUint16 long_term_frame_idx;
452 } StdVideoEncodeH264ReferenceInfo;
454 typedef struct StdVideoEncodeH264SliceHeader {
455 StdVideoEncodeH264SliceHeaderFlags flags;
456 deUint32 first_mb_in_slice;
457 StdVideoH264SliceType slice_type;
459 deUint8 num_ref_idx_l0_active_minus1;
460 deUint8 num_ref_idx_l1_active_minus1;
461 StdVideoH264CabacInitIdc cabac_init_idc;
462 StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
463 deInt8 slice_alpha_c0_offset_div2;
464 deInt8 slice_beta_offset_div2;
465 const StdVideoEncodeH264WeightTable* pWeightTable;
466 } StdVideoEncodeH264SliceHeader;
474 #ifndef VULKAN_VIDEO_CODEC_H265STD_H_
475 #define VULKAN_VIDEO_CODEC_H265STD_H_ 1
478 ** Copyright 2015-2022 The Khronos Group Inc.
480 ** SPDX-License-Identifier: Apache-2.0
484 ** This header is generated from the Khronos Vulkan XML API Registry.
495 #define vulkan_video_codec_h265std 1
496 #define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7
497 #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
498 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6
499 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16
500 #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6
501 #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64
502 #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6
503 #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64
504 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2
505 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64
506 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3
507 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
508 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
509 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
510 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
511 #define STD_VIDEO_H265_MAX_NUM_LIST_REF 15
512 #define STD_VIDEO_H265_MAX_CHROMA_PLANES 2
514 typedef enum StdVideoH265ChromaFormatIdc {
515 STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0,
516 STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1,
517 STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2,
518 STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3,
519 STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
520 STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
521 } StdVideoH265ChromaFormatIdc;
523 typedef enum StdVideoH265ProfileIdc {
524 STD_VIDEO_H265_PROFILE_IDC_MAIN = 1,
525 STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2,
526 STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3,
527 STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4,
528 STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9,
529 STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF,
530 STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
531 } StdVideoH265ProfileIdc;
533 typedef enum StdVideoH265Level {
534 STD_VIDEO_H265_LEVEL_1_0 = 0,
535 STD_VIDEO_H265_LEVEL_2_0 = 1,
536 STD_VIDEO_H265_LEVEL_2_1 = 2,
537 STD_VIDEO_H265_LEVEL_3_0 = 3,
538 STD_VIDEO_H265_LEVEL_3_1 = 4,
539 STD_VIDEO_H265_LEVEL_4_0 = 5,
540 STD_VIDEO_H265_LEVEL_4_1 = 6,
541 STD_VIDEO_H265_LEVEL_5_0 = 7,
542 STD_VIDEO_H265_LEVEL_5_1 = 8,
543 STD_VIDEO_H265_LEVEL_5_2 = 9,
544 STD_VIDEO_H265_LEVEL_6_0 = 10,
545 STD_VIDEO_H265_LEVEL_6_1 = 11,
546 STD_VIDEO_H265_LEVEL_6_2 = 12,
547 STD_VIDEO_H265_LEVEL_INVALID = 0x7FFFFFFF,
548 STD_VIDEO_H265_LEVEL_MAX_ENUM = 0x7FFFFFFF
551 typedef enum StdVideoH265SliceType {
552 STD_VIDEO_H265_SLICE_TYPE_B = 0,
553 STD_VIDEO_H265_SLICE_TYPE_P = 1,
554 STD_VIDEO_H265_SLICE_TYPE_I = 2,
555 STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF,
556 STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
557 } StdVideoH265SliceType;
559 typedef enum StdVideoH265PictureType {
560 STD_VIDEO_H265_PICTURE_TYPE_P = 0,
561 STD_VIDEO_H265_PICTURE_TYPE_B = 1,
562 STD_VIDEO_H265_PICTURE_TYPE_I = 2,
563 STD_VIDEO_H265_PICTURE_TYPE_IDR = 3,
564 STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
565 STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
566 } StdVideoH265PictureType;
567 typedef struct StdVideoH265DecPicBufMgr {
568 deUint32 max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
569 deUint8 max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
570 deUint8 max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
571 } StdVideoH265DecPicBufMgr;
573 typedef struct StdVideoH265SubLayerHrdParameters {
574 deUint32 bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
575 deUint32 cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
576 deUint32 cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
577 deUint32 bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
579 } StdVideoH265SubLayerHrdParameters;
581 typedef struct StdVideoH265HrdFlags {
582 deUint32 nal_hrd_parameters_present_flag : 1;
583 deUint32 vcl_hrd_parameters_present_flag : 1;
584 deUint32 sub_pic_hrd_params_present_flag : 1;
585 deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
586 deUint32 fixed_pic_rate_general_flag : 8;
587 deUint32 fixed_pic_rate_within_cvs_flag : 8;
588 deUint32 low_delay_hrd_flag : 8;
589 } StdVideoH265HrdFlags;
591 typedef struct StdVideoH265HrdParameters {
592 StdVideoH265HrdFlags flags;
593 deUint8 tick_divisor_minus2;
594 deUint8 du_cpb_removal_delay_increment_length_minus1;
595 deUint8 dpb_output_delay_du_length_minus1;
596 deUint8 bit_rate_scale;
597 deUint8 cpb_size_scale;
598 deUint8 cpb_size_du_scale;
599 deUint8 initial_cpb_removal_delay_length_minus1;
600 deUint8 au_cpb_removal_delay_length_minus1;
601 deUint8 dpb_output_delay_length_minus1;
602 deUint8 cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
603 deUint16 elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
604 const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
605 const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
606 } StdVideoH265HrdParameters;
608 typedef struct StdVideoH265VpsFlags {
609 deUint32 vps_temporal_id_nesting_flag : 1;
610 deUint32 vps_sub_layer_ordering_info_present_flag : 1;
611 deUint32 vps_timing_info_present_flag : 1;
612 deUint32 vps_poc_proportional_to_timing_flag : 1;
613 } StdVideoH265VpsFlags;
615 typedef struct StdVideoH265VideoParameterSet {
616 StdVideoH265VpsFlags flags;
617 deUint8 vps_video_parameter_set_id;
618 deUint8 vps_max_sub_layers_minus1;
619 deUint32 vps_num_units_in_tick;
620 deUint32 vps_time_scale;
621 deUint32 vps_num_ticks_poc_diff_one_minus1;
622 const StdVideoH265DecPicBufMgr* pDecPicBufMgr;
623 const StdVideoH265HrdParameters* pHrdParameters;
624 } StdVideoH265VideoParameterSet;
626 typedef struct StdVideoH265ScalingLists {
627 deUint8 ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS];
628 deUint8 ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS];
629 deUint8 ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS];
630 deUint8 ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS];
631 deUint8 ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS];
632 deUint8 ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS];
633 } StdVideoH265ScalingLists;
635 typedef struct StdVideoH265SpsVuiFlags {
636 deUint32 aspect_ratio_info_present_flag : 1;
637 deUint32 overscan_info_present_flag : 1;
638 deUint32 overscan_appropriate_flag : 1;
639 deUint32 video_signal_type_present_flag : 1;
640 deUint32 video_full_range_flag : 1;
641 deUint32 colour_description_present_flag : 1;
642 deUint32 chroma_loc_info_present_flag : 1;
643 deUint32 neutral_chroma_indication_flag : 1;
644 deUint32 field_seq_flag : 1;
645 deUint32 frame_field_info_present_flag : 1;
646 deUint32 default_display_window_flag : 1;
647 deUint32 vui_timing_info_present_flag : 1;
648 deUint32 vui_poc_proportional_to_timing_flag : 1;
649 deUint32 vui_hrd_parameters_present_flag : 1;
650 deUint32 bitstream_restriction_flag : 1;
651 deUint32 tiles_fixed_structure_flag : 1;
652 deUint32 motion_vectors_over_pic_boundaries_flag : 1;
653 deUint32 restricted_ref_pic_lists_flag : 1;
654 } StdVideoH265SpsVuiFlags;
656 typedef struct StdVideoH265SequenceParameterSetVui {
657 StdVideoH265SpsVuiFlags flags;
658 deUint8 aspect_ratio_idc;
661 deUint8 video_format;
662 deUint8 colour_primaries;
663 deUint8 transfer_characteristics;
664 deUint8 matrix_coeffs;
665 deUint8 chroma_sample_loc_type_top_field;
666 deUint8 chroma_sample_loc_type_bottom_field;
667 deUint16 def_disp_win_left_offset;
668 deUint16 def_disp_win_right_offset;
669 deUint16 def_disp_win_top_offset;
670 deUint16 def_disp_win_bottom_offset;
671 deUint32 vui_num_units_in_tick;
672 deUint32 vui_time_scale;
673 deUint32 vui_num_ticks_poc_diff_one_minus1;
674 const StdVideoH265HrdParameters* pHrdParameters;
675 deUint16 min_spatial_segmentation_idc;
676 deUint8 max_bytes_per_pic_denom;
677 deUint8 max_bits_per_min_cu_denom;
678 deUint8 log2_max_mv_length_horizontal;
679 deUint8 log2_max_mv_length_vertical;
680 } StdVideoH265SequenceParameterSetVui;
682 typedef struct StdVideoH265PredictorPaletteEntries {
683 deUint16 PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE];
684 } StdVideoH265PredictorPaletteEntries;
686 typedef struct StdVideoH265SpsFlags {
687 deUint32 sps_temporal_id_nesting_flag : 1;
688 deUint32 separate_colour_plane_flag : 1;
689 deUint32 scaling_list_enabled_flag : 1;
690 deUint32 sps_scaling_list_data_present_flag : 1;
691 deUint32 amp_enabled_flag : 1;
692 deUint32 sample_adaptive_offset_enabled_flag : 1;
693 deUint32 pcm_enabled_flag : 1;
694 deUint32 pcm_loop_filter_disabled_flag : 1;
695 deUint32 long_term_ref_pics_present_flag : 1;
696 deUint32 sps_temporal_mvp_enabled_flag : 1;
697 deUint32 strong_intra_smoothing_enabled_flag : 1;
698 deUint32 vui_parameters_present_flag : 1;
699 deUint32 sps_extension_present_flag : 1;
700 deUint32 sps_range_extension_flag : 1;
701 deUint32 transform_skip_rotation_enabled_flag : 1;
702 deUint32 transform_skip_context_enabled_flag : 1;
703 deUint32 implicit_rdpcm_enabled_flag : 1;
704 deUint32 explicit_rdpcm_enabled_flag : 1;
705 deUint32 extended_precision_processing_flag : 1;
706 deUint32 intra_smoothing_disabled_flag : 1;
707 deUint32 high_precision_offsets_enabled_flag : 1;
708 deUint32 persistent_rice_adaptation_enabled_flag : 1;
709 deUint32 cabac_bypass_alignment_enabled_flag : 1;
710 deUint32 sps_scc_extension_flag : 1;
711 deUint32 sps_curr_pic_ref_enabled_flag : 1;
712 deUint32 palette_mode_enabled_flag : 1;
713 deUint32 sps_palette_predictor_initializer_present_flag : 1;
714 deUint32 intra_boundary_filtering_disabled_flag : 1;
715 } StdVideoH265SpsFlags;
717 typedef struct StdVideoH265SequenceParameterSet {
718 StdVideoH265SpsFlags flags;
719 StdVideoH265ProfileIdc profile_idc;
720 StdVideoH265Level level_idc;
721 deUint32 pic_width_in_luma_samples;
722 deUint32 pic_height_in_luma_samples;
723 deUint8 sps_video_parameter_set_id;
724 deUint8 sps_max_sub_layers_minus1;
725 deUint8 sps_seq_parameter_set_id;
726 deUint8 chroma_format_idc;
727 deUint8 bit_depth_luma_minus8;
728 deUint8 bit_depth_chroma_minus8;
729 deUint8 log2_max_pic_order_cnt_lsb_minus4;
730 deUint8 log2_min_luma_coding_block_size_minus3;
731 deUint8 log2_diff_max_min_luma_coding_block_size;
732 deUint8 log2_min_luma_transform_block_size_minus2;
733 deUint8 log2_diff_max_min_luma_transform_block_size;
734 deUint8 max_transform_hierarchy_depth_inter;
735 deUint8 max_transform_hierarchy_depth_intra;
736 deUint8 num_short_term_ref_pic_sets;
737 deUint8 num_long_term_ref_pics_sps;
738 deUint8 pcm_sample_bit_depth_luma_minus1;
739 deUint8 pcm_sample_bit_depth_chroma_minus1;
740 deUint8 log2_min_pcm_luma_coding_block_size_minus3;
741 deUint8 log2_diff_max_min_pcm_luma_coding_block_size;
742 deUint32 conf_win_left_offset;
743 deUint32 conf_win_right_offset;
744 deUint32 conf_win_top_offset;
745 deUint32 conf_win_bottom_offset;
746 const StdVideoH265DecPicBufMgr* pDecPicBufMgr;
747 const StdVideoH265ScalingLists* pScalingLists;
748 const StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui;
749 deUint8 palette_max_size;
750 deUint8 delta_palette_max_predictor_size;
751 deUint8 motion_vector_resolution_control_idc;
752 deUint8 sps_num_palette_predictor_initializer_minus1;
753 const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
754 } StdVideoH265SequenceParameterSet;
756 typedef struct StdVideoH265PpsFlags {
757 deUint32 dependent_slice_segments_enabled_flag : 1;
758 deUint32 output_flag_present_flag : 1;
759 deUint32 sign_data_hiding_enabled_flag : 1;
760 deUint32 cabac_init_present_flag : 1;
761 deUint32 constrained_intra_pred_flag : 1;
762 deUint32 transform_skip_enabled_flag : 1;
763 deUint32 cu_qp_delta_enabled_flag : 1;
764 deUint32 pps_slice_chroma_qp_offsets_present_flag : 1;
765 deUint32 weighted_pred_flag : 1;
766 deUint32 weighted_bipred_flag : 1;
767 deUint32 transquant_bypass_enabled_flag : 1;
768 deUint32 tiles_enabled_flag : 1;
769 deUint32 entropy_coding_sync_enabled_flag : 1;
770 deUint32 uniform_spacing_flag : 1;
771 deUint32 loop_filter_across_tiles_enabled_flag : 1;
772 deUint32 pps_loop_filter_across_slices_enabled_flag : 1;
773 deUint32 deblocking_filter_control_present_flag : 1;
774 deUint32 deblocking_filter_override_enabled_flag : 1;
775 deUint32 pps_deblocking_filter_disabled_flag : 1;
776 deUint32 pps_scaling_list_data_present_flag : 1;
777 deUint32 lists_modification_present_flag : 1;
778 deUint32 slice_segment_header_extension_present_flag : 1;
779 deUint32 pps_extension_present_flag : 1;
780 deUint32 cross_component_prediction_enabled_flag : 1;
781 deUint32 chroma_qp_offset_list_enabled_flag : 1;
782 deUint32 pps_curr_pic_ref_enabled_flag : 1;
783 deUint32 residual_adaptive_colour_transform_enabled_flag : 1;
784 deUint32 pps_slice_act_qp_offsets_present_flag : 1;
785 deUint32 pps_palette_predictor_initializer_present_flag : 1;
786 deUint32 monochrome_palette_flag : 1;
787 deUint32 pps_range_extension_flag : 1;
788 } StdVideoH265PpsFlags;
790 typedef struct StdVideoH265PictureParameterSet {
791 StdVideoH265PpsFlags flags;
792 deUint8 pps_pic_parameter_set_id;
793 deUint8 pps_seq_parameter_set_id;
794 deUint8 num_extra_slice_header_bits;
795 deUint8 num_ref_idx_l0_default_active_minus1;
796 deUint8 num_ref_idx_l1_default_active_minus1;
797 deInt8 init_qp_minus26;
798 deUint8 diff_cu_qp_delta_depth;
799 deInt8 pps_cb_qp_offset;
800 deInt8 pps_cr_qp_offset;
801 deUint8 num_tile_columns_minus1;
802 deUint8 num_tile_rows_minus1;
803 deUint16 column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
804 deUint16 row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
805 deInt8 pps_beta_offset_div2;
806 deInt8 pps_tc_offset_div2;
807 deUint8 log2_parallel_merge_level_minus2;
808 const StdVideoH265ScalingLists* pScalingLists;
809 deUint8 log2_max_transform_skip_block_size_minus2;
810 deUint8 diff_cu_chroma_qp_offset_depth;
811 deUint8 chroma_qp_offset_list_len_minus1;
812 deInt8 cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
813 deInt8 cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
814 deUint8 log2_sao_offset_scale_luma;
815 deUint8 log2_sao_offset_scale_chroma;
816 deInt8 pps_act_y_qp_offset_plus5;
817 deInt8 pps_act_cb_qp_offset_plus5;
818 deInt8 pps_act_cr_qp_offset_plus5;
819 deUint8 pps_num_palette_predictor_initializer;
820 deUint8 luma_bit_depth_entry_minus8;
821 deUint8 chroma_bit_depth_entry_minus8;
822 const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
823 } StdVideoH265PictureParameterSet;
831 #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
832 #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
835 ** Copyright 2015-2022 The Khronos Group Inc.
837 ** SPDX-License-Identifier: Apache-2.0
841 ** This header is generated from the Khronos Vulkan XML API Registry.
852 #define vulkan_video_codec_h264std_decode 1
853 // Vulkan 0.9 provisional Vulkan video H.264 decode std specification version number
854 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6 VK_MAKE_VIDEO_STD_VERSION(0, 9, 6) // Patch version should always be set to 0
856 #define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
857 #define STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE 15
858 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6
859 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
861 typedef enum StdVideoDecodeH264FieldOrderCount {
862 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
863 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
864 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF,
865 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF
866 } StdVideoDecodeH264FieldOrderCount;
867 typedef struct StdVideoDecodeH264PictureInfoFlags {
868 deUint32 field_pic_flag : 1;
869 deUint32 is_intra : 1;
870 deUint32 IdrPicFlag : 1;
871 deUint32 bottom_field_flag : 1;
872 deUint32 is_reference : 1;
873 deUint32 complementary_field_pair : 1;
874 } StdVideoDecodeH264PictureInfoFlags;
876 typedef struct StdVideoDecodeH264PictureInfo {
877 StdVideoDecodeH264PictureInfoFlags flags;
878 deUint8 seq_parameter_set_id;
879 deUint8 pic_parameter_set_id;
883 deInt32 PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
884 } StdVideoDecodeH264PictureInfo;
886 typedef struct StdVideoDecodeH264ReferenceInfoFlags {
887 deUint32 top_field_flag : 1;
888 deUint32 bottom_field_flag : 1;
889 deUint32 used_for_long_term_reference : 1;
890 deUint32 is_non_existing : 1;
891 } StdVideoDecodeH264ReferenceInfoFlags;
893 typedef struct StdVideoDecodeH264ReferenceInfo {
894 StdVideoDecodeH264ReferenceInfoFlags flags;
897 deInt32 PicOrderCnt[2];
898 } StdVideoDecodeH264ReferenceInfo;
900 typedef struct StdVideoDecodeH264MvcElementFlags {
901 deUint32 non_idr : 1;
902 deUint32 anchor_pic : 1;
903 deUint32 inter_view : 1;
904 } StdVideoDecodeH264MvcElementFlags;
906 typedef struct StdVideoDecodeH264MvcElement {
907 StdVideoDecodeH264MvcElementFlags flags;
908 deUint16 viewOrderIndex;
912 deUint16 numOfAnchorRefsInL0;
913 deUint16 viewIdOfAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
914 deUint16 numOfAnchorRefsInL1;
915 deUint16 viewIdOfAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
916 deUint16 numOfNonAnchorRefsInL0;
917 deUint16 viewIdOfNonAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
918 deUint16 numOfNonAnchorRefsInL1;
919 deUint16 viewIdOfNonAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
920 } StdVideoDecodeH264MvcElement;
922 typedef struct StdVideoDecodeH264Mvc {
924 deUint32 mvcElementCount;
925 const StdVideoDecodeH264MvcElement* pMvcElements;
926 } StdVideoDecodeH264Mvc;
934 #ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
935 #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
938 ** Copyright 2015-2022 The Khronos Group Inc.
940 ** SPDX-License-Identifier: Apache-2.0
944 ** This header is generated from the Khronos Vulkan XML API Registry.
955 #define vulkan_video_codec_h265std_decode 1
956 // Vulkan 0.9 provisional Vulkan video H.265 decode std specification version number
957 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7 VK_MAKE_VIDEO_STD_VERSION(0, 9, 7) // Patch version should always be set to 0
959 #define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
960 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7
961 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode"
962 typedef struct StdVideoDecodeH265PictureInfoFlags {
963 deUint32 IrapPicFlag : 1;
964 deUint32 IdrPicFlag : 1;
965 deUint32 IsReference : 1;
966 deUint32 short_term_ref_pic_set_sps_flag : 1;
967 } StdVideoDecodeH265PictureInfoFlags;
969 typedef struct StdVideoDecodeH265PictureInfo {
970 StdVideoDecodeH265PictureInfoFlags flags;
971 deUint8 sps_video_parameter_set_id;
972 deUint8 pps_seq_parameter_set_id;
973 deUint8 pps_pic_parameter_set_id;
974 deUint8 num_short_term_ref_pic_sets;
975 deInt32 PicOrderCntVal;
976 deUint16 NumBitsForSTRefPicSetInSlice;
977 deUint8 NumDeltaPocsOfRefRpsIdx;
978 deUint8 RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
979 deUint8 RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
980 deUint8 RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
981 } StdVideoDecodeH265PictureInfo;
983 typedef struct StdVideoDecodeH265ReferenceInfoFlags {
984 deUint32 used_for_long_term_reference : 1;
985 deUint32 unused_for_reference : 1;
986 deUint32 is_non_existing : 1;
987 } StdVideoDecodeH265ReferenceInfoFlags;
989 typedef struct StdVideoDecodeH265ReferenceInfo {
990 StdVideoDecodeH265ReferenceInfoFlags flags;
991 deInt32 PicOrderCntVal;
992 } StdVideoDecodeH265ReferenceInfo;
1000 #ifndef VULKAN_CORE_H_
1001 #define VULKAN_CORE_H_ 1
1004 ** Copyright 2015-2022 The Khronos Group Inc.
1006 ** SPDX-License-Identifier: Apache-2.0
1010 ** This header is generated from the Khronos Vulkan XML API Registry.
1021 #define VK_VERSION_1_0 1
1024 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
1027 #ifndef VK_USE_64_BIT_PTR_DEFINES
1028 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
1029 #define VK_USE_64_BIT_PTR_DEFINES 1
1031 #define VK_USE_64_BIT_PTR_DEFINES 0
1036 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
1037 #if (VK_USE_64_BIT_PTR_DEFINES==1)
1038 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
1039 #define VK_NULL_HANDLE nullptr
1041 #define VK_NULL_HANDLE ((void*)0)
1044 #define VK_NULL_HANDLE 0ULL
1047 #ifndef VK_NULL_HANDLE
1048 #define VK_NULL_HANDLE 0
1052 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
1053 #if (VK_USE_64_BIT_PTR_DEFINES==1)
1054 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
1056 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
1060 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
1061 #define VK_MAKE_VERSION(major, minor, patch) \
1062 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
1064 // 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.
1065 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
1067 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
1068 ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
1070 // Vulkan 1.0 version number
1071 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
1073 // Version of this file
1074 #define VK_HEADER_VERSION 227
1076 // Complete version of this file
1077 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
1079 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
1080 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
1082 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
1083 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
1085 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
1086 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
1088 #define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29)
1089 #define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU)
1090 #define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
1091 #define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
1092 typedef deUint32 VkBool32;
1093 typedef deUint64 VkDeviceAddress;
1094 typedef deUint64 VkDeviceSize;
1095 typedef deUint32 VkFlags;
1096 typedef deUint32 VkSampleMask;
1097 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
1098 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
1099 VK_DEFINE_HANDLE(VkInstance)
1100 VK_DEFINE_HANDLE(VkPhysicalDevice)
1101 VK_DEFINE_HANDLE(VkDevice)
1102 VK_DEFINE_HANDLE(VkQueue)
1103 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
1104 VK_DEFINE_HANDLE(VkCommandBuffer)
1105 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
1106 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
1107 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
1108 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
1109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
1110 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
1111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
1112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
1113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
1114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
1115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
1116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
1117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
1118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
1119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
1120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
1121 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
1122 #define VK_ATTACHMENT_UNUSED (~0U)
1124 #define VK_LOD_CLAMP_NONE 1000.0F
1125 #define VK_QUEUE_FAMILY_IGNORED (~0U)
1126 #define VK_REMAINING_ARRAY_LAYERS (~0U)
1127 #define VK_REMAINING_MIP_LEVELS (~0U)
1128 #define VK_SUBPASS_EXTERNAL (~0U)
1130 #define VK_WHOLE_SIZE (~0ULL)
1131 #define VK_MAX_MEMORY_TYPES 32U
1132 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
1133 #define VK_UUID_SIZE 16U
1134 #define VK_MAX_EXTENSION_NAME_SIZE 256U
1135 #define VK_MAX_DESCRIPTION_SIZE 256U
1136 #define VK_MAX_MEMORY_HEAPS 16U
1138 typedef enum VkResult {
1145 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
1146 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
1147 VK_ERROR_INITIALIZATION_FAILED = -3,
1148 VK_ERROR_DEVICE_LOST = -4,
1149 VK_ERROR_MEMORY_MAP_FAILED = -5,
1150 VK_ERROR_LAYER_NOT_PRESENT = -6,
1151 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
1152 VK_ERROR_FEATURE_NOT_PRESENT = -8,
1153 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
1154 VK_ERROR_TOO_MANY_OBJECTS = -10,
1155 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
1156 VK_ERROR_FRAGMENTED_POOL = -12,
1157 VK_ERROR_UNKNOWN = -13,
1158 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
1159 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
1160 VK_ERROR_FRAGMENTATION = -1000161000,
1161 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
1162 VK_PIPELINE_COMPILE_REQUIRED = 1000297000,
1163 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
1164 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
1165 VK_SUBOPTIMAL_KHR = 1000001003,
1166 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
1167 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
1168 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
1169 VK_ERROR_INVALID_SHADER_NV = -1000012000,
1170 #ifdef VK_ENABLE_BETA_EXTENSIONS
1171 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000,
1173 #ifdef VK_ENABLE_BETA_EXTENSIONS
1174 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001,
1176 #ifdef VK_ENABLE_BETA_EXTENSIONS
1177 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002,
1179 #ifdef VK_ENABLE_BETA_EXTENSIONS
1180 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003,
1182 #ifdef VK_ENABLE_BETA_EXTENSIONS
1183 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004,
1185 #ifdef VK_ENABLE_BETA_EXTENSIONS
1186 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005,
1188 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
1189 VK_ERROR_NOT_PERMITTED_KHR = -1000174001,
1190 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
1191 VK_THREAD_IDLE_KHR = 1000268000,
1192 VK_THREAD_DONE_KHR = 1000268001,
1193 VK_OPERATION_DEFERRED_KHR = 1000268002,
1194 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
1195 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
1196 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
1197 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
1198 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
1199 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR,
1200 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1201 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1202 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
1203 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
1204 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
1207 typedef enum VkStructureType {
1208 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1209 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1210 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1211 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1212 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1213 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1214 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1215 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1216 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1217 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1218 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1219 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1220 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1221 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1222 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1223 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1224 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1225 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1226 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1227 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1228 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1229 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1230 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1231 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1232 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1233 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1234 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1235 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1236 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1237 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1238 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1239 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1240 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1241 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1242 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1243 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1244 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1245 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1246 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1247 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1248 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1249 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1250 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1251 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1252 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1253 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1254 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1255 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1256 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
1258 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
1259 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
1260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
1261 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
1262 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
1263 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
1264 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
1265 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
1266 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
1267 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
1268 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
1269 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
1271 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
1272 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
1273 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
1274 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
1275 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
1276 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
1277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
1278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
1279 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
1280 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
1281 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
1282 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
1283 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
1284 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
1285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
1286 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
1287 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
1288 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
1289 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
1290 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
1291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
1292 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
1293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
1294 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
1295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
1296 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
1297 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
1298 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
1299 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
1300 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
1301 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
1302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
1303 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
1304 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
1305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
1306 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
1307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
1308 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1309 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1310 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1311 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1312 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1313 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1314 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1315 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1316 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1318 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1320 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1321 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
1322 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
1323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
1324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
1325 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
1326 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
1327 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
1328 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
1329 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
1330 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
1331 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
1332 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
1333 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
1334 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
1335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
1336 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
1337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
1338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
1339 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
1340 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
1341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
1342 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
1343 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
1344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
1345 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
1346 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
1347 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
1348 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
1349 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
1350 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
1351 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
1352 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
1353 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
1354 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
1355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
1356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
1357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
1358 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
1359 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
1360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
1361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
1362 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
1363 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
1364 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
1365 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
1366 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
1367 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
1368 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
1369 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
1370 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
1371 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
1372 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
1373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
1374 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
1375 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
1376 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
1377 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
1378 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
1379 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
1380 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002,
1381 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
1382 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000,
1383 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001,
1384 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002,
1385 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003,
1386 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004,
1387 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005,
1388 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
1389 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
1390 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000,
1391 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000,
1392 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000,
1393 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001,
1394 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
1395 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
1396 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004,
1397 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005,
1398 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006,
1399 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007,
1400 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008,
1401 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009,
1402 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010,
1403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000,
1404 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001,
1405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
1406 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000,
1407 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
1408 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002,
1409 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
1410 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
1411 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000,
1412 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001,
1413 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002,
1414 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
1415 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004,
1416 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000,
1417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001,
1418 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001,
1419 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000,
1420 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
1421 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
1422 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
1423 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
1424 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1425 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1426 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1427 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1428 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1429 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1430 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1431 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1432 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
1433 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
1434 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
1435 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
1436 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
1437 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
1438 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
1439 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
1440 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
1441 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
1442 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
1443 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
1444 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
1445 #ifdef VK_ENABLE_BETA_EXTENSIONS
1446 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000,
1448 #ifdef VK_ENABLE_BETA_EXTENSIONS
1449 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
1451 #ifdef VK_ENABLE_BETA_EXTENSIONS
1452 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002,
1454 #ifdef VK_ENABLE_BETA_EXTENSIONS
1455 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003,
1457 #ifdef VK_ENABLE_BETA_EXTENSIONS
1458 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004,
1460 #ifdef VK_ENABLE_BETA_EXTENSIONS
1461 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
1463 #ifdef VK_ENABLE_BETA_EXTENSIONS
1464 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
1466 #ifdef VK_ENABLE_BETA_EXTENSIONS
1467 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
1469 #ifdef VK_ENABLE_BETA_EXTENSIONS
1470 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
1472 #ifdef VK_ENABLE_BETA_EXTENSIONS
1473 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
1475 #ifdef VK_ENABLE_BETA_EXTENSIONS
1476 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
1478 #ifdef VK_ENABLE_BETA_EXTENSIONS
1479 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011,
1481 #ifdef VK_ENABLE_BETA_EXTENSIONS
1482 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012,
1484 #ifdef VK_ENABLE_BETA_EXTENSIONS
1485 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013,
1487 #ifdef VK_ENABLE_BETA_EXTENSIONS
1488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
1490 #ifdef VK_ENABLE_BETA_EXTENSIONS
1491 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
1493 #ifdef VK_ENABLE_BETA_EXTENSIONS
1494 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016,
1496 #ifdef VK_ENABLE_BETA_EXTENSIONS
1497 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
1499 #ifdef VK_ENABLE_BETA_EXTENSIONS
1500 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
1502 #ifdef VK_ENABLE_BETA_EXTENSIONS
1503 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002,
1505 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1506 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1507 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1509 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1510 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1511 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
1512 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
1513 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
1514 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
1515 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
1516 #ifdef VK_ENABLE_BETA_EXTENSIONS
1517 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
1519 #ifdef VK_ENABLE_BETA_EXTENSIONS
1520 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001,
1522 #ifdef VK_ENABLE_BETA_EXTENSIONS
1523 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002,
1525 #ifdef VK_ENABLE_BETA_EXTENSIONS
1526 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003,
1528 #ifdef VK_ENABLE_BETA_EXTENSIONS
1529 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004,
1531 #ifdef VK_ENABLE_BETA_EXTENSIONS
1532 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005,
1534 #ifdef VK_ENABLE_BETA_EXTENSIONS
1535 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000038006,
1537 #ifdef VK_ENABLE_BETA_EXTENSIONS
1538 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007,
1540 #ifdef VK_ENABLE_BETA_EXTENSIONS
1541 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008,
1543 #ifdef VK_ENABLE_BETA_EXTENSIONS
1544 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009,
1546 #ifdef VK_ENABLE_BETA_EXTENSIONS
1547 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT = 1000038010,
1549 #ifdef VK_ENABLE_BETA_EXTENSIONS
1550 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
1552 #ifdef VK_ENABLE_BETA_EXTENSIONS
1553 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001,
1555 #ifdef VK_ENABLE_BETA_EXTENSIONS
1556 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002,
1558 #ifdef VK_ENABLE_BETA_EXTENSIONS
1559 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003,
1561 #ifdef VK_ENABLE_BETA_EXTENSIONS
1562 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004,
1564 #ifdef VK_ENABLE_BETA_EXTENSIONS
1565 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005,
1567 #ifdef VK_ENABLE_BETA_EXTENSIONS
1568 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000039006,
1570 #ifdef VK_ENABLE_BETA_EXTENSIONS
1571 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007,
1573 #ifdef VK_ENABLE_BETA_EXTENSIONS
1574 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT = 1000039008,
1576 #ifdef VK_ENABLE_BETA_EXTENSIONS
1577 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009,
1579 #ifdef VK_ENABLE_BETA_EXTENSIONS
1580 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010,
1582 #ifdef VK_ENABLE_BETA_EXTENSIONS
1583 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
1585 #ifdef VK_ENABLE_BETA_EXTENSIONS
1586 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040001,
1588 #ifdef VK_ENABLE_BETA_EXTENSIONS
1589 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_INFO_EXT = 1000040002,
1591 #ifdef VK_ENABLE_BETA_EXTENSIONS
1592 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT = 1000040003,
1594 #ifdef VK_ENABLE_BETA_EXTENSIONS
1595 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040004,
1597 #ifdef VK_ENABLE_BETA_EXTENSIONS
1598 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040005,
1600 #ifdef VK_ENABLE_BETA_EXTENSIONS
1601 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040006,
1603 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1604 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
1605 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
1606 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
1607 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
1608 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1610 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1611 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1612 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1613 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1614 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1615 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1616 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1617 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1618 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1619 VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000,
1620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001,
1621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002,
1622 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1623 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1624 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1625 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1626 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1627 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1628 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1629 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1630 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1631 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1632 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1633 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1634 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1635 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1636 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1637 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1639 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1640 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1641 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1642 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1643 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1644 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1645 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1646 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1647 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1648 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1649 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1651 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1652 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1653 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1654 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1655 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1656 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1657 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1658 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1659 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1660 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1661 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1662 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1663 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1664 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1665 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1666 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1667 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1668 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1669 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1670 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1671 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1672 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1673 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1674 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1675 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1676 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1677 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1678 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1679 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1680 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1681 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1682 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1683 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1684 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1685 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1686 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1687 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1688 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1689 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1690 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1691 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006,
1692 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1693 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1694 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1696 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1699 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1700 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1701 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1702 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1703 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1704 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1705 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1706 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1707 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1708 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1709 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1710 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1711 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1714 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1715 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1716 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1717 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1718 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1719 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1720 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1722 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1724 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1725 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1727 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1728 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1729 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1730 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006,
1731 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1732 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1733 #ifdef VK_ENABLE_BETA_EXTENSIONS
1734 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1736 #ifdef VK_ENABLE_BETA_EXTENSIONS
1737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1739 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1740 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1742 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1743 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1744 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1745 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1746 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1747 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1748 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1749 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1750 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1752 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1753 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1754 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1755 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1756 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1757 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1758 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1759 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1760 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1761 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1762 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1763 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1764 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1765 #ifdef VK_ENABLE_BETA_EXTENSIONS
1766 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1768 #ifdef VK_ENABLE_BETA_EXTENSIONS
1769 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187001,
1771 #ifdef VK_ENABLE_BETA_EXTENSIONS
1772 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187002,
1774 #ifdef VK_ENABLE_BETA_EXTENSIONS
1775 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_EXT = 1000187003,
1777 #ifdef VK_ENABLE_BETA_EXTENSIONS
1778 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187004,
1780 #ifdef VK_ENABLE_BETA_EXTENSIONS
1781 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187005,
1783 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
1784 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
1785 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001,
1786 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1788 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1790 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1795 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1797 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1798 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1800 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1801 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1802 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1803 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1804 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1805 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1807 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1808 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1809 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1810 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1811 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1812 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1813 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1814 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1815 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1816 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1817 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1818 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1819 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1820 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1822 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1823 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1824 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1825 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1828 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1829 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
1831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
1832 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
1833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
1834 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
1835 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
1836 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
1837 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
1838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
1839 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
1840 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
1841 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
1842 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
1843 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
1844 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
1845 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
1846 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
1847 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
1848 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
1849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
1850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
1851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
1852 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
1853 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
1854 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
1855 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
1856 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
1857 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
1858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
1859 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
1860 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
1861 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
1862 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
1863 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
1864 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
1865 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
1866 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
1867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
1868 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
1869 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
1870 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
1871 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
1872 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
1873 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
1874 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
1875 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
1876 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
1877 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
1878 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
1879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
1880 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
1881 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
1882 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
1883 #ifdef VK_ENABLE_BETA_EXTENSIONS
1884 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
1886 #ifdef VK_ENABLE_BETA_EXTENSIONS
1887 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
1889 #ifdef VK_ENABLE_BETA_EXTENSIONS
1890 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
1892 #ifdef VK_ENABLE_BETA_EXTENSIONS
1893 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
1895 #ifdef VK_ENABLE_BETA_EXTENSIONS
1896 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004,
1898 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1899 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1900 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000,
1901 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001,
1902 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002,
1903 VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003,
1904 VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004,
1905 VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005,
1906 VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006,
1907 VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007,
1908 VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008,
1909 VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009,
1910 VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010,
1911 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011,
1912 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1913 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1914 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
1915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
1916 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
1917 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000,
1918 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000,
1919 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000,
1920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
1921 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1922 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1923 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1924 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
1925 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
1926 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
1927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT = 1000328000,
1928 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT = 1000328001,
1929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1932 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000,
1935 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001,
1936 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002,
1937 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003,
1938 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
1939 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000,
1940 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1941 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
1942 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1943 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1944 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1945 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1946 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1947 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1948 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
1949 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
1950 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
1951 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
1952 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1953 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1954 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1955 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1956 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1957 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000,
1958 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001,
1959 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002,
1960 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003,
1961 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004,
1962 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005,
1963 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006,
1964 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
1965 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
1966 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
1967 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
1968 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
1969 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
1970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
1971 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
1972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
1973 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
1974 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
1975 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000,
1976 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001,
1977 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002,
1978 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1979 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1980 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1981 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1982 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
1983 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000,
1984 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
1985 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
1986 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
1987 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
1988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
1989 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
1990 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
1991 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
1992 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
1993 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
1994 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
1995 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000,
1996 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000,
1997 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
1998 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
1999 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
2000 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
2001 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
2002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000,
2003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001,
2004 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002,
2005 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
2006 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
2007 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002,
2008 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003,
2009 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000,
2010 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001,
2011 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
2012 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
2013 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000,
2014 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000,
2015 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
2016 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
2017 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
2018 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001,
2019 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
2020 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
2021 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
2022 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO,
2023 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
2024 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO,
2025 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
2026 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
2027 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
2028 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
2029 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
2030 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
2031 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
2032 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
2033 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
2034 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
2035 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
2036 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
2037 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
2038 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
2039 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
2040 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
2041 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
2042 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
2043 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
2044 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
2045 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
2046 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
2047 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
2048 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
2049 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
2050 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
2051 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
2052 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
2053 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
2054 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
2055 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
2056 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
2057 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
2058 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
2059 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
2060 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
2061 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
2062 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
2063 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
2064 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
2065 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
2066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
2067 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
2068 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
2069 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
2070 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
2071 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
2072 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
2073 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
2074 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
2075 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
2076 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
2077 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
2078 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
2079 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
2080 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
2081 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
2082 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
2083 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
2084 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
2085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
2086 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
2087 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
2088 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
2089 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
2090 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
2091 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
2092 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
2093 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
2094 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
2095 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
2096 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
2097 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
2098 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
2099 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
2100 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
2101 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
2102 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
2103 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
2104 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
2105 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
2106 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
2107 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
2108 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
2109 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
2110 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
2111 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
2112 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
2113 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
2114 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
2115 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
2116 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
2117 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
2118 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
2119 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
2120 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
2121 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
2122 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
2123 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
2124 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
2125 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
2126 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
2127 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
2128 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
2129 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
2130 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
2131 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
2132 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
2133 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
2134 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
2135 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
2136 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
2137 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
2138 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
2139 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
2140 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
2141 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
2142 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
2143 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES,
2144 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
2145 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
2146 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
2147 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
2148 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
2149 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
2150 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
2151 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
2152 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
2153 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
2154 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
2155 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
2156 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
2157 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO,
2158 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO,
2159 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
2160 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2,
2161 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2,
2162 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2,
2163 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO,
2164 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2,
2165 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO,
2166 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO,
2167 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
2168 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
2169 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
2170 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2,
2171 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2,
2172 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2,
2173 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2,
2174 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2,
2175 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
2176 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
2177 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2,
2178 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
2179 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
2180 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
2181 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
2182 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
2183 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
2184 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
2185 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
2186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
2187 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
2188 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
2189 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
2190 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
2193 typedef enum VkPipelineCacheHeaderVersion {
2194 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
2195 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
2196 } VkPipelineCacheHeaderVersion;
2198 typedef enum VkImageLayout {
2199 VK_IMAGE_LAYOUT_UNDEFINED = 0,
2200 VK_IMAGE_LAYOUT_GENERAL = 1,
2201 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
2202 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
2203 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
2204 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
2205 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
2206 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
2207 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
2208 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
2209 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
2210 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
2211 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
2212 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
2213 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
2214 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000,
2215 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001,
2216 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
2217 #ifdef VK_ENABLE_BETA_EXTENSIONS
2218 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
2220 #ifdef VK_ENABLE_BETA_EXTENSIONS
2221 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
2223 #ifdef VK_ENABLE_BETA_EXTENSIONS
2224 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
2226 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
2227 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
2228 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
2229 #ifdef VK_ENABLE_BETA_EXTENSIONS
2230 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
2232 #ifdef VK_ENABLE_BETA_EXTENSIONS
2233 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
2235 #ifdef VK_ENABLE_BETA_EXTENSIONS
2236 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
2238 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000,
2239 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
2240 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
2241 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
2242 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
2243 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
2244 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
2245 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
2246 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
2247 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
2248 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
2251 typedef enum VkObjectType {
2252 VK_OBJECT_TYPE_UNKNOWN = 0,
2253 VK_OBJECT_TYPE_INSTANCE = 1,
2254 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
2255 VK_OBJECT_TYPE_DEVICE = 3,
2256 VK_OBJECT_TYPE_QUEUE = 4,
2257 VK_OBJECT_TYPE_SEMAPHORE = 5,
2258 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
2259 VK_OBJECT_TYPE_FENCE = 7,
2260 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
2261 VK_OBJECT_TYPE_BUFFER = 9,
2262 VK_OBJECT_TYPE_IMAGE = 10,
2263 VK_OBJECT_TYPE_EVENT = 11,
2264 VK_OBJECT_TYPE_QUERY_POOL = 12,
2265 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
2266 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
2267 VK_OBJECT_TYPE_SHADER_MODULE = 15,
2268 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
2269 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
2270 VK_OBJECT_TYPE_RENDER_PASS = 18,
2271 VK_OBJECT_TYPE_PIPELINE = 19,
2272 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
2273 VK_OBJECT_TYPE_SAMPLER = 21,
2274 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
2275 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
2276 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
2277 VK_OBJECT_TYPE_COMMAND_POOL = 25,
2278 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
2279 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
2280 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000,
2281 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
2282 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
2283 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
2284 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
2285 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
2286 #ifdef VK_ENABLE_BETA_EXTENSIONS
2287 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
2289 #ifdef VK_ENABLE_BETA_EXTENSIONS
2290 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
2292 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
2293 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
2294 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
2295 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2296 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
2297 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2298 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
2299 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
2300 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
2301 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
2302 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
2303 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
2304 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
2305 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
2308 typedef enum VkVendorId {
2309 VK_VENDOR_ID_VIV = 0x10001,
2310 VK_VENDOR_ID_VSI = 0x10002,
2311 VK_VENDOR_ID_KAZAN = 0x10003,
2312 VK_VENDOR_ID_CODEPLAY = 0x10004,
2313 VK_VENDOR_ID_MESA = 0x10005,
2314 VK_VENDOR_ID_POCL = 0x10006,
2315 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
2318 typedef enum VkSystemAllocationScope {
2319 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
2320 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
2321 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
2322 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
2323 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
2324 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
2325 } VkSystemAllocationScope;
2327 typedef enum VkInternalAllocationType {
2328 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
2329 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
2330 } VkInternalAllocationType;
2332 typedef enum VkFormat {
2333 VK_FORMAT_UNDEFINED = 0,
2334 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
2335 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
2336 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
2337 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
2338 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
2339 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
2340 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
2341 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
2342 VK_FORMAT_R8_UNORM = 9,
2343 VK_FORMAT_R8_SNORM = 10,
2344 VK_FORMAT_R8_USCALED = 11,
2345 VK_FORMAT_R8_SSCALED = 12,
2346 VK_FORMAT_R8_UINT = 13,
2347 VK_FORMAT_R8_SINT = 14,
2348 VK_FORMAT_R8_SRGB = 15,
2349 VK_FORMAT_R8G8_UNORM = 16,
2350 VK_FORMAT_R8G8_SNORM = 17,
2351 VK_FORMAT_R8G8_USCALED = 18,
2352 VK_FORMAT_R8G8_SSCALED = 19,
2353 VK_FORMAT_R8G8_UINT = 20,
2354 VK_FORMAT_R8G8_SINT = 21,
2355 VK_FORMAT_R8G8_SRGB = 22,
2356 VK_FORMAT_R8G8B8_UNORM = 23,
2357 VK_FORMAT_R8G8B8_SNORM = 24,
2358 VK_FORMAT_R8G8B8_USCALED = 25,
2359 VK_FORMAT_R8G8B8_SSCALED = 26,
2360 VK_FORMAT_R8G8B8_UINT = 27,
2361 VK_FORMAT_R8G8B8_SINT = 28,
2362 VK_FORMAT_R8G8B8_SRGB = 29,
2363 VK_FORMAT_B8G8R8_UNORM = 30,
2364 VK_FORMAT_B8G8R8_SNORM = 31,
2365 VK_FORMAT_B8G8R8_USCALED = 32,
2366 VK_FORMAT_B8G8R8_SSCALED = 33,
2367 VK_FORMAT_B8G8R8_UINT = 34,
2368 VK_FORMAT_B8G8R8_SINT = 35,
2369 VK_FORMAT_B8G8R8_SRGB = 36,
2370 VK_FORMAT_R8G8B8A8_UNORM = 37,
2371 VK_FORMAT_R8G8B8A8_SNORM = 38,
2372 VK_FORMAT_R8G8B8A8_USCALED = 39,
2373 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2374 VK_FORMAT_R8G8B8A8_UINT = 41,
2375 VK_FORMAT_R8G8B8A8_SINT = 42,
2376 VK_FORMAT_R8G8B8A8_SRGB = 43,
2377 VK_FORMAT_B8G8R8A8_UNORM = 44,
2378 VK_FORMAT_B8G8R8A8_SNORM = 45,
2379 VK_FORMAT_B8G8R8A8_USCALED = 46,
2380 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2381 VK_FORMAT_B8G8R8A8_UINT = 48,
2382 VK_FORMAT_B8G8R8A8_SINT = 49,
2383 VK_FORMAT_B8G8R8A8_SRGB = 50,
2384 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2385 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2386 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2387 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2388 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2389 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2390 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2391 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2392 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2393 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2394 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2395 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2396 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2397 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2398 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2399 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2400 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2401 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2402 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2403 VK_FORMAT_R16_UNORM = 70,
2404 VK_FORMAT_R16_SNORM = 71,
2405 VK_FORMAT_R16_USCALED = 72,
2406 VK_FORMAT_R16_SSCALED = 73,
2407 VK_FORMAT_R16_UINT = 74,
2408 VK_FORMAT_R16_SINT = 75,
2409 VK_FORMAT_R16_SFLOAT = 76,
2410 VK_FORMAT_R16G16_UNORM = 77,
2411 VK_FORMAT_R16G16_SNORM = 78,
2412 VK_FORMAT_R16G16_USCALED = 79,
2413 VK_FORMAT_R16G16_SSCALED = 80,
2414 VK_FORMAT_R16G16_UINT = 81,
2415 VK_FORMAT_R16G16_SINT = 82,
2416 VK_FORMAT_R16G16_SFLOAT = 83,
2417 VK_FORMAT_R16G16B16_UNORM = 84,
2418 VK_FORMAT_R16G16B16_SNORM = 85,
2419 VK_FORMAT_R16G16B16_USCALED = 86,
2420 VK_FORMAT_R16G16B16_SSCALED = 87,
2421 VK_FORMAT_R16G16B16_UINT = 88,
2422 VK_FORMAT_R16G16B16_SINT = 89,
2423 VK_FORMAT_R16G16B16_SFLOAT = 90,
2424 VK_FORMAT_R16G16B16A16_UNORM = 91,
2425 VK_FORMAT_R16G16B16A16_SNORM = 92,
2426 VK_FORMAT_R16G16B16A16_USCALED = 93,
2427 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2428 VK_FORMAT_R16G16B16A16_UINT = 95,
2429 VK_FORMAT_R16G16B16A16_SINT = 96,
2430 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2431 VK_FORMAT_R32_UINT = 98,
2432 VK_FORMAT_R32_SINT = 99,
2433 VK_FORMAT_R32_SFLOAT = 100,
2434 VK_FORMAT_R32G32_UINT = 101,
2435 VK_FORMAT_R32G32_SINT = 102,
2436 VK_FORMAT_R32G32_SFLOAT = 103,
2437 VK_FORMAT_R32G32B32_UINT = 104,
2438 VK_FORMAT_R32G32B32_SINT = 105,
2439 VK_FORMAT_R32G32B32_SFLOAT = 106,
2440 VK_FORMAT_R32G32B32A32_UINT = 107,
2441 VK_FORMAT_R32G32B32A32_SINT = 108,
2442 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2443 VK_FORMAT_R64_UINT = 110,
2444 VK_FORMAT_R64_SINT = 111,
2445 VK_FORMAT_R64_SFLOAT = 112,
2446 VK_FORMAT_R64G64_UINT = 113,
2447 VK_FORMAT_R64G64_SINT = 114,
2448 VK_FORMAT_R64G64_SFLOAT = 115,
2449 VK_FORMAT_R64G64B64_UINT = 116,
2450 VK_FORMAT_R64G64B64_SINT = 117,
2451 VK_FORMAT_R64G64B64_SFLOAT = 118,
2452 VK_FORMAT_R64G64B64A64_UINT = 119,
2453 VK_FORMAT_R64G64B64A64_SINT = 120,
2454 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2455 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2456 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2457 VK_FORMAT_D16_UNORM = 124,
2458 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2459 VK_FORMAT_D32_SFLOAT = 126,
2460 VK_FORMAT_S8_UINT = 127,
2461 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2462 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2463 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2464 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2465 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2466 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2467 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2468 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2469 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2470 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2471 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2472 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2473 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2474 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2475 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2476 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2477 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2478 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2479 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2480 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2481 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2482 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2483 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2484 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2485 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2486 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2487 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2488 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2489 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2490 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2491 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2492 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2493 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2494 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2495 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2496 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2497 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2498 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2499 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2500 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2501 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2502 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2503 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2504 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2505 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2506 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2507 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2508 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2509 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2510 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2511 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2512 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2513 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2514 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2515 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2516 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2517 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2518 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2519 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2520 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2521 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2522 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2523 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2524 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2525 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2526 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2527 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2528 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2529 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2530 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2531 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2532 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2533 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2534 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2535 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2536 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2537 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2538 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2539 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2540 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2541 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2542 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2543 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2544 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2545 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2546 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2547 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2548 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2549 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2550 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2551 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2552 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000,
2553 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
2554 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
2555 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003,
2556 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000,
2557 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001,
2558 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000,
2559 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001,
2560 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002,
2561 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003,
2562 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004,
2563 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005,
2564 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006,
2565 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007,
2566 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008,
2567 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009,
2568 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010,
2569 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011,
2570 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012,
2571 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013,
2572 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2573 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2574 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2575 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2576 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2577 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2578 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2579 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2580 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
2581 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
2582 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
2583 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
2584 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
2585 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
2586 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
2587 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
2588 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
2589 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
2590 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
2591 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
2592 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
2593 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
2594 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2595 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2596 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2597 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2598 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2599 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2600 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2601 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2602 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2603 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2604 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2605 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2606 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2607 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2608 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2609 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2610 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2611 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2612 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2613 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2614 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2615 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2616 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2617 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2618 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2619 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2620 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2621 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2622 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2623 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2624 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2625 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2626 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2627 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2628 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
2629 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
2630 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
2631 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
2632 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
2633 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
2634 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2637 typedef enum VkImageTiling {
2638 VK_IMAGE_TILING_OPTIMAL = 0,
2639 VK_IMAGE_TILING_LINEAR = 1,
2640 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2641 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2644 typedef enum VkImageType {
2645 VK_IMAGE_TYPE_1D = 0,
2646 VK_IMAGE_TYPE_2D = 1,
2647 VK_IMAGE_TYPE_3D = 2,
2648 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2651 typedef enum VkPhysicalDeviceType {
2652 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2653 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2654 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2655 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2656 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2657 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2658 } VkPhysicalDeviceType;
2660 typedef enum VkQueryType {
2661 VK_QUERY_TYPE_OCCLUSION = 0,
2662 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2663 VK_QUERY_TYPE_TIMESTAMP = 2,
2664 #ifdef VK_ENABLE_BETA_EXTENSIONS
2665 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2667 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2668 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2669 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2670 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2671 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2672 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2673 #ifdef VK_ENABLE_BETA_EXTENSIONS
2674 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2676 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000,
2677 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
2678 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
2679 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
2680 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2683 typedef enum VkSharingMode {
2684 VK_SHARING_MODE_EXCLUSIVE = 0,
2685 VK_SHARING_MODE_CONCURRENT = 1,
2686 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2689 typedef enum VkComponentSwizzle {
2690 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2691 VK_COMPONENT_SWIZZLE_ZERO = 1,
2692 VK_COMPONENT_SWIZZLE_ONE = 2,
2693 VK_COMPONENT_SWIZZLE_R = 3,
2694 VK_COMPONENT_SWIZZLE_G = 4,
2695 VK_COMPONENT_SWIZZLE_B = 5,
2696 VK_COMPONENT_SWIZZLE_A = 6,
2697 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2698 } VkComponentSwizzle;
2700 typedef enum VkImageViewType {
2701 VK_IMAGE_VIEW_TYPE_1D = 0,
2702 VK_IMAGE_VIEW_TYPE_2D = 1,
2703 VK_IMAGE_VIEW_TYPE_3D = 2,
2704 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2705 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2706 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2707 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2708 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2711 typedef enum VkBlendFactor {
2712 VK_BLEND_FACTOR_ZERO = 0,
2713 VK_BLEND_FACTOR_ONE = 1,
2714 VK_BLEND_FACTOR_SRC_COLOR = 2,
2715 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2716 VK_BLEND_FACTOR_DST_COLOR = 4,
2717 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2718 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2719 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2720 VK_BLEND_FACTOR_DST_ALPHA = 8,
2721 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2722 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2723 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2724 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2725 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2726 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2727 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2728 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2729 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2730 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2731 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2734 typedef enum VkBlendOp {
2735 VK_BLEND_OP_ADD = 0,
2736 VK_BLEND_OP_SUBTRACT = 1,
2737 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2738 VK_BLEND_OP_MIN = 3,
2739 VK_BLEND_OP_MAX = 4,
2740 VK_BLEND_OP_ZERO_EXT = 1000148000,
2741 VK_BLEND_OP_SRC_EXT = 1000148001,
2742 VK_BLEND_OP_DST_EXT = 1000148002,
2743 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2744 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2745 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2746 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2747 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2748 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2749 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2750 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2751 VK_BLEND_OP_XOR_EXT = 1000148011,
2752 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2753 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2754 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2755 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2756 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2757 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2758 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2759 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2760 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2761 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2762 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2763 VK_BLEND_OP_INVERT_EXT = 1000148023,
2764 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2765 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2766 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2767 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2768 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2769 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2770 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2771 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2772 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2773 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2774 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2775 VK_BLEND_OP_PLUS_EXT = 1000148035,
2776 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2777 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2778 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2779 VK_BLEND_OP_MINUS_EXT = 1000148039,
2780 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2781 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2782 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2783 VK_BLEND_OP_RED_EXT = 1000148043,
2784 VK_BLEND_OP_GREEN_EXT = 1000148044,
2785 VK_BLEND_OP_BLUE_EXT = 1000148045,
2786 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2789 typedef enum VkCompareOp {
2790 VK_COMPARE_OP_NEVER = 0,
2791 VK_COMPARE_OP_LESS = 1,
2792 VK_COMPARE_OP_EQUAL = 2,
2793 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2794 VK_COMPARE_OP_GREATER = 4,
2795 VK_COMPARE_OP_NOT_EQUAL = 5,
2796 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2797 VK_COMPARE_OP_ALWAYS = 7,
2798 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2801 typedef enum VkDynamicState {
2802 VK_DYNAMIC_STATE_VIEWPORT = 0,
2803 VK_DYNAMIC_STATE_SCISSOR = 1,
2804 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2805 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2806 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2807 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2808 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2809 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2810 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2811 VK_DYNAMIC_STATE_CULL_MODE = 1000267000,
2812 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001,
2813 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002,
2814 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003,
2815 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004,
2816 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005,
2817 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006,
2818 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007,
2819 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008,
2820 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
2821 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010,
2822 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011,
2823 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001,
2824 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002,
2825 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004,
2826 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2827 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2828 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2829 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2830 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2831 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2832 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2833 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2834 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2835 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2836 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2837 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2838 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2839 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE,
2840 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE,
2841 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
2842 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
2843 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
2844 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
2845 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
2846 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
2847 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
2848 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
2849 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
2850 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP,
2851 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
2852 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
2853 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
2854 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2857 typedef enum VkFrontFace {
2858 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2859 VK_FRONT_FACE_CLOCKWISE = 1,
2860 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2863 typedef enum VkVertexInputRate {
2864 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2865 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2866 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2867 } VkVertexInputRate;
2869 typedef enum VkPrimitiveTopology {
2870 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2871 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2872 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2873 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2874 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2875 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2876 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2877 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2878 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2879 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2880 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2881 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2882 } VkPrimitiveTopology;
2884 typedef enum VkPolygonMode {
2885 VK_POLYGON_MODE_FILL = 0,
2886 VK_POLYGON_MODE_LINE = 1,
2887 VK_POLYGON_MODE_POINT = 2,
2888 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2889 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2892 typedef enum VkStencilOp {
2893 VK_STENCIL_OP_KEEP = 0,
2894 VK_STENCIL_OP_ZERO = 1,
2895 VK_STENCIL_OP_REPLACE = 2,
2896 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2897 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2898 VK_STENCIL_OP_INVERT = 5,
2899 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2900 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2901 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2904 typedef enum VkLogicOp {
2905 VK_LOGIC_OP_CLEAR = 0,
2906 VK_LOGIC_OP_AND = 1,
2907 VK_LOGIC_OP_AND_REVERSE = 2,
2908 VK_LOGIC_OP_COPY = 3,
2909 VK_LOGIC_OP_AND_INVERTED = 4,
2910 VK_LOGIC_OP_NO_OP = 5,
2911 VK_LOGIC_OP_XOR = 6,
2913 VK_LOGIC_OP_NOR = 8,
2914 VK_LOGIC_OP_EQUIVALENT = 9,
2915 VK_LOGIC_OP_INVERT = 10,
2916 VK_LOGIC_OP_OR_REVERSE = 11,
2917 VK_LOGIC_OP_COPY_INVERTED = 12,
2918 VK_LOGIC_OP_OR_INVERTED = 13,
2919 VK_LOGIC_OP_NAND = 14,
2920 VK_LOGIC_OP_SET = 15,
2921 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2924 typedef enum VkBorderColor {
2925 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2926 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2927 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2928 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2929 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2930 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2931 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2932 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2933 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2936 typedef enum VkFilter {
2937 VK_FILTER_NEAREST = 0,
2938 VK_FILTER_LINEAR = 1,
2939 VK_FILTER_CUBIC_EXT = 1000015000,
2940 VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT,
2941 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2944 typedef enum VkSamplerAddressMode {
2945 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2946 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2947 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2948 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2949 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2950 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2951 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2952 } VkSamplerAddressMode;
2954 typedef enum VkSamplerMipmapMode {
2955 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2956 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2957 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2958 } VkSamplerMipmapMode;
2960 typedef enum VkDescriptorType {
2961 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2962 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2963 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2964 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2965 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2966 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2967 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2968 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2969 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2970 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2971 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2972 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
2973 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2974 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2975 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2976 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000,
2977 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001,
2978 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
2979 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2982 typedef enum VkAttachmentLoadOp {
2983 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2984 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2985 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2986 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
2987 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2988 } VkAttachmentLoadOp;
2990 typedef enum VkAttachmentStoreOp {
2991 VK_ATTACHMENT_STORE_OP_STORE = 0,
2992 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2993 VK_ATTACHMENT_STORE_OP_NONE = 1000301000,
2994 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE,
2995 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE,
2996 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE,
2997 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2998 } VkAttachmentStoreOp;
3000 typedef enum VkPipelineBindPoint {
3001 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
3002 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
3003 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
3004 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
3005 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
3006 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
3007 } VkPipelineBindPoint;
3009 typedef enum VkCommandBufferLevel {
3010 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
3011 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
3012 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
3013 } VkCommandBufferLevel;
3015 typedef enum VkIndexType {
3016 VK_INDEX_TYPE_UINT16 = 0,
3017 VK_INDEX_TYPE_UINT32 = 1,
3018 VK_INDEX_TYPE_NONE_KHR = 1000165000,
3019 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
3020 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
3021 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
3024 typedef enum VkSubpassContents {
3025 VK_SUBPASS_CONTENTS_INLINE = 0,
3026 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
3027 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
3028 } VkSubpassContents;
3030 typedef enum VkAccessFlagBits {
3031 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
3032 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
3033 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
3034 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
3035 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
3036 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
3037 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
3038 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
3039 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
3040 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
3041 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
3042 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
3043 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
3044 VK_ACCESS_HOST_READ_BIT = 0x00002000,
3045 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
3046 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
3047 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
3049 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
3050 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
3051 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
3052 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
3053 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
3054 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
3055 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
3056 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
3057 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
3058 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
3059 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
3060 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
3061 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
3062 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
3063 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE,
3064 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3066 typedef VkFlags VkAccessFlags;
3068 typedef enum VkImageAspectFlagBits {
3069 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
3070 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
3071 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
3072 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
3073 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
3074 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
3075 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
3076 VK_IMAGE_ASPECT_NONE = 0,
3077 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
3078 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
3079 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
3080 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
3081 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
3082 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
3083 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
3084 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE,
3085 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3086 } VkImageAspectFlagBits;
3087 typedef VkFlags VkImageAspectFlags;
3089 typedef enum VkFormatFeatureFlagBits {
3090 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
3091 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
3092 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
3093 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
3094 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
3095 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
3096 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
3097 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
3098 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
3099 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
3100 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
3101 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
3102 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
3103 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
3104 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
3105 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
3106 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
3107 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
3108 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
3109 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
3110 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
3111 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
3112 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
3113 #ifdef VK_ENABLE_BETA_EXTENSIONS
3114 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
3116 #ifdef VK_ENABLE_BETA_EXTENSIONS
3117 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
3119 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
3120 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000,
3121 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
3122 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
3123 #ifdef VK_ENABLE_BETA_EXTENSIONS
3124 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
3126 #ifdef VK_ENABLE_BETA_EXTENSIONS
3127 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
3129 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
3130 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
3131 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
3132 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
3133 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
3134 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
3135 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
3136 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
3137 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,
3138 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
3139 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
3140 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3141 } VkFormatFeatureFlagBits;
3142 typedef VkFlags VkFormatFeatureFlags;
3144 typedef enum VkImageCreateFlagBits {
3145 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
3146 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
3147 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
3148 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
3149 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
3150 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
3151 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
3152 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
3153 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
3154 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
3155 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
3156 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
3157 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
3158 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
3159 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
3160 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000,
3161 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
3162 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
3163 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
3164 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
3165 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
3166 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
3167 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
3168 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
3169 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3170 } VkImageCreateFlagBits;
3171 typedef VkFlags VkImageCreateFlags;
3173 typedef enum VkSampleCountFlagBits {
3174 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
3175 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
3176 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
3177 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
3178 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
3179 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
3180 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
3181 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3182 } VkSampleCountFlagBits;
3183 typedef VkFlags VkSampleCountFlags;
3185 typedef enum VkImageUsageFlagBits {
3186 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
3187 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
3188 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
3189 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
3190 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
3191 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
3192 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
3193 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
3194 #ifdef VK_ENABLE_BETA_EXTENSIONS
3195 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
3197 #ifdef VK_ENABLE_BETA_EXTENSIONS
3198 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
3200 #ifdef VK_ENABLE_BETA_EXTENSIONS
3201 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
3203 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
3204 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
3205 #ifdef VK_ENABLE_BETA_EXTENSIONS
3206 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
3208 #ifdef VK_ENABLE_BETA_EXTENSIONS
3209 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
3211 #ifdef VK_ENABLE_BETA_EXTENSIONS
3212 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
3214 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000,
3215 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
3216 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000,
3217 VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000,
3218 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3219 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3220 } VkImageUsageFlagBits;
3221 typedef VkFlags VkImageUsageFlags;
3223 typedef enum VkInstanceCreateFlagBits {
3224 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001,
3225 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3226 } VkInstanceCreateFlagBits;
3227 typedef VkFlags VkInstanceCreateFlags;
3229 typedef enum VkMemoryHeapFlagBits {
3230 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
3231 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
3232 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
3233 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3234 } VkMemoryHeapFlagBits;
3235 typedef VkFlags VkMemoryHeapFlags;
3237 typedef enum VkMemoryPropertyFlagBits {
3238 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
3239 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
3240 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
3241 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
3242 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
3243 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
3244 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
3245 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
3246 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
3247 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3248 } VkMemoryPropertyFlagBits;
3249 typedef VkFlags VkMemoryPropertyFlags;
3251 typedef enum VkQueueFlagBits {
3252 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
3253 VK_QUEUE_COMPUTE_BIT = 0x00000002,
3254 VK_QUEUE_TRANSFER_BIT = 0x00000004,
3255 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
3256 VK_QUEUE_PROTECTED_BIT = 0x00000010,
3257 #ifdef VK_ENABLE_BETA_EXTENSIONS
3258 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
3260 #ifdef VK_ENABLE_BETA_EXTENSIONS
3261 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
3263 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3265 typedef VkFlags VkQueueFlags;
3266 typedef VkFlags VkDeviceCreateFlags;
3268 typedef enum VkDeviceQueueCreateFlagBits {
3269 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
3270 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3271 } VkDeviceQueueCreateFlagBits;
3272 typedef VkFlags VkDeviceQueueCreateFlags;
3274 typedef enum VkPipelineStageFlagBits {
3275 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
3276 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
3277 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
3278 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
3279 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
3280 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
3281 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
3282 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
3283 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
3284 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
3285 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
3286 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
3287 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
3288 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
3289 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
3290 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
3291 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
3292 VK_PIPELINE_STAGE_NONE = 0,
3293 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
3294 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
3295 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
3296 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
3297 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
3298 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
3299 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
3300 VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT = 0x00080000,
3301 VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT = 0x00100000,
3302 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3303 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
3304 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
3305 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT,
3306 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT,
3307 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE,
3308 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3309 } VkPipelineStageFlagBits;
3310 typedef VkFlags VkPipelineStageFlags;
3311 typedef VkFlags VkMemoryMapFlags;
3313 typedef enum VkSparseMemoryBindFlagBits {
3314 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
3315 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3316 } VkSparseMemoryBindFlagBits;
3317 typedef VkFlags VkSparseMemoryBindFlags;
3319 typedef enum VkSparseImageFormatFlagBits {
3320 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
3321 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
3322 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
3323 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3324 } VkSparseImageFormatFlagBits;
3325 typedef VkFlags VkSparseImageFormatFlags;
3327 typedef enum VkFenceCreateFlagBits {
3328 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
3329 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3330 } VkFenceCreateFlagBits;
3331 typedef VkFlags VkFenceCreateFlags;
3332 typedef VkFlags VkSemaphoreCreateFlags;
3334 typedef enum VkEventCreateFlagBits {
3335 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001,
3336 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT,
3337 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3338 } VkEventCreateFlagBits;
3339 typedef VkFlags VkEventCreateFlags;
3341 typedef enum VkQueryPipelineStatisticFlagBits {
3342 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
3343 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
3344 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
3345 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
3346 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
3347 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
3348 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
3349 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
3350 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
3351 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
3352 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
3353 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800,
3354 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000,
3355 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3356 } VkQueryPipelineStatisticFlagBits;
3357 typedef VkFlags VkQueryPipelineStatisticFlags;
3358 typedef VkFlags VkQueryPoolCreateFlags;
3360 typedef enum VkQueryResultFlagBits {
3361 VK_QUERY_RESULT_64_BIT = 0x00000001,
3362 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
3363 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
3364 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
3365 #ifdef VK_ENABLE_BETA_EXTENSIONS
3366 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
3368 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3369 } VkQueryResultFlagBits;
3370 typedef VkFlags VkQueryResultFlags;
3372 typedef enum VkBufferCreateFlagBits {
3373 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
3374 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
3375 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
3376 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
3377 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
3378 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3379 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3380 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3381 } VkBufferCreateFlagBits;
3382 typedef VkFlags VkBufferCreateFlags;
3384 typedef enum VkBufferUsageFlagBits {
3385 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
3386 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
3387 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
3388 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
3389 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
3390 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
3391 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
3392 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
3393 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
3394 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
3395 #ifdef VK_ENABLE_BETA_EXTENSIONS
3396 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
3398 #ifdef VK_ENABLE_BETA_EXTENSIONS
3399 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
3401 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
3402 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
3403 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
3404 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
3405 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
3406 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
3407 #ifdef VK_ENABLE_BETA_EXTENSIONS
3408 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
3410 #ifdef VK_ENABLE_BETA_EXTENSIONS
3411 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
3413 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
3414 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3415 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3416 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3417 } VkBufferUsageFlagBits;
3418 typedef VkFlags VkBufferUsageFlags;
3419 typedef VkFlags VkBufferViewCreateFlags;
3421 typedef enum VkImageViewCreateFlagBits {
3422 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
3423 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
3424 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3425 } VkImageViewCreateFlagBits;
3426 typedef VkFlags VkImageViewCreateFlags;
3427 typedef VkFlags VkShaderModuleCreateFlags;
3429 typedef enum VkPipelineCacheCreateFlagBits {
3430 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001,
3431 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
3432 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3433 } VkPipelineCacheCreateFlagBits;
3434 typedef VkFlags VkPipelineCacheCreateFlags;
3436 typedef enum VkColorComponentFlagBits {
3437 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3438 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3439 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3440 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3441 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3442 } VkColorComponentFlagBits;
3443 typedef VkFlags VkColorComponentFlags;
3445 typedef enum VkPipelineCreateFlagBits {
3446 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3447 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3448 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3449 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3450 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3451 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100,
3452 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200,
3453 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000,
3454 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000,
3455 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3456 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3457 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3458 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3459 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3460 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3461 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3462 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3463 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3464 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3465 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3466 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3467 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000,
3468 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400,
3469 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
3470 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000,
3471 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000,
3472 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3473 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3474 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
3475 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3476 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3477 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
3478 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
3479 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3480 } VkPipelineCreateFlagBits;
3481 typedef VkFlags VkPipelineCreateFlags;
3483 typedef enum VkPipelineShaderStageCreateFlagBits {
3484 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001,
3485 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002,
3486 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT,
3487 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT,
3488 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3489 } VkPipelineShaderStageCreateFlagBits;
3490 typedef VkFlags VkPipelineShaderStageCreateFlags;
3492 typedef enum VkShaderStageFlagBits {
3493 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3494 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3495 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3496 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3497 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3498 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3499 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3500 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3501 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3502 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3503 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3504 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3505 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3506 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3507 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040,
3508 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080,
3509 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
3510 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3511 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3512 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3513 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3514 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3515 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3516 VK_SHADER_STAGE_TASK_BIT_NV = VK_SHADER_STAGE_TASK_BIT_EXT,
3517 VK_SHADER_STAGE_MESH_BIT_NV = VK_SHADER_STAGE_MESH_BIT_EXT,
3518 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3519 } VkShaderStageFlagBits;
3521 typedef enum VkCullModeFlagBits {
3522 VK_CULL_MODE_NONE = 0,
3523 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3524 VK_CULL_MODE_BACK_BIT = 0x00000002,
3525 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3526 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3527 } VkCullModeFlagBits;
3528 typedef VkFlags VkCullModeFlags;
3529 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3530 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3531 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3532 typedef VkFlags VkPipelineViewportStateCreateFlags;
3533 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3534 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3536 typedef enum VkPipelineDepthStencilStateCreateFlagBits {
3537 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000001,
3538 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000002,
3539 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,
3540 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,
3541 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3542 } VkPipelineDepthStencilStateCreateFlagBits;
3543 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3545 typedef enum VkPipelineColorBlendStateCreateFlagBits {
3546 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT = 0x00000001,
3547 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT,
3548 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3549 } VkPipelineColorBlendStateCreateFlagBits;
3550 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3551 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3553 typedef enum VkPipelineLayoutCreateFlagBits {
3554 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002,
3555 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3556 } VkPipelineLayoutCreateFlagBits;
3557 typedef VkFlags VkPipelineLayoutCreateFlags;
3558 typedef VkFlags VkShaderStageFlags;
3560 typedef enum VkSamplerCreateFlagBits {
3561 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3562 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3563 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004,
3564 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010,
3565 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3566 } VkSamplerCreateFlagBits;
3567 typedef VkFlags VkSamplerCreateFlags;
3569 typedef enum VkDescriptorPoolCreateFlagBits {
3570 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3571 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3572 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3573 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3574 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3575 } VkDescriptorPoolCreateFlagBits;
3576 typedef VkFlags VkDescriptorPoolCreateFlags;
3577 typedef VkFlags VkDescriptorPoolResetFlags;
3579 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3580 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3581 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3582 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3583 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3584 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3585 } VkDescriptorSetLayoutCreateFlagBits;
3586 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3588 typedef enum VkAttachmentDescriptionFlagBits {
3589 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3590 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3591 } VkAttachmentDescriptionFlagBits;
3592 typedef VkFlags VkAttachmentDescriptionFlags;
3594 typedef enum VkDependencyFlagBits {
3595 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3596 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3597 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3598 VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008,
3599 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3600 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3601 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3602 } VkDependencyFlagBits;
3603 typedef VkFlags VkDependencyFlags;
3605 typedef enum VkFramebufferCreateFlagBits {
3606 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3607 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3608 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3609 } VkFramebufferCreateFlagBits;
3610 typedef VkFlags VkFramebufferCreateFlags;
3612 typedef enum VkRenderPassCreateFlagBits {
3613 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3614 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3615 } VkRenderPassCreateFlagBits;
3616 typedef VkFlags VkRenderPassCreateFlags;
3618 typedef enum VkSubpassDescriptionFlagBits {
3619 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3620 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3621 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3622 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3623 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT = 0x00000010,
3624 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT = 0x00000020,
3625 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT = 0x00000040,
3626 VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000080,
3627 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT,
3628 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT,
3629 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
3630 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3631 } VkSubpassDescriptionFlagBits;
3632 typedef VkFlags VkSubpassDescriptionFlags;
3634 typedef enum VkCommandPoolCreateFlagBits {
3635 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3636 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3637 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3638 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3639 } VkCommandPoolCreateFlagBits;
3640 typedef VkFlags VkCommandPoolCreateFlags;
3642 typedef enum VkCommandPoolResetFlagBits {
3643 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3644 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3645 } VkCommandPoolResetFlagBits;
3646 typedef VkFlags VkCommandPoolResetFlags;
3648 typedef enum VkCommandBufferUsageFlagBits {
3649 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3650 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3651 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3652 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3653 } VkCommandBufferUsageFlagBits;
3654 typedef VkFlags VkCommandBufferUsageFlags;
3656 typedef enum VkQueryControlFlagBits {
3657 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3658 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3659 } VkQueryControlFlagBits;
3660 typedef VkFlags VkQueryControlFlags;
3662 typedef enum VkCommandBufferResetFlagBits {
3663 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3664 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3665 } VkCommandBufferResetFlagBits;
3666 typedef VkFlags VkCommandBufferResetFlags;
3668 typedef enum VkStencilFaceFlagBits {
3669 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3670 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3671 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3672 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3673 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3674 } VkStencilFaceFlagBits;
3675 typedef VkFlags VkStencilFaceFlags;
3676 typedef struct VkExtent2D {
3681 typedef struct VkExtent3D {
3687 typedef struct VkOffset2D {
3692 typedef struct VkOffset3D {
3698 typedef struct VkRect2D {
3703 typedef struct VkBaseInStructure {
3704 VkStructureType sType;
3705 const struct VkBaseInStructure* pNext;
3706 } VkBaseInStructure;
3708 typedef struct VkBaseOutStructure {
3709 VkStructureType sType;
3710 struct VkBaseOutStructure* pNext;
3711 } VkBaseOutStructure;
3713 typedef struct VkBufferMemoryBarrier {
3714 VkStructureType sType;
3716 VkAccessFlags srcAccessMask;
3717 VkAccessFlags dstAccessMask;
3718 deUint32 srcQueueFamilyIndex;
3719 deUint32 dstQueueFamilyIndex;
3721 VkDeviceSize offset;
3723 } VkBufferMemoryBarrier;
3725 typedef struct VkDispatchIndirectCommand {
3729 } VkDispatchIndirectCommand;
3731 typedef struct VkDrawIndexedIndirectCommand {
3732 deUint32 indexCount;
3733 deUint32 instanceCount;
3734 deUint32 firstIndex;
3735 deInt32 vertexOffset;
3736 deUint32 firstInstance;
3737 } VkDrawIndexedIndirectCommand;
3739 typedef struct VkDrawIndirectCommand {
3740 deUint32 vertexCount;
3741 deUint32 instanceCount;
3742 deUint32 firstVertex;
3743 deUint32 firstInstance;
3744 } VkDrawIndirectCommand;
3746 typedef struct VkImageSubresourceRange {
3747 VkImageAspectFlags aspectMask;
3748 deUint32 baseMipLevel;
3749 deUint32 levelCount;
3750 deUint32 baseArrayLayer;
3751 deUint32 layerCount;
3752 } VkImageSubresourceRange;
3754 typedef struct VkImageMemoryBarrier {
3755 VkStructureType sType;
3757 VkAccessFlags srcAccessMask;
3758 VkAccessFlags dstAccessMask;
3759 VkImageLayout oldLayout;
3760 VkImageLayout newLayout;
3761 deUint32 srcQueueFamilyIndex;
3762 deUint32 dstQueueFamilyIndex;
3764 VkImageSubresourceRange subresourceRange;
3765 } VkImageMemoryBarrier;
3767 typedef struct VkMemoryBarrier {
3768 VkStructureType sType;
3770 VkAccessFlags srcAccessMask;
3771 VkAccessFlags dstAccessMask;
3774 typedef struct VkPipelineCacheHeaderVersionOne {
3775 deUint32 headerSize;
3776 VkPipelineCacheHeaderVersion headerVersion;
3779 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3780 } VkPipelineCacheHeaderVersionOne;
3782 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3785 deUintptr alignment,
3786 VkSystemAllocationScope allocationScope);
3788 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3792 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3795 VkInternalAllocationType allocationType,
3796 VkSystemAllocationScope allocationScope);
3798 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3801 VkInternalAllocationType allocationType,
3802 VkSystemAllocationScope allocationScope);
3804 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3808 deUintptr alignment,
3809 VkSystemAllocationScope allocationScope);
3811 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3812 typedef struct VkAllocationCallbacks {
3814 PFN_vkAllocationFunction pfnAllocation;
3815 PFN_vkReallocationFunction pfnReallocation;
3816 PFN_vkFreeFunction pfnFree;
3817 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3818 PFN_vkInternalFreeNotification pfnInternalFree;
3819 } VkAllocationCallbacks;
3821 typedef struct VkApplicationInfo {
3822 VkStructureType sType;
3824 const char* pApplicationName;
3825 deUint32 applicationVersion;
3826 const char* pEngineName;
3827 deUint32 engineVersion;
3828 deUint32 apiVersion;
3829 } VkApplicationInfo;
3831 typedef struct VkFormatProperties {
3832 VkFormatFeatureFlags linearTilingFeatures;
3833 VkFormatFeatureFlags optimalTilingFeatures;
3834 VkFormatFeatureFlags bufferFeatures;
3835 } VkFormatProperties;
3837 typedef struct VkImageFormatProperties {
3838 VkExtent3D maxExtent;
3839 deUint32 maxMipLevels;
3840 deUint32 maxArrayLayers;
3841 VkSampleCountFlags sampleCounts;
3842 VkDeviceSize maxResourceSize;
3843 } VkImageFormatProperties;
3845 typedef struct VkInstanceCreateInfo {
3846 VkStructureType sType;
3848 VkInstanceCreateFlags flags;
3849 const VkApplicationInfo* pApplicationInfo;
3850 deUint32 enabledLayerCount;
3851 const char* const* ppEnabledLayerNames;
3852 deUint32 enabledExtensionCount;
3853 const char* const* ppEnabledExtensionNames;
3854 } VkInstanceCreateInfo;
3856 typedef struct VkMemoryHeap {
3858 VkMemoryHeapFlags flags;
3861 typedef struct VkMemoryType {
3862 VkMemoryPropertyFlags propertyFlags;
3866 typedef struct VkPhysicalDeviceFeatures {
3867 VkBool32 robustBufferAccess;
3868 VkBool32 fullDrawIndexUint32;
3869 VkBool32 imageCubeArray;
3870 VkBool32 independentBlend;
3871 VkBool32 geometryShader;
3872 VkBool32 tessellationShader;
3873 VkBool32 sampleRateShading;
3874 VkBool32 dualSrcBlend;
3876 VkBool32 multiDrawIndirect;
3877 VkBool32 drawIndirectFirstInstance;
3878 VkBool32 depthClamp;
3879 VkBool32 depthBiasClamp;
3880 VkBool32 fillModeNonSolid;
3881 VkBool32 depthBounds;
3883 VkBool32 largePoints;
3884 VkBool32 alphaToOne;
3885 VkBool32 multiViewport;
3886 VkBool32 samplerAnisotropy;
3887 VkBool32 textureCompressionETC2;
3888 VkBool32 textureCompressionASTC_LDR;
3889 VkBool32 textureCompressionBC;
3890 VkBool32 occlusionQueryPrecise;
3891 VkBool32 pipelineStatisticsQuery;
3892 VkBool32 vertexPipelineStoresAndAtomics;
3893 VkBool32 fragmentStoresAndAtomics;
3894 VkBool32 shaderTessellationAndGeometryPointSize;
3895 VkBool32 shaderImageGatherExtended;
3896 VkBool32 shaderStorageImageExtendedFormats;
3897 VkBool32 shaderStorageImageMultisample;
3898 VkBool32 shaderStorageImageReadWithoutFormat;
3899 VkBool32 shaderStorageImageWriteWithoutFormat;
3900 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3901 VkBool32 shaderSampledImageArrayDynamicIndexing;
3902 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3903 VkBool32 shaderStorageImageArrayDynamicIndexing;
3904 VkBool32 shaderClipDistance;
3905 VkBool32 shaderCullDistance;
3906 VkBool32 shaderFloat64;
3907 VkBool32 shaderInt64;
3908 VkBool32 shaderInt16;
3909 VkBool32 shaderResourceResidency;
3910 VkBool32 shaderResourceMinLod;
3911 VkBool32 sparseBinding;
3912 VkBool32 sparseResidencyBuffer;
3913 VkBool32 sparseResidencyImage2D;
3914 VkBool32 sparseResidencyImage3D;
3915 VkBool32 sparseResidency2Samples;
3916 VkBool32 sparseResidency4Samples;
3917 VkBool32 sparseResidency8Samples;
3918 VkBool32 sparseResidency16Samples;
3919 VkBool32 sparseResidencyAliased;
3920 VkBool32 variableMultisampleRate;
3921 VkBool32 inheritedQueries;
3922 } VkPhysicalDeviceFeatures;
3924 typedef struct VkPhysicalDeviceLimits {
3925 deUint32 maxImageDimension1D;
3926 deUint32 maxImageDimension2D;
3927 deUint32 maxImageDimension3D;
3928 deUint32 maxImageDimensionCube;
3929 deUint32 maxImageArrayLayers;
3930 deUint32 maxTexelBufferElements;
3931 deUint32 maxUniformBufferRange;
3932 deUint32 maxStorageBufferRange;
3933 deUint32 maxPushConstantsSize;
3934 deUint32 maxMemoryAllocationCount;
3935 deUint32 maxSamplerAllocationCount;
3936 VkDeviceSize bufferImageGranularity;
3937 VkDeviceSize sparseAddressSpaceSize;
3938 deUint32 maxBoundDescriptorSets;
3939 deUint32 maxPerStageDescriptorSamplers;
3940 deUint32 maxPerStageDescriptorUniformBuffers;
3941 deUint32 maxPerStageDescriptorStorageBuffers;
3942 deUint32 maxPerStageDescriptorSampledImages;
3943 deUint32 maxPerStageDescriptorStorageImages;
3944 deUint32 maxPerStageDescriptorInputAttachments;
3945 deUint32 maxPerStageResources;
3946 deUint32 maxDescriptorSetSamplers;
3947 deUint32 maxDescriptorSetUniformBuffers;
3948 deUint32 maxDescriptorSetUniformBuffersDynamic;
3949 deUint32 maxDescriptorSetStorageBuffers;
3950 deUint32 maxDescriptorSetStorageBuffersDynamic;
3951 deUint32 maxDescriptorSetSampledImages;
3952 deUint32 maxDescriptorSetStorageImages;
3953 deUint32 maxDescriptorSetInputAttachments;
3954 deUint32 maxVertexInputAttributes;
3955 deUint32 maxVertexInputBindings;
3956 deUint32 maxVertexInputAttributeOffset;
3957 deUint32 maxVertexInputBindingStride;
3958 deUint32 maxVertexOutputComponents;
3959 deUint32 maxTessellationGenerationLevel;
3960 deUint32 maxTessellationPatchSize;
3961 deUint32 maxTessellationControlPerVertexInputComponents;
3962 deUint32 maxTessellationControlPerVertexOutputComponents;
3963 deUint32 maxTessellationControlPerPatchOutputComponents;
3964 deUint32 maxTessellationControlTotalOutputComponents;
3965 deUint32 maxTessellationEvaluationInputComponents;
3966 deUint32 maxTessellationEvaluationOutputComponents;
3967 deUint32 maxGeometryShaderInvocations;
3968 deUint32 maxGeometryInputComponents;
3969 deUint32 maxGeometryOutputComponents;
3970 deUint32 maxGeometryOutputVertices;
3971 deUint32 maxGeometryTotalOutputComponents;
3972 deUint32 maxFragmentInputComponents;
3973 deUint32 maxFragmentOutputAttachments;
3974 deUint32 maxFragmentDualSrcAttachments;
3975 deUint32 maxFragmentCombinedOutputResources;
3976 deUint32 maxComputeSharedMemorySize;
3977 deUint32 maxComputeWorkGroupCount[3];
3978 deUint32 maxComputeWorkGroupInvocations;
3979 deUint32 maxComputeWorkGroupSize[3];
3980 deUint32 subPixelPrecisionBits;
3981 deUint32 subTexelPrecisionBits;
3982 deUint32 mipmapPrecisionBits;
3983 deUint32 maxDrawIndexedIndexValue;
3984 deUint32 maxDrawIndirectCount;
3985 float maxSamplerLodBias;
3986 float maxSamplerAnisotropy;
3987 deUint32 maxViewports;
3988 deUint32 maxViewportDimensions[2];
3989 float viewportBoundsRange[2];
3990 deUint32 viewportSubPixelBits;
3991 deUintptr minMemoryMapAlignment;
3992 VkDeviceSize minTexelBufferOffsetAlignment;
3993 VkDeviceSize minUniformBufferOffsetAlignment;
3994 VkDeviceSize minStorageBufferOffsetAlignment;
3995 deInt32 minTexelOffset;
3996 deUint32 maxTexelOffset;
3997 deInt32 minTexelGatherOffset;
3998 deUint32 maxTexelGatherOffset;
3999 float minInterpolationOffset;
4000 float maxInterpolationOffset;
4001 deUint32 subPixelInterpolationOffsetBits;
4002 deUint32 maxFramebufferWidth;
4003 deUint32 maxFramebufferHeight;
4004 deUint32 maxFramebufferLayers;
4005 VkSampleCountFlags framebufferColorSampleCounts;
4006 VkSampleCountFlags framebufferDepthSampleCounts;
4007 VkSampleCountFlags framebufferStencilSampleCounts;
4008 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
4009 deUint32 maxColorAttachments;
4010 VkSampleCountFlags sampledImageColorSampleCounts;
4011 VkSampleCountFlags sampledImageIntegerSampleCounts;
4012 VkSampleCountFlags sampledImageDepthSampleCounts;
4013 VkSampleCountFlags sampledImageStencilSampleCounts;
4014 VkSampleCountFlags storageImageSampleCounts;
4015 deUint32 maxSampleMaskWords;
4016 VkBool32 timestampComputeAndGraphics;
4017 float timestampPeriod;
4018 deUint32 maxClipDistances;
4019 deUint32 maxCullDistances;
4020 deUint32 maxCombinedClipAndCullDistances;
4021 deUint32 discreteQueuePriorities;
4022 float pointSizeRange[2];
4023 float lineWidthRange[2];
4024 float pointSizeGranularity;
4025 float lineWidthGranularity;
4026 VkBool32 strictLines;
4027 VkBool32 standardSampleLocations;
4028 VkDeviceSize optimalBufferCopyOffsetAlignment;
4029 VkDeviceSize optimalBufferCopyRowPitchAlignment;
4030 VkDeviceSize nonCoherentAtomSize;
4031 } VkPhysicalDeviceLimits;
4033 typedef struct VkPhysicalDeviceMemoryProperties {
4034 deUint32 memoryTypeCount;
4035 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
4036 deUint32 memoryHeapCount;
4037 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
4038 } VkPhysicalDeviceMemoryProperties;
4040 typedef struct VkPhysicalDeviceSparseProperties {
4041 VkBool32 residencyStandard2DBlockShape;
4042 VkBool32 residencyStandard2DMultisampleBlockShape;
4043 VkBool32 residencyStandard3DBlockShape;
4044 VkBool32 residencyAlignedMipSize;
4045 VkBool32 residencyNonResidentStrict;
4046 } VkPhysicalDeviceSparseProperties;
4048 typedef struct VkPhysicalDeviceProperties {
4049 deUint32 apiVersion;
4050 deUint32 driverVersion;
4053 VkPhysicalDeviceType deviceType;
4054 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
4055 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
4056 VkPhysicalDeviceLimits limits;
4057 VkPhysicalDeviceSparseProperties sparseProperties;
4058 } VkPhysicalDeviceProperties;
4060 typedef struct VkQueueFamilyProperties {
4061 VkQueueFlags queueFlags;
4062 deUint32 queueCount;
4063 deUint32 timestampValidBits;
4064 VkExtent3D minImageTransferGranularity;
4065 } VkQueueFamilyProperties;
4067 typedef struct VkDeviceQueueCreateInfo {
4068 VkStructureType sType;
4070 VkDeviceQueueCreateFlags flags;
4071 deUint32 queueFamilyIndex;
4072 deUint32 queueCount;
4073 const float* pQueuePriorities;
4074 } VkDeviceQueueCreateInfo;
4076 typedef struct VkDeviceCreateInfo {
4077 VkStructureType sType;
4079 VkDeviceCreateFlags flags;
4080 deUint32 queueCreateInfoCount;
4081 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
4082 deUint32 enabledLayerCount;
4083 const char* const* ppEnabledLayerNames;
4084 deUint32 enabledExtensionCount;
4085 const char* const* ppEnabledExtensionNames;
4086 const VkPhysicalDeviceFeatures* pEnabledFeatures;
4087 } VkDeviceCreateInfo;
4089 typedef struct VkExtensionProperties {
4090 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
4091 deUint32 specVersion;
4092 } VkExtensionProperties;
4094 typedef struct VkLayerProperties {
4095 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
4096 deUint32 specVersion;
4097 deUint32 implementationVersion;
4098 char description[VK_MAX_DESCRIPTION_SIZE];
4099 } VkLayerProperties;
4101 typedef struct VkSubmitInfo {
4102 VkStructureType sType;
4104 deUint32 waitSemaphoreCount;
4105 const VkSemaphore* pWaitSemaphores;
4106 const VkPipelineStageFlags* pWaitDstStageMask;
4107 deUint32 commandBufferCount;
4108 const VkCommandBuffer* pCommandBuffers;
4109 deUint32 signalSemaphoreCount;
4110 const VkSemaphore* pSignalSemaphores;
4113 typedef struct VkMappedMemoryRange {
4114 VkStructureType sType;
4116 VkDeviceMemory memory;
4117 VkDeviceSize offset;
4119 } VkMappedMemoryRange;
4121 typedef struct VkMemoryAllocateInfo {
4122 VkStructureType sType;
4124 VkDeviceSize allocationSize;
4125 deUint32 memoryTypeIndex;
4126 } VkMemoryAllocateInfo;
4128 typedef struct VkMemoryRequirements {
4130 VkDeviceSize alignment;
4131 deUint32 memoryTypeBits;
4132 } VkMemoryRequirements;
4134 typedef struct VkSparseMemoryBind {
4135 VkDeviceSize resourceOffset;
4137 VkDeviceMemory memory;
4138 VkDeviceSize memoryOffset;
4139 VkSparseMemoryBindFlags flags;
4140 } VkSparseMemoryBind;
4142 typedef struct VkSparseBufferMemoryBindInfo {
4145 const VkSparseMemoryBind* pBinds;
4146 } VkSparseBufferMemoryBindInfo;
4148 typedef struct VkSparseImageOpaqueMemoryBindInfo {
4151 const VkSparseMemoryBind* pBinds;
4152 } VkSparseImageOpaqueMemoryBindInfo;
4154 typedef struct VkImageSubresource {
4155 VkImageAspectFlags aspectMask;
4157 deUint32 arrayLayer;
4158 } VkImageSubresource;
4160 typedef struct VkSparseImageMemoryBind {
4161 VkImageSubresource subresource;
4164 VkDeviceMemory memory;
4165 VkDeviceSize memoryOffset;
4166 VkSparseMemoryBindFlags flags;
4167 } VkSparseImageMemoryBind;
4169 typedef struct VkSparseImageMemoryBindInfo {
4172 const VkSparseImageMemoryBind* pBinds;
4173 } VkSparseImageMemoryBindInfo;
4175 typedef struct VkBindSparseInfo {
4176 VkStructureType sType;
4178 deUint32 waitSemaphoreCount;
4179 const VkSemaphore* pWaitSemaphores;
4180 deUint32 bufferBindCount;
4181 const VkSparseBufferMemoryBindInfo* pBufferBinds;
4182 deUint32 imageOpaqueBindCount;
4183 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
4184 deUint32 imageBindCount;
4185 const VkSparseImageMemoryBindInfo* pImageBinds;
4186 deUint32 signalSemaphoreCount;
4187 const VkSemaphore* pSignalSemaphores;
4190 typedef struct VkSparseImageFormatProperties {
4191 VkImageAspectFlags aspectMask;
4192 VkExtent3D imageGranularity;
4193 VkSparseImageFormatFlags flags;
4194 } VkSparseImageFormatProperties;
4196 typedef struct VkSparseImageMemoryRequirements {
4197 VkSparseImageFormatProperties formatProperties;
4198 deUint32 imageMipTailFirstLod;
4199 VkDeviceSize imageMipTailSize;
4200 VkDeviceSize imageMipTailOffset;
4201 VkDeviceSize imageMipTailStride;
4202 } VkSparseImageMemoryRequirements;
4204 typedef struct VkFenceCreateInfo {
4205 VkStructureType sType;
4207 VkFenceCreateFlags flags;
4208 } VkFenceCreateInfo;
4210 typedef struct VkSemaphoreCreateInfo {
4211 VkStructureType sType;
4213 VkSemaphoreCreateFlags flags;
4214 } VkSemaphoreCreateInfo;
4216 typedef struct VkEventCreateInfo {
4217 VkStructureType sType;
4219 VkEventCreateFlags flags;
4220 } VkEventCreateInfo;
4222 typedef struct VkQueryPoolCreateInfo {
4223 VkStructureType sType;
4225 VkQueryPoolCreateFlags flags;
4226 VkQueryType queryType;
4227 deUint32 queryCount;
4228 VkQueryPipelineStatisticFlags pipelineStatistics;
4229 } VkQueryPoolCreateInfo;
4231 typedef struct VkBufferCreateInfo {
4232 VkStructureType sType;
4234 VkBufferCreateFlags flags;
4236 VkBufferUsageFlags usage;
4237 VkSharingMode sharingMode;
4238 deUint32 queueFamilyIndexCount;
4239 const deUint32* pQueueFamilyIndices;
4240 } VkBufferCreateInfo;
4242 typedef struct VkBufferViewCreateInfo {
4243 VkStructureType sType;
4245 VkBufferViewCreateFlags flags;
4248 VkDeviceSize offset;
4250 } VkBufferViewCreateInfo;
4252 typedef struct VkImageCreateInfo {
4253 VkStructureType sType;
4255 VkImageCreateFlags flags;
4256 VkImageType imageType;
4260 deUint32 arrayLayers;
4261 VkSampleCountFlagBits samples;
4262 VkImageTiling tiling;
4263 VkImageUsageFlags usage;
4264 VkSharingMode sharingMode;
4265 deUint32 queueFamilyIndexCount;
4266 const deUint32* pQueueFamilyIndices;
4267 VkImageLayout initialLayout;
4268 } VkImageCreateInfo;
4270 typedef struct VkSubresourceLayout {
4271 VkDeviceSize offset;
4273 VkDeviceSize rowPitch;
4274 VkDeviceSize arrayPitch;
4275 VkDeviceSize depthPitch;
4276 } VkSubresourceLayout;
4278 typedef struct VkComponentMapping {
4279 VkComponentSwizzle r;
4280 VkComponentSwizzle g;
4281 VkComponentSwizzle b;
4282 VkComponentSwizzle a;
4283 } VkComponentMapping;
4285 typedef struct VkImageViewCreateInfo {
4286 VkStructureType sType;
4288 VkImageViewCreateFlags flags;
4290 VkImageViewType viewType;
4292 VkComponentMapping components;
4293 VkImageSubresourceRange subresourceRange;
4294 } VkImageViewCreateInfo;
4296 typedef struct VkShaderModuleCreateInfo {
4297 VkStructureType sType;
4299 VkShaderModuleCreateFlags flags;
4301 const deUint32* pCode;
4302 } VkShaderModuleCreateInfo;
4304 typedef struct VkPipelineCacheCreateInfo {
4305 VkStructureType sType;
4307 VkPipelineCacheCreateFlags flags;
4308 deUintptr initialDataSize;
4309 const void* pInitialData;
4310 } VkPipelineCacheCreateInfo;
4312 typedef struct VkSpecializationMapEntry {
4313 deUint32 constantID;
4316 } VkSpecializationMapEntry;
4318 typedef struct VkSpecializationInfo {
4319 deUint32 mapEntryCount;
4320 const VkSpecializationMapEntry* pMapEntries;
4323 } VkSpecializationInfo;
4325 typedef struct VkPipelineShaderStageCreateInfo {
4326 VkStructureType sType;
4328 VkPipelineShaderStageCreateFlags flags;
4329 VkShaderStageFlagBits stage;
4330 VkShaderModule module;
4332 const VkSpecializationInfo* pSpecializationInfo;
4333 } VkPipelineShaderStageCreateInfo;
4335 typedef struct VkComputePipelineCreateInfo {
4336 VkStructureType sType;
4338 VkPipelineCreateFlags flags;
4339 VkPipelineShaderStageCreateInfo stage;
4340 VkPipelineLayout layout;
4341 VkPipeline basePipelineHandle;
4342 deInt32 basePipelineIndex;
4343 } VkComputePipelineCreateInfo;
4345 typedef struct VkVertexInputBindingDescription {
4348 VkVertexInputRate inputRate;
4349 } VkVertexInputBindingDescription;
4351 typedef struct VkVertexInputAttributeDescription {
4356 } VkVertexInputAttributeDescription;
4358 typedef struct VkPipelineVertexInputStateCreateInfo {
4359 VkStructureType sType;
4361 VkPipelineVertexInputStateCreateFlags flags;
4362 deUint32 vertexBindingDescriptionCount;
4363 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
4364 deUint32 vertexAttributeDescriptionCount;
4365 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
4366 } VkPipelineVertexInputStateCreateInfo;
4368 typedef struct VkPipelineInputAssemblyStateCreateInfo {
4369 VkStructureType sType;
4371 VkPipelineInputAssemblyStateCreateFlags flags;
4372 VkPrimitiveTopology topology;
4373 VkBool32 primitiveRestartEnable;
4374 } VkPipelineInputAssemblyStateCreateInfo;
4376 typedef struct VkPipelineTessellationStateCreateInfo {
4377 VkStructureType sType;
4379 VkPipelineTessellationStateCreateFlags flags;
4380 deUint32 patchControlPoints;
4381 } VkPipelineTessellationStateCreateInfo;
4383 typedef struct VkViewport {
4392 typedef struct VkPipelineViewportStateCreateInfo {
4393 VkStructureType sType;
4395 VkPipelineViewportStateCreateFlags flags;
4396 deUint32 viewportCount;
4397 const VkViewport* pViewports;
4398 deUint32 scissorCount;
4399 const VkRect2D* pScissors;
4400 } VkPipelineViewportStateCreateInfo;
4402 typedef struct VkPipelineRasterizationStateCreateInfo {
4403 VkStructureType sType;
4405 VkPipelineRasterizationStateCreateFlags flags;
4406 VkBool32 depthClampEnable;
4407 VkBool32 rasterizerDiscardEnable;
4408 VkPolygonMode polygonMode;
4409 VkCullModeFlags cullMode;
4410 VkFrontFace frontFace;
4411 VkBool32 depthBiasEnable;
4412 float depthBiasConstantFactor;
4413 float depthBiasClamp;
4414 float depthBiasSlopeFactor;
4416 } VkPipelineRasterizationStateCreateInfo;
4418 typedef struct VkPipelineMultisampleStateCreateInfo {
4419 VkStructureType sType;
4421 VkPipelineMultisampleStateCreateFlags flags;
4422 VkSampleCountFlagBits rasterizationSamples;
4423 VkBool32 sampleShadingEnable;
4424 float minSampleShading;
4425 const VkSampleMask* pSampleMask;
4426 VkBool32 alphaToCoverageEnable;
4427 VkBool32 alphaToOneEnable;
4428 } VkPipelineMultisampleStateCreateInfo;
4430 typedef struct VkStencilOpState {
4433 VkStencilOp depthFailOp;
4434 VkCompareOp compareOp;
4435 deUint32 compareMask;
4440 typedef struct VkPipelineDepthStencilStateCreateInfo {
4441 VkStructureType sType;
4443 VkPipelineDepthStencilStateCreateFlags flags;
4444 VkBool32 depthTestEnable;
4445 VkBool32 depthWriteEnable;
4446 VkCompareOp depthCompareOp;
4447 VkBool32 depthBoundsTestEnable;
4448 VkBool32 stencilTestEnable;
4449 VkStencilOpState front;
4450 VkStencilOpState back;
4451 float minDepthBounds;
4452 float maxDepthBounds;
4453 } VkPipelineDepthStencilStateCreateInfo;
4455 typedef struct VkPipelineColorBlendAttachmentState {
4456 VkBool32 blendEnable;
4457 VkBlendFactor srcColorBlendFactor;
4458 VkBlendFactor dstColorBlendFactor;
4459 VkBlendOp colorBlendOp;
4460 VkBlendFactor srcAlphaBlendFactor;
4461 VkBlendFactor dstAlphaBlendFactor;
4462 VkBlendOp alphaBlendOp;
4463 VkColorComponentFlags colorWriteMask;
4464 } VkPipelineColorBlendAttachmentState;
4466 typedef struct VkPipelineColorBlendStateCreateInfo {
4467 VkStructureType sType;
4469 VkPipelineColorBlendStateCreateFlags flags;
4470 VkBool32 logicOpEnable;
4472 deUint32 attachmentCount;
4473 const VkPipelineColorBlendAttachmentState* pAttachments;
4474 float blendConstants[4];
4475 } VkPipelineColorBlendStateCreateInfo;
4477 typedef struct VkPipelineDynamicStateCreateInfo {
4478 VkStructureType sType;
4480 VkPipelineDynamicStateCreateFlags flags;
4481 deUint32 dynamicStateCount;
4482 const VkDynamicState* pDynamicStates;
4483 } VkPipelineDynamicStateCreateInfo;
4485 typedef struct VkGraphicsPipelineCreateInfo {
4486 VkStructureType sType;
4488 VkPipelineCreateFlags flags;
4489 deUint32 stageCount;
4490 const VkPipelineShaderStageCreateInfo* pStages;
4491 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4492 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4493 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4494 const VkPipelineViewportStateCreateInfo* pViewportState;
4495 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4496 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4497 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4498 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4499 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4500 VkPipelineLayout layout;
4501 VkRenderPass renderPass;
4503 VkPipeline basePipelineHandle;
4504 deInt32 basePipelineIndex;
4505 } VkGraphicsPipelineCreateInfo;
4507 typedef struct VkPushConstantRange {
4508 VkShaderStageFlags stageFlags;
4511 } VkPushConstantRange;
4513 typedef struct VkPipelineLayoutCreateInfo {
4514 VkStructureType sType;
4516 VkPipelineLayoutCreateFlags flags;
4517 deUint32 setLayoutCount;
4518 const VkDescriptorSetLayout* pSetLayouts;
4519 deUint32 pushConstantRangeCount;
4520 const VkPushConstantRange* pPushConstantRanges;
4521 } VkPipelineLayoutCreateInfo;
4523 typedef struct VkSamplerCreateInfo {
4524 VkStructureType sType;
4526 VkSamplerCreateFlags flags;
4529 VkSamplerMipmapMode mipmapMode;
4530 VkSamplerAddressMode addressModeU;
4531 VkSamplerAddressMode addressModeV;
4532 VkSamplerAddressMode addressModeW;
4534 VkBool32 anisotropyEnable;
4535 float maxAnisotropy;
4536 VkBool32 compareEnable;
4537 VkCompareOp compareOp;
4540 VkBorderColor borderColor;
4541 VkBool32 unnormalizedCoordinates;
4542 } VkSamplerCreateInfo;
4544 typedef struct VkCopyDescriptorSet {
4545 VkStructureType sType;
4547 VkDescriptorSet srcSet;
4548 deUint32 srcBinding;
4549 deUint32 srcArrayElement;
4550 VkDescriptorSet dstSet;
4551 deUint32 dstBinding;
4552 deUint32 dstArrayElement;
4553 deUint32 descriptorCount;
4554 } VkCopyDescriptorSet;
4556 typedef struct VkDescriptorBufferInfo {
4558 VkDeviceSize offset;
4560 } VkDescriptorBufferInfo;
4562 typedef struct VkDescriptorImageInfo {
4564 VkImageView imageView;
4565 VkImageLayout imageLayout;
4566 } VkDescriptorImageInfo;
4568 typedef struct VkDescriptorPoolSize {
4569 VkDescriptorType type;
4570 deUint32 descriptorCount;
4571 } VkDescriptorPoolSize;
4573 typedef struct VkDescriptorPoolCreateInfo {
4574 VkStructureType sType;
4576 VkDescriptorPoolCreateFlags flags;
4578 deUint32 poolSizeCount;
4579 const VkDescriptorPoolSize* pPoolSizes;
4580 } VkDescriptorPoolCreateInfo;
4582 typedef struct VkDescriptorSetAllocateInfo {
4583 VkStructureType sType;
4585 VkDescriptorPool descriptorPool;
4586 deUint32 descriptorSetCount;
4587 const VkDescriptorSetLayout* pSetLayouts;
4588 } VkDescriptorSetAllocateInfo;
4590 typedef struct VkDescriptorSetLayoutBinding {
4592 VkDescriptorType descriptorType;
4593 deUint32 descriptorCount;
4594 VkShaderStageFlags stageFlags;
4595 const VkSampler* pImmutableSamplers;
4596 } VkDescriptorSetLayoutBinding;
4598 typedef struct VkDescriptorSetLayoutCreateInfo {
4599 VkStructureType sType;
4601 VkDescriptorSetLayoutCreateFlags flags;
4602 deUint32 bindingCount;
4603 const VkDescriptorSetLayoutBinding* pBindings;
4604 } VkDescriptorSetLayoutCreateInfo;
4606 typedef struct VkWriteDescriptorSet {
4607 VkStructureType sType;
4609 VkDescriptorSet dstSet;
4610 deUint32 dstBinding;
4611 deUint32 dstArrayElement;
4612 deUint32 descriptorCount;
4613 VkDescriptorType descriptorType;
4614 const VkDescriptorImageInfo* pImageInfo;
4615 const VkDescriptorBufferInfo* pBufferInfo;
4616 const VkBufferView* pTexelBufferView;
4617 } VkWriteDescriptorSet;
4619 typedef struct VkAttachmentDescription {
4620 VkAttachmentDescriptionFlags flags;
4622 VkSampleCountFlagBits samples;
4623 VkAttachmentLoadOp loadOp;
4624 VkAttachmentStoreOp storeOp;
4625 VkAttachmentLoadOp stencilLoadOp;
4626 VkAttachmentStoreOp stencilStoreOp;
4627 VkImageLayout initialLayout;
4628 VkImageLayout finalLayout;
4629 } VkAttachmentDescription;
4631 typedef struct VkAttachmentReference {
4632 deUint32 attachment;
4633 VkImageLayout layout;
4634 } VkAttachmentReference;
4636 typedef struct VkFramebufferCreateInfo {
4637 VkStructureType sType;
4639 VkFramebufferCreateFlags flags;
4640 VkRenderPass renderPass;
4641 deUint32 attachmentCount;
4642 const VkImageView* pAttachments;
4646 } VkFramebufferCreateInfo;
4648 typedef struct VkSubpassDescription {
4649 VkSubpassDescriptionFlags flags;
4650 VkPipelineBindPoint pipelineBindPoint;
4651 deUint32 inputAttachmentCount;
4652 const VkAttachmentReference* pInputAttachments;
4653 deUint32 colorAttachmentCount;
4654 const VkAttachmentReference* pColorAttachments;
4655 const VkAttachmentReference* pResolveAttachments;
4656 const VkAttachmentReference* pDepthStencilAttachment;
4657 deUint32 preserveAttachmentCount;
4658 const deUint32* pPreserveAttachments;
4659 } VkSubpassDescription;
4661 typedef struct VkSubpassDependency {
4662 deUint32 srcSubpass;
4663 deUint32 dstSubpass;
4664 VkPipelineStageFlags srcStageMask;
4665 VkPipelineStageFlags dstStageMask;
4666 VkAccessFlags srcAccessMask;
4667 VkAccessFlags dstAccessMask;
4668 VkDependencyFlags dependencyFlags;
4669 } VkSubpassDependency;
4671 typedef struct VkRenderPassCreateInfo {
4672 VkStructureType sType;
4674 VkRenderPassCreateFlags flags;
4675 deUint32 attachmentCount;
4676 const VkAttachmentDescription* pAttachments;
4677 deUint32 subpassCount;
4678 const VkSubpassDescription* pSubpasses;
4679 deUint32 dependencyCount;
4680 const VkSubpassDependency* pDependencies;
4681 } VkRenderPassCreateInfo;
4683 typedef struct VkCommandPoolCreateInfo {
4684 VkStructureType sType;
4686 VkCommandPoolCreateFlags flags;
4687 deUint32 queueFamilyIndex;
4688 } VkCommandPoolCreateInfo;
4690 typedef struct VkCommandBufferAllocateInfo {
4691 VkStructureType sType;
4693 VkCommandPool commandPool;
4694 VkCommandBufferLevel level;
4695 deUint32 commandBufferCount;
4696 } VkCommandBufferAllocateInfo;
4698 typedef struct VkCommandBufferInheritanceInfo {
4699 VkStructureType sType;
4701 VkRenderPass renderPass;
4703 VkFramebuffer framebuffer;
4704 VkBool32 occlusionQueryEnable;
4705 VkQueryControlFlags queryFlags;
4706 VkQueryPipelineStatisticFlags pipelineStatistics;
4707 } VkCommandBufferInheritanceInfo;
4709 typedef struct VkCommandBufferBeginInfo {
4710 VkStructureType sType;
4712 VkCommandBufferUsageFlags flags;
4713 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4714 } VkCommandBufferBeginInfo;
4716 typedef struct VkBufferCopy {
4717 VkDeviceSize srcOffset;
4718 VkDeviceSize dstOffset;
4722 typedef struct VkImageSubresourceLayers {
4723 VkImageAspectFlags aspectMask;
4725 deUint32 baseArrayLayer;
4726 deUint32 layerCount;
4727 } VkImageSubresourceLayers;
4729 typedef struct VkBufferImageCopy {
4730 VkDeviceSize bufferOffset;
4731 deUint32 bufferRowLength;
4732 deUint32 bufferImageHeight;
4733 VkImageSubresourceLayers imageSubresource;
4734 VkOffset3D imageOffset;
4735 VkExtent3D imageExtent;
4736 } VkBufferImageCopy;
4738 typedef union VkClearColorValue {
4742 } VkClearColorValue;
4744 typedef struct VkClearDepthStencilValue {
4747 } VkClearDepthStencilValue;
4749 typedef union VkClearValue {
4750 VkClearColorValue color;
4751 VkClearDepthStencilValue depthStencil;
4754 typedef struct VkClearAttachment {
4755 VkImageAspectFlags aspectMask;
4756 deUint32 colorAttachment;
4757 VkClearValue clearValue;
4758 } VkClearAttachment;
4760 typedef struct VkClearRect {
4762 deUint32 baseArrayLayer;
4763 deUint32 layerCount;
4766 typedef struct VkImageBlit {
4767 VkImageSubresourceLayers srcSubresource;
4768 VkOffset3D srcOffsets[2];
4769 VkImageSubresourceLayers dstSubresource;
4770 VkOffset3D dstOffsets[2];
4773 typedef struct VkImageCopy {
4774 VkImageSubresourceLayers srcSubresource;
4775 VkOffset3D srcOffset;
4776 VkImageSubresourceLayers dstSubresource;
4777 VkOffset3D dstOffset;
4781 typedef struct VkImageResolve {
4782 VkImageSubresourceLayers srcSubresource;
4783 VkOffset3D srcOffset;
4784 VkImageSubresourceLayers dstSubresource;
4785 VkOffset3D dstOffset;
4789 typedef struct VkRenderPassBeginInfo {
4790 VkStructureType sType;
4792 VkRenderPass renderPass;
4793 VkFramebuffer framebuffer;
4794 VkRect2D renderArea;
4795 deUint32 clearValueCount;
4796 const VkClearValue* pClearValues;
4797 } VkRenderPassBeginInfo;
4799 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4800 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4801 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4802 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4803 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4804 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4805 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4806 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4807 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4808 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4809 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4810 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4811 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4812 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4813 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4814 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4815 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4816 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4817 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4818 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4819 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4820 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4821 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4822 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4823 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4824 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4825 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4826 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4827 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4828 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4829 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4830 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4831 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4832 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4833 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4834 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4835 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4836 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4837 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4838 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4839 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4840 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4841 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4842 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4843 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4844 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4845 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4846 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4847 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4848 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4849 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4850 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4851 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4852 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4853 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4854 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4855 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4856 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4857 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4858 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4859 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4860 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4861 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4862 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4863 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4864 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4865 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4866 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4867 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4868 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4869 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4870 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4871 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4872 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4873 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4874 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4875 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4876 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4877 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4878 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4879 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4880 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4881 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4882 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4883 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4884 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4885 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4886 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4887 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4888 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4889 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4890 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4891 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4892 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4893 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4894 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4895 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4896 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4897 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4898 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4899 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4900 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4901 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4902 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4903 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4904 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4905 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4906 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4907 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4908 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4909 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4910 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4911 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4912 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4913 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4914 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4915 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4916 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4917 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4918 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4919 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4920 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4921 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4922 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4923 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4924 typedef 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);
4925 typedef 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);
4926 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4927 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4928 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4929 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4930 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4931 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4932 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4933 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4934 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4935 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4937 #ifndef VK_NO_PROTOTYPES
4938 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4939 const VkInstanceCreateInfo* pCreateInfo,
4940 const VkAllocationCallbacks* pAllocator,
4941 VkInstance* pInstance);
4943 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4944 VkInstance instance,
4945 const VkAllocationCallbacks* pAllocator);
4947 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4948 VkInstance instance,
4949 deUint32* pPhysicalDeviceCount,
4950 VkPhysicalDevice* pPhysicalDevices);
4952 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4953 VkPhysicalDevice physicalDevice,
4954 VkPhysicalDeviceFeatures* pFeatures);
4956 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4957 VkPhysicalDevice physicalDevice,
4959 VkFormatProperties* pFormatProperties);
4961 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4962 VkPhysicalDevice physicalDevice,
4965 VkImageTiling tiling,
4966 VkImageUsageFlags usage,
4967 VkImageCreateFlags flags,
4968 VkImageFormatProperties* pImageFormatProperties);
4970 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4971 VkPhysicalDevice physicalDevice,
4972 VkPhysicalDeviceProperties* pProperties);
4974 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4975 VkPhysicalDevice physicalDevice,
4976 deUint32* pQueueFamilyPropertyCount,
4977 VkQueueFamilyProperties* pQueueFamilyProperties);
4979 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4980 VkPhysicalDevice physicalDevice,
4981 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4983 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4984 VkInstance instance,
4987 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4991 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4992 VkPhysicalDevice physicalDevice,
4993 const VkDeviceCreateInfo* pCreateInfo,
4994 const VkAllocationCallbacks* pAllocator,
4997 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4999 const VkAllocationCallbacks* pAllocator);
5001 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
5002 const char* pLayerName,
5003 deUint32* pPropertyCount,
5004 VkExtensionProperties* pProperties);
5006 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
5007 VkPhysicalDevice physicalDevice,
5008 const char* pLayerName,
5009 deUint32* pPropertyCount,
5010 VkExtensionProperties* pProperties);
5012 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
5013 deUint32* pPropertyCount,
5014 VkLayerProperties* pProperties);
5016 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
5017 VkPhysicalDevice physicalDevice,
5018 deUint32* pPropertyCount,
5019 VkLayerProperties* pProperties);
5021 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
5023 deUint32 queueFamilyIndex,
5024 deUint32 queueIndex,
5027 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
5029 deUint32 submitCount,
5030 const VkSubmitInfo* pSubmits,
5033 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
5036 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
5039 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
5041 const VkMemoryAllocateInfo* pAllocateInfo,
5042 const VkAllocationCallbacks* pAllocator,
5043 VkDeviceMemory* pMemory);
5045 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
5047 VkDeviceMemory memory,
5048 const VkAllocationCallbacks* pAllocator);
5050 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
5052 VkDeviceMemory memory,
5053 VkDeviceSize offset,
5055 VkMemoryMapFlags flags,
5058 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
5060 VkDeviceMemory memory);
5062 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
5064 deUint32 memoryRangeCount,
5065 const VkMappedMemoryRange* pMemoryRanges);
5067 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
5069 deUint32 memoryRangeCount,
5070 const VkMappedMemoryRange* pMemoryRanges);
5072 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
5074 VkDeviceMemory memory,
5075 VkDeviceSize* pCommittedMemoryInBytes);
5077 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
5080 VkDeviceMemory memory,
5081 VkDeviceSize memoryOffset);
5083 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
5086 VkDeviceMemory memory,
5087 VkDeviceSize memoryOffset);
5089 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
5092 VkMemoryRequirements* pMemoryRequirements);
5094 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
5097 VkMemoryRequirements* pMemoryRequirements);
5099 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
5102 deUint32* pSparseMemoryRequirementCount,
5103 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
5105 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
5106 VkPhysicalDevice physicalDevice,
5109 VkSampleCountFlagBits samples,
5110 VkImageUsageFlags usage,
5111 VkImageTiling tiling,
5112 deUint32* pPropertyCount,
5113 VkSparseImageFormatProperties* pProperties);
5115 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
5117 deUint32 bindInfoCount,
5118 const VkBindSparseInfo* pBindInfo,
5121 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
5123 const VkFenceCreateInfo* pCreateInfo,
5124 const VkAllocationCallbacks* pAllocator,
5127 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
5130 const VkAllocationCallbacks* pAllocator);
5132 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
5134 deUint32 fenceCount,
5135 const VkFence* pFences);
5137 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
5141 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
5143 deUint32 fenceCount,
5144 const VkFence* pFences,
5148 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
5150 const VkSemaphoreCreateInfo* pCreateInfo,
5151 const VkAllocationCallbacks* pAllocator,
5152 VkSemaphore* pSemaphore);
5154 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
5156 VkSemaphore semaphore,
5157 const VkAllocationCallbacks* pAllocator);
5159 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
5161 const VkEventCreateInfo* pCreateInfo,
5162 const VkAllocationCallbacks* pAllocator,
5165 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
5168 const VkAllocationCallbacks* pAllocator);
5170 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
5174 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
5178 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
5182 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
5184 const VkQueryPoolCreateInfo* pCreateInfo,
5185 const VkAllocationCallbacks* pAllocator,
5186 VkQueryPool* pQueryPool);
5188 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
5190 VkQueryPool queryPool,
5191 const VkAllocationCallbacks* pAllocator);
5193 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
5195 VkQueryPool queryPool,
5196 deUint32 firstQuery,
5197 deUint32 queryCount,
5200 VkDeviceSize stride,
5201 VkQueryResultFlags flags);
5203 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
5205 const VkBufferCreateInfo* pCreateInfo,
5206 const VkAllocationCallbacks* pAllocator,
5209 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
5212 const VkAllocationCallbacks* pAllocator);
5214 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
5216 const VkBufferViewCreateInfo* pCreateInfo,
5217 const VkAllocationCallbacks* pAllocator,
5218 VkBufferView* pView);
5220 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
5222 VkBufferView bufferView,
5223 const VkAllocationCallbacks* pAllocator);
5225 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
5227 const VkImageCreateInfo* pCreateInfo,
5228 const VkAllocationCallbacks* pAllocator,
5231 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
5234 const VkAllocationCallbacks* pAllocator);
5236 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
5239 const VkImageSubresource* pSubresource,
5240 VkSubresourceLayout* pLayout);
5242 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
5244 const VkImageViewCreateInfo* pCreateInfo,
5245 const VkAllocationCallbacks* pAllocator,
5246 VkImageView* pView);
5248 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
5250 VkImageView imageView,
5251 const VkAllocationCallbacks* pAllocator);
5253 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
5255 const VkShaderModuleCreateInfo* pCreateInfo,
5256 const VkAllocationCallbacks* pAllocator,
5257 VkShaderModule* pShaderModule);
5259 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
5261 VkShaderModule shaderModule,
5262 const VkAllocationCallbacks* pAllocator);
5264 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
5266 const VkPipelineCacheCreateInfo* pCreateInfo,
5267 const VkAllocationCallbacks* pAllocator,
5268 VkPipelineCache* pPipelineCache);
5270 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
5272 VkPipelineCache pipelineCache,
5273 const VkAllocationCallbacks* pAllocator);
5275 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
5277 VkPipelineCache pipelineCache,
5278 deUintptr* pDataSize,
5281 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
5283 VkPipelineCache dstCache,
5284 deUint32 srcCacheCount,
5285 const VkPipelineCache* pSrcCaches);
5287 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
5289 VkPipelineCache pipelineCache,
5290 deUint32 createInfoCount,
5291 const VkGraphicsPipelineCreateInfo* pCreateInfos,
5292 const VkAllocationCallbacks* pAllocator,
5293 VkPipeline* pPipelines);
5295 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
5297 VkPipelineCache pipelineCache,
5298 deUint32 createInfoCount,
5299 const VkComputePipelineCreateInfo* pCreateInfos,
5300 const VkAllocationCallbacks* pAllocator,
5301 VkPipeline* pPipelines);
5303 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
5305 VkPipeline pipeline,
5306 const VkAllocationCallbacks* pAllocator);
5308 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
5310 const VkPipelineLayoutCreateInfo* pCreateInfo,
5311 const VkAllocationCallbacks* pAllocator,
5312 VkPipelineLayout* pPipelineLayout);
5314 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
5316 VkPipelineLayout pipelineLayout,
5317 const VkAllocationCallbacks* pAllocator);
5319 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
5321 const VkSamplerCreateInfo* pCreateInfo,
5322 const VkAllocationCallbacks* pAllocator,
5323 VkSampler* pSampler);
5325 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
5328 const VkAllocationCallbacks* pAllocator);
5330 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
5332 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5333 const VkAllocationCallbacks* pAllocator,
5334 VkDescriptorSetLayout* pSetLayout);
5336 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
5338 VkDescriptorSetLayout descriptorSetLayout,
5339 const VkAllocationCallbacks* pAllocator);
5341 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
5343 const VkDescriptorPoolCreateInfo* pCreateInfo,
5344 const VkAllocationCallbacks* pAllocator,
5345 VkDescriptorPool* pDescriptorPool);
5347 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
5349 VkDescriptorPool descriptorPool,
5350 const VkAllocationCallbacks* pAllocator);
5352 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
5354 VkDescriptorPool descriptorPool,
5355 VkDescriptorPoolResetFlags flags);
5357 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
5359 const VkDescriptorSetAllocateInfo* pAllocateInfo,
5360 VkDescriptorSet* pDescriptorSets);
5362 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
5364 VkDescriptorPool descriptorPool,
5365 deUint32 descriptorSetCount,
5366 const VkDescriptorSet* pDescriptorSets);
5368 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
5370 deUint32 descriptorWriteCount,
5371 const VkWriteDescriptorSet* pDescriptorWrites,
5372 deUint32 descriptorCopyCount,
5373 const VkCopyDescriptorSet* pDescriptorCopies);
5375 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
5377 const VkFramebufferCreateInfo* pCreateInfo,
5378 const VkAllocationCallbacks* pAllocator,
5379 VkFramebuffer* pFramebuffer);
5381 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
5383 VkFramebuffer framebuffer,
5384 const VkAllocationCallbacks* pAllocator);
5386 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
5388 const VkRenderPassCreateInfo* pCreateInfo,
5389 const VkAllocationCallbacks* pAllocator,
5390 VkRenderPass* pRenderPass);
5392 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
5394 VkRenderPass renderPass,
5395 const VkAllocationCallbacks* pAllocator);
5397 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
5399 VkRenderPass renderPass,
5400 VkExtent2D* pGranularity);
5402 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
5404 const VkCommandPoolCreateInfo* pCreateInfo,
5405 const VkAllocationCallbacks* pAllocator,
5406 VkCommandPool* pCommandPool);
5408 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
5410 VkCommandPool commandPool,
5411 const VkAllocationCallbacks* pAllocator);
5413 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
5415 VkCommandPool commandPool,
5416 VkCommandPoolResetFlags flags);
5418 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
5420 const VkCommandBufferAllocateInfo* pAllocateInfo,
5421 VkCommandBuffer* pCommandBuffers);
5423 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
5425 VkCommandPool commandPool,
5426 deUint32 commandBufferCount,
5427 const VkCommandBuffer* pCommandBuffers);
5429 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
5430 VkCommandBuffer commandBuffer,
5431 const VkCommandBufferBeginInfo* pBeginInfo);
5433 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
5434 VkCommandBuffer commandBuffer);
5436 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
5437 VkCommandBuffer commandBuffer,
5438 VkCommandBufferResetFlags flags);
5440 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
5441 VkCommandBuffer commandBuffer,
5442 VkPipelineBindPoint pipelineBindPoint,
5443 VkPipeline pipeline);
5445 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
5446 VkCommandBuffer commandBuffer,
5447 deUint32 firstViewport,
5448 deUint32 viewportCount,
5449 const VkViewport* pViewports);
5451 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
5452 VkCommandBuffer commandBuffer,
5453 deUint32 firstScissor,
5454 deUint32 scissorCount,
5455 const VkRect2D* pScissors);
5457 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
5458 VkCommandBuffer commandBuffer,
5461 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
5462 VkCommandBuffer commandBuffer,
5463 float depthBiasConstantFactor,
5464 float depthBiasClamp,
5465 float depthBiasSlopeFactor);
5467 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
5468 VkCommandBuffer commandBuffer,
5469 const float blendConstants[4]);
5471 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
5472 VkCommandBuffer commandBuffer,
5473 float minDepthBounds,
5474 float maxDepthBounds);
5476 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5477 VkCommandBuffer commandBuffer,
5478 VkStencilFaceFlags faceMask,
5479 deUint32 compareMask);
5481 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5482 VkCommandBuffer commandBuffer,
5483 VkStencilFaceFlags faceMask,
5484 deUint32 writeMask);
5486 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5487 VkCommandBuffer commandBuffer,
5488 VkStencilFaceFlags faceMask,
5489 deUint32 reference);
5491 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5492 VkCommandBuffer commandBuffer,
5493 VkPipelineBindPoint pipelineBindPoint,
5494 VkPipelineLayout layout,
5496 deUint32 descriptorSetCount,
5497 const VkDescriptorSet* pDescriptorSets,
5498 deUint32 dynamicOffsetCount,
5499 const deUint32* pDynamicOffsets);
5501 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5502 VkCommandBuffer commandBuffer,
5504 VkDeviceSize offset,
5505 VkIndexType indexType);
5507 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5508 VkCommandBuffer commandBuffer,
5509 deUint32 firstBinding,
5510 deUint32 bindingCount,
5511 const VkBuffer* pBuffers,
5512 const VkDeviceSize* pOffsets);
5514 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5515 VkCommandBuffer commandBuffer,
5516 deUint32 vertexCount,
5517 deUint32 instanceCount,
5518 deUint32 firstVertex,
5519 deUint32 firstInstance);
5521 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5522 VkCommandBuffer commandBuffer,
5523 deUint32 indexCount,
5524 deUint32 instanceCount,
5525 deUint32 firstIndex,
5526 deInt32 vertexOffset,
5527 deUint32 firstInstance);
5529 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5530 VkCommandBuffer commandBuffer,
5532 VkDeviceSize offset,
5536 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5537 VkCommandBuffer commandBuffer,
5539 VkDeviceSize offset,
5543 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5544 VkCommandBuffer commandBuffer,
5545 deUint32 groupCountX,
5546 deUint32 groupCountY,
5547 deUint32 groupCountZ);
5549 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5550 VkCommandBuffer commandBuffer,
5552 VkDeviceSize offset);
5554 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5555 VkCommandBuffer commandBuffer,
5558 deUint32 regionCount,
5559 const VkBufferCopy* pRegions);
5561 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5562 VkCommandBuffer commandBuffer,
5564 VkImageLayout srcImageLayout,
5566 VkImageLayout dstImageLayout,
5567 deUint32 regionCount,
5568 const VkImageCopy* pRegions);
5570 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5571 VkCommandBuffer commandBuffer,
5573 VkImageLayout srcImageLayout,
5575 VkImageLayout dstImageLayout,
5576 deUint32 regionCount,
5577 const VkImageBlit* pRegions,
5580 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5581 VkCommandBuffer commandBuffer,
5584 VkImageLayout dstImageLayout,
5585 deUint32 regionCount,
5586 const VkBufferImageCopy* pRegions);
5588 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5589 VkCommandBuffer commandBuffer,
5591 VkImageLayout srcImageLayout,
5593 deUint32 regionCount,
5594 const VkBufferImageCopy* pRegions);
5596 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5597 VkCommandBuffer commandBuffer,
5599 VkDeviceSize dstOffset,
5600 VkDeviceSize dataSize,
5603 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5604 VkCommandBuffer commandBuffer,
5606 VkDeviceSize dstOffset,
5610 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5611 VkCommandBuffer commandBuffer,
5613 VkImageLayout imageLayout,
5614 const VkClearColorValue* pColor,
5615 deUint32 rangeCount,
5616 const VkImageSubresourceRange* pRanges);
5618 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5619 VkCommandBuffer commandBuffer,
5621 VkImageLayout imageLayout,
5622 const VkClearDepthStencilValue* pDepthStencil,
5623 deUint32 rangeCount,
5624 const VkImageSubresourceRange* pRanges);
5626 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5627 VkCommandBuffer commandBuffer,
5628 deUint32 attachmentCount,
5629 const VkClearAttachment* pAttachments,
5631 const VkClearRect* pRects);
5633 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5634 VkCommandBuffer commandBuffer,
5636 VkImageLayout srcImageLayout,
5638 VkImageLayout dstImageLayout,
5639 deUint32 regionCount,
5640 const VkImageResolve* pRegions);
5642 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5643 VkCommandBuffer commandBuffer,
5645 VkPipelineStageFlags stageMask);
5647 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5648 VkCommandBuffer commandBuffer,
5650 VkPipelineStageFlags stageMask);
5652 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5653 VkCommandBuffer commandBuffer,
5654 deUint32 eventCount,
5655 const VkEvent* pEvents,
5656 VkPipelineStageFlags srcStageMask,
5657 VkPipelineStageFlags dstStageMask,
5658 deUint32 memoryBarrierCount,
5659 const VkMemoryBarrier* pMemoryBarriers,
5660 deUint32 bufferMemoryBarrierCount,
5661 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5662 deUint32 imageMemoryBarrierCount,
5663 const VkImageMemoryBarrier* pImageMemoryBarriers);
5665 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5666 VkCommandBuffer commandBuffer,
5667 VkPipelineStageFlags srcStageMask,
5668 VkPipelineStageFlags dstStageMask,
5669 VkDependencyFlags dependencyFlags,
5670 deUint32 memoryBarrierCount,
5671 const VkMemoryBarrier* pMemoryBarriers,
5672 deUint32 bufferMemoryBarrierCount,
5673 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5674 deUint32 imageMemoryBarrierCount,
5675 const VkImageMemoryBarrier* pImageMemoryBarriers);
5677 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5678 VkCommandBuffer commandBuffer,
5679 VkQueryPool queryPool,
5681 VkQueryControlFlags flags);
5683 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5684 VkCommandBuffer commandBuffer,
5685 VkQueryPool queryPool,
5688 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5689 VkCommandBuffer commandBuffer,
5690 VkQueryPool queryPool,
5691 deUint32 firstQuery,
5692 deUint32 queryCount);
5694 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5695 VkCommandBuffer commandBuffer,
5696 VkPipelineStageFlagBits pipelineStage,
5697 VkQueryPool queryPool,
5700 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5701 VkCommandBuffer commandBuffer,
5702 VkQueryPool queryPool,
5703 deUint32 firstQuery,
5704 deUint32 queryCount,
5706 VkDeviceSize dstOffset,
5707 VkDeviceSize stride,
5708 VkQueryResultFlags flags);
5710 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5711 VkCommandBuffer commandBuffer,
5712 VkPipelineLayout layout,
5713 VkShaderStageFlags stageFlags,
5716 const void* pValues);
5718 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5719 VkCommandBuffer commandBuffer,
5720 const VkRenderPassBeginInfo* pRenderPassBegin,
5721 VkSubpassContents contents);
5723 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5724 VkCommandBuffer commandBuffer,
5725 VkSubpassContents contents);
5727 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5728 VkCommandBuffer commandBuffer);
5730 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5731 VkCommandBuffer commandBuffer,
5732 deUint32 commandBufferCount,
5733 const VkCommandBuffer* pCommandBuffers);
5737 #define VK_VERSION_1_1 1
5738 // Vulkan 1.1 version number
5739 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5741 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5742 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5743 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5744 #define VK_LUID_SIZE 8U
5745 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5747 typedef enum VkPointClippingBehavior {
5748 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5749 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5750 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5751 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5752 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5753 } VkPointClippingBehavior;
5755 typedef enum VkTessellationDomainOrigin {
5756 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5757 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5758 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5759 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5760 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5761 } VkTessellationDomainOrigin;
5763 typedef enum VkSamplerYcbcrModelConversion {
5764 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5765 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5766 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5767 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5768 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5769 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5770 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5771 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5772 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5773 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5774 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5775 } VkSamplerYcbcrModelConversion;
5777 typedef enum VkSamplerYcbcrRange {
5778 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5779 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5780 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5781 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5782 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5783 } VkSamplerYcbcrRange;
5785 typedef enum VkChromaLocation {
5786 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5787 VK_CHROMA_LOCATION_MIDPOINT = 1,
5788 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5789 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5790 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5793 typedef enum VkDescriptorUpdateTemplateType {
5794 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5795 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5796 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5797 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5798 } VkDescriptorUpdateTemplateType;
5800 typedef enum VkSubgroupFeatureFlagBits {
5801 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5802 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5803 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5804 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5805 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5806 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5807 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5808 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5809 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5810 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5811 } VkSubgroupFeatureFlagBits;
5812 typedef VkFlags VkSubgroupFeatureFlags;
5814 typedef enum VkPeerMemoryFeatureFlagBits {
5815 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5816 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5817 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5818 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5819 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5820 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5821 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5822 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5823 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5824 } VkPeerMemoryFeatureFlagBits;
5825 typedef VkFlags VkPeerMemoryFeatureFlags;
5827 typedef enum VkMemoryAllocateFlagBits {
5828 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5829 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5830 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5831 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5832 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5833 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5834 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5835 } VkMemoryAllocateFlagBits;
5836 typedef VkFlags VkMemoryAllocateFlags;
5837 typedef VkFlags VkCommandPoolTrimFlags;
5838 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5840 typedef enum VkExternalMemoryHandleTypeFlagBits {
5841 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5842 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5843 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5844 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5845 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5846 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5847 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5848 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5849 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5850 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5851 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5852 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5853 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
5854 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5855 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5856 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5857 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5858 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5859 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5860 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5861 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5862 } VkExternalMemoryHandleTypeFlagBits;
5863 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5865 typedef enum VkExternalMemoryFeatureFlagBits {
5866 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5867 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5868 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5869 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5870 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5871 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5872 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5873 } VkExternalMemoryFeatureFlagBits;
5874 typedef VkFlags VkExternalMemoryFeatureFlags;
5876 typedef enum VkExternalFenceHandleTypeFlagBits {
5877 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5878 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5879 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5880 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5881 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5882 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5883 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5884 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5885 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5886 } VkExternalFenceHandleTypeFlagBits;
5887 typedef VkFlags VkExternalFenceHandleTypeFlags;
5889 typedef enum VkExternalFenceFeatureFlagBits {
5890 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5891 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5892 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5893 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5894 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5895 } VkExternalFenceFeatureFlagBits;
5896 typedef VkFlags VkExternalFenceFeatureFlags;
5898 typedef enum VkFenceImportFlagBits {
5899 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5900 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5901 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5902 } VkFenceImportFlagBits;
5903 typedef VkFlags VkFenceImportFlags;
5905 typedef enum VkSemaphoreImportFlagBits {
5906 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5907 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5908 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5909 } VkSemaphoreImportFlagBits;
5910 typedef VkFlags VkSemaphoreImportFlags;
5912 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5913 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5914 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5915 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5916 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5917 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5918 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5919 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5920 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5921 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5922 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5923 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5924 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5925 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5926 } VkExternalSemaphoreHandleTypeFlagBits;
5927 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5929 typedef enum VkExternalSemaphoreFeatureFlagBits {
5930 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5931 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5932 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5933 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5934 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5935 } VkExternalSemaphoreFeatureFlagBits;
5936 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5937 typedef struct VkPhysicalDeviceSubgroupProperties {
5938 VkStructureType sType;
5940 deUint32 subgroupSize;
5941 VkShaderStageFlags supportedStages;
5942 VkSubgroupFeatureFlags supportedOperations;
5943 VkBool32 quadOperationsInAllStages;
5944 } VkPhysicalDeviceSubgroupProperties;
5946 typedef struct VkBindBufferMemoryInfo {
5947 VkStructureType sType;
5950 VkDeviceMemory memory;
5951 VkDeviceSize memoryOffset;
5952 } VkBindBufferMemoryInfo;
5954 typedef struct VkBindImageMemoryInfo {
5955 VkStructureType sType;
5958 VkDeviceMemory memory;
5959 VkDeviceSize memoryOffset;
5960 } VkBindImageMemoryInfo;
5962 typedef struct VkPhysicalDevice16BitStorageFeatures {
5963 VkStructureType sType;
5965 VkBool32 storageBuffer16BitAccess;
5966 VkBool32 uniformAndStorageBuffer16BitAccess;
5967 VkBool32 storagePushConstant16;
5968 VkBool32 storageInputOutput16;
5969 } VkPhysicalDevice16BitStorageFeatures;
5971 typedef struct VkMemoryDedicatedRequirements {
5972 VkStructureType sType;
5974 VkBool32 prefersDedicatedAllocation;
5975 VkBool32 requiresDedicatedAllocation;
5976 } VkMemoryDedicatedRequirements;
5978 typedef struct VkMemoryDedicatedAllocateInfo {
5979 VkStructureType sType;
5983 } VkMemoryDedicatedAllocateInfo;
5985 typedef struct VkMemoryAllocateFlagsInfo {
5986 VkStructureType sType;
5988 VkMemoryAllocateFlags flags;
5989 deUint32 deviceMask;
5990 } VkMemoryAllocateFlagsInfo;
5992 typedef struct VkDeviceGroupRenderPassBeginInfo {
5993 VkStructureType sType;
5995 deUint32 deviceMask;
5996 deUint32 deviceRenderAreaCount;
5997 const VkRect2D* pDeviceRenderAreas;
5998 } VkDeviceGroupRenderPassBeginInfo;
6000 typedef struct VkDeviceGroupCommandBufferBeginInfo {
6001 VkStructureType sType;
6003 deUint32 deviceMask;
6004 } VkDeviceGroupCommandBufferBeginInfo;
6006 typedef struct VkDeviceGroupSubmitInfo {
6007 VkStructureType sType;
6009 deUint32 waitSemaphoreCount;
6010 const deUint32* pWaitSemaphoreDeviceIndices;
6011 deUint32 commandBufferCount;
6012 const deUint32* pCommandBufferDeviceMasks;
6013 deUint32 signalSemaphoreCount;
6014 const deUint32* pSignalSemaphoreDeviceIndices;
6015 } VkDeviceGroupSubmitInfo;
6017 typedef struct VkDeviceGroupBindSparseInfo {
6018 VkStructureType sType;
6020 deUint32 resourceDeviceIndex;
6021 deUint32 memoryDeviceIndex;
6022 } VkDeviceGroupBindSparseInfo;
6024 typedef struct VkBindBufferMemoryDeviceGroupInfo {
6025 VkStructureType sType;
6027 deUint32 deviceIndexCount;
6028 const deUint32* pDeviceIndices;
6029 } VkBindBufferMemoryDeviceGroupInfo;
6031 typedef struct VkBindImageMemoryDeviceGroupInfo {
6032 VkStructureType sType;
6034 deUint32 deviceIndexCount;
6035 const deUint32* pDeviceIndices;
6036 deUint32 splitInstanceBindRegionCount;
6037 const VkRect2D* pSplitInstanceBindRegions;
6038 } VkBindImageMemoryDeviceGroupInfo;
6040 typedef struct VkPhysicalDeviceGroupProperties {
6041 VkStructureType sType;
6043 deUint32 physicalDeviceCount;
6044 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
6045 VkBool32 subsetAllocation;
6046 } VkPhysicalDeviceGroupProperties;
6048 typedef struct VkDeviceGroupDeviceCreateInfo {
6049 VkStructureType sType;
6051 deUint32 physicalDeviceCount;
6052 const VkPhysicalDevice* pPhysicalDevices;
6053 } VkDeviceGroupDeviceCreateInfo;
6055 typedef struct VkBufferMemoryRequirementsInfo2 {
6056 VkStructureType sType;
6059 } VkBufferMemoryRequirementsInfo2;
6061 typedef struct VkImageMemoryRequirementsInfo2 {
6062 VkStructureType sType;
6065 } VkImageMemoryRequirementsInfo2;
6067 typedef struct VkImageSparseMemoryRequirementsInfo2 {
6068 VkStructureType sType;
6071 } VkImageSparseMemoryRequirementsInfo2;
6073 typedef struct VkMemoryRequirements2 {
6074 VkStructureType sType;
6076 VkMemoryRequirements memoryRequirements;
6077 } VkMemoryRequirements2;
6079 typedef struct VkSparseImageMemoryRequirements2 {
6080 VkStructureType sType;
6082 VkSparseImageMemoryRequirements memoryRequirements;
6083 } VkSparseImageMemoryRequirements2;
6085 typedef struct VkPhysicalDeviceFeatures2 {
6086 VkStructureType sType;
6088 VkPhysicalDeviceFeatures features;
6089 } VkPhysicalDeviceFeatures2;
6091 typedef struct VkPhysicalDeviceProperties2 {
6092 VkStructureType sType;
6094 VkPhysicalDeviceProperties properties;
6095 } VkPhysicalDeviceProperties2;
6097 typedef struct VkFormatProperties2 {
6098 VkStructureType sType;
6100 VkFormatProperties formatProperties;
6101 } VkFormatProperties2;
6103 typedef struct VkImageFormatProperties2 {
6104 VkStructureType sType;
6106 VkImageFormatProperties imageFormatProperties;
6107 } VkImageFormatProperties2;
6109 typedef struct VkPhysicalDeviceImageFormatInfo2 {
6110 VkStructureType sType;
6114 VkImageTiling tiling;
6115 VkImageUsageFlags usage;
6116 VkImageCreateFlags flags;
6117 } VkPhysicalDeviceImageFormatInfo2;
6119 typedef struct VkQueueFamilyProperties2 {
6120 VkStructureType sType;
6122 VkQueueFamilyProperties queueFamilyProperties;
6123 } VkQueueFamilyProperties2;
6125 typedef struct VkPhysicalDeviceMemoryProperties2 {
6126 VkStructureType sType;
6128 VkPhysicalDeviceMemoryProperties memoryProperties;
6129 } VkPhysicalDeviceMemoryProperties2;
6131 typedef struct VkSparseImageFormatProperties2 {
6132 VkStructureType sType;
6134 VkSparseImageFormatProperties properties;
6135 } VkSparseImageFormatProperties2;
6137 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
6138 VkStructureType sType;
6142 VkSampleCountFlagBits samples;
6143 VkImageUsageFlags usage;
6144 VkImageTiling tiling;
6145 } VkPhysicalDeviceSparseImageFormatInfo2;
6147 typedef struct VkPhysicalDevicePointClippingProperties {
6148 VkStructureType sType;
6150 VkPointClippingBehavior pointClippingBehavior;
6151 } VkPhysicalDevicePointClippingProperties;
6153 typedef struct VkInputAttachmentAspectReference {
6155 deUint32 inputAttachmentIndex;
6156 VkImageAspectFlags aspectMask;
6157 } VkInputAttachmentAspectReference;
6159 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
6160 VkStructureType sType;
6162 deUint32 aspectReferenceCount;
6163 const VkInputAttachmentAspectReference* pAspectReferences;
6164 } VkRenderPassInputAttachmentAspectCreateInfo;
6166 typedef struct VkImageViewUsageCreateInfo {
6167 VkStructureType sType;
6169 VkImageUsageFlags usage;
6170 } VkImageViewUsageCreateInfo;
6172 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
6173 VkStructureType sType;
6175 VkTessellationDomainOrigin domainOrigin;
6176 } VkPipelineTessellationDomainOriginStateCreateInfo;
6178 typedef struct VkRenderPassMultiviewCreateInfo {
6179 VkStructureType sType;
6181 deUint32 subpassCount;
6182 const deUint32* pViewMasks;
6183 deUint32 dependencyCount;
6184 const deInt32* pViewOffsets;
6185 deUint32 correlationMaskCount;
6186 const deUint32* pCorrelationMasks;
6187 } VkRenderPassMultiviewCreateInfo;
6189 typedef struct VkPhysicalDeviceMultiviewFeatures {
6190 VkStructureType sType;
6193 VkBool32 multiviewGeometryShader;
6194 VkBool32 multiviewTessellationShader;
6195 } VkPhysicalDeviceMultiviewFeatures;
6197 typedef struct VkPhysicalDeviceMultiviewProperties {
6198 VkStructureType sType;
6200 deUint32 maxMultiviewViewCount;
6201 deUint32 maxMultiviewInstanceIndex;
6202 } VkPhysicalDeviceMultiviewProperties;
6204 typedef struct VkPhysicalDeviceVariablePointersFeatures {
6205 VkStructureType sType;
6207 VkBool32 variablePointersStorageBuffer;
6208 VkBool32 variablePointers;
6209 } VkPhysicalDeviceVariablePointersFeatures;
6211 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
6213 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
6214 VkStructureType sType;
6216 VkBool32 protectedMemory;
6217 } VkPhysicalDeviceProtectedMemoryFeatures;
6219 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
6220 VkStructureType sType;
6222 VkBool32 protectedNoFault;
6223 } VkPhysicalDeviceProtectedMemoryProperties;
6225 typedef struct VkDeviceQueueInfo2 {
6226 VkStructureType sType;
6228 VkDeviceQueueCreateFlags flags;
6229 deUint32 queueFamilyIndex;
6230 deUint32 queueIndex;
6231 } VkDeviceQueueInfo2;
6233 typedef struct VkProtectedSubmitInfo {
6234 VkStructureType sType;
6236 VkBool32 protectedSubmit;
6237 } VkProtectedSubmitInfo;
6239 typedef struct VkSamplerYcbcrConversionCreateInfo {
6240 VkStructureType sType;
6243 VkSamplerYcbcrModelConversion ycbcrModel;
6244 VkSamplerYcbcrRange ycbcrRange;
6245 VkComponentMapping components;
6246 VkChromaLocation xChromaOffset;
6247 VkChromaLocation yChromaOffset;
6248 VkFilter chromaFilter;
6249 VkBool32 forceExplicitReconstruction;
6250 } VkSamplerYcbcrConversionCreateInfo;
6252 typedef struct VkSamplerYcbcrConversionInfo {
6253 VkStructureType sType;
6255 VkSamplerYcbcrConversion conversion;
6256 } VkSamplerYcbcrConversionInfo;
6258 typedef struct VkBindImagePlaneMemoryInfo {
6259 VkStructureType sType;
6261 VkImageAspectFlagBits planeAspect;
6262 } VkBindImagePlaneMemoryInfo;
6264 typedef struct VkImagePlaneMemoryRequirementsInfo {
6265 VkStructureType sType;
6267 VkImageAspectFlagBits planeAspect;
6268 } VkImagePlaneMemoryRequirementsInfo;
6270 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
6271 VkStructureType sType;
6273 VkBool32 samplerYcbcrConversion;
6274 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
6276 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
6277 VkStructureType sType;
6279 deUint32 combinedImageSamplerDescriptorCount;
6280 } VkSamplerYcbcrConversionImageFormatProperties;
6282 typedef struct VkDescriptorUpdateTemplateEntry {
6283 deUint32 dstBinding;
6284 deUint32 dstArrayElement;
6285 deUint32 descriptorCount;
6286 VkDescriptorType descriptorType;
6289 } VkDescriptorUpdateTemplateEntry;
6291 typedef struct VkDescriptorUpdateTemplateCreateInfo {
6292 VkStructureType sType;
6294 VkDescriptorUpdateTemplateCreateFlags flags;
6295 deUint32 descriptorUpdateEntryCount;
6296 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
6297 VkDescriptorUpdateTemplateType templateType;
6298 VkDescriptorSetLayout descriptorSetLayout;
6299 VkPipelineBindPoint pipelineBindPoint;
6300 VkPipelineLayout pipelineLayout;
6302 } VkDescriptorUpdateTemplateCreateInfo;
6304 typedef struct VkExternalMemoryProperties {
6305 VkExternalMemoryFeatureFlags externalMemoryFeatures;
6306 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
6307 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
6308 } VkExternalMemoryProperties;
6310 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
6311 VkStructureType sType;
6313 VkExternalMemoryHandleTypeFlagBits handleType;
6314 } VkPhysicalDeviceExternalImageFormatInfo;
6316 typedef struct VkExternalImageFormatProperties {
6317 VkStructureType sType;
6319 VkExternalMemoryProperties externalMemoryProperties;
6320 } VkExternalImageFormatProperties;
6322 typedef struct VkPhysicalDeviceExternalBufferInfo {
6323 VkStructureType sType;
6325 VkBufferCreateFlags flags;
6326 VkBufferUsageFlags usage;
6327 VkExternalMemoryHandleTypeFlagBits handleType;
6328 } VkPhysicalDeviceExternalBufferInfo;
6330 typedef struct VkExternalBufferProperties {
6331 VkStructureType sType;
6333 VkExternalMemoryProperties externalMemoryProperties;
6334 } VkExternalBufferProperties;
6336 typedef struct VkPhysicalDeviceIDProperties {
6337 VkStructureType sType;
6339 deUint8 deviceUUID[VK_UUID_SIZE];
6340 deUint8 driverUUID[VK_UUID_SIZE];
6341 deUint8 deviceLUID[VK_LUID_SIZE];
6342 deUint32 deviceNodeMask;
6343 VkBool32 deviceLUIDValid;
6344 } VkPhysicalDeviceIDProperties;
6346 typedef struct VkExternalMemoryImageCreateInfo {
6347 VkStructureType sType;
6349 VkExternalMemoryHandleTypeFlags handleTypes;
6350 } VkExternalMemoryImageCreateInfo;
6352 typedef struct VkExternalMemoryBufferCreateInfo {
6353 VkStructureType sType;
6355 VkExternalMemoryHandleTypeFlags handleTypes;
6356 } VkExternalMemoryBufferCreateInfo;
6358 typedef struct VkExportMemoryAllocateInfo {
6359 VkStructureType sType;
6361 VkExternalMemoryHandleTypeFlags handleTypes;
6362 } VkExportMemoryAllocateInfo;
6364 typedef struct VkPhysicalDeviceExternalFenceInfo {
6365 VkStructureType sType;
6367 VkExternalFenceHandleTypeFlagBits handleType;
6368 } VkPhysicalDeviceExternalFenceInfo;
6370 typedef struct VkExternalFenceProperties {
6371 VkStructureType sType;
6373 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
6374 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
6375 VkExternalFenceFeatureFlags externalFenceFeatures;
6376 } VkExternalFenceProperties;
6378 typedef struct VkExportFenceCreateInfo {
6379 VkStructureType sType;
6381 VkExternalFenceHandleTypeFlags handleTypes;
6382 } VkExportFenceCreateInfo;
6384 typedef struct VkExportSemaphoreCreateInfo {
6385 VkStructureType sType;
6387 VkExternalSemaphoreHandleTypeFlags handleTypes;
6388 } VkExportSemaphoreCreateInfo;
6390 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
6391 VkStructureType sType;
6393 VkExternalSemaphoreHandleTypeFlagBits handleType;
6394 } VkPhysicalDeviceExternalSemaphoreInfo;
6396 typedef struct VkExternalSemaphoreProperties {
6397 VkStructureType sType;
6399 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
6400 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
6401 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
6402 } VkExternalSemaphoreProperties;
6404 typedef struct VkPhysicalDeviceMaintenance3Properties {
6405 VkStructureType sType;
6407 deUint32 maxPerSetDescriptors;
6408 VkDeviceSize maxMemoryAllocationSize;
6409 } VkPhysicalDeviceMaintenance3Properties;
6411 typedef struct VkDescriptorSetLayoutSupport {
6412 VkStructureType sType;
6415 } VkDescriptorSetLayoutSupport;
6417 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
6418 VkStructureType sType;
6420 VkBool32 shaderDrawParameters;
6421 } VkPhysicalDeviceShaderDrawParametersFeatures;
6423 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
6425 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
6426 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
6427 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
6428 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6429 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
6430 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
6431 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6432 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6433 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6434 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6435 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6436 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6437 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6438 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6439 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6440 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6441 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6442 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6443 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
6444 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6445 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6446 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6447 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6448 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6449 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6450 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6451 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6452 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
6454 #ifndef VK_NO_PROTOTYPES
6455 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
6456 deUint32* pApiVersion);
6458 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
6460 deUint32 bindInfoCount,
6461 const VkBindBufferMemoryInfo* pBindInfos);
6463 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
6465 deUint32 bindInfoCount,
6466 const VkBindImageMemoryInfo* pBindInfos);
6468 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
6471 deUint32 localDeviceIndex,
6472 deUint32 remoteDeviceIndex,
6473 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6475 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6476 VkCommandBuffer commandBuffer,
6477 deUint32 deviceMask);
6479 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6480 VkCommandBuffer commandBuffer,
6481 deUint32 baseGroupX,
6482 deUint32 baseGroupY,
6483 deUint32 baseGroupZ,
6484 deUint32 groupCountX,
6485 deUint32 groupCountY,
6486 deUint32 groupCountZ);
6488 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6489 VkInstance instance,
6490 deUint32* pPhysicalDeviceGroupCount,
6491 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6493 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6495 const VkImageMemoryRequirementsInfo2* pInfo,
6496 VkMemoryRequirements2* pMemoryRequirements);
6498 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6500 const VkBufferMemoryRequirementsInfo2* pInfo,
6501 VkMemoryRequirements2* pMemoryRequirements);
6503 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6505 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6506 deUint32* pSparseMemoryRequirementCount,
6507 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6509 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6510 VkPhysicalDevice physicalDevice,
6511 VkPhysicalDeviceFeatures2* pFeatures);
6513 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6514 VkPhysicalDevice physicalDevice,
6515 VkPhysicalDeviceProperties2* pProperties);
6517 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6518 VkPhysicalDevice physicalDevice,
6520 VkFormatProperties2* pFormatProperties);
6522 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6523 VkPhysicalDevice physicalDevice,
6524 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6525 VkImageFormatProperties2* pImageFormatProperties);
6527 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6528 VkPhysicalDevice physicalDevice,
6529 deUint32* pQueueFamilyPropertyCount,
6530 VkQueueFamilyProperties2* pQueueFamilyProperties);
6532 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6533 VkPhysicalDevice physicalDevice,
6534 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6536 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6537 VkPhysicalDevice physicalDevice,
6538 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6539 deUint32* pPropertyCount,
6540 VkSparseImageFormatProperties2* pProperties);
6542 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6544 VkCommandPool commandPool,
6545 VkCommandPoolTrimFlags flags);
6547 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6549 const VkDeviceQueueInfo2* pQueueInfo,
6552 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6554 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6555 const VkAllocationCallbacks* pAllocator,
6556 VkSamplerYcbcrConversion* pYcbcrConversion);
6558 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6560 VkSamplerYcbcrConversion ycbcrConversion,
6561 const VkAllocationCallbacks* pAllocator);
6563 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6565 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6566 const VkAllocationCallbacks* pAllocator,
6567 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6569 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6571 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6572 const VkAllocationCallbacks* pAllocator);
6574 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6576 VkDescriptorSet descriptorSet,
6577 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6580 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6581 VkPhysicalDevice physicalDevice,
6582 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6583 VkExternalBufferProperties* pExternalBufferProperties);
6585 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6586 VkPhysicalDevice physicalDevice,
6587 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6588 VkExternalFenceProperties* pExternalFenceProperties);
6590 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6591 VkPhysicalDevice physicalDevice,
6592 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6593 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6595 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6597 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6598 VkDescriptorSetLayoutSupport* pSupport);
6602 #define VK_VERSION_1_2 1
6603 // Vulkan 1.2 version number
6604 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6606 #define VK_MAX_DRIVER_NAME_SIZE 256U
6607 #define VK_MAX_DRIVER_INFO_SIZE 256U
6609 typedef enum VkDriverId {
6610 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6611 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6612 VK_DRIVER_ID_MESA_RADV = 3,
6613 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6614 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6615 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6616 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6617 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6618 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6619 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6620 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6621 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6622 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6623 VK_DRIVER_ID_MOLTENVK = 14,
6624 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6625 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
6626 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
6627 VK_DRIVER_ID_MESA_TURNIP = 18,
6628 VK_DRIVER_ID_MESA_V3DV = 19,
6629 VK_DRIVER_ID_MESA_PANVK = 20,
6630 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
6631 VK_DRIVER_ID_MESA_VENUS = 22,
6632 VK_DRIVER_ID_MESA_DOZEN = 23,
6633 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6634 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6635 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6636 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6637 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6638 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6639 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6640 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6641 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6642 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6643 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6644 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6645 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6648 typedef enum VkShaderFloatControlsIndependence {
6649 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6650 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6651 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6652 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6653 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6654 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6655 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6656 } VkShaderFloatControlsIndependence;
6658 typedef enum VkSamplerReductionMode {
6659 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6660 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6661 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6662 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6663 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6664 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6665 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6666 } VkSamplerReductionMode;
6668 typedef enum VkSemaphoreType {
6669 VK_SEMAPHORE_TYPE_BINARY = 0,
6670 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6671 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6672 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6673 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6676 typedef enum VkResolveModeFlagBits {
6677 VK_RESOLVE_MODE_NONE = 0,
6678 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6679 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6680 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6681 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6682 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6683 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6684 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6685 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6686 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6687 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6688 } VkResolveModeFlagBits;
6689 typedef VkFlags VkResolveModeFlags;
6691 typedef enum VkDescriptorBindingFlagBits {
6692 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6693 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6694 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6695 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6696 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6697 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6698 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6699 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6700 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6701 } VkDescriptorBindingFlagBits;
6702 typedef VkFlags VkDescriptorBindingFlags;
6704 typedef enum VkSemaphoreWaitFlagBits {
6705 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6706 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6707 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6708 } VkSemaphoreWaitFlagBits;
6709 typedef VkFlags VkSemaphoreWaitFlags;
6710 typedef struct VkPhysicalDeviceVulkan11Features {
6711 VkStructureType sType;
6713 VkBool32 storageBuffer16BitAccess;
6714 VkBool32 uniformAndStorageBuffer16BitAccess;
6715 VkBool32 storagePushConstant16;
6716 VkBool32 storageInputOutput16;
6718 VkBool32 multiviewGeometryShader;
6719 VkBool32 multiviewTessellationShader;
6720 VkBool32 variablePointersStorageBuffer;
6721 VkBool32 variablePointers;
6722 VkBool32 protectedMemory;
6723 VkBool32 samplerYcbcrConversion;
6724 VkBool32 shaderDrawParameters;
6725 } VkPhysicalDeviceVulkan11Features;
6727 typedef struct VkPhysicalDeviceVulkan11Properties {
6728 VkStructureType sType;
6730 deUint8 deviceUUID[VK_UUID_SIZE];
6731 deUint8 driverUUID[VK_UUID_SIZE];
6732 deUint8 deviceLUID[VK_LUID_SIZE];
6733 deUint32 deviceNodeMask;
6734 VkBool32 deviceLUIDValid;
6735 deUint32 subgroupSize;
6736 VkShaderStageFlags subgroupSupportedStages;
6737 VkSubgroupFeatureFlags subgroupSupportedOperations;
6738 VkBool32 subgroupQuadOperationsInAllStages;
6739 VkPointClippingBehavior pointClippingBehavior;
6740 deUint32 maxMultiviewViewCount;
6741 deUint32 maxMultiviewInstanceIndex;
6742 VkBool32 protectedNoFault;
6743 deUint32 maxPerSetDescriptors;
6744 VkDeviceSize maxMemoryAllocationSize;
6745 } VkPhysicalDeviceVulkan11Properties;
6747 typedef struct VkPhysicalDeviceVulkan12Features {
6748 VkStructureType sType;
6750 VkBool32 samplerMirrorClampToEdge;
6751 VkBool32 drawIndirectCount;
6752 VkBool32 storageBuffer8BitAccess;
6753 VkBool32 uniformAndStorageBuffer8BitAccess;
6754 VkBool32 storagePushConstant8;
6755 VkBool32 shaderBufferInt64Atomics;
6756 VkBool32 shaderSharedInt64Atomics;
6757 VkBool32 shaderFloat16;
6758 VkBool32 shaderInt8;
6759 VkBool32 descriptorIndexing;
6760 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6761 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6762 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6763 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6764 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6765 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6766 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6767 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6768 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6769 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6770 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6771 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6772 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6773 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6774 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6775 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6776 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6777 VkBool32 descriptorBindingPartiallyBound;
6778 VkBool32 descriptorBindingVariableDescriptorCount;
6779 VkBool32 runtimeDescriptorArray;
6780 VkBool32 samplerFilterMinmax;
6781 VkBool32 scalarBlockLayout;
6782 VkBool32 imagelessFramebuffer;
6783 VkBool32 uniformBufferStandardLayout;
6784 VkBool32 shaderSubgroupExtendedTypes;
6785 VkBool32 separateDepthStencilLayouts;
6786 VkBool32 hostQueryReset;
6787 VkBool32 timelineSemaphore;
6788 VkBool32 bufferDeviceAddress;
6789 VkBool32 bufferDeviceAddressCaptureReplay;
6790 VkBool32 bufferDeviceAddressMultiDevice;
6791 VkBool32 vulkanMemoryModel;
6792 VkBool32 vulkanMemoryModelDeviceScope;
6793 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6794 VkBool32 shaderOutputViewportIndex;
6795 VkBool32 shaderOutputLayer;
6796 VkBool32 subgroupBroadcastDynamicId;
6797 } VkPhysicalDeviceVulkan12Features;
6799 typedef struct VkConformanceVersion {
6804 } VkConformanceVersion;
6806 typedef struct VkPhysicalDeviceVulkan12Properties {
6807 VkStructureType sType;
6809 VkDriverId driverID;
6810 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6811 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6812 VkConformanceVersion conformanceVersion;
6813 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6814 VkShaderFloatControlsIndependence roundingModeIndependence;
6815 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6816 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6817 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6818 VkBool32 shaderDenormPreserveFloat16;
6819 VkBool32 shaderDenormPreserveFloat32;
6820 VkBool32 shaderDenormPreserveFloat64;
6821 VkBool32 shaderDenormFlushToZeroFloat16;
6822 VkBool32 shaderDenormFlushToZeroFloat32;
6823 VkBool32 shaderDenormFlushToZeroFloat64;
6824 VkBool32 shaderRoundingModeRTEFloat16;
6825 VkBool32 shaderRoundingModeRTEFloat32;
6826 VkBool32 shaderRoundingModeRTEFloat64;
6827 VkBool32 shaderRoundingModeRTZFloat16;
6828 VkBool32 shaderRoundingModeRTZFloat32;
6829 VkBool32 shaderRoundingModeRTZFloat64;
6830 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6831 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6832 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6833 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6834 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6835 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6836 VkBool32 robustBufferAccessUpdateAfterBind;
6837 VkBool32 quadDivergentImplicitLod;
6838 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6839 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6840 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6841 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6842 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6843 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6844 deUint32 maxPerStageUpdateAfterBindResources;
6845 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6846 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6847 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6848 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6849 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6850 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6851 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6852 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6853 VkResolveModeFlags supportedDepthResolveModes;
6854 VkResolveModeFlags supportedStencilResolveModes;
6855 VkBool32 independentResolveNone;
6856 VkBool32 independentResolve;
6857 VkBool32 filterMinmaxSingleComponentFormats;
6858 VkBool32 filterMinmaxImageComponentMapping;
6859 deUint64 maxTimelineSemaphoreValueDifference;
6860 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6861 } VkPhysicalDeviceVulkan12Properties;
6863 typedef struct VkImageFormatListCreateInfo {
6864 VkStructureType sType;
6866 deUint32 viewFormatCount;
6867 const VkFormat* pViewFormats;
6868 } VkImageFormatListCreateInfo;
6870 typedef struct VkAttachmentDescription2 {
6871 VkStructureType sType;
6873 VkAttachmentDescriptionFlags flags;
6875 VkSampleCountFlagBits samples;
6876 VkAttachmentLoadOp loadOp;
6877 VkAttachmentStoreOp storeOp;
6878 VkAttachmentLoadOp stencilLoadOp;
6879 VkAttachmentStoreOp stencilStoreOp;
6880 VkImageLayout initialLayout;
6881 VkImageLayout finalLayout;
6882 } VkAttachmentDescription2;
6884 typedef struct VkAttachmentReference2 {
6885 VkStructureType sType;
6887 deUint32 attachment;
6888 VkImageLayout layout;
6889 VkImageAspectFlags aspectMask;
6890 } VkAttachmentReference2;
6892 typedef struct VkSubpassDescription2 {
6893 VkStructureType sType;
6895 VkSubpassDescriptionFlags flags;
6896 VkPipelineBindPoint pipelineBindPoint;
6898 deUint32 inputAttachmentCount;
6899 const VkAttachmentReference2* pInputAttachments;
6900 deUint32 colorAttachmentCount;
6901 const VkAttachmentReference2* pColorAttachments;
6902 const VkAttachmentReference2* pResolveAttachments;
6903 const VkAttachmentReference2* pDepthStencilAttachment;
6904 deUint32 preserveAttachmentCount;
6905 const deUint32* pPreserveAttachments;
6906 } VkSubpassDescription2;
6908 typedef struct VkSubpassDependency2 {
6909 VkStructureType sType;
6911 deUint32 srcSubpass;
6912 deUint32 dstSubpass;
6913 VkPipelineStageFlags srcStageMask;
6914 VkPipelineStageFlags dstStageMask;
6915 VkAccessFlags srcAccessMask;
6916 VkAccessFlags dstAccessMask;
6917 VkDependencyFlags dependencyFlags;
6919 } VkSubpassDependency2;
6921 typedef struct VkRenderPassCreateInfo2 {
6922 VkStructureType sType;
6924 VkRenderPassCreateFlags flags;
6925 deUint32 attachmentCount;
6926 const VkAttachmentDescription2* pAttachments;
6927 deUint32 subpassCount;
6928 const VkSubpassDescription2* pSubpasses;
6929 deUint32 dependencyCount;
6930 const VkSubpassDependency2* pDependencies;
6931 deUint32 correlatedViewMaskCount;
6932 const deUint32* pCorrelatedViewMasks;
6933 } VkRenderPassCreateInfo2;
6935 typedef struct VkSubpassBeginInfo {
6936 VkStructureType sType;
6938 VkSubpassContents contents;
6939 } VkSubpassBeginInfo;
6941 typedef struct VkSubpassEndInfo {
6942 VkStructureType sType;
6946 typedef struct VkPhysicalDevice8BitStorageFeatures {
6947 VkStructureType sType;
6949 VkBool32 storageBuffer8BitAccess;
6950 VkBool32 uniformAndStorageBuffer8BitAccess;
6951 VkBool32 storagePushConstant8;
6952 } VkPhysicalDevice8BitStorageFeatures;
6954 typedef struct VkPhysicalDeviceDriverProperties {
6955 VkStructureType sType;
6957 VkDriverId driverID;
6958 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6959 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6960 VkConformanceVersion conformanceVersion;
6961 } VkPhysicalDeviceDriverProperties;
6963 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6964 VkStructureType sType;
6966 VkBool32 shaderBufferInt64Atomics;
6967 VkBool32 shaderSharedInt64Atomics;
6968 } VkPhysicalDeviceShaderAtomicInt64Features;
6970 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6971 VkStructureType sType;
6973 VkBool32 shaderFloat16;
6974 VkBool32 shaderInt8;
6975 } VkPhysicalDeviceShaderFloat16Int8Features;
6977 typedef struct VkPhysicalDeviceFloatControlsProperties {
6978 VkStructureType sType;
6980 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6981 VkShaderFloatControlsIndependence roundingModeIndependence;
6982 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6983 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6984 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6985 VkBool32 shaderDenormPreserveFloat16;
6986 VkBool32 shaderDenormPreserveFloat32;
6987 VkBool32 shaderDenormPreserveFloat64;
6988 VkBool32 shaderDenormFlushToZeroFloat16;
6989 VkBool32 shaderDenormFlushToZeroFloat32;
6990 VkBool32 shaderDenormFlushToZeroFloat64;
6991 VkBool32 shaderRoundingModeRTEFloat16;
6992 VkBool32 shaderRoundingModeRTEFloat32;
6993 VkBool32 shaderRoundingModeRTEFloat64;
6994 VkBool32 shaderRoundingModeRTZFloat16;
6995 VkBool32 shaderRoundingModeRTZFloat32;
6996 VkBool32 shaderRoundingModeRTZFloat64;
6997 } VkPhysicalDeviceFloatControlsProperties;
6999 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
7000 VkStructureType sType;
7002 deUint32 bindingCount;
7003 const VkDescriptorBindingFlags* pBindingFlags;
7004 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
7006 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
7007 VkStructureType sType;
7009 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
7010 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
7011 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
7012 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
7013 VkBool32 shaderSampledImageArrayNonUniformIndexing;
7014 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
7015 VkBool32 shaderStorageImageArrayNonUniformIndexing;
7016 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
7017 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
7018 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
7019 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
7020 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
7021 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
7022 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
7023 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
7024 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
7025 VkBool32 descriptorBindingUpdateUnusedWhilePending;
7026 VkBool32 descriptorBindingPartiallyBound;
7027 VkBool32 descriptorBindingVariableDescriptorCount;
7028 VkBool32 runtimeDescriptorArray;
7029 } VkPhysicalDeviceDescriptorIndexingFeatures;
7031 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
7032 VkStructureType sType;
7034 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
7035 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
7036 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
7037 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
7038 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
7039 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
7040 VkBool32 robustBufferAccessUpdateAfterBind;
7041 VkBool32 quadDivergentImplicitLod;
7042 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
7043 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
7044 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
7045 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
7046 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
7047 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
7048 deUint32 maxPerStageUpdateAfterBindResources;
7049 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
7050 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
7051 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
7052 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
7053 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
7054 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
7055 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
7056 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
7057 } VkPhysicalDeviceDescriptorIndexingProperties;
7059 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
7060 VkStructureType sType;
7062 deUint32 descriptorSetCount;
7063 const deUint32* pDescriptorCounts;
7064 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
7066 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
7067 VkStructureType sType;
7069 deUint32 maxVariableDescriptorCount;
7070 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
7072 typedef struct VkSubpassDescriptionDepthStencilResolve {
7073 VkStructureType sType;
7075 VkResolveModeFlagBits depthResolveMode;
7076 VkResolveModeFlagBits stencilResolveMode;
7077 const VkAttachmentReference2* pDepthStencilResolveAttachment;
7078 } VkSubpassDescriptionDepthStencilResolve;
7080 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
7081 VkStructureType sType;
7083 VkResolveModeFlags supportedDepthResolveModes;
7084 VkResolveModeFlags supportedStencilResolveModes;
7085 VkBool32 independentResolveNone;
7086 VkBool32 independentResolve;
7087 } VkPhysicalDeviceDepthStencilResolveProperties;
7089 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
7090 VkStructureType sType;
7092 VkBool32 scalarBlockLayout;
7093 } VkPhysicalDeviceScalarBlockLayoutFeatures;
7095 typedef struct VkImageStencilUsageCreateInfo {
7096 VkStructureType sType;
7098 VkImageUsageFlags stencilUsage;
7099 } VkImageStencilUsageCreateInfo;
7101 typedef struct VkSamplerReductionModeCreateInfo {
7102 VkStructureType sType;
7104 VkSamplerReductionMode reductionMode;
7105 } VkSamplerReductionModeCreateInfo;
7107 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
7108 VkStructureType sType;
7110 VkBool32 filterMinmaxSingleComponentFormats;
7111 VkBool32 filterMinmaxImageComponentMapping;
7112 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
7114 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
7115 VkStructureType sType;
7117 VkBool32 vulkanMemoryModel;
7118 VkBool32 vulkanMemoryModelDeviceScope;
7119 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
7120 } VkPhysicalDeviceVulkanMemoryModelFeatures;
7122 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
7123 VkStructureType sType;
7125 VkBool32 imagelessFramebuffer;
7126 } VkPhysicalDeviceImagelessFramebufferFeatures;
7128 typedef struct VkFramebufferAttachmentImageInfo {
7129 VkStructureType sType;
7131 VkImageCreateFlags flags;
7132 VkImageUsageFlags usage;
7135 deUint32 layerCount;
7136 deUint32 viewFormatCount;
7137 const VkFormat* pViewFormats;
7138 } VkFramebufferAttachmentImageInfo;
7140 typedef struct VkFramebufferAttachmentsCreateInfo {
7141 VkStructureType sType;
7143 deUint32 attachmentImageInfoCount;
7144 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
7145 } VkFramebufferAttachmentsCreateInfo;
7147 typedef struct VkRenderPassAttachmentBeginInfo {
7148 VkStructureType sType;
7150 deUint32 attachmentCount;
7151 const VkImageView* pAttachments;
7152 } VkRenderPassAttachmentBeginInfo;
7154 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
7155 VkStructureType sType;
7157 VkBool32 uniformBufferStandardLayout;
7158 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
7160 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
7161 VkStructureType sType;
7163 VkBool32 shaderSubgroupExtendedTypes;
7164 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
7166 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
7167 VkStructureType sType;
7169 VkBool32 separateDepthStencilLayouts;
7170 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
7172 typedef struct VkAttachmentReferenceStencilLayout {
7173 VkStructureType sType;
7175 VkImageLayout stencilLayout;
7176 } VkAttachmentReferenceStencilLayout;
7178 typedef struct VkAttachmentDescriptionStencilLayout {
7179 VkStructureType sType;
7181 VkImageLayout stencilInitialLayout;
7182 VkImageLayout stencilFinalLayout;
7183 } VkAttachmentDescriptionStencilLayout;
7185 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
7186 VkStructureType sType;
7188 VkBool32 hostQueryReset;
7189 } VkPhysicalDeviceHostQueryResetFeatures;
7191 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
7192 VkStructureType sType;
7194 VkBool32 timelineSemaphore;
7195 } VkPhysicalDeviceTimelineSemaphoreFeatures;
7197 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
7198 VkStructureType sType;
7200 deUint64 maxTimelineSemaphoreValueDifference;
7201 } VkPhysicalDeviceTimelineSemaphoreProperties;
7203 typedef struct VkSemaphoreTypeCreateInfo {
7204 VkStructureType sType;
7206 VkSemaphoreType semaphoreType;
7207 deUint64 initialValue;
7208 } VkSemaphoreTypeCreateInfo;
7210 typedef struct VkTimelineSemaphoreSubmitInfo {
7211 VkStructureType sType;
7213 deUint32 waitSemaphoreValueCount;
7214 const deUint64* pWaitSemaphoreValues;
7215 deUint32 signalSemaphoreValueCount;
7216 const deUint64* pSignalSemaphoreValues;
7217 } VkTimelineSemaphoreSubmitInfo;
7219 typedef struct VkSemaphoreWaitInfo {
7220 VkStructureType sType;
7222 VkSemaphoreWaitFlags flags;
7223 deUint32 semaphoreCount;
7224 const VkSemaphore* pSemaphores;
7225 const deUint64* pValues;
7226 } VkSemaphoreWaitInfo;
7228 typedef struct VkSemaphoreSignalInfo {
7229 VkStructureType sType;
7231 VkSemaphore semaphore;
7233 } VkSemaphoreSignalInfo;
7235 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
7236 VkStructureType sType;
7238 VkBool32 bufferDeviceAddress;
7239 VkBool32 bufferDeviceAddressCaptureReplay;
7240 VkBool32 bufferDeviceAddressMultiDevice;
7241 } VkPhysicalDeviceBufferDeviceAddressFeatures;
7243 typedef struct VkBufferDeviceAddressInfo {
7244 VkStructureType sType;
7247 } VkBufferDeviceAddressInfo;
7249 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
7250 VkStructureType sType;
7252 deUint64 opaqueCaptureAddress;
7253 } VkBufferOpaqueCaptureAddressCreateInfo;
7255 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
7256 VkStructureType sType;
7258 deUint64 opaqueCaptureAddress;
7259 } VkMemoryOpaqueCaptureAddressAllocateInfo;
7261 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
7262 VkStructureType sType;
7264 VkDeviceMemory memory;
7265 } VkDeviceMemoryOpaqueCaptureAddressInfo;
7267 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7268 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7269 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7270 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7271 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7272 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7273 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
7274 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
7275 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
7276 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7277 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7278 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7279 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7281 #ifndef VK_NO_PROTOTYPES
7282 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
7283 VkCommandBuffer commandBuffer,
7285 VkDeviceSize offset,
7286 VkBuffer countBuffer,
7287 VkDeviceSize countBufferOffset,
7288 deUint32 maxDrawCount,
7291 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
7292 VkCommandBuffer commandBuffer,
7294 VkDeviceSize offset,
7295 VkBuffer countBuffer,
7296 VkDeviceSize countBufferOffset,
7297 deUint32 maxDrawCount,
7300 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
7302 const VkRenderPassCreateInfo2* pCreateInfo,
7303 const VkAllocationCallbacks* pAllocator,
7304 VkRenderPass* pRenderPass);
7306 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
7307 VkCommandBuffer commandBuffer,
7308 const VkRenderPassBeginInfo* pRenderPassBegin,
7309 const VkSubpassBeginInfo* pSubpassBeginInfo);
7311 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
7312 VkCommandBuffer commandBuffer,
7313 const VkSubpassBeginInfo* pSubpassBeginInfo,
7314 const VkSubpassEndInfo* pSubpassEndInfo);
7316 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
7317 VkCommandBuffer commandBuffer,
7318 const VkSubpassEndInfo* pSubpassEndInfo);
7320 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
7322 VkQueryPool queryPool,
7323 deUint32 firstQuery,
7324 deUint32 queryCount);
7326 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
7328 VkSemaphore semaphore,
7331 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
7333 const VkSemaphoreWaitInfo* pWaitInfo,
7336 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
7338 const VkSemaphoreSignalInfo* pSignalInfo);
7340 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
7342 const VkBufferDeviceAddressInfo* pInfo);
7344 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
7346 const VkBufferDeviceAddressInfo* pInfo);
7348 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
7350 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7354 #define VK_VERSION_1_3 1
7355 // Vulkan 1.3 version number
7356 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0
7358 typedef deUint64 VkFlags64;
7359 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot)
7361 typedef enum VkPipelineCreationFeedbackFlagBits {
7362 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001,
7363 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002,
7364 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004,
7365 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
7366 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
7367 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT,
7368 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7369 } VkPipelineCreationFeedbackFlagBits;
7370 typedef VkFlags VkPipelineCreationFeedbackFlags;
7372 typedef enum VkToolPurposeFlagBits {
7373 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001,
7374 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002,
7375 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004,
7376 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008,
7377 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010,
7378 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
7379 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
7380 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT,
7381 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT,
7382 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT,
7383 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
7384 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
7385 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7386 } VkToolPurposeFlagBits;
7387 typedef VkFlags VkToolPurposeFlags;
7388 typedef VkFlags VkPrivateDataSlotCreateFlags;
7389 typedef VkFlags64 VkPipelineStageFlags2;
7391 // Flag bits for VkPipelineStageFlagBits2
7392 typedef VkFlags64 VkPipelineStageFlagBits2;
7393 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL;
7394 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
7395 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL;
7396 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
7397 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL;
7398 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
7399 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL;
7400 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
7401 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL;
7402 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
7403 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL;
7404 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
7405 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL;
7406 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
7407 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL;
7408 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
7409 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL;
7410 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
7411 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL;
7412 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
7413 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL;
7414 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
7415 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL;
7416 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
7417 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL;
7418 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
7419 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL;
7420 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
7421 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL;
7422 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
7423 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL;
7424 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
7425 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL;
7426 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
7427 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL;
7428 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
7429 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL;
7430 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
7431 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL;
7432 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
7433 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL;
7434 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
7435 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL;
7436 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
7437 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL;
7438 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
7439 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL;
7440 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
7441 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL;
7442 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
7443 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL;
7444 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
7445 #ifdef VK_ENABLE_BETA_EXTENSIONS
7446 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
7448 #ifdef VK_ENABLE_BETA_EXTENSIONS
7449 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
7451 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
7452 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
7453 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
7454 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
7455 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
7456 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
7457 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
7458 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
7459 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
7460 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
7461 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
7462 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
7463 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL;
7464 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL;
7465 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
7466 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
7467 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL;
7469 typedef VkFlags64 VkAccessFlags2;
7471 // Flag bits for VkAccessFlagBits2
7472 typedef VkFlags64 VkAccessFlagBits2;
7473 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL;
7474 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL;
7475 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL;
7476 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
7477 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL;
7478 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
7479 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL;
7480 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
7481 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL;
7482 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
7483 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL;
7484 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
7485 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL;
7486 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
7487 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL;
7488 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
7489 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL;
7490 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
7491 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL;
7492 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
7493 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL;
7494 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
7495 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL;
7496 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
7497 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL;
7498 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
7499 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL;
7500 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
7501 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL;
7502 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
7503 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL;
7504 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
7505 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL;
7506 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
7507 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL;
7508 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
7509 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL;
7510 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
7511 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL;
7512 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
7513 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL;
7514 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
7515 #ifdef VK_ENABLE_BETA_EXTENSIONS
7516 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
7518 #ifdef VK_ENABLE_BETA_EXTENSIONS
7519 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
7521 #ifdef VK_ENABLE_BETA_EXTENSIONS
7522 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
7524 #ifdef VK_ENABLE_BETA_EXTENSIONS
7525 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
7527 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
7528 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
7529 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
7530 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
7531 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
7532 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
7533 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
7534 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
7535 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
7536 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
7537 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
7538 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
7539 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
7540 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
7541 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
7542 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL;
7545 typedef enum VkSubmitFlagBits {
7546 VK_SUBMIT_PROTECTED_BIT = 0x00000001,
7547 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT,
7548 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7550 typedef VkFlags VkSubmitFlags;
7552 typedef enum VkRenderingFlagBits {
7553 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001,
7554 VK_RENDERING_SUSPENDING_BIT = 0x00000002,
7555 VK_RENDERING_RESUMING_BIT = 0x00000004,
7556 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008,
7557 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
7558 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT,
7559 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT,
7560 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7561 } VkRenderingFlagBits;
7562 typedef VkFlags VkRenderingFlags;
7563 typedef VkFlags64 VkFormatFeatureFlags2;
7565 // Flag bits for VkFormatFeatureFlagBits2
7566 typedef VkFlags64 VkFormatFeatureFlagBits2;
7567 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL;
7568 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL;
7569 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL;
7570 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL;
7571 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL;
7572 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL;
7573 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL;
7574 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
7575 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL;
7576 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL;
7577 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL;
7578 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL;
7579 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL;
7580 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL;
7581 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL;
7582 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL;
7583 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL;
7584 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL;
7585 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL;
7586 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL;
7587 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL;
7588 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL;
7589 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL;
7590 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL;
7591 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL;
7592 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL;
7593 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL;
7594 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL;
7595 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL;
7596 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL;
7597 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL;
7598 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL;
7599 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL;
7600 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL;
7601 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL;
7602 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL;
7603 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL;
7604 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL;
7605 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL;
7606 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL;
7607 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL;
7608 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL;
7609 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL;
7610 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL;
7611 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL;
7612 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL;
7613 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL;
7614 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL;
7615 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL;
7616 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL;
7617 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL;
7618 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL;
7619 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL;
7620 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL;
7621 #ifdef VK_ENABLE_BETA_EXTENSIONS
7622 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL;
7624 #ifdef VK_ENABLE_BETA_EXTENSIONS
7625 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL;
7627 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL;
7628 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL;
7629 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL;
7630 #ifdef VK_ENABLE_BETA_EXTENSIONS
7631 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
7633 #ifdef VK_ENABLE_BETA_EXTENSIONS
7634 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
7636 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
7637 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL;
7638 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL;
7639 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL;
7640 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL;
7642 typedef struct VkPhysicalDeviceVulkan13Features {
7643 VkStructureType sType;
7645 VkBool32 robustImageAccess;
7646 VkBool32 inlineUniformBlock;
7647 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7648 VkBool32 pipelineCreationCacheControl;
7649 VkBool32 privateData;
7650 VkBool32 shaderDemoteToHelperInvocation;
7651 VkBool32 shaderTerminateInvocation;
7652 VkBool32 subgroupSizeControl;
7653 VkBool32 computeFullSubgroups;
7654 VkBool32 synchronization2;
7655 VkBool32 textureCompressionASTC_HDR;
7656 VkBool32 shaderZeroInitializeWorkgroupMemory;
7657 VkBool32 dynamicRendering;
7658 VkBool32 shaderIntegerDotProduct;
7659 VkBool32 maintenance4;
7660 } VkPhysicalDeviceVulkan13Features;
7662 typedef struct VkPhysicalDeviceVulkan13Properties {
7663 VkStructureType sType;
7665 deUint32 minSubgroupSize;
7666 deUint32 maxSubgroupSize;
7667 deUint32 maxComputeWorkgroupSubgroups;
7668 VkShaderStageFlags requiredSubgroupSizeStages;
7669 deUint32 maxInlineUniformBlockSize;
7670 deUint32 maxPerStageDescriptorInlineUniformBlocks;
7671 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7672 deUint32 maxDescriptorSetInlineUniformBlocks;
7673 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7674 deUint32 maxInlineUniformTotalSize;
7675 VkBool32 integerDotProduct8BitUnsignedAccelerated;
7676 VkBool32 integerDotProduct8BitSignedAccelerated;
7677 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
7678 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
7679 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
7680 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
7681 VkBool32 integerDotProduct16BitUnsignedAccelerated;
7682 VkBool32 integerDotProduct16BitSignedAccelerated;
7683 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
7684 VkBool32 integerDotProduct32BitUnsignedAccelerated;
7685 VkBool32 integerDotProduct32BitSignedAccelerated;
7686 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
7687 VkBool32 integerDotProduct64BitUnsignedAccelerated;
7688 VkBool32 integerDotProduct64BitSignedAccelerated;
7689 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
7690 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
7691 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
7692 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
7693 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
7694 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
7695 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
7696 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
7697 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
7698 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
7699 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
7700 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
7701 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
7702 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
7703 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
7704 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
7705 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
7706 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
7707 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
7708 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
7709 VkDeviceSize maxBufferSize;
7710 } VkPhysicalDeviceVulkan13Properties;
7712 typedef struct VkPipelineCreationFeedback {
7713 VkPipelineCreationFeedbackFlags flags;
7715 } VkPipelineCreationFeedback;
7717 typedef struct VkPipelineCreationFeedbackCreateInfo {
7718 VkStructureType sType;
7720 VkPipelineCreationFeedback* pPipelineCreationFeedback;
7721 deUint32 pipelineStageCreationFeedbackCount;
7722 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks;
7723 } VkPipelineCreationFeedbackCreateInfo;
7725 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures {
7726 VkStructureType sType;
7728 VkBool32 shaderTerminateInvocation;
7729 } VkPhysicalDeviceShaderTerminateInvocationFeatures;
7731 typedef struct VkPhysicalDeviceToolProperties {
7732 VkStructureType sType;
7734 char name[VK_MAX_EXTENSION_NAME_SIZE];
7735 char version[VK_MAX_EXTENSION_NAME_SIZE];
7736 VkToolPurposeFlags purposes;
7737 char description[VK_MAX_DESCRIPTION_SIZE];
7738 char layer[VK_MAX_EXTENSION_NAME_SIZE];
7739 } VkPhysicalDeviceToolProperties;
7741 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures {
7742 VkStructureType sType;
7744 VkBool32 shaderDemoteToHelperInvocation;
7745 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures;
7747 typedef struct VkPhysicalDevicePrivateDataFeatures {
7748 VkStructureType sType;
7750 VkBool32 privateData;
7751 } VkPhysicalDevicePrivateDataFeatures;
7753 typedef struct VkDevicePrivateDataCreateInfo {
7754 VkStructureType sType;
7756 deUint32 privateDataSlotRequestCount;
7757 } VkDevicePrivateDataCreateInfo;
7759 typedef struct VkPrivateDataSlotCreateInfo {
7760 VkStructureType sType;
7762 VkPrivateDataSlotCreateFlags flags;
7763 } VkPrivateDataSlotCreateInfo;
7765 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures {
7766 VkStructureType sType;
7768 VkBool32 pipelineCreationCacheControl;
7769 } VkPhysicalDevicePipelineCreationCacheControlFeatures;
7771 typedef struct VkMemoryBarrier2 {
7772 VkStructureType sType;
7774 VkPipelineStageFlags2 srcStageMask;
7775 VkAccessFlags2 srcAccessMask;
7776 VkPipelineStageFlags2 dstStageMask;
7777 VkAccessFlags2 dstAccessMask;
7780 typedef struct VkBufferMemoryBarrier2 {
7781 VkStructureType sType;
7783 VkPipelineStageFlags2 srcStageMask;
7784 VkAccessFlags2 srcAccessMask;
7785 VkPipelineStageFlags2 dstStageMask;
7786 VkAccessFlags2 dstAccessMask;
7787 deUint32 srcQueueFamilyIndex;
7788 deUint32 dstQueueFamilyIndex;
7790 VkDeviceSize offset;
7792 } VkBufferMemoryBarrier2;
7794 typedef struct VkImageMemoryBarrier2 {
7795 VkStructureType sType;
7797 VkPipelineStageFlags2 srcStageMask;
7798 VkAccessFlags2 srcAccessMask;
7799 VkPipelineStageFlags2 dstStageMask;
7800 VkAccessFlags2 dstAccessMask;
7801 VkImageLayout oldLayout;
7802 VkImageLayout newLayout;
7803 deUint32 srcQueueFamilyIndex;
7804 deUint32 dstQueueFamilyIndex;
7806 VkImageSubresourceRange subresourceRange;
7807 } VkImageMemoryBarrier2;
7809 typedef struct VkDependencyInfo {
7810 VkStructureType sType;
7812 VkDependencyFlags dependencyFlags;
7813 deUint32 memoryBarrierCount;
7814 const VkMemoryBarrier2* pMemoryBarriers;
7815 deUint32 bufferMemoryBarrierCount;
7816 const VkBufferMemoryBarrier2* pBufferMemoryBarriers;
7817 deUint32 imageMemoryBarrierCount;
7818 const VkImageMemoryBarrier2* pImageMemoryBarriers;
7821 typedef struct VkSemaphoreSubmitInfo {
7822 VkStructureType sType;
7824 VkSemaphore semaphore;
7826 VkPipelineStageFlags2 stageMask;
7827 deUint32 deviceIndex;
7828 } VkSemaphoreSubmitInfo;
7830 typedef struct VkCommandBufferSubmitInfo {
7831 VkStructureType sType;
7833 VkCommandBuffer commandBuffer;
7834 deUint32 deviceMask;
7835 } VkCommandBufferSubmitInfo;
7837 typedef struct VkSubmitInfo2 {
7838 VkStructureType sType;
7840 VkSubmitFlags flags;
7841 deUint32 waitSemaphoreInfoCount;
7842 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos;
7843 deUint32 commandBufferInfoCount;
7844 const VkCommandBufferSubmitInfo* pCommandBufferInfos;
7845 deUint32 signalSemaphoreInfoCount;
7846 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos;
7849 typedef struct VkPhysicalDeviceSynchronization2Features {
7850 VkStructureType sType;
7852 VkBool32 synchronization2;
7853 } VkPhysicalDeviceSynchronization2Features;
7855 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
7856 VkStructureType sType;
7858 VkBool32 shaderZeroInitializeWorkgroupMemory;
7859 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
7861 typedef struct VkPhysicalDeviceImageRobustnessFeatures {
7862 VkStructureType sType;
7864 VkBool32 robustImageAccess;
7865 } VkPhysicalDeviceImageRobustnessFeatures;
7867 typedef struct VkBufferCopy2 {
7868 VkStructureType sType;
7870 VkDeviceSize srcOffset;
7871 VkDeviceSize dstOffset;
7875 typedef struct VkCopyBufferInfo2 {
7876 VkStructureType sType;
7880 deUint32 regionCount;
7881 const VkBufferCopy2* pRegions;
7882 } VkCopyBufferInfo2;
7884 typedef struct VkImageCopy2 {
7885 VkStructureType sType;
7887 VkImageSubresourceLayers srcSubresource;
7888 VkOffset3D srcOffset;
7889 VkImageSubresourceLayers dstSubresource;
7890 VkOffset3D dstOffset;
7894 typedef struct VkCopyImageInfo2 {
7895 VkStructureType sType;
7898 VkImageLayout srcImageLayout;
7900 VkImageLayout dstImageLayout;
7901 deUint32 regionCount;
7902 const VkImageCopy2* pRegions;
7905 typedef struct VkBufferImageCopy2 {
7906 VkStructureType sType;
7908 VkDeviceSize bufferOffset;
7909 deUint32 bufferRowLength;
7910 deUint32 bufferImageHeight;
7911 VkImageSubresourceLayers imageSubresource;
7912 VkOffset3D imageOffset;
7913 VkExtent3D imageExtent;
7914 } VkBufferImageCopy2;
7916 typedef struct VkCopyBufferToImageInfo2 {
7917 VkStructureType sType;
7921 VkImageLayout dstImageLayout;
7922 deUint32 regionCount;
7923 const VkBufferImageCopy2* pRegions;
7924 } VkCopyBufferToImageInfo2;
7926 typedef struct VkCopyImageToBufferInfo2 {
7927 VkStructureType sType;
7930 VkImageLayout srcImageLayout;
7932 deUint32 regionCount;
7933 const VkBufferImageCopy2* pRegions;
7934 } VkCopyImageToBufferInfo2;
7936 typedef struct VkImageBlit2 {
7937 VkStructureType sType;
7939 VkImageSubresourceLayers srcSubresource;
7940 VkOffset3D srcOffsets[2];
7941 VkImageSubresourceLayers dstSubresource;
7942 VkOffset3D dstOffsets[2];
7945 typedef struct VkBlitImageInfo2 {
7946 VkStructureType sType;
7949 VkImageLayout srcImageLayout;
7951 VkImageLayout dstImageLayout;
7952 deUint32 regionCount;
7953 const VkImageBlit2* pRegions;
7957 typedef struct VkImageResolve2 {
7958 VkStructureType sType;
7960 VkImageSubresourceLayers srcSubresource;
7961 VkOffset3D srcOffset;
7962 VkImageSubresourceLayers dstSubresource;
7963 VkOffset3D dstOffset;
7967 typedef struct VkResolveImageInfo2 {
7968 VkStructureType sType;
7971 VkImageLayout srcImageLayout;
7973 VkImageLayout dstImageLayout;
7974 deUint32 regionCount;
7975 const VkImageResolve2* pRegions;
7976 } VkResolveImageInfo2;
7978 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures {
7979 VkStructureType sType;
7981 VkBool32 subgroupSizeControl;
7982 VkBool32 computeFullSubgroups;
7983 } VkPhysicalDeviceSubgroupSizeControlFeatures;
7985 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties {
7986 VkStructureType sType;
7988 deUint32 minSubgroupSize;
7989 deUint32 maxSubgroupSize;
7990 deUint32 maxComputeWorkgroupSubgroups;
7991 VkShaderStageFlags requiredSubgroupSizeStages;
7992 } VkPhysicalDeviceSubgroupSizeControlProperties;
7994 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo {
7995 VkStructureType sType;
7997 deUint32 requiredSubgroupSize;
7998 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo;
8000 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures {
8001 VkStructureType sType;
8003 VkBool32 inlineUniformBlock;
8004 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
8005 } VkPhysicalDeviceInlineUniformBlockFeatures;
8007 typedef struct VkPhysicalDeviceInlineUniformBlockProperties {
8008 VkStructureType sType;
8010 deUint32 maxInlineUniformBlockSize;
8011 deUint32 maxPerStageDescriptorInlineUniformBlocks;
8012 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
8013 deUint32 maxDescriptorSetInlineUniformBlocks;
8014 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
8015 } VkPhysicalDeviceInlineUniformBlockProperties;
8017 typedef struct VkWriteDescriptorSetInlineUniformBlock {
8018 VkStructureType sType;
8022 } VkWriteDescriptorSetInlineUniformBlock;
8024 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo {
8025 VkStructureType sType;
8027 deUint32 maxInlineUniformBlockBindings;
8028 } VkDescriptorPoolInlineUniformBlockCreateInfo;
8030 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures {
8031 VkStructureType sType;
8033 VkBool32 textureCompressionASTC_HDR;
8034 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures;
8036 typedef struct VkRenderingAttachmentInfo {
8037 VkStructureType sType;
8039 VkImageView imageView;
8040 VkImageLayout imageLayout;
8041 VkResolveModeFlagBits resolveMode;
8042 VkImageView resolveImageView;
8043 VkImageLayout resolveImageLayout;
8044 VkAttachmentLoadOp loadOp;
8045 VkAttachmentStoreOp storeOp;
8046 VkClearValue clearValue;
8047 } VkRenderingAttachmentInfo;
8049 typedef struct VkRenderingInfo {
8050 VkStructureType sType;
8052 VkRenderingFlags flags;
8053 VkRect2D renderArea;
8054 deUint32 layerCount;
8056 deUint32 colorAttachmentCount;
8057 const VkRenderingAttachmentInfo* pColorAttachments;
8058 const VkRenderingAttachmentInfo* pDepthAttachment;
8059 const VkRenderingAttachmentInfo* pStencilAttachment;
8062 typedef struct VkPipelineRenderingCreateInfo {
8063 VkStructureType sType;
8066 deUint32 colorAttachmentCount;
8067 const VkFormat* pColorAttachmentFormats;
8068 VkFormat depthAttachmentFormat;
8069 VkFormat stencilAttachmentFormat;
8070 } VkPipelineRenderingCreateInfo;
8072 typedef struct VkPhysicalDeviceDynamicRenderingFeatures {
8073 VkStructureType sType;
8075 VkBool32 dynamicRendering;
8076 } VkPhysicalDeviceDynamicRenderingFeatures;
8078 typedef struct VkCommandBufferInheritanceRenderingInfo {
8079 VkStructureType sType;
8081 VkRenderingFlags flags;
8083 deUint32 colorAttachmentCount;
8084 const VkFormat* pColorAttachmentFormats;
8085 VkFormat depthAttachmentFormat;
8086 VkFormat stencilAttachmentFormat;
8087 VkSampleCountFlagBits rasterizationSamples;
8088 } VkCommandBufferInheritanceRenderingInfo;
8090 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
8091 VkStructureType sType;
8093 VkBool32 shaderIntegerDotProduct;
8094 } VkPhysicalDeviceShaderIntegerDotProductFeatures;
8096 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties {
8097 VkStructureType sType;
8099 VkBool32 integerDotProduct8BitUnsignedAccelerated;
8100 VkBool32 integerDotProduct8BitSignedAccelerated;
8101 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
8102 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
8103 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
8104 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
8105 VkBool32 integerDotProduct16BitUnsignedAccelerated;
8106 VkBool32 integerDotProduct16BitSignedAccelerated;
8107 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
8108 VkBool32 integerDotProduct32BitUnsignedAccelerated;
8109 VkBool32 integerDotProduct32BitSignedAccelerated;
8110 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
8111 VkBool32 integerDotProduct64BitUnsignedAccelerated;
8112 VkBool32 integerDotProduct64BitSignedAccelerated;
8113 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
8114 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
8115 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
8116 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
8117 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
8118 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
8119 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
8120 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
8121 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
8122 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
8123 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
8124 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
8125 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
8126 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
8127 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
8128 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
8129 } VkPhysicalDeviceShaderIntegerDotProductProperties;
8131 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties {
8132 VkStructureType sType;
8134 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
8135 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
8136 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
8137 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
8138 } VkPhysicalDeviceTexelBufferAlignmentProperties;
8140 typedef struct VkFormatProperties3 {
8141 VkStructureType sType;
8143 VkFormatFeatureFlags2 linearTilingFeatures;
8144 VkFormatFeatureFlags2 optimalTilingFeatures;
8145 VkFormatFeatureFlags2 bufferFeatures;
8146 } VkFormatProperties3;
8148 typedef struct VkPhysicalDeviceMaintenance4Features {
8149 VkStructureType sType;
8151 VkBool32 maintenance4;
8152 } VkPhysicalDeviceMaintenance4Features;
8154 typedef struct VkPhysicalDeviceMaintenance4Properties {
8155 VkStructureType sType;
8157 VkDeviceSize maxBufferSize;
8158 } VkPhysicalDeviceMaintenance4Properties;
8160 typedef struct VkDeviceBufferMemoryRequirements {
8161 VkStructureType sType;
8163 const VkBufferCreateInfo* pCreateInfo;
8164 } VkDeviceBufferMemoryRequirements;
8166 typedef struct VkDeviceImageMemoryRequirements {
8167 VkStructureType sType;
8169 const VkImageCreateInfo* pCreateInfo;
8170 VkImageAspectFlagBits planeAspect;
8171 } VkDeviceImageMemoryRequirements;
8173 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
8174 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
8175 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
8176 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data);
8177 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData);
8178 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
8179 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
8180 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
8181 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
8182 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query);
8183 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
8184 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
8185 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
8186 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
8187 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
8188 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
8189 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
8190 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
8191 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
8192 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
8193 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
8194 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
8195 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
8196 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
8197 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
8198 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
8199 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
8200 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
8201 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
8202 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
8203 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
8204 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
8205 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
8206 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
8207 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8208 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8209 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8211 #ifndef VK_NO_PROTOTYPES
8212 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties(
8213 VkPhysicalDevice physicalDevice,
8214 deUint32* pToolCount,
8215 VkPhysicalDeviceToolProperties* pToolProperties);
8217 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot(
8219 const VkPrivateDataSlotCreateInfo* pCreateInfo,
8220 const VkAllocationCallbacks* pAllocator,
8221 VkPrivateDataSlot* pPrivateDataSlot);
8223 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot(
8225 VkPrivateDataSlot privateDataSlot,
8226 const VkAllocationCallbacks* pAllocator);
8228 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData(
8230 VkObjectType objectType,
8231 deUint64 objectHandle,
8232 VkPrivateDataSlot privateDataSlot,
8235 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData(
8237 VkObjectType objectType,
8238 deUint64 objectHandle,
8239 VkPrivateDataSlot privateDataSlot,
8242 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2(
8243 VkCommandBuffer commandBuffer,
8245 const VkDependencyInfo* pDependencyInfo);
8247 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2(
8248 VkCommandBuffer commandBuffer,
8250 VkPipelineStageFlags2 stageMask);
8252 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2(
8253 VkCommandBuffer commandBuffer,
8254 deUint32 eventCount,
8255 const VkEvent* pEvents,
8256 const VkDependencyInfo* pDependencyInfos);
8258 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2(
8259 VkCommandBuffer commandBuffer,
8260 const VkDependencyInfo* pDependencyInfo);
8262 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2(
8263 VkCommandBuffer commandBuffer,
8264 VkPipelineStageFlags2 stage,
8265 VkQueryPool queryPool,
8268 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2(
8270 deUint32 submitCount,
8271 const VkSubmitInfo2* pSubmits,
8274 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2(
8275 VkCommandBuffer commandBuffer,
8276 const VkCopyBufferInfo2* pCopyBufferInfo);
8278 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2(
8279 VkCommandBuffer commandBuffer,
8280 const VkCopyImageInfo2* pCopyImageInfo);
8282 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2(
8283 VkCommandBuffer commandBuffer,
8284 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
8286 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2(
8287 VkCommandBuffer commandBuffer,
8288 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
8290 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2(
8291 VkCommandBuffer commandBuffer,
8292 const VkBlitImageInfo2* pBlitImageInfo);
8294 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2(
8295 VkCommandBuffer commandBuffer,
8296 const VkResolveImageInfo2* pResolveImageInfo);
8298 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering(
8299 VkCommandBuffer commandBuffer,
8300 const VkRenderingInfo* pRenderingInfo);
8302 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering(
8303 VkCommandBuffer commandBuffer);
8305 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode(
8306 VkCommandBuffer commandBuffer,
8307 VkCullModeFlags cullMode);
8309 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace(
8310 VkCommandBuffer commandBuffer,
8311 VkFrontFace frontFace);
8313 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology(
8314 VkCommandBuffer commandBuffer,
8315 VkPrimitiveTopology primitiveTopology);
8317 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount(
8318 VkCommandBuffer commandBuffer,
8319 deUint32 viewportCount,
8320 const VkViewport* pViewports);
8322 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount(
8323 VkCommandBuffer commandBuffer,
8324 deUint32 scissorCount,
8325 const VkRect2D* pScissors);
8327 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2(
8328 VkCommandBuffer commandBuffer,
8329 deUint32 firstBinding,
8330 deUint32 bindingCount,
8331 const VkBuffer* pBuffers,
8332 const VkDeviceSize* pOffsets,
8333 const VkDeviceSize* pSizes,
8334 const VkDeviceSize* pStrides);
8336 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable(
8337 VkCommandBuffer commandBuffer,
8338 VkBool32 depthTestEnable);
8340 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable(
8341 VkCommandBuffer commandBuffer,
8342 VkBool32 depthWriteEnable);
8344 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp(
8345 VkCommandBuffer commandBuffer,
8346 VkCompareOp depthCompareOp);
8348 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable(
8349 VkCommandBuffer commandBuffer,
8350 VkBool32 depthBoundsTestEnable);
8352 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable(
8353 VkCommandBuffer commandBuffer,
8354 VkBool32 stencilTestEnable);
8356 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp(
8357 VkCommandBuffer commandBuffer,
8358 VkStencilFaceFlags faceMask,
8361 VkStencilOp depthFailOp,
8362 VkCompareOp compareOp);
8364 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable(
8365 VkCommandBuffer commandBuffer,
8366 VkBool32 rasterizerDiscardEnable);
8368 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable(
8369 VkCommandBuffer commandBuffer,
8370 VkBool32 depthBiasEnable);
8372 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable(
8373 VkCommandBuffer commandBuffer,
8374 VkBool32 primitiveRestartEnable);
8376 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements(
8378 const VkDeviceBufferMemoryRequirements* pInfo,
8379 VkMemoryRequirements2* pMemoryRequirements);
8381 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements(
8383 const VkDeviceImageMemoryRequirements* pInfo,
8384 VkMemoryRequirements2* pMemoryRequirements);
8386 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements(
8388 const VkDeviceImageMemoryRequirements* pInfo,
8389 deUint32* pSparseMemoryRequirementCount,
8390 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8394 #define VK_KHR_surface 1
8395 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
8396 #define VK_KHR_SURFACE_SPEC_VERSION 25
8397 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
8399 typedef enum VkPresentModeKHR {
8400 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
8401 VK_PRESENT_MODE_MAILBOX_KHR = 1,
8402 VK_PRESENT_MODE_FIFO_KHR = 2,
8403 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
8404 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
8405 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
8406 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
8409 typedef enum VkColorSpaceKHR {
8410 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
8411 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
8412 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
8413 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
8414 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
8415 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
8416 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
8417 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
8418 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
8419 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
8420 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
8421 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
8422 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
8423 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
8424 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
8425 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
8426 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
8427 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
8428 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
8431 typedef enum VkSurfaceTransformFlagBitsKHR {
8432 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
8433 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
8434 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
8435 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
8436 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
8437 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
8438 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
8439 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
8440 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
8441 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8442 } VkSurfaceTransformFlagBitsKHR;
8444 typedef enum VkCompositeAlphaFlagBitsKHR {
8445 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
8446 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
8447 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
8448 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
8449 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8450 } VkCompositeAlphaFlagBitsKHR;
8451 typedef VkFlags VkCompositeAlphaFlagsKHR;
8452 typedef VkFlags VkSurfaceTransformFlagsKHR;
8453 typedef struct VkSurfaceCapabilitiesKHR {
8454 deUint32 minImageCount;
8455 deUint32 maxImageCount;
8456 VkExtent2D currentExtent;
8457 VkExtent2D minImageExtent;
8458 VkExtent2D maxImageExtent;
8459 deUint32 maxImageArrayLayers;
8460 VkSurfaceTransformFlagsKHR supportedTransforms;
8461 VkSurfaceTransformFlagBitsKHR currentTransform;
8462 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8463 VkImageUsageFlags supportedUsageFlags;
8464 } VkSurfaceCapabilitiesKHR;
8466 typedef struct VkSurfaceFormatKHR {
8468 VkColorSpaceKHR colorSpace;
8469 } VkSurfaceFormatKHR;
8471 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
8472 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
8473 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
8474 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
8475 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
8477 #ifndef VK_NO_PROTOTYPES
8478 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
8479 VkInstance instance,
8480 VkSurfaceKHR surface,
8481 const VkAllocationCallbacks* pAllocator);
8483 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
8484 VkPhysicalDevice physicalDevice,
8485 deUint32 queueFamilyIndex,
8486 VkSurfaceKHR surface,
8487 VkBool32* pSupported);
8489 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
8490 VkPhysicalDevice physicalDevice,
8491 VkSurfaceKHR surface,
8492 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
8494 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
8495 VkPhysicalDevice physicalDevice,
8496 VkSurfaceKHR surface,
8497 deUint32* pSurfaceFormatCount,
8498 VkSurfaceFormatKHR* pSurfaceFormats);
8500 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
8501 VkPhysicalDevice physicalDevice,
8502 VkSurfaceKHR surface,
8503 deUint32* pPresentModeCount,
8504 VkPresentModeKHR* pPresentModes);
8508 #define VK_KHR_swapchain 1
8509 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
8510 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
8511 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
8513 typedef enum VkSwapchainCreateFlagBitsKHR {
8514 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
8515 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
8516 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
8517 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8518 } VkSwapchainCreateFlagBitsKHR;
8519 typedef VkFlags VkSwapchainCreateFlagsKHR;
8521 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
8522 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
8523 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
8524 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
8525 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
8526 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8527 } VkDeviceGroupPresentModeFlagBitsKHR;
8528 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
8529 typedef struct VkSwapchainCreateInfoKHR {
8530 VkStructureType sType;
8532 VkSwapchainCreateFlagsKHR flags;
8533 VkSurfaceKHR surface;
8534 deUint32 minImageCount;
8535 VkFormat imageFormat;
8536 VkColorSpaceKHR imageColorSpace;
8537 VkExtent2D imageExtent;
8538 deUint32 imageArrayLayers;
8539 VkImageUsageFlags imageUsage;
8540 VkSharingMode imageSharingMode;
8541 deUint32 queueFamilyIndexCount;
8542 const deUint32* pQueueFamilyIndices;
8543 VkSurfaceTransformFlagBitsKHR preTransform;
8544 VkCompositeAlphaFlagBitsKHR compositeAlpha;
8545 VkPresentModeKHR presentMode;
8547 VkSwapchainKHR oldSwapchain;
8548 } VkSwapchainCreateInfoKHR;
8550 typedef struct VkPresentInfoKHR {
8551 VkStructureType sType;
8553 deUint32 waitSemaphoreCount;
8554 const VkSemaphore* pWaitSemaphores;
8555 deUint32 swapchainCount;
8556 const VkSwapchainKHR* pSwapchains;
8557 const deUint32* pImageIndices;
8561 typedef struct VkImageSwapchainCreateInfoKHR {
8562 VkStructureType sType;
8564 VkSwapchainKHR swapchain;
8565 } VkImageSwapchainCreateInfoKHR;
8567 typedef struct VkBindImageMemorySwapchainInfoKHR {
8568 VkStructureType sType;
8570 VkSwapchainKHR swapchain;
8571 deUint32 imageIndex;
8572 } VkBindImageMemorySwapchainInfoKHR;
8574 typedef struct VkAcquireNextImageInfoKHR {
8575 VkStructureType sType;
8577 VkSwapchainKHR swapchain;
8579 VkSemaphore semaphore;
8581 deUint32 deviceMask;
8582 } VkAcquireNextImageInfoKHR;
8584 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
8585 VkStructureType sType;
8587 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
8588 VkDeviceGroupPresentModeFlagsKHR modes;
8589 } VkDeviceGroupPresentCapabilitiesKHR;
8591 typedef struct VkDeviceGroupPresentInfoKHR {
8592 VkStructureType sType;
8594 deUint32 swapchainCount;
8595 const deUint32* pDeviceMasks;
8596 VkDeviceGroupPresentModeFlagBitsKHR mode;
8597 } VkDeviceGroupPresentInfoKHR;
8599 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
8600 VkStructureType sType;
8602 VkDeviceGroupPresentModeFlagsKHR modes;
8603 } VkDeviceGroupSwapchainCreateInfoKHR;
8605 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
8606 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
8607 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
8608 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
8609 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
8610 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
8611 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
8612 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
8613 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
8615 #ifndef VK_NO_PROTOTYPES
8616 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
8618 const VkSwapchainCreateInfoKHR* pCreateInfo,
8619 const VkAllocationCallbacks* pAllocator,
8620 VkSwapchainKHR* pSwapchain);
8622 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
8624 VkSwapchainKHR swapchain,
8625 const VkAllocationCallbacks* pAllocator);
8627 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
8629 VkSwapchainKHR swapchain,
8630 deUint32* pSwapchainImageCount,
8631 VkImage* pSwapchainImages);
8633 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
8635 VkSwapchainKHR swapchain,
8637 VkSemaphore semaphore,
8639 deUint32* pImageIndex);
8641 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
8643 const VkPresentInfoKHR* pPresentInfo);
8645 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
8647 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
8649 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
8651 VkSurfaceKHR surface,
8652 VkDeviceGroupPresentModeFlagsKHR* pModes);
8654 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
8655 VkPhysicalDevice physicalDevice,
8656 VkSurfaceKHR surface,
8657 deUint32* pRectCount,
8660 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
8662 const VkAcquireNextImageInfoKHR* pAcquireInfo,
8663 deUint32* pImageIndex);
8667 #define VK_KHR_display 1
8668 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
8669 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
8670 #define VK_KHR_DISPLAY_SPEC_VERSION 23
8671 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
8672 typedef VkFlags VkDisplayModeCreateFlagsKHR;
8674 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
8675 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
8676 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
8677 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
8678 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
8679 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8680 } VkDisplayPlaneAlphaFlagBitsKHR;
8681 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
8682 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
8683 typedef struct VkDisplayModeParametersKHR {
8684 VkExtent2D visibleRegion;
8685 deUint32 refreshRate;
8686 } VkDisplayModeParametersKHR;
8688 typedef struct VkDisplayModeCreateInfoKHR {
8689 VkStructureType sType;
8691 VkDisplayModeCreateFlagsKHR flags;
8692 VkDisplayModeParametersKHR parameters;
8693 } VkDisplayModeCreateInfoKHR;
8695 typedef struct VkDisplayModePropertiesKHR {
8696 VkDisplayModeKHR displayMode;
8697 VkDisplayModeParametersKHR parameters;
8698 } VkDisplayModePropertiesKHR;
8700 typedef struct VkDisplayPlaneCapabilitiesKHR {
8701 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
8702 VkOffset2D minSrcPosition;
8703 VkOffset2D maxSrcPosition;
8704 VkExtent2D minSrcExtent;
8705 VkExtent2D maxSrcExtent;
8706 VkOffset2D minDstPosition;
8707 VkOffset2D maxDstPosition;
8708 VkExtent2D minDstExtent;
8709 VkExtent2D maxDstExtent;
8710 } VkDisplayPlaneCapabilitiesKHR;
8712 typedef struct VkDisplayPlanePropertiesKHR {
8713 VkDisplayKHR currentDisplay;
8714 deUint32 currentStackIndex;
8715 } VkDisplayPlanePropertiesKHR;
8717 typedef struct VkDisplayPropertiesKHR {
8718 VkDisplayKHR display;
8719 const char* displayName;
8720 VkExtent2D physicalDimensions;
8721 VkExtent2D physicalResolution;
8722 VkSurfaceTransformFlagsKHR supportedTransforms;
8723 VkBool32 planeReorderPossible;
8724 VkBool32 persistentContent;
8725 } VkDisplayPropertiesKHR;
8727 typedef struct VkDisplaySurfaceCreateInfoKHR {
8728 VkStructureType sType;
8730 VkDisplaySurfaceCreateFlagsKHR flags;
8731 VkDisplayModeKHR displayMode;
8732 deUint32 planeIndex;
8733 deUint32 planeStackIndex;
8734 VkSurfaceTransformFlagBitsKHR transform;
8736 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
8737 VkExtent2D imageExtent;
8738 } VkDisplaySurfaceCreateInfoKHR;
8740 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
8741 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
8742 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
8743 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
8744 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
8745 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
8746 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
8748 #ifndef VK_NO_PROTOTYPES
8749 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
8750 VkPhysicalDevice physicalDevice,
8751 deUint32* pPropertyCount,
8752 VkDisplayPropertiesKHR* pProperties);
8754 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
8755 VkPhysicalDevice physicalDevice,
8756 deUint32* pPropertyCount,
8757 VkDisplayPlanePropertiesKHR* pProperties);
8759 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
8760 VkPhysicalDevice physicalDevice,
8761 deUint32 planeIndex,
8762 deUint32* pDisplayCount,
8763 VkDisplayKHR* pDisplays);
8765 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
8766 VkPhysicalDevice physicalDevice,
8767 VkDisplayKHR display,
8768 deUint32* pPropertyCount,
8769 VkDisplayModePropertiesKHR* pProperties);
8771 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
8772 VkPhysicalDevice physicalDevice,
8773 VkDisplayKHR display,
8774 const VkDisplayModeCreateInfoKHR* pCreateInfo,
8775 const VkAllocationCallbacks* pAllocator,
8776 VkDisplayModeKHR* pMode);
8778 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
8779 VkPhysicalDevice physicalDevice,
8780 VkDisplayModeKHR mode,
8781 deUint32 planeIndex,
8782 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
8784 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
8785 VkInstance instance,
8786 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
8787 const VkAllocationCallbacks* pAllocator,
8788 VkSurfaceKHR* pSurface);
8792 #define VK_KHR_display_swapchain 1
8793 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
8794 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
8795 typedef struct VkDisplayPresentInfoKHR {
8796 VkStructureType sType;
8800 VkBool32 persistent;
8801 } VkDisplayPresentInfoKHR;
8803 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
8805 #ifndef VK_NO_PROTOTYPES
8806 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
8808 deUint32 swapchainCount,
8809 const VkSwapchainCreateInfoKHR* pCreateInfos,
8810 const VkAllocationCallbacks* pAllocator,
8811 VkSwapchainKHR* pSwapchains);
8815 #define VK_KHR_sampler_mirror_clamp_to_edge 1
8816 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
8817 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
8820 #define VK_KHR_dynamic_rendering 1
8821 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
8822 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
8823 typedef VkRenderingFlags VkRenderingFlagsKHR;
8825 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR;
8827 typedef VkRenderingInfo VkRenderingInfoKHR;
8829 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR;
8831 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR;
8833 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR;
8835 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR;
8837 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
8838 VkStructureType sType;
8840 VkImageView imageView;
8841 VkImageLayout imageLayout;
8842 VkExtent2D shadingRateAttachmentTexelSize;
8843 } VkRenderingFragmentShadingRateAttachmentInfoKHR;
8845 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
8846 VkStructureType sType;
8848 VkImageView imageView;
8849 VkImageLayout imageLayout;
8850 } VkRenderingFragmentDensityMapAttachmentInfoEXT;
8852 typedef struct VkAttachmentSampleCountInfoAMD {
8853 VkStructureType sType;
8855 deUint32 colorAttachmentCount;
8856 const VkSampleCountFlagBits* pColorAttachmentSamples;
8857 VkSampleCountFlagBits depthStencilAttachmentSamples;
8858 } VkAttachmentSampleCountInfoAMD;
8860 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
8862 typedef struct VkMultiviewPerViewAttributesInfoNVX {
8863 VkStructureType sType;
8865 VkBool32 perViewAttributes;
8866 VkBool32 perViewAttributesPositionXOnly;
8867 } VkMultiviewPerViewAttributesInfoNVX;
8869 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
8870 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
8872 #ifndef VK_NO_PROTOTYPES
8873 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
8874 VkCommandBuffer commandBuffer,
8875 const VkRenderingInfo* pRenderingInfo);
8877 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
8878 VkCommandBuffer commandBuffer);
8882 #define VK_KHR_multiview 1
8883 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
8884 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
8885 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
8887 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
8889 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
8893 #define VK_KHR_get_physical_device_properties2 1
8894 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
8895 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
8896 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
8898 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
8900 typedef VkFormatProperties2 VkFormatProperties2KHR;
8902 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
8904 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
8906 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
8908 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
8910 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
8912 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
8914 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
8915 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
8916 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
8917 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
8918 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
8919 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8920 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
8922 #ifndef VK_NO_PROTOTYPES
8923 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
8924 VkPhysicalDevice physicalDevice,
8925 VkPhysicalDeviceFeatures2* pFeatures);
8927 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
8928 VkPhysicalDevice physicalDevice,
8929 VkPhysicalDeviceProperties2* pProperties);
8931 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
8932 VkPhysicalDevice physicalDevice,
8934 VkFormatProperties2* pFormatProperties);
8936 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
8937 VkPhysicalDevice physicalDevice,
8938 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
8939 VkImageFormatProperties2* pImageFormatProperties);
8941 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
8942 VkPhysicalDevice physicalDevice,
8943 deUint32* pQueueFamilyPropertyCount,
8944 VkQueueFamilyProperties2* pQueueFamilyProperties);
8946 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
8947 VkPhysicalDevice physicalDevice,
8948 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8950 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
8951 VkPhysicalDevice physicalDevice,
8952 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
8953 deUint32* pPropertyCount,
8954 VkSparseImageFormatProperties2* pProperties);
8958 #define VK_KHR_device_group 1
8959 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
8960 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
8961 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
8963 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
8965 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
8967 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
8969 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
8971 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
8973 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
8975 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
8977 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
8979 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
8981 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
8983 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8984 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
8985 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
8987 #ifndef VK_NO_PROTOTYPES
8988 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
8991 deUint32 localDeviceIndex,
8992 deUint32 remoteDeviceIndex,
8993 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8995 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
8996 VkCommandBuffer commandBuffer,
8997 deUint32 deviceMask);
8999 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
9000 VkCommandBuffer commandBuffer,
9001 deUint32 baseGroupX,
9002 deUint32 baseGroupY,
9003 deUint32 baseGroupZ,
9004 deUint32 groupCountX,
9005 deUint32 groupCountY,
9006 deUint32 groupCountZ);
9010 #define VK_KHR_shader_draw_parameters 1
9011 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
9012 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
9015 #define VK_KHR_maintenance1 1
9016 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2
9017 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1"
9018 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION
9019 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME
9020 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
9022 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
9024 #ifndef VK_NO_PROTOTYPES
9025 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
9027 VkCommandPool commandPool,
9028 VkCommandPoolTrimFlags flags);
9032 #define VK_KHR_device_group_creation 1
9033 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
9034 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
9035 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
9036 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
9038 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
9040 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
9042 #ifndef VK_NO_PROTOTYPES
9043 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
9044 VkInstance instance,
9045 deUint32* pPhysicalDeviceGroupCount,
9046 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
9050 #define VK_KHR_external_memory_capabilities 1
9051 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9052 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
9053 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
9054 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
9056 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
9058 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
9060 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
9062 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
9064 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
9066 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
9068 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
9070 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
9072 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
9074 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
9076 #ifndef VK_NO_PROTOTYPES
9077 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
9078 VkPhysicalDevice physicalDevice,
9079 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
9080 VkExternalBufferProperties* pExternalBufferProperties);
9084 #define VK_KHR_external_memory 1
9085 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
9086 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
9087 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
9088 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
9090 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
9092 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
9096 #define VK_KHR_external_memory_fd 1
9097 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
9098 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
9099 typedef struct VkImportMemoryFdInfoKHR {
9100 VkStructureType sType;
9102 VkExternalMemoryHandleTypeFlagBits handleType;
9104 } VkImportMemoryFdInfoKHR;
9106 typedef struct VkMemoryFdPropertiesKHR {
9107 VkStructureType sType;
9109 deUint32 memoryTypeBits;
9110 } VkMemoryFdPropertiesKHR;
9112 typedef struct VkMemoryGetFdInfoKHR {
9113 VkStructureType sType;
9115 VkDeviceMemory memory;
9116 VkExternalMemoryHandleTypeFlagBits handleType;
9117 } VkMemoryGetFdInfoKHR;
9119 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
9120 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
9122 #ifndef VK_NO_PROTOTYPES
9123 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
9125 const VkMemoryGetFdInfoKHR* pGetFdInfo,
9128 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
9130 VkExternalMemoryHandleTypeFlagBits handleType,
9132 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
9136 #define VK_KHR_external_semaphore_capabilities 1
9137 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
9138 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
9139 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
9141 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
9143 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
9145 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
9147 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
9149 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
9151 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
9153 #ifndef VK_NO_PROTOTYPES
9154 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
9155 VkPhysicalDevice physicalDevice,
9156 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
9157 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
9161 #define VK_KHR_external_semaphore 1
9162 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
9163 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
9164 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
9166 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
9168 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
9172 #define VK_KHR_external_semaphore_fd 1
9173 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
9174 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
9175 typedef struct VkImportSemaphoreFdInfoKHR {
9176 VkStructureType sType;
9178 VkSemaphore semaphore;
9179 VkSemaphoreImportFlags flags;
9180 VkExternalSemaphoreHandleTypeFlagBits handleType;
9182 } VkImportSemaphoreFdInfoKHR;
9184 typedef struct VkSemaphoreGetFdInfoKHR {
9185 VkStructureType sType;
9187 VkSemaphore semaphore;
9188 VkExternalSemaphoreHandleTypeFlagBits handleType;
9189 } VkSemaphoreGetFdInfoKHR;
9191 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
9192 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
9194 #ifndef VK_NO_PROTOTYPES
9195 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
9197 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
9199 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
9201 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
9206 #define VK_KHR_push_descriptor 1
9207 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
9208 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
9209 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
9210 VkStructureType sType;
9212 deUint32 maxPushDescriptors;
9213 } VkPhysicalDevicePushDescriptorPropertiesKHR;
9215 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
9216 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
9218 #ifndef VK_NO_PROTOTYPES
9219 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
9220 VkCommandBuffer commandBuffer,
9221 VkPipelineBindPoint pipelineBindPoint,
9222 VkPipelineLayout layout,
9224 deUint32 descriptorWriteCount,
9225 const VkWriteDescriptorSet* pDescriptorWrites);
9227 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
9228 VkCommandBuffer commandBuffer,
9229 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9230 VkPipelineLayout layout,
9236 #define VK_KHR_shader_float16_int8 1
9237 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
9238 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
9239 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
9241 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
9245 #define VK_KHR_16bit_storage 1
9246 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
9247 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
9248 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
9252 #define VK_KHR_incremental_present 1
9253 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
9254 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
9255 typedef struct VkRectLayerKHR {
9261 typedef struct VkPresentRegionKHR {
9262 deUint32 rectangleCount;
9263 const VkRectLayerKHR* pRectangles;
9264 } VkPresentRegionKHR;
9266 typedef struct VkPresentRegionsKHR {
9267 VkStructureType sType;
9269 deUint32 swapchainCount;
9270 const VkPresentRegionKHR* pRegions;
9271 } VkPresentRegionsKHR;
9275 #define VK_KHR_descriptor_update_template 1
9276 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
9278 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
9279 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
9280 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
9282 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
9284 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
9286 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
9288 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
9289 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
9290 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
9292 #ifndef VK_NO_PROTOTYPES
9293 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
9295 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
9296 const VkAllocationCallbacks* pAllocator,
9297 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
9299 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
9301 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9302 const VkAllocationCallbacks* pAllocator);
9304 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
9306 VkDescriptorSet descriptorSet,
9307 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9312 #define VK_KHR_imageless_framebuffer 1
9313 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
9314 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
9315 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
9317 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
9319 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
9321 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
9325 #define VK_KHR_create_renderpass2 1
9326 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
9327 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
9328 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
9330 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
9332 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
9334 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
9336 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
9338 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
9340 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
9342 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
9343 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
9344 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
9345 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
9347 #ifndef VK_NO_PROTOTYPES
9348 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
9350 const VkRenderPassCreateInfo2* pCreateInfo,
9351 const VkAllocationCallbacks* pAllocator,
9352 VkRenderPass* pRenderPass);
9354 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
9355 VkCommandBuffer commandBuffer,
9356 const VkRenderPassBeginInfo* pRenderPassBegin,
9357 const VkSubpassBeginInfo* pSubpassBeginInfo);
9359 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
9360 VkCommandBuffer commandBuffer,
9361 const VkSubpassBeginInfo* pSubpassBeginInfo,
9362 const VkSubpassEndInfo* pSubpassEndInfo);
9364 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
9365 VkCommandBuffer commandBuffer,
9366 const VkSubpassEndInfo* pSubpassEndInfo);
9370 #define VK_KHR_shared_presentable_image 1
9371 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
9372 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
9373 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
9374 VkStructureType sType;
9376 VkImageUsageFlags sharedPresentSupportedUsageFlags;
9377 } VkSharedPresentSurfaceCapabilitiesKHR;
9379 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
9381 #ifndef VK_NO_PROTOTYPES
9382 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
9384 VkSwapchainKHR swapchain);
9388 #define VK_KHR_external_fence_capabilities 1
9389 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
9390 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
9391 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
9393 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
9395 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
9397 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
9399 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
9401 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
9403 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
9405 #ifndef VK_NO_PROTOTYPES
9406 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
9407 VkPhysicalDevice physicalDevice,
9408 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
9409 VkExternalFenceProperties* pExternalFenceProperties);
9413 #define VK_KHR_external_fence 1
9414 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
9415 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
9416 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
9418 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
9420 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
9424 #define VK_KHR_external_fence_fd 1
9425 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
9426 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
9427 typedef struct VkImportFenceFdInfoKHR {
9428 VkStructureType sType;
9431 VkFenceImportFlags flags;
9432 VkExternalFenceHandleTypeFlagBits handleType;
9434 } VkImportFenceFdInfoKHR;
9436 typedef struct VkFenceGetFdInfoKHR {
9437 VkStructureType sType;
9440 VkExternalFenceHandleTypeFlagBits handleType;
9441 } VkFenceGetFdInfoKHR;
9443 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9444 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
9446 #ifndef VK_NO_PROTOTYPES
9447 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
9449 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9451 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
9453 const VkFenceGetFdInfoKHR* pGetFdInfo,
9458 #define VK_KHR_performance_query 1
9459 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
9460 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
9462 typedef enum VkPerformanceCounterUnitKHR {
9463 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
9464 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
9465 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
9466 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
9467 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
9468 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
9469 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
9470 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
9471 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
9472 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
9473 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
9474 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
9475 } VkPerformanceCounterUnitKHR;
9477 typedef enum VkPerformanceCounterScopeKHR {
9478 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
9479 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
9480 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
9481 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
9482 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
9483 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
9484 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
9485 } VkPerformanceCounterScopeKHR;
9487 typedef enum VkPerformanceCounterStorageKHR {
9488 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
9489 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
9490 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
9491 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
9492 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
9493 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
9494 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
9495 } VkPerformanceCounterStorageKHR;
9497 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
9498 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
9499 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
9500 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
9501 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
9502 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9503 } VkPerformanceCounterDescriptionFlagBitsKHR;
9504 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
9506 typedef enum VkAcquireProfilingLockFlagBitsKHR {
9507 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9508 } VkAcquireProfilingLockFlagBitsKHR;
9509 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
9510 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
9511 VkStructureType sType;
9513 VkBool32 performanceCounterQueryPools;
9514 VkBool32 performanceCounterMultipleQueryPools;
9515 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
9517 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
9518 VkStructureType sType;
9520 VkBool32 allowCommandBufferQueryCopies;
9521 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
9523 typedef struct VkPerformanceCounterKHR {
9524 VkStructureType sType;
9526 VkPerformanceCounterUnitKHR unit;
9527 VkPerformanceCounterScopeKHR scope;
9528 VkPerformanceCounterStorageKHR storage;
9529 deUint8 uuid[VK_UUID_SIZE];
9530 } VkPerformanceCounterKHR;
9532 typedef struct VkPerformanceCounterDescriptionKHR {
9533 VkStructureType sType;
9535 VkPerformanceCounterDescriptionFlagsKHR flags;
9536 char name[VK_MAX_DESCRIPTION_SIZE];
9537 char category[VK_MAX_DESCRIPTION_SIZE];
9538 char description[VK_MAX_DESCRIPTION_SIZE];
9539 } VkPerformanceCounterDescriptionKHR;
9541 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
9542 VkStructureType sType;
9544 deUint32 queueFamilyIndex;
9545 deUint32 counterIndexCount;
9546 const deUint32* pCounterIndices;
9547 } VkQueryPoolPerformanceCreateInfoKHR;
9549 typedef union VkPerformanceCounterResultKHR {
9556 } VkPerformanceCounterResultKHR;
9558 typedef struct VkAcquireProfilingLockInfoKHR {
9559 VkStructureType sType;
9561 VkAcquireProfilingLockFlagsKHR flags;
9563 } VkAcquireProfilingLockInfoKHR;
9565 typedef struct VkPerformanceQuerySubmitInfoKHR {
9566 VkStructureType sType;
9568 deUint32 counterPassIndex;
9569 } VkPerformanceQuerySubmitInfoKHR;
9571 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9572 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
9573 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
9574 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
9576 #ifndef VK_NO_PROTOTYPES
9577 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
9578 VkPhysicalDevice physicalDevice,
9579 deUint32 queueFamilyIndex,
9580 deUint32* pCounterCount,
9581 VkPerformanceCounterKHR* pCounters,
9582 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9584 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
9585 VkPhysicalDevice physicalDevice,
9586 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
9587 deUint32* pNumPasses);
9589 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
9591 const VkAcquireProfilingLockInfoKHR* pInfo);
9593 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
9598 #define VK_KHR_maintenance2 1
9599 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1
9600 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2"
9601 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION
9602 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME
9603 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
9605 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
9607 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
9609 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
9611 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
9613 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
9615 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
9619 #define VK_KHR_get_surface_capabilities2 1
9620 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
9621 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
9622 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
9623 VkStructureType sType;
9625 VkSurfaceKHR surface;
9626 } VkPhysicalDeviceSurfaceInfo2KHR;
9628 typedef struct VkSurfaceCapabilities2KHR {
9629 VkStructureType sType;
9631 VkSurfaceCapabilitiesKHR surfaceCapabilities;
9632 } VkSurfaceCapabilities2KHR;
9634 typedef struct VkSurfaceFormat2KHR {
9635 VkStructureType sType;
9637 VkSurfaceFormatKHR surfaceFormat;
9638 } VkSurfaceFormat2KHR;
9640 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9641 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
9643 #ifndef VK_NO_PROTOTYPES
9644 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
9645 VkPhysicalDevice physicalDevice,
9646 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9647 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9649 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
9650 VkPhysicalDevice physicalDevice,
9651 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9652 deUint32* pSurfaceFormatCount,
9653 VkSurfaceFormat2KHR* pSurfaceFormats);
9657 #define VK_KHR_variable_pointers 1
9658 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
9659 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
9660 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
9662 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
9666 #define VK_KHR_get_display_properties2 1
9667 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
9668 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
9669 typedef struct VkDisplayProperties2KHR {
9670 VkStructureType sType;
9672 VkDisplayPropertiesKHR displayProperties;
9673 } VkDisplayProperties2KHR;
9675 typedef struct VkDisplayPlaneProperties2KHR {
9676 VkStructureType sType;
9678 VkDisplayPlanePropertiesKHR displayPlaneProperties;
9679 } VkDisplayPlaneProperties2KHR;
9681 typedef struct VkDisplayModeProperties2KHR {
9682 VkStructureType sType;
9684 VkDisplayModePropertiesKHR displayModeProperties;
9685 } VkDisplayModeProperties2KHR;
9687 typedef struct VkDisplayPlaneInfo2KHR {
9688 VkStructureType sType;
9690 VkDisplayModeKHR mode;
9691 deUint32 planeIndex;
9692 } VkDisplayPlaneInfo2KHR;
9694 typedef struct VkDisplayPlaneCapabilities2KHR {
9695 VkStructureType sType;
9697 VkDisplayPlaneCapabilitiesKHR capabilities;
9698 } VkDisplayPlaneCapabilities2KHR;
9700 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
9701 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
9702 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
9703 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
9705 #ifndef VK_NO_PROTOTYPES
9706 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
9707 VkPhysicalDevice physicalDevice,
9708 deUint32* pPropertyCount,
9709 VkDisplayProperties2KHR* pProperties);
9711 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
9712 VkPhysicalDevice physicalDevice,
9713 deUint32* pPropertyCount,
9714 VkDisplayPlaneProperties2KHR* pProperties);
9716 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
9717 VkPhysicalDevice physicalDevice,
9718 VkDisplayKHR display,
9719 deUint32* pPropertyCount,
9720 VkDisplayModeProperties2KHR* pProperties);
9722 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
9723 VkPhysicalDevice physicalDevice,
9724 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
9725 VkDisplayPlaneCapabilities2KHR* pCapabilities);
9729 #define VK_KHR_dedicated_allocation 1
9730 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
9731 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
9732 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
9734 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
9738 #define VK_KHR_storage_buffer_storage_class 1
9739 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
9740 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
9743 #define VK_KHR_relaxed_block_layout 1
9744 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
9745 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
9748 #define VK_KHR_get_memory_requirements2 1
9749 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
9750 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
9751 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
9753 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
9755 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
9757 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
9759 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
9761 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9762 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9763 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9765 #ifndef VK_NO_PROTOTYPES
9766 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
9768 const VkImageMemoryRequirementsInfo2* pInfo,
9769 VkMemoryRequirements2* pMemoryRequirements);
9771 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
9773 const VkBufferMemoryRequirementsInfo2* pInfo,
9774 VkMemoryRequirements2* pMemoryRequirements);
9776 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
9778 const VkImageSparseMemoryRequirementsInfo2* pInfo,
9779 deUint32* pSparseMemoryRequirementCount,
9780 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9784 #define VK_KHR_image_format_list 1
9785 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
9786 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
9787 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
9791 #define VK_KHR_sampler_ycbcr_conversion 1
9792 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
9794 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
9795 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
9796 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
9798 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
9800 typedef VkChromaLocation VkChromaLocationKHR;
9802 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
9804 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
9806 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
9808 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
9810 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
9812 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
9814 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
9815 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
9817 #ifndef VK_NO_PROTOTYPES
9818 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
9820 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
9821 const VkAllocationCallbacks* pAllocator,
9822 VkSamplerYcbcrConversion* pYcbcrConversion);
9824 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
9826 VkSamplerYcbcrConversion ycbcrConversion,
9827 const VkAllocationCallbacks* pAllocator);
9831 #define VK_KHR_bind_memory2 1
9832 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
9833 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
9834 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
9836 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
9838 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
9839 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
9841 #ifndef VK_NO_PROTOTYPES
9842 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
9844 deUint32 bindInfoCount,
9845 const VkBindBufferMemoryInfo* pBindInfos);
9847 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
9849 deUint32 bindInfoCount,
9850 const VkBindImageMemoryInfo* pBindInfos);
9854 #define VK_KHR_maintenance3 1
9855 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1
9856 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3"
9857 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION
9858 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME
9859 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
9861 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
9863 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
9865 #ifndef VK_NO_PROTOTYPES
9866 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
9868 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
9869 VkDescriptorSetLayoutSupport* pSupport);
9873 #define VK_KHR_draw_indirect_count 1
9874 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
9875 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
9876 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9877 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9879 #ifndef VK_NO_PROTOTYPES
9880 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
9881 VkCommandBuffer commandBuffer,
9883 VkDeviceSize offset,
9884 VkBuffer countBuffer,
9885 VkDeviceSize countBufferOffset,
9886 deUint32 maxDrawCount,
9889 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
9890 VkCommandBuffer commandBuffer,
9892 VkDeviceSize offset,
9893 VkBuffer countBuffer,
9894 VkDeviceSize countBufferOffset,
9895 deUint32 maxDrawCount,
9900 #define VK_KHR_shader_subgroup_extended_types 1
9901 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
9902 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
9903 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
9907 #define VK_KHR_8bit_storage 1
9908 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
9909 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
9910 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
9914 #define VK_KHR_shader_atomic_int64 1
9915 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
9916 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
9917 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
9921 #define VK_KHR_shader_clock 1
9922 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
9923 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
9924 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
9925 VkStructureType sType;
9927 VkBool32 shaderSubgroupClock;
9928 VkBool32 shaderDeviceClock;
9929 } VkPhysicalDeviceShaderClockFeaturesKHR;
9933 #define VK_KHR_global_priority 1
9934 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U
9935 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
9936 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority"
9938 typedef enum VkQueueGlobalPriorityKHR {
9939 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128,
9940 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256,
9941 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512,
9942 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024,
9943 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
9944 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
9945 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
9946 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR,
9947 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF
9948 } VkQueueGlobalPriorityKHR;
9949 typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR {
9950 VkStructureType sType;
9952 VkQueueGlobalPriorityKHR globalPriority;
9953 } VkDeviceQueueGlobalPriorityCreateInfoKHR;
9955 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR {
9956 VkStructureType sType;
9958 VkBool32 globalPriorityQuery;
9959 } VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR;
9961 typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR {
9962 VkStructureType sType;
9964 deUint32 priorityCount;
9965 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR];
9966 } VkQueueFamilyGlobalPriorityPropertiesKHR;
9970 #define VK_KHR_driver_properties 1
9971 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
9972 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
9973 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
9974 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
9975 typedef VkDriverId VkDriverIdKHR;
9977 typedef VkConformanceVersion VkConformanceVersionKHR;
9979 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
9983 #define VK_KHR_shader_float_controls 1
9984 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
9985 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
9986 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
9988 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
9992 #define VK_KHR_depth_stencil_resolve 1
9993 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
9994 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
9995 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
9997 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
9999 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
10001 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
10005 #define VK_KHR_swapchain_mutable_format 1
10006 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
10007 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
10010 #define VK_KHR_timeline_semaphore 1
10011 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
10012 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
10013 typedef VkSemaphoreType VkSemaphoreTypeKHR;
10015 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
10017 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
10019 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
10021 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
10023 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
10025 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
10027 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
10029 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
10031 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
10032 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
10033 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
10035 #ifndef VK_NO_PROTOTYPES
10036 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
10038 VkSemaphore semaphore,
10041 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
10043 const VkSemaphoreWaitInfo* pWaitInfo,
10046 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
10048 const VkSemaphoreSignalInfo* pSignalInfo);
10052 #define VK_KHR_vulkan_memory_model 1
10053 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
10054 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
10055 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
10059 #define VK_KHR_shader_terminate_invocation 1
10060 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
10061 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
10062 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
10066 #define VK_KHR_fragment_shading_rate 1
10067 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2
10068 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
10070 typedef enum VkFragmentShadingRateCombinerOpKHR {
10071 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
10072 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
10073 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
10074 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
10075 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
10076 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
10077 } VkFragmentShadingRateCombinerOpKHR;
10078 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
10079 VkStructureType sType;
10081 const VkAttachmentReference2* pFragmentShadingRateAttachment;
10082 VkExtent2D shadingRateAttachmentTexelSize;
10083 } VkFragmentShadingRateAttachmentInfoKHR;
10085 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
10086 VkStructureType sType;
10088 VkExtent2D fragmentSize;
10089 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
10090 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
10092 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
10093 VkStructureType sType;
10095 VkBool32 pipelineFragmentShadingRate;
10096 VkBool32 primitiveFragmentShadingRate;
10097 VkBool32 attachmentFragmentShadingRate;
10098 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
10100 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
10101 VkStructureType sType;
10103 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
10104 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
10105 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
10106 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
10107 VkBool32 layeredShadingRateAttachments;
10108 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
10109 VkExtent2D maxFragmentSize;
10110 deUint32 maxFragmentSizeAspectRatio;
10111 deUint32 maxFragmentShadingRateCoverageSamples;
10112 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
10113 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
10114 VkBool32 fragmentShadingRateWithSampleMask;
10115 VkBool32 fragmentShadingRateWithShaderSampleMask;
10116 VkBool32 fragmentShadingRateWithConservativeRasterization;
10117 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
10118 VkBool32 fragmentShadingRateWithCustomSampleLocations;
10119 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
10120 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
10122 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
10123 VkStructureType sType;
10125 VkSampleCountFlags sampleCounts;
10126 VkExtent2D fragmentSize;
10127 } VkPhysicalDeviceFragmentShadingRateKHR;
10129 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
10130 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
10132 #ifndef VK_NO_PROTOTYPES
10133 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
10134 VkPhysicalDevice physicalDevice,
10135 deUint32* pFragmentShadingRateCount,
10136 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
10138 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
10139 VkCommandBuffer commandBuffer,
10140 const VkExtent2D* pFragmentSize,
10141 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
10145 #define VK_KHR_spirv_1_4 1
10146 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
10147 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
10150 #define VK_KHR_surface_protected_capabilities 1
10151 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
10152 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
10153 typedef struct VkSurfaceProtectedCapabilitiesKHR {
10154 VkStructureType sType;
10156 VkBool32 supportsProtected;
10157 } VkSurfaceProtectedCapabilitiesKHR;
10161 #define VK_KHR_separate_depth_stencil_layouts 1
10162 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
10163 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
10164 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
10166 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
10168 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
10172 #define VK_KHR_present_wait 1
10173 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
10174 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
10175 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
10176 VkStructureType sType;
10178 VkBool32 presentWait;
10179 } VkPhysicalDevicePresentWaitFeaturesKHR;
10181 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 presentId, deUint64 timeout);
10183 #ifndef VK_NO_PROTOTYPES
10184 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
10186 VkSwapchainKHR swapchain,
10187 deUint64 presentId,
10192 #define VK_KHR_uniform_buffer_standard_layout 1
10193 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
10194 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
10195 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
10199 #define VK_KHR_buffer_device_address 1
10200 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
10201 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
10202 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
10204 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
10206 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
10208 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
10210 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
10212 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10213 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10214 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
10216 #ifndef VK_NO_PROTOTYPES
10217 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
10219 const VkBufferDeviceAddressInfo* pInfo);
10221 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
10223 const VkBufferDeviceAddressInfo* pInfo);
10225 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
10227 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
10231 #define VK_KHR_deferred_host_operations 1
10232 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
10233 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
10234 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
10235 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
10236 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
10237 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
10238 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
10239 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
10241 #ifndef VK_NO_PROTOTYPES
10242 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
10244 const VkAllocationCallbacks* pAllocator,
10245 VkDeferredOperationKHR* pDeferredOperation);
10247 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
10249 VkDeferredOperationKHR operation,
10250 const VkAllocationCallbacks* pAllocator);
10252 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
10254 VkDeferredOperationKHR operation);
10256 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
10258 VkDeferredOperationKHR operation);
10260 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
10262 VkDeferredOperationKHR operation);
10266 #define VK_KHR_pipeline_executable_properties 1
10267 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
10268 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
10270 typedef enum VkPipelineExecutableStatisticFormatKHR {
10271 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
10272 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
10273 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
10274 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
10275 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
10276 } VkPipelineExecutableStatisticFormatKHR;
10277 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
10278 VkStructureType sType;
10280 VkBool32 pipelineExecutableInfo;
10281 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
10283 typedef struct VkPipelineInfoKHR {
10284 VkStructureType sType;
10286 VkPipeline pipeline;
10287 } VkPipelineInfoKHR;
10289 typedef struct VkPipelineExecutablePropertiesKHR {
10290 VkStructureType sType;
10292 VkShaderStageFlags stages;
10293 char name[VK_MAX_DESCRIPTION_SIZE];
10294 char description[VK_MAX_DESCRIPTION_SIZE];
10295 deUint32 subgroupSize;
10296 } VkPipelineExecutablePropertiesKHR;
10298 typedef struct VkPipelineExecutableInfoKHR {
10299 VkStructureType sType;
10301 VkPipeline pipeline;
10302 deUint32 executableIndex;
10303 } VkPipelineExecutableInfoKHR;
10305 typedef union VkPipelineExecutableStatisticValueKHR {
10310 } VkPipelineExecutableStatisticValueKHR;
10312 typedef struct VkPipelineExecutableStatisticKHR {
10313 VkStructureType sType;
10315 char name[VK_MAX_DESCRIPTION_SIZE];
10316 char description[VK_MAX_DESCRIPTION_SIZE];
10317 VkPipelineExecutableStatisticFormatKHR format;
10318 VkPipelineExecutableStatisticValueKHR value;
10319 } VkPipelineExecutableStatisticKHR;
10321 typedef struct VkPipelineExecutableInternalRepresentationKHR {
10322 VkStructureType sType;
10324 char name[VK_MAX_DESCRIPTION_SIZE];
10325 char description[VK_MAX_DESCRIPTION_SIZE];
10327 deUintptr dataSize;
10329 } VkPipelineExecutableInternalRepresentationKHR;
10331 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
10332 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
10333 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10335 #ifndef VK_NO_PROTOTYPES
10336 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
10338 const VkPipelineInfoKHR* pPipelineInfo,
10339 deUint32* pExecutableCount,
10340 VkPipelineExecutablePropertiesKHR* pProperties);
10342 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
10344 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10345 deUint32* pStatisticCount,
10346 VkPipelineExecutableStatisticKHR* pStatistics);
10348 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
10350 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10351 deUint32* pInternalRepresentationCount,
10352 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10356 #define VK_KHR_shader_integer_dot_product 1
10357 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
10358 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
10359 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
10361 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
10365 #define VK_KHR_pipeline_library 1
10366 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
10367 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
10368 typedef struct VkPipelineLibraryCreateInfoKHR {
10369 VkStructureType sType;
10371 deUint32 libraryCount;
10372 const VkPipeline* pLibraries;
10373 } VkPipelineLibraryCreateInfoKHR;
10377 #define VK_KHR_shader_non_semantic_info 1
10378 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
10379 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
10382 #define VK_KHR_present_id 1
10383 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
10384 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
10385 typedef struct VkPresentIdKHR {
10386 VkStructureType sType;
10388 deUint32 swapchainCount;
10389 const deUint64* pPresentIds;
10392 typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
10393 VkStructureType sType;
10395 VkBool32 presentId;
10396 } VkPhysicalDevicePresentIdFeaturesKHR;
10400 #define VK_KHR_synchronization2 1
10401 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
10402 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
10403 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR;
10405 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR;
10407 typedef VkAccessFlags2 VkAccessFlags2KHR;
10409 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR;
10411 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR;
10413 typedef VkSubmitFlags VkSubmitFlagsKHR;
10415 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR;
10417 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR;
10419 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR;
10421 typedef VkDependencyInfo VkDependencyInfoKHR;
10423 typedef VkSubmitInfo2 VkSubmitInfo2KHR;
10425 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR;
10427 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR;
10429 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR;
10431 typedef struct VkQueueFamilyCheckpointProperties2NV {
10432 VkStructureType sType;
10434 VkPipelineStageFlags2 checkpointExecutionStageMask;
10435 } VkQueueFamilyCheckpointProperties2NV;
10437 typedef struct VkCheckpointData2NV {
10438 VkStructureType sType;
10440 VkPipelineStageFlags2 stage;
10441 void* pCheckpointMarker;
10442 } VkCheckpointData2NV;
10444 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
10445 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
10446 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
10447 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
10448 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query);
10449 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
10450 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
10451 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
10453 #ifndef VK_NO_PROTOTYPES
10454 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
10455 VkCommandBuffer commandBuffer,
10457 const VkDependencyInfo* pDependencyInfo);
10459 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
10460 VkCommandBuffer commandBuffer,
10462 VkPipelineStageFlags2 stageMask);
10464 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
10465 VkCommandBuffer commandBuffer,
10466 deUint32 eventCount,
10467 const VkEvent* pEvents,
10468 const VkDependencyInfo* pDependencyInfos);
10470 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
10471 VkCommandBuffer commandBuffer,
10472 const VkDependencyInfo* pDependencyInfo);
10474 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
10475 VkCommandBuffer commandBuffer,
10476 VkPipelineStageFlags2 stage,
10477 VkQueryPool queryPool,
10480 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
10482 deUint32 submitCount,
10483 const VkSubmitInfo2* pSubmits,
10486 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
10487 VkCommandBuffer commandBuffer,
10488 VkPipelineStageFlags2 stage,
10489 VkBuffer dstBuffer,
10490 VkDeviceSize dstOffset,
10493 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
10495 deUint32* pCheckpointDataCount,
10496 VkCheckpointData2NV* pCheckpointData);
10500 #define VK_KHR_fragment_shader_barycentric 1
10501 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
10502 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
10503 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
10504 VkStructureType sType;
10506 VkBool32 fragmentShaderBarycentric;
10507 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
10509 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
10510 VkStructureType sType;
10512 VkBool32 triStripVertexOrderIndependentOfProvokingVertex;
10513 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR;
10517 #define VK_KHR_shader_subgroup_uniform_control_flow 1
10518 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
10519 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
10520 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
10521 VkStructureType sType;
10523 VkBool32 shaderSubgroupUniformControlFlow;
10524 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
10528 #define VK_KHR_zero_initialize_workgroup_memory 1
10529 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
10530 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
10531 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
10535 #define VK_KHR_workgroup_memory_explicit_layout 1
10536 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
10537 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
10538 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
10539 VkStructureType sType;
10541 VkBool32 workgroupMemoryExplicitLayout;
10542 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
10543 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
10544 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
10545 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
10549 #define VK_KHR_copy_commands2 1
10550 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
10551 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
10552 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR;
10554 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR;
10556 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR;
10558 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR;
10560 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR;
10562 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR;
10564 typedef VkBufferCopy2 VkBufferCopy2KHR;
10566 typedef VkImageCopy2 VkImageCopy2KHR;
10568 typedef VkImageBlit2 VkImageBlit2KHR;
10570 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR;
10572 typedef VkImageResolve2 VkImageResolve2KHR;
10574 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
10575 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
10576 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10577 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10578 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
10579 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
10581 #ifndef VK_NO_PROTOTYPES
10582 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
10583 VkCommandBuffer commandBuffer,
10584 const VkCopyBufferInfo2* pCopyBufferInfo);
10586 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
10587 VkCommandBuffer commandBuffer,
10588 const VkCopyImageInfo2* pCopyImageInfo);
10590 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
10591 VkCommandBuffer commandBuffer,
10592 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10594 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
10595 VkCommandBuffer commandBuffer,
10596 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10598 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
10599 VkCommandBuffer commandBuffer,
10600 const VkBlitImageInfo2* pBlitImageInfo);
10602 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
10603 VkCommandBuffer commandBuffer,
10604 const VkResolveImageInfo2* pResolveImageInfo);
10608 #define VK_KHR_format_feature_flags2 1
10609 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2
10610 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
10611 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR;
10613 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR;
10615 typedef VkFormatProperties3 VkFormatProperties3KHR;
10619 #define VK_KHR_ray_tracing_maintenance1 1
10620 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
10621 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
10622 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
10623 VkStructureType sType;
10625 VkBool32 rayTracingMaintenance1;
10626 VkBool32 rayTracingPipelineTraceRaysIndirect2;
10627 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR;
10629 typedef struct VkTraceRaysIndirectCommand2KHR {
10630 VkDeviceAddress raygenShaderRecordAddress;
10631 VkDeviceSize raygenShaderRecordSize;
10632 VkDeviceAddress missShaderBindingTableAddress;
10633 VkDeviceSize missShaderBindingTableSize;
10634 VkDeviceSize missShaderBindingTableStride;
10635 VkDeviceAddress hitShaderBindingTableAddress;
10636 VkDeviceSize hitShaderBindingTableSize;
10637 VkDeviceSize hitShaderBindingTableStride;
10638 VkDeviceAddress callableShaderBindingTableAddress;
10639 VkDeviceSize callableShaderBindingTableSize;
10640 VkDeviceSize callableShaderBindingTableStride;
10644 } VkTraceRaysIndirectCommand2KHR;
10646 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
10648 #ifndef VK_NO_PROTOTYPES
10649 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR(
10650 VkCommandBuffer commandBuffer,
10651 VkDeviceAddress indirectDeviceAddress);
10655 #define VK_KHR_portability_enumeration 1
10656 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
10657 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
10660 #define VK_KHR_maintenance4 1
10661 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
10662 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
10663 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR;
10665 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR;
10667 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR;
10669 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR;
10671 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10672 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10673 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
10675 #ifndef VK_NO_PROTOTYPES
10676 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR(
10678 const VkDeviceBufferMemoryRequirements* pInfo,
10679 VkMemoryRequirements2* pMemoryRequirements);
10681 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR(
10683 const VkDeviceImageMemoryRequirements* pInfo,
10684 VkMemoryRequirements2* pMemoryRequirements);
10686 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
10688 const VkDeviceImageMemoryRequirements* pInfo,
10689 deUint32* pSparseMemoryRequirementCount,
10690 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
10694 #define VK_EXT_debug_report 1
10695 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
10696 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
10697 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
10699 typedef enum VkDebugReportObjectTypeEXT {
10700 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
10701 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
10702 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
10703 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
10704 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
10705 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
10706 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
10707 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
10708 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
10709 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
10710 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
10711 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
10712 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
10713 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
10714 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
10715 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
10716 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
10717 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
10718 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
10719 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
10720 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
10721 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
10722 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
10723 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
10724 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
10725 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
10726 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
10727 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
10728 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
10729 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
10730 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
10731 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
10732 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
10733 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
10734 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
10735 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
10736 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
10737 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
10738 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000,
10739 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
10740 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
10741 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
10742 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
10743 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10744 } VkDebugReportObjectTypeEXT;
10746 typedef enum VkDebugReportFlagBitsEXT {
10747 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
10748 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
10749 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
10750 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
10751 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
10752 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10753 } VkDebugReportFlagBitsEXT;
10754 typedef VkFlags VkDebugReportFlagsEXT;
10755 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
10756 VkDebugReportFlagsEXT flags,
10757 VkDebugReportObjectTypeEXT objectType,
10759 deUintptr location,
10760 deInt32 messageCode,
10761 const char* pLayerPrefix,
10762 const char* pMessage,
10765 typedef struct VkDebugReportCallbackCreateInfoEXT {
10766 VkStructureType sType;
10768 VkDebugReportFlagsEXT flags;
10769 PFN_vkDebugReportCallbackEXT pfnCallback;
10771 } VkDebugReportCallbackCreateInfoEXT;
10773 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
10774 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
10775 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
10777 #ifndef VK_NO_PROTOTYPES
10778 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
10779 VkInstance instance,
10780 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
10781 const VkAllocationCallbacks* pAllocator,
10782 VkDebugReportCallbackEXT* pCallback);
10784 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
10785 VkInstance instance,
10786 VkDebugReportCallbackEXT callback,
10787 const VkAllocationCallbacks* pAllocator);
10789 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
10790 VkInstance instance,
10791 VkDebugReportFlagsEXT flags,
10792 VkDebugReportObjectTypeEXT objectType,
10794 deUintptr location,
10795 deInt32 messageCode,
10796 const char* pLayerPrefix,
10797 const char* pMessage);
10801 #define VK_NV_glsl_shader 1
10802 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
10803 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
10806 #define VK_EXT_depth_range_unrestricted 1
10807 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
10808 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
10811 #define VK_IMG_filter_cubic 1
10812 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
10813 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
10816 #define VK_AMD_rasterization_order 1
10817 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
10818 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
10820 typedef enum VkRasterizationOrderAMD {
10821 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
10822 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
10823 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
10824 } VkRasterizationOrderAMD;
10825 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
10826 VkStructureType sType;
10828 VkRasterizationOrderAMD rasterizationOrder;
10829 } VkPipelineRasterizationStateRasterizationOrderAMD;
10833 #define VK_AMD_shader_trinary_minmax 1
10834 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
10835 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
10838 #define VK_AMD_shader_explicit_vertex_parameter 1
10839 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
10840 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
10843 #define VK_EXT_debug_marker 1
10844 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
10845 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
10846 typedef struct VkDebugMarkerObjectNameInfoEXT {
10847 VkStructureType sType;
10849 VkDebugReportObjectTypeEXT objectType;
10851 const char* pObjectName;
10852 } VkDebugMarkerObjectNameInfoEXT;
10854 typedef struct VkDebugMarkerObjectTagInfoEXT {
10855 VkStructureType sType;
10857 VkDebugReportObjectTypeEXT objectType;
10862 } VkDebugMarkerObjectTagInfoEXT;
10864 typedef struct VkDebugMarkerMarkerInfoEXT {
10865 VkStructureType sType;
10867 const char* pMarkerName;
10869 } VkDebugMarkerMarkerInfoEXT;
10871 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
10872 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
10873 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10874 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
10875 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10877 #ifndef VK_NO_PROTOTYPES
10878 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
10880 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
10882 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
10884 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
10886 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
10887 VkCommandBuffer commandBuffer,
10888 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10890 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
10891 VkCommandBuffer commandBuffer);
10893 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
10894 VkCommandBuffer commandBuffer,
10895 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10899 #define VK_AMD_gcn_shader 1
10900 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
10901 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
10904 #define VK_NV_dedicated_allocation 1
10905 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
10906 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
10907 typedef struct VkDedicatedAllocationImageCreateInfoNV {
10908 VkStructureType sType;
10910 VkBool32 dedicatedAllocation;
10911 } VkDedicatedAllocationImageCreateInfoNV;
10913 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
10914 VkStructureType sType;
10916 VkBool32 dedicatedAllocation;
10917 } VkDedicatedAllocationBufferCreateInfoNV;
10919 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
10920 VkStructureType sType;
10924 } VkDedicatedAllocationMemoryAllocateInfoNV;
10928 #define VK_EXT_transform_feedback 1
10929 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
10930 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
10931 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
10932 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
10933 VkStructureType sType;
10935 VkBool32 transformFeedback;
10936 VkBool32 geometryStreams;
10937 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
10939 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
10940 VkStructureType sType;
10942 deUint32 maxTransformFeedbackStreams;
10943 deUint32 maxTransformFeedbackBuffers;
10944 VkDeviceSize maxTransformFeedbackBufferSize;
10945 deUint32 maxTransformFeedbackStreamDataSize;
10946 deUint32 maxTransformFeedbackBufferDataSize;
10947 deUint32 maxTransformFeedbackBufferDataStride;
10948 VkBool32 transformFeedbackQueries;
10949 VkBool32 transformFeedbackStreamsLinesTriangles;
10950 VkBool32 transformFeedbackRasterizationStreamSelect;
10951 VkBool32 transformFeedbackDraw;
10952 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
10954 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
10955 VkStructureType sType;
10957 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
10958 deUint32 rasterizationStream;
10959 } VkPipelineRasterizationStateStreamCreateInfoEXT;
10961 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
10962 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
10963 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
10964 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
10965 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
10966 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
10968 #ifndef VK_NO_PROTOTYPES
10969 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
10970 VkCommandBuffer commandBuffer,
10971 deUint32 firstBinding,
10972 deUint32 bindingCount,
10973 const VkBuffer* pBuffers,
10974 const VkDeviceSize* pOffsets,
10975 const VkDeviceSize* pSizes);
10977 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
10978 VkCommandBuffer commandBuffer,
10979 deUint32 firstCounterBuffer,
10980 deUint32 counterBufferCount,
10981 const VkBuffer* pCounterBuffers,
10982 const VkDeviceSize* pCounterBufferOffsets);
10984 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
10985 VkCommandBuffer commandBuffer,
10986 deUint32 firstCounterBuffer,
10987 deUint32 counterBufferCount,
10988 const VkBuffer* pCounterBuffers,
10989 const VkDeviceSize* pCounterBufferOffsets);
10991 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
10992 VkCommandBuffer commandBuffer,
10993 VkQueryPool queryPool,
10995 VkQueryControlFlags flags,
10998 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
10999 VkCommandBuffer commandBuffer,
11000 VkQueryPool queryPool,
11004 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
11005 VkCommandBuffer commandBuffer,
11006 deUint32 instanceCount,
11007 deUint32 firstInstance,
11008 VkBuffer counterBuffer,
11009 VkDeviceSize counterBufferOffset,
11010 deUint32 counterOffset,
11011 deUint32 vertexStride);
11015 #define VK_NVX_binary_import 1
11016 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
11017 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
11018 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
11019 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
11020 typedef struct VkCuModuleCreateInfoNVX {
11021 VkStructureType sType;
11023 deUintptr dataSize;
11025 } VkCuModuleCreateInfoNVX;
11027 typedef struct VkCuFunctionCreateInfoNVX {
11028 VkStructureType sType;
11030 VkCuModuleNVX module;
11032 } VkCuFunctionCreateInfoNVX;
11034 typedef struct VkCuLaunchInfoNVX {
11035 VkStructureType sType;
11037 VkCuFunctionNVX function;
11041 deUint32 blockDimX;
11042 deUint32 blockDimY;
11043 deUint32 blockDimZ;
11044 deUint32 sharedMemBytes;
11045 deUintptr paramCount;
11046 const void* const * pParams;
11047 deUintptr extraCount;
11048 const void* const * pExtras;
11049 } VkCuLaunchInfoNVX;
11051 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
11052 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
11053 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
11054 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
11055 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
11057 #ifndef VK_NO_PROTOTYPES
11058 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
11060 const VkCuModuleCreateInfoNVX* pCreateInfo,
11061 const VkAllocationCallbacks* pAllocator,
11062 VkCuModuleNVX* pModule);
11064 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
11066 const VkCuFunctionCreateInfoNVX* pCreateInfo,
11067 const VkAllocationCallbacks* pAllocator,
11068 VkCuFunctionNVX* pFunction);
11070 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
11072 VkCuModuleNVX module,
11073 const VkAllocationCallbacks* pAllocator);
11075 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
11077 VkCuFunctionNVX function,
11078 const VkAllocationCallbacks* pAllocator);
11080 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
11081 VkCommandBuffer commandBuffer,
11082 const VkCuLaunchInfoNVX* pLaunchInfo);
11086 #define VK_NVX_image_view_handle 1
11087 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
11088 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
11089 typedef struct VkImageViewHandleInfoNVX {
11090 VkStructureType sType;
11092 VkImageView imageView;
11093 VkDescriptorType descriptorType;
11095 } VkImageViewHandleInfoNVX;
11097 typedef struct VkImageViewAddressPropertiesNVX {
11098 VkStructureType sType;
11100 VkDeviceAddress deviceAddress;
11102 } VkImageViewAddressPropertiesNVX;
11104 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
11105 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
11107 #ifndef VK_NO_PROTOTYPES
11108 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
11110 const VkImageViewHandleInfoNVX* pInfo);
11112 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
11114 VkImageView imageView,
11115 VkImageViewAddressPropertiesNVX* pProperties);
11119 #define VK_AMD_draw_indirect_count 1
11120 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
11121 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
11122 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11123 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11125 #ifndef VK_NO_PROTOTYPES
11126 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
11127 VkCommandBuffer commandBuffer,
11129 VkDeviceSize offset,
11130 VkBuffer countBuffer,
11131 VkDeviceSize countBufferOffset,
11132 deUint32 maxDrawCount,
11135 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
11136 VkCommandBuffer commandBuffer,
11138 VkDeviceSize offset,
11139 VkBuffer countBuffer,
11140 VkDeviceSize countBufferOffset,
11141 deUint32 maxDrawCount,
11146 #define VK_AMD_negative_viewport_height 1
11147 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
11148 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
11151 #define VK_AMD_gpu_shader_half_float 1
11152 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
11153 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
11156 #define VK_AMD_shader_ballot 1
11157 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
11158 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
11161 #define VK_AMD_texture_gather_bias_lod 1
11162 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
11163 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
11164 typedef struct VkTextureLODGatherFormatPropertiesAMD {
11165 VkStructureType sType;
11167 VkBool32 supportsTextureGatherLODBiasAMD;
11168 } VkTextureLODGatherFormatPropertiesAMD;
11172 #define VK_AMD_shader_info 1
11173 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
11174 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
11176 typedef enum VkShaderInfoTypeAMD {
11177 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
11178 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
11179 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
11180 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
11181 } VkShaderInfoTypeAMD;
11182 typedef struct VkShaderResourceUsageAMD {
11183 deUint32 numUsedVgprs;
11184 deUint32 numUsedSgprs;
11185 deUint32 ldsSizePerLocalWorkGroup;
11186 deUintptr ldsUsageSizeInBytes;
11187 deUintptr scratchMemUsageInBytes;
11188 } VkShaderResourceUsageAMD;
11190 typedef struct VkShaderStatisticsInfoAMD {
11191 VkShaderStageFlags shaderStageMask;
11192 VkShaderResourceUsageAMD resourceUsage;
11193 deUint32 numPhysicalVgprs;
11194 deUint32 numPhysicalSgprs;
11195 deUint32 numAvailableVgprs;
11196 deUint32 numAvailableSgprs;
11197 deUint32 computeWorkGroupSize[3];
11198 } VkShaderStatisticsInfoAMD;
11200 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
11202 #ifndef VK_NO_PROTOTYPES
11203 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
11205 VkPipeline pipeline,
11206 VkShaderStageFlagBits shaderStage,
11207 VkShaderInfoTypeAMD infoType,
11208 deUintptr* pInfoSize,
11213 #define VK_AMD_shader_image_load_store_lod 1
11214 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
11215 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
11218 #define VK_NV_corner_sampled_image 1
11219 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
11220 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
11221 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
11222 VkStructureType sType;
11224 VkBool32 cornerSampledImage;
11225 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
11229 #define VK_IMG_format_pvrtc 1
11230 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
11231 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
11234 #define VK_NV_external_memory_capabilities 1
11235 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
11236 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
11238 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
11239 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
11240 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
11241 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
11242 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
11243 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11244 } VkExternalMemoryHandleTypeFlagBitsNV;
11245 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
11247 typedef enum VkExternalMemoryFeatureFlagBitsNV {
11248 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
11249 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
11250 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
11251 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11252 } VkExternalMemoryFeatureFlagBitsNV;
11253 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
11254 typedef struct VkExternalImageFormatPropertiesNV {
11255 VkImageFormatProperties imageFormatProperties;
11256 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
11257 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
11258 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
11259 } VkExternalImageFormatPropertiesNV;
11261 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
11263 #ifndef VK_NO_PROTOTYPES
11264 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
11265 VkPhysicalDevice physicalDevice,
11268 VkImageTiling tiling,
11269 VkImageUsageFlags usage,
11270 VkImageCreateFlags flags,
11271 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
11272 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
11276 #define VK_NV_external_memory 1
11277 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
11278 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
11279 typedef struct VkExternalMemoryImageCreateInfoNV {
11280 VkStructureType sType;
11282 VkExternalMemoryHandleTypeFlagsNV handleTypes;
11283 } VkExternalMemoryImageCreateInfoNV;
11285 typedef struct VkExportMemoryAllocateInfoNV {
11286 VkStructureType sType;
11288 VkExternalMemoryHandleTypeFlagsNV handleTypes;
11289 } VkExportMemoryAllocateInfoNV;
11293 #define VK_EXT_validation_flags 1
11294 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
11295 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
11297 typedef enum VkValidationCheckEXT {
11298 VK_VALIDATION_CHECK_ALL_EXT = 0,
11299 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
11300 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
11301 } VkValidationCheckEXT;
11302 typedef struct VkValidationFlagsEXT {
11303 VkStructureType sType;
11305 deUint32 disabledValidationCheckCount;
11306 const VkValidationCheckEXT* pDisabledValidationChecks;
11307 } VkValidationFlagsEXT;
11311 #define VK_EXT_shader_subgroup_ballot 1
11312 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
11313 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
11316 #define VK_EXT_shader_subgroup_vote 1
11317 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
11318 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
11321 #define VK_EXT_texture_compression_astc_hdr 1
11322 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
11323 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
11324 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
11328 #define VK_EXT_astc_decode_mode 1
11329 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
11330 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
11331 typedef struct VkImageViewASTCDecodeModeEXT {
11332 VkStructureType sType;
11334 VkFormat decodeMode;
11335 } VkImageViewASTCDecodeModeEXT;
11337 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
11338 VkStructureType sType;
11340 VkBool32 decodeModeSharedExponent;
11341 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
11345 #define VK_EXT_pipeline_robustness 1
11346 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1
11347 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness"
11349 typedef enum VkPipelineRobustnessBufferBehaviorEXT {
11350 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0,
11351 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1,
11352 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2,
11353 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3,
11354 VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF
11355 } VkPipelineRobustnessBufferBehaviorEXT;
11357 typedef enum VkPipelineRobustnessImageBehaviorEXT {
11358 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0,
11359 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1,
11360 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2,
11361 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3,
11362 VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF
11363 } VkPipelineRobustnessImageBehaviorEXT;
11364 typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT {
11365 VkStructureType sType;
11367 VkBool32 pipelineRobustness;
11368 } VkPhysicalDevicePipelineRobustnessFeaturesEXT;
11370 typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT {
11371 VkStructureType sType;
11373 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers;
11374 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers;
11375 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs;
11376 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages;
11377 } VkPhysicalDevicePipelineRobustnessPropertiesEXT;
11379 typedef struct VkPipelineRobustnessCreateInfoEXT {
11380 VkStructureType sType;
11382 VkPipelineRobustnessBufferBehaviorEXT storageBuffers;
11383 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers;
11384 VkPipelineRobustnessBufferBehaviorEXT vertexInputs;
11385 VkPipelineRobustnessImageBehaviorEXT images;
11386 } VkPipelineRobustnessCreateInfoEXT;
11390 #define VK_EXT_conditional_rendering 1
11391 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
11392 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
11394 typedef enum VkConditionalRenderingFlagBitsEXT {
11395 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
11396 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11397 } VkConditionalRenderingFlagBitsEXT;
11398 typedef VkFlags VkConditionalRenderingFlagsEXT;
11399 typedef struct VkConditionalRenderingBeginInfoEXT {
11400 VkStructureType sType;
11403 VkDeviceSize offset;
11404 VkConditionalRenderingFlagsEXT flags;
11405 } VkConditionalRenderingBeginInfoEXT;
11407 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
11408 VkStructureType sType;
11410 VkBool32 conditionalRendering;
11411 VkBool32 inheritedConditionalRendering;
11412 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
11414 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
11415 VkStructureType sType;
11417 VkBool32 conditionalRenderingEnable;
11418 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
11420 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
11421 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
11423 #ifndef VK_NO_PROTOTYPES
11424 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
11425 VkCommandBuffer commandBuffer,
11426 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
11428 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
11429 VkCommandBuffer commandBuffer);
11433 #define VK_NV_clip_space_w_scaling 1
11434 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
11435 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
11436 typedef struct VkViewportWScalingNV {
11439 } VkViewportWScalingNV;
11441 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
11442 VkStructureType sType;
11444 VkBool32 viewportWScalingEnable;
11445 deUint32 viewportCount;
11446 const VkViewportWScalingNV* pViewportWScalings;
11447 } VkPipelineViewportWScalingStateCreateInfoNV;
11449 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
11451 #ifndef VK_NO_PROTOTYPES
11452 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
11453 VkCommandBuffer commandBuffer,
11454 deUint32 firstViewport,
11455 deUint32 viewportCount,
11456 const VkViewportWScalingNV* pViewportWScalings);
11460 #define VK_EXT_direct_mode_display 1
11461 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
11462 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
11463 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
11465 #ifndef VK_NO_PROTOTYPES
11466 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
11467 VkPhysicalDevice physicalDevice,
11468 VkDisplayKHR display);
11472 #define VK_EXT_display_surface_counter 1
11473 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
11474 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
11476 typedef enum VkSurfaceCounterFlagBitsEXT {
11477 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
11478 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
11479 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11480 } VkSurfaceCounterFlagBitsEXT;
11481 typedef VkFlags VkSurfaceCounterFlagsEXT;
11482 typedef struct VkSurfaceCapabilities2EXT {
11483 VkStructureType sType;
11485 deUint32 minImageCount;
11486 deUint32 maxImageCount;
11487 VkExtent2D currentExtent;
11488 VkExtent2D minImageExtent;
11489 VkExtent2D maxImageExtent;
11490 deUint32 maxImageArrayLayers;
11491 VkSurfaceTransformFlagsKHR supportedTransforms;
11492 VkSurfaceTransformFlagBitsKHR currentTransform;
11493 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
11494 VkImageUsageFlags supportedUsageFlags;
11495 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
11496 } VkSurfaceCapabilities2EXT;
11498 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
11500 #ifndef VK_NO_PROTOTYPES
11501 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
11502 VkPhysicalDevice physicalDevice,
11503 VkSurfaceKHR surface,
11504 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
11508 #define VK_EXT_display_control 1
11509 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
11510 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
11512 typedef enum VkDisplayPowerStateEXT {
11513 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
11514 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
11515 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
11516 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
11517 } VkDisplayPowerStateEXT;
11519 typedef enum VkDeviceEventTypeEXT {
11520 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
11521 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11522 } VkDeviceEventTypeEXT;
11524 typedef enum VkDisplayEventTypeEXT {
11525 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
11526 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11527 } VkDisplayEventTypeEXT;
11528 typedef struct VkDisplayPowerInfoEXT {
11529 VkStructureType sType;
11531 VkDisplayPowerStateEXT powerState;
11532 } VkDisplayPowerInfoEXT;
11534 typedef struct VkDeviceEventInfoEXT {
11535 VkStructureType sType;
11537 VkDeviceEventTypeEXT deviceEvent;
11538 } VkDeviceEventInfoEXT;
11540 typedef struct VkDisplayEventInfoEXT {
11541 VkStructureType sType;
11543 VkDisplayEventTypeEXT displayEvent;
11544 } VkDisplayEventInfoEXT;
11546 typedef struct VkSwapchainCounterCreateInfoEXT {
11547 VkStructureType sType;
11549 VkSurfaceCounterFlagsEXT surfaceCounters;
11550 } VkSwapchainCounterCreateInfoEXT;
11552 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
11553 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
11554 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
11555 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
11557 #ifndef VK_NO_PROTOTYPES
11558 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
11560 VkDisplayKHR display,
11561 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
11563 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
11565 const VkDeviceEventInfoEXT* pDeviceEventInfo,
11566 const VkAllocationCallbacks* pAllocator,
11569 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
11571 VkDisplayKHR display,
11572 const VkDisplayEventInfoEXT* pDisplayEventInfo,
11573 const VkAllocationCallbacks* pAllocator,
11576 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
11578 VkSwapchainKHR swapchain,
11579 VkSurfaceCounterFlagBitsEXT counter,
11580 deUint64* pCounterValue);
11584 #define VK_GOOGLE_display_timing 1
11585 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
11586 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
11587 typedef struct VkRefreshCycleDurationGOOGLE {
11588 deUint64 refreshDuration;
11589 } VkRefreshCycleDurationGOOGLE;
11591 typedef struct VkPastPresentationTimingGOOGLE {
11592 deUint32 presentID;
11593 deUint64 desiredPresentTime;
11594 deUint64 actualPresentTime;
11595 deUint64 earliestPresentTime;
11596 deUint64 presentMargin;
11597 } VkPastPresentationTimingGOOGLE;
11599 typedef struct VkPresentTimeGOOGLE {
11600 deUint32 presentID;
11601 deUint64 desiredPresentTime;
11602 } VkPresentTimeGOOGLE;
11604 typedef struct VkPresentTimesInfoGOOGLE {
11605 VkStructureType sType;
11607 deUint32 swapchainCount;
11608 const VkPresentTimeGOOGLE* pTimes;
11609 } VkPresentTimesInfoGOOGLE;
11611 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
11612 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
11614 #ifndef VK_NO_PROTOTYPES
11615 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
11617 VkSwapchainKHR swapchain,
11618 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
11620 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
11622 VkSwapchainKHR swapchain,
11623 deUint32* pPresentationTimingCount,
11624 VkPastPresentationTimingGOOGLE* pPresentationTimings);
11628 #define VK_NV_sample_mask_override_coverage 1
11629 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
11630 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
11633 #define VK_NV_geometry_shader_passthrough 1
11634 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
11635 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
11638 #define VK_NV_viewport_array2 1
11639 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1
11640 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2"
11641 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
11642 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
11645 #define VK_NVX_multiview_per_view_attributes 1
11646 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
11647 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
11648 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
11649 VkStructureType sType;
11651 VkBool32 perViewPositionAllComponents;
11652 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
11656 #define VK_NV_viewport_swizzle 1
11657 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
11658 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
11660 typedef enum VkViewportCoordinateSwizzleNV {
11661 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
11662 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
11663 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
11664 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
11665 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
11666 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
11667 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
11668 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
11669 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
11670 } VkViewportCoordinateSwizzleNV;
11671 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
11672 typedef struct VkViewportSwizzleNV {
11673 VkViewportCoordinateSwizzleNV x;
11674 VkViewportCoordinateSwizzleNV y;
11675 VkViewportCoordinateSwizzleNV z;
11676 VkViewportCoordinateSwizzleNV w;
11677 } VkViewportSwizzleNV;
11679 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
11680 VkStructureType sType;
11682 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
11683 deUint32 viewportCount;
11684 const VkViewportSwizzleNV* pViewportSwizzles;
11685 } VkPipelineViewportSwizzleStateCreateInfoNV;
11689 #define VK_EXT_discard_rectangles 1
11690 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
11691 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
11693 typedef enum VkDiscardRectangleModeEXT {
11694 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
11695 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
11696 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11697 } VkDiscardRectangleModeEXT;
11698 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
11699 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
11700 VkStructureType sType;
11702 deUint32 maxDiscardRectangles;
11703 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
11705 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
11706 VkStructureType sType;
11708 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
11709 VkDiscardRectangleModeEXT discardRectangleMode;
11710 deUint32 discardRectangleCount;
11711 const VkRect2D* pDiscardRectangles;
11712 } VkPipelineDiscardRectangleStateCreateInfoEXT;
11714 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
11716 #ifndef VK_NO_PROTOTYPES
11717 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
11718 VkCommandBuffer commandBuffer,
11719 deUint32 firstDiscardRectangle,
11720 deUint32 discardRectangleCount,
11721 const VkRect2D* pDiscardRectangles);
11725 #define VK_EXT_conservative_rasterization 1
11726 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
11727 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
11729 typedef enum VkConservativeRasterizationModeEXT {
11730 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
11731 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
11732 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
11733 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11734 } VkConservativeRasterizationModeEXT;
11735 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
11736 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
11737 VkStructureType sType;
11739 float primitiveOverestimationSize;
11740 float maxExtraPrimitiveOverestimationSize;
11741 float extraPrimitiveOverestimationSizeGranularity;
11742 VkBool32 primitiveUnderestimation;
11743 VkBool32 conservativePointAndLineRasterization;
11744 VkBool32 degenerateTrianglesRasterized;
11745 VkBool32 degenerateLinesRasterized;
11746 VkBool32 fullyCoveredFragmentShaderInputVariable;
11747 VkBool32 conservativeRasterizationPostDepthCoverage;
11748 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
11750 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
11751 VkStructureType sType;
11753 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
11754 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
11755 float extraPrimitiveOverestimationSize;
11756 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
11760 #define VK_EXT_depth_clip_enable 1
11761 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
11762 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
11763 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
11764 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
11765 VkStructureType sType;
11767 VkBool32 depthClipEnable;
11768 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
11770 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
11771 VkStructureType sType;
11773 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
11774 VkBool32 depthClipEnable;
11775 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
11779 #define VK_EXT_swapchain_colorspace 1
11780 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
11781 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
11784 #define VK_EXT_hdr_metadata 1
11785 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
11786 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
11787 typedef struct VkXYColorEXT {
11792 typedef struct VkHdrMetadataEXT {
11793 VkStructureType sType;
11795 VkXYColorEXT displayPrimaryRed;
11796 VkXYColorEXT displayPrimaryGreen;
11797 VkXYColorEXT displayPrimaryBlue;
11798 VkXYColorEXT whitePoint;
11799 float maxLuminance;
11800 float minLuminance;
11801 float maxContentLightLevel;
11802 float maxFrameAverageLightLevel;
11803 } VkHdrMetadataEXT;
11805 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
11807 #ifndef VK_NO_PROTOTYPES
11808 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
11810 deUint32 swapchainCount,
11811 const VkSwapchainKHR* pSwapchains,
11812 const VkHdrMetadataEXT* pMetadata);
11816 #define VK_EXT_external_memory_dma_buf 1
11817 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
11818 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
11821 #define VK_EXT_queue_family_foreign 1
11822 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
11823 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
11824 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
11827 #define VK_EXT_debug_utils 1
11828 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
11829 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
11830 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
11831 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
11833 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
11834 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
11835 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
11836 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
11837 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
11838 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11839 } VkDebugUtilsMessageSeverityFlagBitsEXT;
11841 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
11842 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
11843 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
11844 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
11845 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11846 } VkDebugUtilsMessageTypeFlagBitsEXT;
11847 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
11848 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
11849 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
11850 typedef struct VkDebugUtilsLabelEXT {
11851 VkStructureType sType;
11853 const char* pLabelName;
11855 } VkDebugUtilsLabelEXT;
11857 typedef struct VkDebugUtilsObjectNameInfoEXT {
11858 VkStructureType sType;
11860 VkObjectType objectType;
11861 deUint64 objectHandle;
11862 const char* pObjectName;
11863 } VkDebugUtilsObjectNameInfoEXT;
11865 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
11866 VkStructureType sType;
11868 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
11869 const char* pMessageIdName;
11870 deInt32 messageIdNumber;
11871 const char* pMessage;
11872 deUint32 queueLabelCount;
11873 const VkDebugUtilsLabelEXT* pQueueLabels;
11874 deUint32 cmdBufLabelCount;
11875 const VkDebugUtilsLabelEXT* pCmdBufLabels;
11876 deUint32 objectCount;
11877 const VkDebugUtilsObjectNameInfoEXT* pObjects;
11878 } VkDebugUtilsMessengerCallbackDataEXT;
11880 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
11881 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
11882 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
11883 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
11886 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
11887 VkStructureType sType;
11889 VkDebugUtilsMessengerCreateFlagsEXT flags;
11890 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
11891 VkDebugUtilsMessageTypeFlagsEXT messageType;
11892 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
11894 } VkDebugUtilsMessengerCreateInfoEXT;
11896 typedef struct VkDebugUtilsObjectTagInfoEXT {
11897 VkStructureType sType;
11899 VkObjectType objectType;
11900 deUint64 objectHandle;
11904 } VkDebugUtilsObjectTagInfoEXT;
11906 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
11907 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
11908 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
11909 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
11910 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
11911 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
11912 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
11913 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
11914 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
11915 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
11916 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
11918 #ifndef VK_NO_PROTOTYPES
11919 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
11921 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
11923 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
11925 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
11927 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
11929 const VkDebugUtilsLabelEXT* pLabelInfo);
11931 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
11934 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
11936 const VkDebugUtilsLabelEXT* pLabelInfo);
11938 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
11939 VkCommandBuffer commandBuffer,
11940 const VkDebugUtilsLabelEXT* pLabelInfo);
11942 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
11943 VkCommandBuffer commandBuffer);
11945 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
11946 VkCommandBuffer commandBuffer,
11947 const VkDebugUtilsLabelEXT* pLabelInfo);
11949 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
11950 VkInstance instance,
11951 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
11952 const VkAllocationCallbacks* pAllocator,
11953 VkDebugUtilsMessengerEXT* pMessenger);
11955 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
11956 VkInstance instance,
11957 VkDebugUtilsMessengerEXT messenger,
11958 const VkAllocationCallbacks* pAllocator);
11960 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
11961 VkInstance instance,
11962 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
11963 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
11964 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
11968 #define VK_EXT_sampler_filter_minmax 1
11969 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
11970 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
11971 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
11973 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
11975 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
11979 #define VK_AMD_gpu_shader_int16 1
11980 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
11981 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
11984 #define VK_AMD_mixed_attachment_samples 1
11985 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
11986 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
11989 #define VK_AMD_shader_fragment_mask 1
11990 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
11991 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
11994 #define VK_EXT_inline_uniform_block 1
11995 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
11996 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
11997 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
11999 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
12001 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT;
12003 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
12007 #define VK_EXT_shader_stencil_export 1
12008 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
12009 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
12012 #define VK_EXT_sample_locations 1
12013 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
12014 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
12015 typedef struct VkSampleLocationEXT {
12018 } VkSampleLocationEXT;
12020 typedef struct VkSampleLocationsInfoEXT {
12021 VkStructureType sType;
12023 VkSampleCountFlagBits sampleLocationsPerPixel;
12024 VkExtent2D sampleLocationGridSize;
12025 deUint32 sampleLocationsCount;
12026 const VkSampleLocationEXT* pSampleLocations;
12027 } VkSampleLocationsInfoEXT;
12029 typedef struct VkAttachmentSampleLocationsEXT {
12030 deUint32 attachmentIndex;
12031 VkSampleLocationsInfoEXT sampleLocationsInfo;
12032 } VkAttachmentSampleLocationsEXT;
12034 typedef struct VkSubpassSampleLocationsEXT {
12035 deUint32 subpassIndex;
12036 VkSampleLocationsInfoEXT sampleLocationsInfo;
12037 } VkSubpassSampleLocationsEXT;
12039 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
12040 VkStructureType sType;
12042 deUint32 attachmentInitialSampleLocationsCount;
12043 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
12044 deUint32 postSubpassSampleLocationsCount;
12045 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
12046 } VkRenderPassSampleLocationsBeginInfoEXT;
12048 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
12049 VkStructureType sType;
12051 VkBool32 sampleLocationsEnable;
12052 VkSampleLocationsInfoEXT sampleLocationsInfo;
12053 } VkPipelineSampleLocationsStateCreateInfoEXT;
12055 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
12056 VkStructureType sType;
12058 VkSampleCountFlags sampleLocationSampleCounts;
12059 VkExtent2D maxSampleLocationGridSize;
12060 float sampleLocationCoordinateRange[2];
12061 deUint32 sampleLocationSubPixelBits;
12062 VkBool32 variableSampleLocations;
12063 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
12065 typedef struct VkMultisamplePropertiesEXT {
12066 VkStructureType sType;
12068 VkExtent2D maxSampleLocationGridSize;
12069 } VkMultisamplePropertiesEXT;
12071 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
12072 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
12074 #ifndef VK_NO_PROTOTYPES
12075 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
12076 VkCommandBuffer commandBuffer,
12077 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
12079 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
12080 VkPhysicalDevice physicalDevice,
12081 VkSampleCountFlagBits samples,
12082 VkMultisamplePropertiesEXT* pMultisampleProperties);
12086 #define VK_EXT_blend_operation_advanced 1
12087 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
12088 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
12090 typedef enum VkBlendOverlapEXT {
12091 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
12092 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
12093 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
12094 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
12095 } VkBlendOverlapEXT;
12096 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
12097 VkStructureType sType;
12099 VkBool32 advancedBlendCoherentOperations;
12100 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
12102 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
12103 VkStructureType sType;
12105 deUint32 advancedBlendMaxColorAttachments;
12106 VkBool32 advancedBlendIndependentBlend;
12107 VkBool32 advancedBlendNonPremultipliedSrcColor;
12108 VkBool32 advancedBlendNonPremultipliedDstColor;
12109 VkBool32 advancedBlendCorrelatedOverlap;
12110 VkBool32 advancedBlendAllOperations;
12111 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
12113 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
12114 VkStructureType sType;
12116 VkBool32 srcPremultiplied;
12117 VkBool32 dstPremultiplied;
12118 VkBlendOverlapEXT blendOverlap;
12119 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
12123 #define VK_NV_fragment_coverage_to_color 1
12124 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
12125 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
12126 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
12127 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
12128 VkStructureType sType;
12130 VkPipelineCoverageToColorStateCreateFlagsNV flags;
12131 VkBool32 coverageToColorEnable;
12132 deUint32 coverageToColorLocation;
12133 } VkPipelineCoverageToColorStateCreateInfoNV;
12137 #define VK_NV_framebuffer_mixed_samples 1
12138 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
12139 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
12141 typedef enum VkCoverageModulationModeNV {
12142 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
12143 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
12144 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
12145 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
12146 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12147 } VkCoverageModulationModeNV;
12148 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
12149 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
12150 VkStructureType sType;
12152 VkPipelineCoverageModulationStateCreateFlagsNV flags;
12153 VkCoverageModulationModeNV coverageModulationMode;
12154 VkBool32 coverageModulationTableEnable;
12155 deUint32 coverageModulationTableCount;
12156 const float* pCoverageModulationTable;
12157 } VkPipelineCoverageModulationStateCreateInfoNV;
12161 #define VK_NV_fill_rectangle 1
12162 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
12163 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
12166 #define VK_NV_shader_sm_builtins 1
12167 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
12168 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
12169 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
12170 VkStructureType sType;
12172 deUint32 shaderSMCount;
12173 deUint32 shaderWarpsPerSM;
12174 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
12176 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
12177 VkStructureType sType;
12179 VkBool32 shaderSMBuiltins;
12180 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
12184 #define VK_EXT_post_depth_coverage 1
12185 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
12186 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
12189 #define VK_EXT_image_drm_format_modifier 1
12190 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2
12191 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
12192 typedef struct VkDrmFormatModifierPropertiesEXT {
12193 deUint64 drmFormatModifier;
12194 deUint32 drmFormatModifierPlaneCount;
12195 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
12196 } VkDrmFormatModifierPropertiesEXT;
12198 typedef struct VkDrmFormatModifierPropertiesListEXT {
12199 VkStructureType sType;
12201 deUint32 drmFormatModifierCount;
12202 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
12203 } VkDrmFormatModifierPropertiesListEXT;
12205 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
12206 VkStructureType sType;
12208 deUint64 drmFormatModifier;
12209 VkSharingMode sharingMode;
12210 deUint32 queueFamilyIndexCount;
12211 const deUint32* pQueueFamilyIndices;
12212 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
12214 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
12215 VkStructureType sType;
12217 deUint32 drmFormatModifierCount;
12218 const deUint64* pDrmFormatModifiers;
12219 } VkImageDrmFormatModifierListCreateInfoEXT;
12221 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
12222 VkStructureType sType;
12224 deUint64 drmFormatModifier;
12225 deUint32 drmFormatModifierPlaneCount;
12226 const VkSubresourceLayout* pPlaneLayouts;
12227 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
12229 typedef struct VkImageDrmFormatModifierPropertiesEXT {
12230 VkStructureType sType;
12232 deUint64 drmFormatModifier;
12233 } VkImageDrmFormatModifierPropertiesEXT;
12235 typedef struct VkDrmFormatModifierProperties2EXT {
12236 deUint64 drmFormatModifier;
12237 deUint32 drmFormatModifierPlaneCount;
12238 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures;
12239 } VkDrmFormatModifierProperties2EXT;
12241 typedef struct VkDrmFormatModifierPropertiesList2EXT {
12242 VkStructureType sType;
12244 deUint32 drmFormatModifierCount;
12245 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties;
12246 } VkDrmFormatModifierPropertiesList2EXT;
12248 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
12250 #ifndef VK_NO_PROTOTYPES
12251 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
12254 VkImageDrmFormatModifierPropertiesEXT* pProperties);
12258 #define VK_EXT_validation_cache 1
12259 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
12260 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
12261 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
12263 typedef enum VkValidationCacheHeaderVersionEXT {
12264 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
12265 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
12266 } VkValidationCacheHeaderVersionEXT;
12267 typedef VkFlags VkValidationCacheCreateFlagsEXT;
12268 typedef struct VkValidationCacheCreateInfoEXT {
12269 VkStructureType sType;
12271 VkValidationCacheCreateFlagsEXT flags;
12272 deUintptr initialDataSize;
12273 const void* pInitialData;
12274 } VkValidationCacheCreateInfoEXT;
12276 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
12277 VkStructureType sType;
12279 VkValidationCacheEXT validationCache;
12280 } VkShaderModuleValidationCacheCreateInfoEXT;
12282 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
12283 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
12284 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
12285 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
12287 #ifndef VK_NO_PROTOTYPES
12288 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
12290 const VkValidationCacheCreateInfoEXT* pCreateInfo,
12291 const VkAllocationCallbacks* pAllocator,
12292 VkValidationCacheEXT* pValidationCache);
12294 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
12296 VkValidationCacheEXT validationCache,
12297 const VkAllocationCallbacks* pAllocator);
12299 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
12301 VkValidationCacheEXT dstCache,
12302 deUint32 srcCacheCount,
12303 const VkValidationCacheEXT* pSrcCaches);
12305 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
12307 VkValidationCacheEXT validationCache,
12308 deUintptr* pDataSize,
12313 #define VK_EXT_descriptor_indexing 1
12314 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
12315 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
12316 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
12318 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
12320 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
12322 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
12324 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
12326 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
12328 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
12332 #define VK_EXT_shader_viewport_index_layer 1
12333 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
12334 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
12337 #define VK_NV_shading_rate_image 1
12338 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
12339 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
12341 typedef enum VkShadingRatePaletteEntryNV {
12342 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
12343 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
12344 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
12345 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
12346 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
12347 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
12348 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
12349 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
12350 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
12351 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12352 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
12353 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
12354 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
12355 } VkShadingRatePaletteEntryNV;
12357 typedef enum VkCoarseSampleOrderTypeNV {
12358 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
12359 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
12360 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
12361 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
12362 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12363 } VkCoarseSampleOrderTypeNV;
12364 typedef struct VkShadingRatePaletteNV {
12365 deUint32 shadingRatePaletteEntryCount;
12366 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
12367 } VkShadingRatePaletteNV;
12369 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
12370 VkStructureType sType;
12372 VkBool32 shadingRateImageEnable;
12373 deUint32 viewportCount;
12374 const VkShadingRatePaletteNV* pShadingRatePalettes;
12375 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
12377 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
12378 VkStructureType sType;
12380 VkBool32 shadingRateImage;
12381 VkBool32 shadingRateCoarseSampleOrder;
12382 } VkPhysicalDeviceShadingRateImageFeaturesNV;
12384 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
12385 VkStructureType sType;
12387 VkExtent2D shadingRateTexelSize;
12388 deUint32 shadingRatePaletteSize;
12389 deUint32 shadingRateMaxCoarseSamples;
12390 } VkPhysicalDeviceShadingRateImagePropertiesNV;
12392 typedef struct VkCoarseSampleLocationNV {
12396 } VkCoarseSampleLocationNV;
12398 typedef struct VkCoarseSampleOrderCustomNV {
12399 VkShadingRatePaletteEntryNV shadingRate;
12400 deUint32 sampleCount;
12401 deUint32 sampleLocationCount;
12402 const VkCoarseSampleLocationNV* pSampleLocations;
12403 } VkCoarseSampleOrderCustomNV;
12405 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
12406 VkStructureType sType;
12408 VkCoarseSampleOrderTypeNV sampleOrderType;
12409 deUint32 customSampleOrderCount;
12410 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
12411 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
12413 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
12414 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
12415 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
12417 #ifndef VK_NO_PROTOTYPES
12418 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
12419 VkCommandBuffer commandBuffer,
12420 VkImageView imageView,
12421 VkImageLayout imageLayout);
12423 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
12424 VkCommandBuffer commandBuffer,
12425 deUint32 firstViewport,
12426 deUint32 viewportCount,
12427 const VkShadingRatePaletteNV* pShadingRatePalettes);
12429 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
12430 VkCommandBuffer commandBuffer,
12431 VkCoarseSampleOrderTypeNV sampleOrderType,
12432 deUint32 customSampleOrderCount,
12433 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
12437 #define VK_NV_ray_tracing 1
12438 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
12439 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
12440 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
12441 #define VK_SHADER_UNUSED_KHR (~0U)
12442 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
12444 typedef enum VkRayTracingShaderGroupTypeKHR {
12445 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
12446 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
12447 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
12448 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
12449 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
12450 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
12451 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12452 } VkRayTracingShaderGroupTypeKHR;
12453 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
12456 typedef enum VkGeometryTypeKHR {
12457 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
12458 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
12459 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
12460 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
12461 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
12462 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12463 } VkGeometryTypeKHR;
12464 typedef VkGeometryTypeKHR VkGeometryTypeNV;
12467 typedef enum VkAccelerationStructureTypeKHR {
12468 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
12469 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
12470 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
12471 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
12472 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
12473 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12474 } VkAccelerationStructureTypeKHR;
12475 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
12478 typedef enum VkCopyAccelerationStructureModeKHR {
12479 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
12480 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
12481 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
12482 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
12483 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
12484 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
12485 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
12486 } VkCopyAccelerationStructureModeKHR;
12487 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
12490 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
12491 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
12492 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
12493 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
12494 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12495 } VkAccelerationStructureMemoryRequirementsTypeNV;
12497 typedef enum VkGeometryFlagBitsKHR {
12498 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
12499 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
12500 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
12501 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
12502 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12503 } VkGeometryFlagBitsKHR;
12504 typedef VkFlags VkGeometryFlagsKHR;
12505 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
12507 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
12510 typedef enum VkGeometryInstanceFlagBitsKHR {
12511 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
12512 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
12513 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
12514 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
12515 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
12516 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
12517 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
12518 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
12519 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
12520 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12521 } VkGeometryInstanceFlagBitsKHR;
12522 typedef VkFlags VkGeometryInstanceFlagsKHR;
12523 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
12525 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
12528 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
12529 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
12530 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
12531 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
12532 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
12533 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
12534 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
12535 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
12536 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
12537 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
12538 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
12539 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
12540 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12541 } VkBuildAccelerationStructureFlagBitsKHR;
12542 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
12543 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
12545 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
12547 typedef struct VkRayTracingShaderGroupCreateInfoNV {
12548 VkStructureType sType;
12550 VkRayTracingShaderGroupTypeKHR type;
12551 deUint32 generalShader;
12552 deUint32 closestHitShader;
12553 deUint32 anyHitShader;
12554 deUint32 intersectionShader;
12555 } VkRayTracingShaderGroupCreateInfoNV;
12557 typedef struct VkRayTracingPipelineCreateInfoNV {
12558 VkStructureType sType;
12560 VkPipelineCreateFlags flags;
12561 deUint32 stageCount;
12562 const VkPipelineShaderStageCreateInfo* pStages;
12563 deUint32 groupCount;
12564 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
12565 deUint32 maxRecursionDepth;
12566 VkPipelineLayout layout;
12567 VkPipeline basePipelineHandle;
12568 deInt32 basePipelineIndex;
12569 } VkRayTracingPipelineCreateInfoNV;
12571 typedef struct VkGeometryTrianglesNV {
12572 VkStructureType sType;
12574 VkBuffer vertexData;
12575 VkDeviceSize vertexOffset;
12576 deUint32 vertexCount;
12577 VkDeviceSize vertexStride;
12578 VkFormat vertexFormat;
12579 VkBuffer indexData;
12580 VkDeviceSize indexOffset;
12581 deUint32 indexCount;
12582 VkIndexType indexType;
12583 VkBuffer transformData;
12584 VkDeviceSize transformOffset;
12585 } VkGeometryTrianglesNV;
12587 typedef struct VkGeometryAABBNV {
12588 VkStructureType sType;
12593 VkDeviceSize offset;
12594 } VkGeometryAABBNV;
12596 typedef struct VkGeometryDataNV {
12597 VkGeometryTrianglesNV triangles;
12598 VkGeometryAABBNV aabbs;
12599 } VkGeometryDataNV;
12601 typedef struct VkGeometryNV {
12602 VkStructureType sType;
12604 VkGeometryTypeKHR geometryType;
12605 VkGeometryDataNV geometry;
12606 VkGeometryFlagsKHR flags;
12609 typedef struct VkAccelerationStructureInfoNV {
12610 VkStructureType sType;
12612 VkAccelerationStructureTypeNV type;
12613 VkBuildAccelerationStructureFlagsNV flags;
12614 deUint32 instanceCount;
12615 deUint32 geometryCount;
12616 const VkGeometryNV* pGeometries;
12617 } VkAccelerationStructureInfoNV;
12619 typedef struct VkAccelerationStructureCreateInfoNV {
12620 VkStructureType sType;
12622 VkDeviceSize compactedSize;
12623 VkAccelerationStructureInfoNV info;
12624 } VkAccelerationStructureCreateInfoNV;
12626 typedef struct VkBindAccelerationStructureMemoryInfoNV {
12627 VkStructureType sType;
12629 VkAccelerationStructureNV accelerationStructure;
12630 VkDeviceMemory memory;
12631 VkDeviceSize memoryOffset;
12632 deUint32 deviceIndexCount;
12633 const deUint32* pDeviceIndices;
12634 } VkBindAccelerationStructureMemoryInfoNV;
12636 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
12637 VkStructureType sType;
12639 deUint32 accelerationStructureCount;
12640 const VkAccelerationStructureNV* pAccelerationStructures;
12641 } VkWriteDescriptorSetAccelerationStructureNV;
12643 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
12644 VkStructureType sType;
12646 VkAccelerationStructureMemoryRequirementsTypeNV type;
12647 VkAccelerationStructureNV accelerationStructure;
12648 } VkAccelerationStructureMemoryRequirementsInfoNV;
12650 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
12651 VkStructureType sType;
12653 deUint32 shaderGroupHandleSize;
12654 deUint32 maxRecursionDepth;
12655 deUint32 maxShaderGroupStride;
12656 deUint32 shaderGroupBaseAlignment;
12657 deUint64 maxGeometryCount;
12658 deUint64 maxInstanceCount;
12659 deUint64 maxTriangleCount;
12660 deUint32 maxDescriptorSetAccelerationStructures;
12661 } VkPhysicalDeviceRayTracingPropertiesNV;
12663 typedef struct VkTransformMatrixKHR {
12664 float matrix[3][4];
12665 } VkTransformMatrixKHR;
12667 typedef VkTransformMatrixKHR VkTransformMatrixNV;
12669 typedef struct VkAabbPositionsKHR {
12676 } VkAabbPositionsKHR;
12678 typedef VkAabbPositionsKHR VkAabbPositionsNV;
12680 typedef struct VkAccelerationStructureInstanceKHR {
12681 VkTransformMatrixKHR transform;
12682 deUint32 instanceCustomIndex:24;
12684 deUint32 instanceShaderBindingTableRecordOffset:24;
12685 VkGeometryInstanceFlagsKHR flags:8;
12686 deUint64 accelerationStructureReference;
12687 } VkAccelerationStructureInstanceKHR;
12689 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
12691 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
12692 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
12693 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
12694 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
12695 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset);
12696 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
12697 typedef 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);
12698 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
12699 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
12700 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
12701 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
12702 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
12703 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
12705 #ifndef VK_NO_PROTOTYPES
12706 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
12708 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
12709 const VkAllocationCallbacks* pAllocator,
12710 VkAccelerationStructureNV* pAccelerationStructure);
12712 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
12714 VkAccelerationStructureNV accelerationStructure,
12715 const VkAllocationCallbacks* pAllocator);
12717 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
12719 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
12720 VkMemoryRequirements2KHR* pMemoryRequirements);
12722 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
12724 deUint32 bindInfoCount,
12725 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
12727 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
12728 VkCommandBuffer commandBuffer,
12729 const VkAccelerationStructureInfoNV* pInfo,
12730 VkBuffer instanceData,
12731 VkDeviceSize instanceOffset,
12733 VkAccelerationStructureNV dst,
12734 VkAccelerationStructureNV src,
12736 VkDeviceSize scratchOffset);
12738 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
12739 VkCommandBuffer commandBuffer,
12740 VkAccelerationStructureNV dst,
12741 VkAccelerationStructureNV src,
12742 VkCopyAccelerationStructureModeKHR mode);
12744 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
12745 VkCommandBuffer commandBuffer,
12746 VkBuffer raygenShaderBindingTableBuffer,
12747 VkDeviceSize raygenShaderBindingOffset,
12748 VkBuffer missShaderBindingTableBuffer,
12749 VkDeviceSize missShaderBindingOffset,
12750 VkDeviceSize missShaderBindingStride,
12751 VkBuffer hitShaderBindingTableBuffer,
12752 VkDeviceSize hitShaderBindingOffset,
12753 VkDeviceSize hitShaderBindingStride,
12754 VkBuffer callableShaderBindingTableBuffer,
12755 VkDeviceSize callableShaderBindingOffset,
12756 VkDeviceSize callableShaderBindingStride,
12761 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
12763 VkPipelineCache pipelineCache,
12764 deUint32 createInfoCount,
12765 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
12766 const VkAllocationCallbacks* pAllocator,
12767 VkPipeline* pPipelines);
12769 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
12771 VkPipeline pipeline,
12772 deUint32 firstGroup,
12773 deUint32 groupCount,
12774 deUintptr dataSize,
12777 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
12779 VkPipeline pipeline,
12780 deUint32 firstGroup,
12781 deUint32 groupCount,
12782 deUintptr dataSize,
12785 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
12787 VkAccelerationStructureNV accelerationStructure,
12788 deUintptr dataSize,
12791 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
12792 VkCommandBuffer commandBuffer,
12793 deUint32 accelerationStructureCount,
12794 const VkAccelerationStructureNV* pAccelerationStructures,
12795 VkQueryType queryType,
12796 VkQueryPool queryPool,
12797 deUint32 firstQuery);
12799 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
12801 VkPipeline pipeline,
12806 #define VK_NV_representative_fragment_test 1
12807 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
12808 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
12809 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
12810 VkStructureType sType;
12812 VkBool32 representativeFragmentTest;
12813 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
12815 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
12816 VkStructureType sType;
12818 VkBool32 representativeFragmentTestEnable;
12819 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
12823 #define VK_EXT_filter_cubic 1
12824 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
12825 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
12826 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
12827 VkStructureType sType;
12829 VkImageViewType imageViewType;
12830 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
12832 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
12833 VkStructureType sType;
12835 VkBool32 filterCubic;
12836 VkBool32 filterCubicMinmax;
12837 } VkFilterCubicImageViewImageFormatPropertiesEXT;
12841 #define VK_QCOM_render_pass_shader_resolve 1
12842 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
12843 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
12846 #define VK_EXT_global_priority 1
12847 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
12848 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
12849 typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT;
12851 typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT;
12855 #define VK_EXT_external_memory_host 1
12856 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
12857 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
12858 typedef struct VkImportMemoryHostPointerInfoEXT {
12859 VkStructureType sType;
12861 VkExternalMemoryHandleTypeFlagBits handleType;
12862 void* pHostPointer;
12863 } VkImportMemoryHostPointerInfoEXT;
12865 typedef struct VkMemoryHostPointerPropertiesEXT {
12866 VkStructureType sType;
12868 deUint32 memoryTypeBits;
12869 } VkMemoryHostPointerPropertiesEXT;
12871 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
12872 VkStructureType sType;
12874 VkDeviceSize minImportedHostPointerAlignment;
12875 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
12877 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
12879 #ifndef VK_NO_PROTOTYPES
12880 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
12882 VkExternalMemoryHandleTypeFlagBits handleType,
12883 const void* pHostPointer,
12884 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
12888 #define VK_AMD_buffer_marker 1
12889 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
12890 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
12891 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
12893 #ifndef VK_NO_PROTOTYPES
12894 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
12895 VkCommandBuffer commandBuffer,
12896 VkPipelineStageFlagBits pipelineStage,
12897 VkBuffer dstBuffer,
12898 VkDeviceSize dstOffset,
12903 #define VK_AMD_pipeline_compiler_control 1
12904 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
12905 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
12907 typedef enum VkPipelineCompilerControlFlagBitsAMD {
12908 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
12909 } VkPipelineCompilerControlFlagBitsAMD;
12910 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
12911 typedef struct VkPipelineCompilerControlCreateInfoAMD {
12912 VkStructureType sType;
12914 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
12915 } VkPipelineCompilerControlCreateInfoAMD;
12919 #define VK_EXT_calibrated_timestamps 1
12920 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
12921 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
12923 typedef enum VkTimeDomainEXT {
12924 VK_TIME_DOMAIN_DEVICE_EXT = 0,
12925 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
12926 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
12927 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
12928 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
12930 typedef struct VkCalibratedTimestampInfoEXT {
12931 VkStructureType sType;
12933 VkTimeDomainEXT timeDomain;
12934 } VkCalibratedTimestampInfoEXT;
12936 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
12937 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
12939 #ifndef VK_NO_PROTOTYPES
12940 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
12941 VkPhysicalDevice physicalDevice,
12942 deUint32* pTimeDomainCount,
12943 VkTimeDomainEXT* pTimeDomains);
12945 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
12947 deUint32 timestampCount,
12948 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
12949 deUint64* pTimestamps,
12950 deUint64* pMaxDeviation);
12954 #define VK_AMD_shader_core_properties 1
12955 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
12956 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
12957 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
12958 VkStructureType sType;
12960 deUint32 shaderEngineCount;
12961 deUint32 shaderArraysPerEngineCount;
12962 deUint32 computeUnitsPerShaderArray;
12963 deUint32 simdPerComputeUnit;
12964 deUint32 wavefrontsPerSimd;
12965 deUint32 wavefrontSize;
12966 deUint32 sgprsPerSimd;
12967 deUint32 minSgprAllocation;
12968 deUint32 maxSgprAllocation;
12969 deUint32 sgprAllocationGranularity;
12970 deUint32 vgprsPerSimd;
12971 deUint32 minVgprAllocation;
12972 deUint32 maxVgprAllocation;
12973 deUint32 vgprAllocationGranularity;
12974 } VkPhysicalDeviceShaderCorePropertiesAMD;
12978 #define VK_AMD_memory_overallocation_behavior 1
12979 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
12980 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
12982 typedef enum VkMemoryOverallocationBehaviorAMD {
12983 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
12984 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
12985 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
12986 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
12987 } VkMemoryOverallocationBehaviorAMD;
12988 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
12989 VkStructureType sType;
12991 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
12992 } VkDeviceMemoryOverallocationCreateInfoAMD;
12996 #define VK_EXT_vertex_attribute_divisor 1
12997 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
12998 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
12999 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
13000 VkStructureType sType;
13002 deUint32 maxVertexAttribDivisor;
13003 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
13005 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
13008 } VkVertexInputBindingDivisorDescriptionEXT;
13010 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
13011 VkStructureType sType;
13013 deUint32 vertexBindingDivisorCount;
13014 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
13015 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
13017 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
13018 VkStructureType sType;
13020 VkBool32 vertexAttributeInstanceRateDivisor;
13021 VkBool32 vertexAttributeInstanceRateZeroDivisor;
13022 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
13026 #define VK_EXT_pipeline_creation_feedback 1
13027 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
13028 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
13029 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT;
13031 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT;
13033 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT;
13035 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT;
13039 #define VK_NV_shader_subgroup_partitioned 1
13040 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
13041 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
13044 #define VK_NV_compute_shader_derivatives 1
13045 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
13046 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
13047 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
13048 VkStructureType sType;
13050 VkBool32 computeDerivativeGroupQuads;
13051 VkBool32 computeDerivativeGroupLinear;
13052 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
13056 #define VK_NV_mesh_shader 1
13057 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
13058 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
13059 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
13060 VkStructureType sType;
13062 VkBool32 taskShader;
13063 VkBool32 meshShader;
13064 } VkPhysicalDeviceMeshShaderFeaturesNV;
13066 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
13067 VkStructureType sType;
13069 deUint32 maxDrawMeshTasksCount;
13070 deUint32 maxTaskWorkGroupInvocations;
13071 deUint32 maxTaskWorkGroupSize[3];
13072 deUint32 maxTaskTotalMemorySize;
13073 deUint32 maxTaskOutputCount;
13074 deUint32 maxMeshWorkGroupInvocations;
13075 deUint32 maxMeshWorkGroupSize[3];
13076 deUint32 maxMeshTotalMemorySize;
13077 deUint32 maxMeshOutputVertices;
13078 deUint32 maxMeshOutputPrimitives;
13079 deUint32 maxMeshMultiviewViewCount;
13080 deUint32 meshOutputPerVertexGranularity;
13081 deUint32 meshOutputPerPrimitiveGranularity;
13082 } VkPhysicalDeviceMeshShaderPropertiesNV;
13084 typedef struct VkDrawMeshTasksIndirectCommandNV {
13085 deUint32 taskCount;
13086 deUint32 firstTask;
13087 } VkDrawMeshTasksIndirectCommandNV;
13089 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
13090 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
13091 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
13093 #ifndef VK_NO_PROTOTYPES
13094 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
13095 VkCommandBuffer commandBuffer,
13096 deUint32 taskCount,
13097 deUint32 firstTask);
13099 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
13100 VkCommandBuffer commandBuffer,
13102 VkDeviceSize offset,
13103 deUint32 drawCount,
13106 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
13107 VkCommandBuffer commandBuffer,
13109 VkDeviceSize offset,
13110 VkBuffer countBuffer,
13111 VkDeviceSize countBufferOffset,
13112 deUint32 maxDrawCount,
13117 #define VK_NV_fragment_shader_barycentric 1
13118 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
13119 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
13120 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
13124 #define VK_NV_shader_image_footprint 1
13125 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
13126 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
13127 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
13128 VkStructureType sType;
13130 VkBool32 imageFootprint;
13131 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
13135 #define VK_NV_scissor_exclusive 1
13136 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
13137 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
13138 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
13139 VkStructureType sType;
13141 deUint32 exclusiveScissorCount;
13142 const VkRect2D* pExclusiveScissors;
13143 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
13145 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
13146 VkStructureType sType;
13148 VkBool32 exclusiveScissor;
13149 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
13151 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
13153 #ifndef VK_NO_PROTOTYPES
13154 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
13155 VkCommandBuffer commandBuffer,
13156 deUint32 firstExclusiveScissor,
13157 deUint32 exclusiveScissorCount,
13158 const VkRect2D* pExclusiveScissors);
13162 #define VK_NV_device_diagnostic_checkpoints 1
13163 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
13164 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
13165 typedef struct VkQueueFamilyCheckpointPropertiesNV {
13166 VkStructureType sType;
13168 VkPipelineStageFlags checkpointExecutionStageMask;
13169 } VkQueueFamilyCheckpointPropertiesNV;
13171 typedef struct VkCheckpointDataNV {
13172 VkStructureType sType;
13174 VkPipelineStageFlagBits stage;
13175 void* pCheckpointMarker;
13176 } VkCheckpointDataNV;
13178 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
13179 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
13181 #ifndef VK_NO_PROTOTYPES
13182 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
13183 VkCommandBuffer commandBuffer,
13184 const void* pCheckpointMarker);
13186 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
13188 deUint32* pCheckpointDataCount,
13189 VkCheckpointDataNV* pCheckpointData);
13193 #define VK_INTEL_shader_integer_functions2 1
13194 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
13195 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
13196 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
13197 VkStructureType sType;
13199 VkBool32 shaderIntegerFunctions2;
13200 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
13204 #define VK_INTEL_performance_query 1
13205 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
13206 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
13207 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
13209 typedef enum VkPerformanceConfigurationTypeINTEL {
13210 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
13211 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13212 } VkPerformanceConfigurationTypeINTEL;
13214 typedef enum VkQueryPoolSamplingModeINTEL {
13215 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
13216 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
13217 } VkQueryPoolSamplingModeINTEL;
13219 typedef enum VkPerformanceOverrideTypeINTEL {
13220 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
13221 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
13222 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13223 } VkPerformanceOverrideTypeINTEL;
13225 typedef enum VkPerformanceParameterTypeINTEL {
13226 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
13227 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
13228 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13229 } VkPerformanceParameterTypeINTEL;
13231 typedef enum VkPerformanceValueTypeINTEL {
13232 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
13233 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
13234 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
13235 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
13236 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
13237 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13238 } VkPerformanceValueTypeINTEL;
13239 typedef union VkPerformanceValueDataINTEL {
13243 VkBool32 valueBool;
13244 const char* valueString;
13245 } VkPerformanceValueDataINTEL;
13247 typedef struct VkPerformanceValueINTEL {
13248 VkPerformanceValueTypeINTEL type;
13249 VkPerformanceValueDataINTEL data;
13250 } VkPerformanceValueINTEL;
13252 typedef struct VkInitializePerformanceApiInfoINTEL {
13253 VkStructureType sType;
13256 } VkInitializePerformanceApiInfoINTEL;
13258 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
13259 VkStructureType sType;
13261 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
13262 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
13264 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
13266 typedef struct VkPerformanceMarkerInfoINTEL {
13267 VkStructureType sType;
13270 } VkPerformanceMarkerInfoINTEL;
13272 typedef struct VkPerformanceStreamMarkerInfoINTEL {
13273 VkStructureType sType;
13276 } VkPerformanceStreamMarkerInfoINTEL;
13278 typedef struct VkPerformanceOverrideInfoINTEL {
13279 VkStructureType sType;
13281 VkPerformanceOverrideTypeINTEL type;
13283 deUint64 parameter;
13284 } VkPerformanceOverrideInfoINTEL;
13286 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
13287 VkStructureType sType;
13289 VkPerformanceConfigurationTypeINTEL type;
13290 } VkPerformanceConfigurationAcquireInfoINTEL;
13292 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
13293 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
13294 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
13295 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
13296 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
13297 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
13298 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
13299 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
13300 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
13302 #ifndef VK_NO_PROTOTYPES
13303 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
13305 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
13307 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
13310 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
13311 VkCommandBuffer commandBuffer,
13312 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
13314 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
13315 VkCommandBuffer commandBuffer,
13316 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
13318 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
13319 VkCommandBuffer commandBuffer,
13320 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
13322 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
13324 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
13325 VkPerformanceConfigurationINTEL* pConfiguration);
13327 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
13329 VkPerformanceConfigurationINTEL configuration);
13331 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
13333 VkPerformanceConfigurationINTEL configuration);
13335 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
13337 VkPerformanceParameterTypeINTEL parameter,
13338 VkPerformanceValueINTEL* pValue);
13342 #define VK_EXT_pci_bus_info 1
13343 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
13344 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
13345 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
13346 VkStructureType sType;
13348 deUint32 pciDomain;
13350 deUint32 pciDevice;
13351 deUint32 pciFunction;
13352 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
13356 #define VK_AMD_display_native_hdr 1
13357 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
13358 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
13359 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
13360 VkStructureType sType;
13362 VkBool32 localDimmingSupport;
13363 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
13365 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
13366 VkStructureType sType;
13368 VkBool32 localDimmingEnable;
13369 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
13371 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
13373 #ifndef VK_NO_PROTOTYPES
13374 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
13376 VkSwapchainKHR swapChain,
13377 VkBool32 localDimmingEnable);
13381 #define VK_EXT_fragment_density_map 1
13382 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2
13383 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
13384 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
13385 VkStructureType sType;
13387 VkBool32 fragmentDensityMap;
13388 VkBool32 fragmentDensityMapDynamic;
13389 VkBool32 fragmentDensityMapNonSubsampledImages;
13390 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
13392 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
13393 VkStructureType sType;
13395 VkExtent2D minFragmentDensityTexelSize;
13396 VkExtent2D maxFragmentDensityTexelSize;
13397 VkBool32 fragmentDensityInvocations;
13398 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
13400 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
13401 VkStructureType sType;
13403 VkAttachmentReference fragmentDensityMapAttachment;
13404 } VkRenderPassFragmentDensityMapCreateInfoEXT;
13408 #define VK_EXT_scalar_block_layout 1
13409 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
13410 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
13411 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
13415 #define VK_GOOGLE_hlsl_functionality1 1
13416 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1
13417 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
13418 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
13419 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
13422 #define VK_GOOGLE_decorate_string 1
13423 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
13424 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
13427 #define VK_EXT_subgroup_size_control 1
13428 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
13429 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
13430 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
13432 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
13434 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
13438 #define VK_AMD_shader_core_properties2 1
13439 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
13440 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
13442 typedef enum VkShaderCorePropertiesFlagBitsAMD {
13443 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
13444 } VkShaderCorePropertiesFlagBitsAMD;
13445 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
13446 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
13447 VkStructureType sType;
13449 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
13450 deUint32 activeComputeUnitCount;
13451 } VkPhysicalDeviceShaderCoreProperties2AMD;
13455 #define VK_AMD_device_coherent_memory 1
13456 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
13457 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
13458 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
13459 VkStructureType sType;
13461 VkBool32 deviceCoherentMemory;
13462 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
13466 #define VK_EXT_shader_image_atomic_int64 1
13467 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
13468 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
13469 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
13470 VkStructureType sType;
13472 VkBool32 shaderImageInt64Atomics;
13473 VkBool32 sparseImageInt64Atomics;
13474 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
13478 #define VK_EXT_memory_budget 1
13479 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
13480 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
13481 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
13482 VkStructureType sType;
13484 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
13485 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
13486 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
13490 #define VK_EXT_memory_priority 1
13491 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
13492 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
13493 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
13494 VkStructureType sType;
13496 VkBool32 memoryPriority;
13497 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
13499 typedef struct VkMemoryPriorityAllocateInfoEXT {
13500 VkStructureType sType;
13503 } VkMemoryPriorityAllocateInfoEXT;
13507 #define VK_NV_dedicated_allocation_image_aliasing 1
13508 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
13509 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
13510 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
13511 VkStructureType sType;
13513 VkBool32 dedicatedAllocationImageAliasing;
13514 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
13518 #define VK_EXT_buffer_device_address 1
13519 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
13520 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
13521 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
13522 VkStructureType sType;
13524 VkBool32 bufferDeviceAddress;
13525 VkBool32 bufferDeviceAddressCaptureReplay;
13526 VkBool32 bufferDeviceAddressMultiDevice;
13527 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
13529 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
13531 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
13533 typedef struct VkBufferDeviceAddressCreateInfoEXT {
13534 VkStructureType sType;
13536 VkDeviceAddress deviceAddress;
13537 } VkBufferDeviceAddressCreateInfoEXT;
13539 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
13541 #ifndef VK_NO_PROTOTYPES
13542 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
13544 const VkBufferDeviceAddressInfo* pInfo);
13548 #define VK_EXT_tooling_info 1
13549 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
13550 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
13551 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT;
13553 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT;
13555 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT;
13557 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
13559 #ifndef VK_NO_PROTOTYPES
13560 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
13561 VkPhysicalDevice physicalDevice,
13562 deUint32* pToolCount,
13563 VkPhysicalDeviceToolProperties* pToolProperties);
13567 #define VK_EXT_separate_stencil_usage 1
13568 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
13569 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
13570 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
13574 #define VK_EXT_validation_features 1
13575 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
13576 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
13578 typedef enum VkValidationFeatureEnableEXT {
13579 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
13580 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
13581 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
13582 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
13583 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
13584 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
13585 } VkValidationFeatureEnableEXT;
13587 typedef enum VkValidationFeatureDisableEXT {
13588 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
13589 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
13590 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
13591 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
13592 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
13593 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
13594 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
13595 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
13596 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
13597 } VkValidationFeatureDisableEXT;
13598 typedef struct VkValidationFeaturesEXT {
13599 VkStructureType sType;
13601 deUint32 enabledValidationFeatureCount;
13602 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
13603 deUint32 disabledValidationFeatureCount;
13604 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
13605 } VkValidationFeaturesEXT;
13609 #define VK_NV_cooperative_matrix 1
13610 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
13611 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
13613 typedef enum VkComponentTypeNV {
13614 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
13615 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
13616 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
13617 VK_COMPONENT_TYPE_SINT8_NV = 3,
13618 VK_COMPONENT_TYPE_SINT16_NV = 4,
13619 VK_COMPONENT_TYPE_SINT32_NV = 5,
13620 VK_COMPONENT_TYPE_SINT64_NV = 6,
13621 VK_COMPONENT_TYPE_UINT8_NV = 7,
13622 VK_COMPONENT_TYPE_UINT16_NV = 8,
13623 VK_COMPONENT_TYPE_UINT32_NV = 9,
13624 VK_COMPONENT_TYPE_UINT64_NV = 10,
13625 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13626 } VkComponentTypeNV;
13628 typedef enum VkScopeNV {
13629 VK_SCOPE_DEVICE_NV = 1,
13630 VK_SCOPE_WORKGROUP_NV = 2,
13631 VK_SCOPE_SUBGROUP_NV = 3,
13632 VK_SCOPE_QUEUE_FAMILY_NV = 5,
13633 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
13635 typedef struct VkCooperativeMatrixPropertiesNV {
13636 VkStructureType sType;
13641 VkComponentTypeNV AType;
13642 VkComponentTypeNV BType;
13643 VkComponentTypeNV CType;
13644 VkComponentTypeNV DType;
13646 } VkCooperativeMatrixPropertiesNV;
13648 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
13649 VkStructureType sType;
13651 VkBool32 cooperativeMatrix;
13652 VkBool32 cooperativeMatrixRobustBufferAccess;
13653 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
13655 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
13656 VkStructureType sType;
13658 VkShaderStageFlags cooperativeMatrixSupportedStages;
13659 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
13661 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
13663 #ifndef VK_NO_PROTOTYPES
13664 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
13665 VkPhysicalDevice physicalDevice,
13666 deUint32* pPropertyCount,
13667 VkCooperativeMatrixPropertiesNV* pProperties);
13671 #define VK_NV_coverage_reduction_mode 1
13672 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
13673 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
13675 typedef enum VkCoverageReductionModeNV {
13676 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
13677 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
13678 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
13679 } VkCoverageReductionModeNV;
13680 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
13681 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
13682 VkStructureType sType;
13684 VkBool32 coverageReductionMode;
13685 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
13687 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
13688 VkStructureType sType;
13690 VkPipelineCoverageReductionStateCreateFlagsNV flags;
13691 VkCoverageReductionModeNV coverageReductionMode;
13692 } VkPipelineCoverageReductionStateCreateInfoNV;
13694 typedef struct VkFramebufferMixedSamplesCombinationNV {
13695 VkStructureType sType;
13697 VkCoverageReductionModeNV coverageReductionMode;
13698 VkSampleCountFlagBits rasterizationSamples;
13699 VkSampleCountFlags depthStencilSamples;
13700 VkSampleCountFlags colorSamples;
13701 } VkFramebufferMixedSamplesCombinationNV;
13703 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
13705 #ifndef VK_NO_PROTOTYPES
13706 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
13707 VkPhysicalDevice physicalDevice,
13708 deUint32* pCombinationCount,
13709 VkFramebufferMixedSamplesCombinationNV* pCombinations);
13713 #define VK_EXT_fragment_shader_interlock 1
13714 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
13715 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
13716 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
13717 VkStructureType sType;
13719 VkBool32 fragmentShaderSampleInterlock;
13720 VkBool32 fragmentShaderPixelInterlock;
13721 VkBool32 fragmentShaderShadingRateInterlock;
13722 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
13726 #define VK_EXT_ycbcr_image_arrays 1
13727 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
13728 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
13729 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
13730 VkStructureType sType;
13732 VkBool32 ycbcrImageArrays;
13733 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
13737 #define VK_EXT_provoking_vertex 1
13738 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
13739 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
13741 typedef enum VkProvokingVertexModeEXT {
13742 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
13743 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
13744 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
13745 } VkProvokingVertexModeEXT;
13746 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
13747 VkStructureType sType;
13749 VkBool32 provokingVertexLast;
13750 VkBool32 transformFeedbackPreservesProvokingVertex;
13751 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
13753 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
13754 VkStructureType sType;
13756 VkBool32 provokingVertexModePerPipeline;
13757 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
13758 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
13760 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
13761 VkStructureType sType;
13763 VkProvokingVertexModeEXT provokingVertexMode;
13764 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
13768 #define VK_EXT_headless_surface 1
13769 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
13770 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
13771 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
13772 typedef struct VkHeadlessSurfaceCreateInfoEXT {
13773 VkStructureType sType;
13775 VkHeadlessSurfaceCreateFlagsEXT flags;
13776 } VkHeadlessSurfaceCreateInfoEXT;
13778 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
13780 #ifndef VK_NO_PROTOTYPES
13781 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
13782 VkInstance instance,
13783 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
13784 const VkAllocationCallbacks* pAllocator,
13785 VkSurfaceKHR* pSurface);
13789 #define VK_EXT_line_rasterization 1
13790 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
13791 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
13793 typedef enum VkLineRasterizationModeEXT {
13794 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
13795 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
13796 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
13797 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
13798 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
13799 } VkLineRasterizationModeEXT;
13800 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
13801 VkStructureType sType;
13803 VkBool32 rectangularLines;
13804 VkBool32 bresenhamLines;
13805 VkBool32 smoothLines;
13806 VkBool32 stippledRectangularLines;
13807 VkBool32 stippledBresenhamLines;
13808 VkBool32 stippledSmoothLines;
13809 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
13811 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
13812 VkStructureType sType;
13814 deUint32 lineSubPixelPrecisionBits;
13815 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
13817 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
13818 VkStructureType sType;
13820 VkLineRasterizationModeEXT lineRasterizationMode;
13821 VkBool32 stippledLineEnable;
13822 deUint32 lineStippleFactor;
13823 deUint16 lineStipplePattern;
13824 } VkPipelineRasterizationLineStateCreateInfoEXT;
13826 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
13828 #ifndef VK_NO_PROTOTYPES
13829 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
13830 VkCommandBuffer commandBuffer,
13831 deUint32 lineStippleFactor,
13832 deUint16 lineStipplePattern);
13836 #define VK_EXT_shader_atomic_float 1
13837 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
13838 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
13839 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
13840 VkStructureType sType;
13842 VkBool32 shaderBufferFloat32Atomics;
13843 VkBool32 shaderBufferFloat32AtomicAdd;
13844 VkBool32 shaderBufferFloat64Atomics;
13845 VkBool32 shaderBufferFloat64AtomicAdd;
13846 VkBool32 shaderSharedFloat32Atomics;
13847 VkBool32 shaderSharedFloat32AtomicAdd;
13848 VkBool32 shaderSharedFloat64Atomics;
13849 VkBool32 shaderSharedFloat64AtomicAdd;
13850 VkBool32 shaderImageFloat32Atomics;
13851 VkBool32 shaderImageFloat32AtomicAdd;
13852 VkBool32 sparseImageFloat32Atomics;
13853 VkBool32 sparseImageFloat32AtomicAdd;
13854 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
13858 #define VK_EXT_host_query_reset 1
13859 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
13860 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
13861 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
13863 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
13865 #ifndef VK_NO_PROTOTYPES
13866 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
13868 VkQueryPool queryPool,
13869 deUint32 firstQuery,
13870 deUint32 queryCount);
13874 #define VK_EXT_index_type_uint8 1
13875 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
13876 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
13877 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
13878 VkStructureType sType;
13880 VkBool32 indexTypeUint8;
13881 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
13885 #define VK_EXT_extended_dynamic_state 1
13886 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
13887 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
13888 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
13889 VkStructureType sType;
13891 VkBool32 extendedDynamicState;
13892 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
13894 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
13895 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
13896 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
13897 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
13898 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
13899 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
13900 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
13901 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
13902 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
13903 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
13904 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
13905 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
13907 #ifndef VK_NO_PROTOTYPES
13908 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
13909 VkCommandBuffer commandBuffer,
13910 VkCullModeFlags cullMode);
13912 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
13913 VkCommandBuffer commandBuffer,
13914 VkFrontFace frontFace);
13916 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
13917 VkCommandBuffer commandBuffer,
13918 VkPrimitiveTopology primitiveTopology);
13920 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
13921 VkCommandBuffer commandBuffer,
13922 deUint32 viewportCount,
13923 const VkViewport* pViewports);
13925 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
13926 VkCommandBuffer commandBuffer,
13927 deUint32 scissorCount,
13928 const VkRect2D* pScissors);
13930 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
13931 VkCommandBuffer commandBuffer,
13932 deUint32 firstBinding,
13933 deUint32 bindingCount,
13934 const VkBuffer* pBuffers,
13935 const VkDeviceSize* pOffsets,
13936 const VkDeviceSize* pSizes,
13937 const VkDeviceSize* pStrides);
13939 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
13940 VkCommandBuffer commandBuffer,
13941 VkBool32 depthTestEnable);
13943 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
13944 VkCommandBuffer commandBuffer,
13945 VkBool32 depthWriteEnable);
13947 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
13948 VkCommandBuffer commandBuffer,
13949 VkCompareOp depthCompareOp);
13951 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
13952 VkCommandBuffer commandBuffer,
13953 VkBool32 depthBoundsTestEnable);
13955 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
13956 VkCommandBuffer commandBuffer,
13957 VkBool32 stencilTestEnable);
13959 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
13960 VkCommandBuffer commandBuffer,
13961 VkStencilFaceFlags faceMask,
13962 VkStencilOp failOp,
13963 VkStencilOp passOp,
13964 VkStencilOp depthFailOp,
13965 VkCompareOp compareOp);
13969 #define VK_EXT_shader_atomic_float2 1
13970 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
13971 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
13972 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
13973 VkStructureType sType;
13975 VkBool32 shaderBufferFloat16Atomics;
13976 VkBool32 shaderBufferFloat16AtomicAdd;
13977 VkBool32 shaderBufferFloat16AtomicMinMax;
13978 VkBool32 shaderBufferFloat32AtomicMinMax;
13979 VkBool32 shaderBufferFloat64AtomicMinMax;
13980 VkBool32 shaderSharedFloat16Atomics;
13981 VkBool32 shaderSharedFloat16AtomicAdd;
13982 VkBool32 shaderSharedFloat16AtomicMinMax;
13983 VkBool32 shaderSharedFloat32AtomicMinMax;
13984 VkBool32 shaderSharedFloat64AtomicMinMax;
13985 VkBool32 shaderImageFloat32AtomicMinMax;
13986 VkBool32 sparseImageFloat32AtomicMinMax;
13987 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
13991 #define VK_EXT_shader_demote_to_helper_invocation 1
13992 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
13993 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
13994 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
13998 #define VK_NV_device_generated_commands 1
13999 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
14000 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
14001 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
14003 typedef enum VkIndirectCommandsTokenTypeNV {
14004 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
14005 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
14006 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
14007 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
14008 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
14009 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
14010 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
14011 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
14012 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000,
14013 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
14014 } VkIndirectCommandsTokenTypeNV;
14016 typedef enum VkIndirectStateFlagBitsNV {
14017 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
14018 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
14019 } VkIndirectStateFlagBitsNV;
14020 typedef VkFlags VkIndirectStateFlagsNV;
14022 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
14023 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
14024 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
14025 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
14026 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
14027 } VkIndirectCommandsLayoutUsageFlagBitsNV;
14028 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
14029 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
14030 VkStructureType sType;
14032 deUint32 maxGraphicsShaderGroupCount;
14033 deUint32 maxIndirectSequenceCount;
14034 deUint32 maxIndirectCommandsTokenCount;
14035 deUint32 maxIndirectCommandsStreamCount;
14036 deUint32 maxIndirectCommandsTokenOffset;
14037 deUint32 maxIndirectCommandsStreamStride;
14038 deUint32 minSequencesCountBufferOffsetAlignment;
14039 deUint32 minSequencesIndexBufferOffsetAlignment;
14040 deUint32 minIndirectCommandsBufferOffsetAlignment;
14041 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
14043 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
14044 VkStructureType sType;
14046 VkBool32 deviceGeneratedCommands;
14047 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
14049 typedef struct VkGraphicsShaderGroupCreateInfoNV {
14050 VkStructureType sType;
14052 deUint32 stageCount;
14053 const VkPipelineShaderStageCreateInfo* pStages;
14054 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
14055 const VkPipelineTessellationStateCreateInfo* pTessellationState;
14056 } VkGraphicsShaderGroupCreateInfoNV;
14058 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
14059 VkStructureType sType;
14061 deUint32 groupCount;
14062 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
14063 deUint32 pipelineCount;
14064 const VkPipeline* pPipelines;
14065 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
14067 typedef struct VkBindShaderGroupIndirectCommandNV {
14068 deUint32 groupIndex;
14069 } VkBindShaderGroupIndirectCommandNV;
14071 typedef struct VkBindIndexBufferIndirectCommandNV {
14072 VkDeviceAddress bufferAddress;
14074 VkIndexType indexType;
14075 } VkBindIndexBufferIndirectCommandNV;
14077 typedef struct VkBindVertexBufferIndirectCommandNV {
14078 VkDeviceAddress bufferAddress;
14081 } VkBindVertexBufferIndirectCommandNV;
14083 typedef struct VkSetStateFlagsIndirectCommandNV {
14085 } VkSetStateFlagsIndirectCommandNV;
14087 typedef struct VkIndirectCommandsStreamNV {
14089 VkDeviceSize offset;
14090 } VkIndirectCommandsStreamNV;
14092 typedef struct VkIndirectCommandsLayoutTokenNV {
14093 VkStructureType sType;
14095 VkIndirectCommandsTokenTypeNV tokenType;
14098 deUint32 vertexBindingUnit;
14099 VkBool32 vertexDynamicStride;
14100 VkPipelineLayout pushconstantPipelineLayout;
14101 VkShaderStageFlags pushconstantShaderStageFlags;
14102 deUint32 pushconstantOffset;
14103 deUint32 pushconstantSize;
14104 VkIndirectStateFlagsNV indirectStateFlags;
14105 deUint32 indexTypeCount;
14106 const VkIndexType* pIndexTypes;
14107 const deUint32* pIndexTypeValues;
14108 } VkIndirectCommandsLayoutTokenNV;
14110 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
14111 VkStructureType sType;
14113 VkIndirectCommandsLayoutUsageFlagsNV flags;
14114 VkPipelineBindPoint pipelineBindPoint;
14115 deUint32 tokenCount;
14116 const VkIndirectCommandsLayoutTokenNV* pTokens;
14117 deUint32 streamCount;
14118 const deUint32* pStreamStrides;
14119 } VkIndirectCommandsLayoutCreateInfoNV;
14121 typedef struct VkGeneratedCommandsInfoNV {
14122 VkStructureType sType;
14124 VkPipelineBindPoint pipelineBindPoint;
14125 VkPipeline pipeline;
14126 VkIndirectCommandsLayoutNV indirectCommandsLayout;
14127 deUint32 streamCount;
14128 const VkIndirectCommandsStreamNV* pStreams;
14129 deUint32 sequencesCount;
14130 VkBuffer preprocessBuffer;
14131 VkDeviceSize preprocessOffset;
14132 VkDeviceSize preprocessSize;
14133 VkBuffer sequencesCountBuffer;
14134 VkDeviceSize sequencesCountOffset;
14135 VkBuffer sequencesIndexBuffer;
14136 VkDeviceSize sequencesIndexOffset;
14137 } VkGeneratedCommandsInfoNV;
14139 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
14140 VkStructureType sType;
14142 VkPipelineBindPoint pipelineBindPoint;
14143 VkPipeline pipeline;
14144 VkIndirectCommandsLayoutNV indirectCommandsLayout;
14145 deUint32 maxSequencesCount;
14146 } VkGeneratedCommandsMemoryRequirementsInfoNV;
14148 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
14149 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
14150 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
14151 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
14152 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
14153 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
14155 #ifndef VK_NO_PROTOTYPES
14156 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
14158 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
14159 VkMemoryRequirements2* pMemoryRequirements);
14161 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
14162 VkCommandBuffer commandBuffer,
14163 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
14165 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
14166 VkCommandBuffer commandBuffer,
14167 VkBool32 isPreprocessed,
14168 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
14170 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
14171 VkCommandBuffer commandBuffer,
14172 VkPipelineBindPoint pipelineBindPoint,
14173 VkPipeline pipeline,
14174 deUint32 groupIndex);
14176 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
14178 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
14179 const VkAllocationCallbacks* pAllocator,
14180 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
14182 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
14184 VkIndirectCommandsLayoutNV indirectCommandsLayout,
14185 const VkAllocationCallbacks* pAllocator);
14189 #define VK_NV_inherited_viewport_scissor 1
14190 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
14191 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
14192 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
14193 VkStructureType sType;
14195 VkBool32 inheritedViewportScissor2D;
14196 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
14198 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
14199 VkStructureType sType;
14201 VkBool32 viewportScissor2D;
14202 deUint32 viewportDepthCount;
14203 const VkViewport* pViewportDepths;
14204 } VkCommandBufferInheritanceViewportScissorInfoNV;
14208 #define VK_EXT_texel_buffer_alignment 1
14209 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
14210 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
14211 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
14212 VkStructureType sType;
14214 VkBool32 texelBufferAlignment;
14215 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
14217 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
14221 #define VK_QCOM_render_pass_transform 1
14222 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 3
14223 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
14224 typedef struct VkRenderPassTransformBeginInfoQCOM {
14225 VkStructureType sType;
14227 VkSurfaceTransformFlagBitsKHR transform;
14228 } VkRenderPassTransformBeginInfoQCOM;
14230 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
14231 VkStructureType sType;
14233 VkSurfaceTransformFlagBitsKHR transform;
14234 VkRect2D renderArea;
14235 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
14239 #define VK_EXT_device_memory_report 1
14240 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
14241 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
14243 typedef enum VkDeviceMemoryReportEventTypeEXT {
14244 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
14245 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
14246 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
14247 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
14248 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
14249 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
14250 } VkDeviceMemoryReportEventTypeEXT;
14251 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
14252 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
14253 VkStructureType sType;
14255 VkBool32 deviceMemoryReport;
14256 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
14258 typedef struct VkDeviceMemoryReportCallbackDataEXT {
14259 VkStructureType sType;
14261 VkDeviceMemoryReportFlagsEXT flags;
14262 VkDeviceMemoryReportEventTypeEXT type;
14263 deUint64 memoryObjectId;
14265 VkObjectType objectType;
14266 deUint64 objectHandle;
14267 deUint32 heapIndex;
14268 } VkDeviceMemoryReportCallbackDataEXT;
14270 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
14271 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
14274 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
14275 VkStructureType sType;
14277 VkDeviceMemoryReportFlagsEXT flags;
14278 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
14280 } VkDeviceDeviceMemoryReportCreateInfoEXT;
14284 #define VK_EXT_acquire_drm_display 1
14285 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
14286 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
14287 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, VkDisplayKHR display);
14288 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, deUint32 connectorId, VkDisplayKHR* display);
14290 #ifndef VK_NO_PROTOTYPES
14291 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
14292 VkPhysicalDevice physicalDevice,
14294 VkDisplayKHR display);
14296 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
14297 VkPhysicalDevice physicalDevice,
14299 deUint32 connectorId,
14300 VkDisplayKHR* display);
14304 #define VK_EXT_robustness2 1
14305 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
14306 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
14307 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
14308 VkStructureType sType;
14310 VkBool32 robustBufferAccess2;
14311 VkBool32 robustImageAccess2;
14312 VkBool32 nullDescriptor;
14313 } VkPhysicalDeviceRobustness2FeaturesEXT;
14315 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
14316 VkStructureType sType;
14318 VkDeviceSize robustStorageBufferAccessSizeAlignment;
14319 VkDeviceSize robustUniformBufferAccessSizeAlignment;
14320 } VkPhysicalDeviceRobustness2PropertiesEXT;
14324 #define VK_EXT_custom_border_color 1
14325 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
14326 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
14327 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
14328 VkStructureType sType;
14330 VkClearColorValue customBorderColor;
14332 } VkSamplerCustomBorderColorCreateInfoEXT;
14334 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
14335 VkStructureType sType;
14337 deUint32 maxCustomBorderColorSamplers;
14338 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
14340 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
14341 VkStructureType sType;
14343 VkBool32 customBorderColors;
14344 VkBool32 customBorderColorWithoutFormat;
14345 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
14349 #define VK_GOOGLE_user_type 1
14350 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
14351 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
14354 #define VK_EXT_private_data 1
14355 typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
14357 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
14358 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
14359 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
14361 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
14363 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
14365 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT;
14367 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
14368 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
14369 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data);
14370 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData);
14372 #ifndef VK_NO_PROTOTYPES
14373 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
14375 const VkPrivateDataSlotCreateInfo* pCreateInfo,
14376 const VkAllocationCallbacks* pAllocator,
14377 VkPrivateDataSlot* pPrivateDataSlot);
14379 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
14381 VkPrivateDataSlot privateDataSlot,
14382 const VkAllocationCallbacks* pAllocator);
14384 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
14386 VkObjectType objectType,
14387 deUint64 objectHandle,
14388 VkPrivateDataSlot privateDataSlot,
14391 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
14393 VkObjectType objectType,
14394 deUint64 objectHandle,
14395 VkPrivateDataSlot privateDataSlot,
14400 #define VK_EXT_pipeline_creation_cache_control 1
14401 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
14402 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
14403 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
14407 #define VK_NV_device_diagnostics_config 1
14408 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2
14409 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
14411 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
14412 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
14413 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
14414 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
14415 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008,
14416 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
14417 } VkDeviceDiagnosticsConfigFlagBitsNV;
14418 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
14419 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
14420 VkStructureType sType;
14422 VkBool32 diagnosticsConfig;
14423 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
14425 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
14426 VkStructureType sType;
14428 VkDeviceDiagnosticsConfigFlagsNV flags;
14429 } VkDeviceDiagnosticsConfigCreateInfoNV;
14433 #define VK_QCOM_render_pass_store_ops 1
14434 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
14435 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
14438 #define VK_EXT_graphics_pipeline_library 1
14439 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
14440 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
14442 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT {
14443 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001,
14444 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002,
14445 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004,
14446 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008,
14447 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14448 } VkGraphicsPipelineLibraryFlagBitsEXT;
14449 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT;
14450 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
14451 VkStructureType sType;
14453 VkBool32 graphicsPipelineLibrary;
14454 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
14456 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
14457 VkStructureType sType;
14459 VkBool32 graphicsPipelineLibraryFastLinking;
14460 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration;
14461 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
14463 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT {
14464 VkStructureType sType;
14466 VkGraphicsPipelineLibraryFlagsEXT flags;
14467 } VkGraphicsPipelineLibraryCreateInfoEXT;
14471 #define VK_AMD_shader_early_and_late_fragment_tests 1
14472 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1
14473 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests"
14474 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
14475 VkStructureType sType;
14477 VkBool32 shaderEarlyAndLateFragmentTests;
14478 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD;
14482 #define VK_NV_fragment_shading_rate_enums 1
14483 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
14484 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
14486 typedef enum VkFragmentShadingRateTypeNV {
14487 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
14488 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
14489 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
14490 } VkFragmentShadingRateTypeNV;
14492 typedef enum VkFragmentShadingRateNV {
14493 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
14494 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
14495 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
14496 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
14497 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
14498 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
14499 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
14500 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
14501 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
14502 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
14503 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
14504 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
14505 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
14506 } VkFragmentShadingRateNV;
14507 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
14508 VkStructureType sType;
14510 VkBool32 fragmentShadingRateEnums;
14511 VkBool32 supersampleFragmentShadingRates;
14512 VkBool32 noInvocationFragmentShadingRates;
14513 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
14515 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
14516 VkStructureType sType;
14518 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
14519 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
14521 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
14522 VkStructureType sType;
14524 VkFragmentShadingRateTypeNV shadingRateType;
14525 VkFragmentShadingRateNV shadingRate;
14526 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
14527 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
14529 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
14531 #ifndef VK_NO_PROTOTYPES
14532 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
14533 VkCommandBuffer commandBuffer,
14534 VkFragmentShadingRateNV shadingRate,
14535 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
14539 #define VK_NV_ray_tracing_motion_blur 1
14540 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
14541 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
14543 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
14544 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
14545 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
14546 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
14547 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
14548 } VkAccelerationStructureMotionInstanceTypeNV;
14549 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
14550 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
14551 typedef union VkDeviceOrHostAddressConstKHR {
14552 VkDeviceAddress deviceAddress;
14553 const void* hostAddress;
14554 } VkDeviceOrHostAddressConstKHR;
14556 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
14557 VkStructureType sType;
14559 VkDeviceOrHostAddressConstKHR vertexData;
14560 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
14562 typedef struct VkAccelerationStructureMotionInfoNV {
14563 VkStructureType sType;
14565 deUint32 maxInstances;
14566 VkAccelerationStructureMotionInfoFlagsNV flags;
14567 } VkAccelerationStructureMotionInfoNV;
14569 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
14570 VkTransformMatrixKHR transformT0;
14571 VkTransformMatrixKHR transformT1;
14572 deUint32 instanceCustomIndex:24;
14574 deUint32 instanceShaderBindingTableRecordOffset:24;
14575 VkGeometryInstanceFlagsKHR flags:8;
14576 deUint64 accelerationStructureReference;
14577 } VkAccelerationStructureMatrixMotionInstanceNV;
14579 typedef struct VkSRTDataNV {
14598 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
14599 VkSRTDataNV transformT0;
14600 VkSRTDataNV transformT1;
14601 deUint32 instanceCustomIndex:24;
14603 deUint32 instanceShaderBindingTableRecordOffset:24;
14604 VkGeometryInstanceFlagsKHR flags:8;
14605 deUint64 accelerationStructureReference;
14606 } VkAccelerationStructureSRTMotionInstanceNV;
14608 typedef union VkAccelerationStructureMotionInstanceDataNV {
14609 VkAccelerationStructureInstanceKHR staticInstance;
14610 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
14611 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
14612 } VkAccelerationStructureMotionInstanceDataNV;
14614 typedef struct VkAccelerationStructureMotionInstanceNV {
14615 VkAccelerationStructureMotionInstanceTypeNV type;
14616 VkAccelerationStructureMotionInstanceFlagsNV flags;
14617 VkAccelerationStructureMotionInstanceDataNV data;
14618 } VkAccelerationStructureMotionInstanceNV;
14620 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
14621 VkStructureType sType;
14623 VkBool32 rayTracingMotionBlur;
14624 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
14625 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
14629 #define VK_EXT_ycbcr_2plane_444_formats 1
14630 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
14631 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
14632 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
14633 VkStructureType sType;
14635 VkBool32 ycbcr2plane444Formats;
14636 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
14640 #define VK_EXT_fragment_density_map2 1
14641 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
14642 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
14643 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
14644 VkStructureType sType;
14646 VkBool32 fragmentDensityMapDeferred;
14647 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
14649 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
14650 VkStructureType sType;
14652 VkBool32 subsampledLoads;
14653 VkBool32 subsampledCoarseReconstructionEarlyAccess;
14654 deUint32 maxSubsampledArrayLayers;
14655 deUint32 maxDescriptorSetSubsampledSamplers;
14656 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
14660 #define VK_QCOM_rotated_copy_commands 1
14661 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
14662 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
14663 typedef struct VkCopyCommandTransformInfoQCOM {
14664 VkStructureType sType;
14666 VkSurfaceTransformFlagBitsKHR transform;
14667 } VkCopyCommandTransformInfoQCOM;
14671 #define VK_EXT_image_robustness 1
14672 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
14673 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
14674 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT;
14678 #define VK_EXT_image_compression_control 1
14679 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1
14680 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control"
14682 typedef enum VkImageCompressionFlagBitsEXT {
14683 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0,
14684 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001,
14685 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002,
14686 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004,
14687 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14688 } VkImageCompressionFlagBitsEXT;
14689 typedef VkFlags VkImageCompressionFlagsEXT;
14691 typedef enum VkImageCompressionFixedRateFlagBitsEXT {
14692 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0,
14693 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001,
14694 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002,
14695 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004,
14696 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008,
14697 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010,
14698 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020,
14699 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040,
14700 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080,
14701 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100,
14702 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200,
14703 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400,
14704 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800,
14705 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000,
14706 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000,
14707 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000,
14708 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000,
14709 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000,
14710 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000,
14711 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000,
14712 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000,
14713 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000,
14714 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000,
14715 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000,
14716 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000,
14717 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14718 } VkImageCompressionFixedRateFlagBitsEXT;
14719 typedef VkFlags VkImageCompressionFixedRateFlagsEXT;
14720 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT {
14721 VkStructureType sType;
14723 VkBool32 imageCompressionControl;
14724 } VkPhysicalDeviceImageCompressionControlFeaturesEXT;
14726 typedef struct VkImageCompressionControlEXT {
14727 VkStructureType sType;
14729 VkImageCompressionFlagsEXT flags;
14730 deUint32 compressionControlPlaneCount;
14731 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags;
14732 } VkImageCompressionControlEXT;
14734 typedef struct VkSubresourceLayout2EXT {
14735 VkStructureType sType;
14737 VkSubresourceLayout subresourceLayout;
14738 } VkSubresourceLayout2EXT;
14740 typedef struct VkImageSubresource2EXT {
14741 VkStructureType sType;
14743 VkImageSubresource imageSubresource;
14744 } VkImageSubresource2EXT;
14746 typedef struct VkImageCompressionPropertiesEXT {
14747 VkStructureType sType;
14749 VkImageCompressionFlagsEXT imageCompressionFlags;
14750 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags;
14751 } VkImageCompressionPropertiesEXT;
14753 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout);
14755 #ifndef VK_NO_PROTOTYPES
14756 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT(
14759 const VkImageSubresource2EXT* pSubresource,
14760 VkSubresourceLayout2EXT* pLayout);
14764 #define VK_EXT_attachment_feedback_loop_layout 1
14765 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2
14766 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout"
14767 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
14768 VkStructureType sType;
14770 VkBool32 attachmentFeedbackLoopLayout;
14771 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT;
14775 #define VK_EXT_4444_formats 1
14776 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
14777 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
14778 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
14779 VkStructureType sType;
14781 VkBool32 formatA4R4G4B4;
14782 VkBool32 formatA4B4G4R4;
14783 } VkPhysicalDevice4444FormatsFeaturesEXT;
14787 #define VK_ARM_rasterization_order_attachment_access 1
14788 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
14789 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
14790 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
14791 VkStructureType sType;
14793 VkBool32 rasterizationOrderColorAttachmentAccess;
14794 VkBool32 rasterizationOrderDepthAttachmentAccess;
14795 VkBool32 rasterizationOrderStencilAttachmentAccess;
14796 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
14798 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM;
14802 #define VK_EXT_rgba10x6_formats 1
14803 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
14804 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats"
14805 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT {
14806 VkStructureType sType;
14808 VkBool32 formatRgba10x6WithoutYCbCrSampler;
14809 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT;
14813 #define VK_NV_acquire_winrt_display 1
14814 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
14815 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
14816 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
14817 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
14819 #ifndef VK_NO_PROTOTYPES
14820 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
14821 VkPhysicalDevice physicalDevice,
14822 VkDisplayKHR display);
14824 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
14825 VkPhysicalDevice physicalDevice,
14826 deUint32 deviceRelativeId,
14827 VkDisplayKHR* pDisplay);
14831 #define VK_VALVE_mutable_descriptor_type 1
14832 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
14833 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
14834 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
14835 VkStructureType sType;
14837 VkBool32 mutableDescriptorType;
14838 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
14840 typedef struct VkMutableDescriptorTypeListVALVE {
14841 deUint32 descriptorTypeCount;
14842 const VkDescriptorType* pDescriptorTypes;
14843 } VkMutableDescriptorTypeListVALVE;
14845 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
14846 VkStructureType sType;
14848 deUint32 mutableDescriptorTypeListCount;
14849 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
14850 } VkMutableDescriptorTypeCreateInfoVALVE;
14854 #define VK_EXT_vertex_input_dynamic_state 1
14855 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
14856 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
14857 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
14858 VkStructureType sType;
14860 VkBool32 vertexInputDynamicState;
14861 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
14863 typedef struct VkVertexInputBindingDescription2EXT {
14864 VkStructureType sType;
14868 VkVertexInputRate inputRate;
14870 } VkVertexInputBindingDescription2EXT;
14872 typedef struct VkVertexInputAttributeDescription2EXT {
14873 VkStructureType sType;
14879 } VkVertexInputAttributeDescription2EXT;
14881 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
14883 #ifndef VK_NO_PROTOTYPES
14884 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
14885 VkCommandBuffer commandBuffer,
14886 deUint32 vertexBindingDescriptionCount,
14887 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
14888 deUint32 vertexAttributeDescriptionCount,
14889 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
14893 #define VK_EXT_physical_device_drm 1
14894 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
14895 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
14896 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
14897 VkStructureType sType;
14899 VkBool32 hasPrimary;
14900 VkBool32 hasRender;
14901 deInt64 primaryMajor;
14902 deInt64 primaryMinor;
14903 deInt64 renderMajor;
14904 deInt64 renderMinor;
14905 } VkPhysicalDeviceDrmPropertiesEXT;
14909 #define VK_EXT_depth_clip_control 1
14910 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1
14911 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
14912 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT {
14913 VkStructureType sType;
14915 VkBool32 depthClipControl;
14916 } VkPhysicalDeviceDepthClipControlFeaturesEXT;
14918 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT {
14919 VkStructureType sType;
14921 VkBool32 negativeOneToOne;
14922 } VkPipelineViewportDepthClipControlCreateInfoEXT;
14926 #define VK_EXT_primitive_topology_list_restart 1
14927 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1
14928 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart"
14929 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
14930 VkStructureType sType;
14932 VkBool32 primitiveTopologyListRestart;
14933 VkBool32 primitiveTopologyPatchListRestart;
14934 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
14938 #define VK_HUAWEI_subpass_shading 1
14939 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
14940 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
14941 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
14942 VkStructureType sType;
14944 VkRenderPass renderPass;
14946 } VkSubpassShadingPipelineCreateInfoHUAWEI;
14948 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
14949 VkStructureType sType;
14951 VkBool32 subpassShading;
14952 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
14954 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
14955 VkStructureType sType;
14957 deUint32 maxSubpassShadingWorkgroupSizeAspectRatio;
14958 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
14960 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
14961 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
14963 #ifndef VK_NO_PROTOTYPES
14964 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
14966 VkRenderPass renderpass,
14967 VkExtent2D* pMaxWorkgroupSize);
14969 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
14970 VkCommandBuffer commandBuffer);
14974 #define VK_HUAWEI_invocation_mask 1
14975 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
14976 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
14977 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
14978 VkStructureType sType;
14980 VkBool32 invocationMask;
14981 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
14983 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
14985 #ifndef VK_NO_PROTOTYPES
14986 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
14987 VkCommandBuffer commandBuffer,
14988 VkImageView imageView,
14989 VkImageLayout imageLayout);
14993 #define VK_NV_external_memory_rdma 1
14994 typedef void* VkRemoteAddressNV;
14995 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
14996 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
14997 typedef struct VkMemoryGetRemoteAddressInfoNV {
14998 VkStructureType sType;
15000 VkDeviceMemory memory;
15001 VkExternalMemoryHandleTypeFlagBits handleType;
15002 } VkMemoryGetRemoteAddressInfoNV;
15004 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
15005 VkStructureType sType;
15007 VkBool32 externalMemoryRDMA;
15008 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
15010 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
15012 #ifndef VK_NO_PROTOTYPES
15013 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
15015 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
15016 VkRemoteAddressNV* pAddress);
15020 #define VK_EXT_pipeline_properties 1
15021 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
15022 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
15023 typedef VkPipelineInfoKHR VkPipelineInfoEXT;
15025 typedef struct VkPipelinePropertiesIdentifierEXT {
15026 VkStructureType sType;
15028 deUint8 pipelineIdentifier[VK_UUID_SIZE];
15029 } VkPipelinePropertiesIdentifierEXT;
15031 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT {
15032 VkStructureType sType;
15034 VkBool32 pipelinePropertiesIdentifier;
15035 } VkPhysicalDevicePipelinePropertiesFeaturesEXT;
15037 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties);
15039 #ifndef VK_NO_PROTOTYPES
15040 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(
15042 const VkPipelineInfoEXT* pPipelineInfo,
15043 VkBaseOutStructure* pPipelineProperties);
15047 #define VK_EXT_multisampled_render_to_single_sampled 1
15048 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1
15049 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled"
15050 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
15051 VkStructureType sType;
15053 VkBool32 multisampledRenderToSingleSampled;
15054 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT;
15056 typedef struct VkSubpassResolvePerformanceQueryEXT {
15057 VkStructureType sType;
15060 } VkSubpassResolvePerformanceQueryEXT;
15062 typedef struct VkMultisampledRenderToSingleSampledInfoEXT {
15063 VkStructureType sType;
15065 VkBool32 multisampledRenderToSingleSampledEnable;
15066 VkSampleCountFlagBits rasterizationSamples;
15067 } VkMultisampledRenderToSingleSampledInfoEXT;
15071 #define VK_EXT_extended_dynamic_state2 1
15072 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
15073 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
15074 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
15075 VkStructureType sType;
15077 VkBool32 extendedDynamicState2;
15078 VkBool32 extendedDynamicState2LogicOp;
15079 VkBool32 extendedDynamicState2PatchControlPoints;
15080 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
15082 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
15083 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
15084 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
15085 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
15086 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
15088 #ifndef VK_NO_PROTOTYPES
15089 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
15090 VkCommandBuffer commandBuffer,
15091 deUint32 patchControlPoints);
15093 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
15094 VkCommandBuffer commandBuffer,
15095 VkBool32 rasterizerDiscardEnable);
15097 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
15098 VkCommandBuffer commandBuffer,
15099 VkBool32 depthBiasEnable);
15101 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
15102 VkCommandBuffer commandBuffer,
15103 VkLogicOp logicOp);
15105 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
15106 VkCommandBuffer commandBuffer,
15107 VkBool32 primitiveRestartEnable);
15111 #define VK_EXT_color_write_enable 1
15112 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
15113 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
15114 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
15115 VkStructureType sType;
15117 VkBool32 colorWriteEnable;
15118 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
15120 typedef struct VkPipelineColorWriteCreateInfoEXT {
15121 VkStructureType sType;
15123 deUint32 attachmentCount;
15124 const VkBool32* pColorWriteEnables;
15125 } VkPipelineColorWriteCreateInfoEXT;
15127 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
15129 #ifndef VK_NO_PROTOTYPES
15130 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
15131 VkCommandBuffer commandBuffer,
15132 deUint32 attachmentCount,
15133 const VkBool32* pColorWriteEnables);
15137 #define VK_EXT_primitives_generated_query 1
15138 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
15139 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query"
15140 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
15141 VkStructureType sType;
15143 VkBool32 primitivesGeneratedQuery;
15144 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard;
15145 VkBool32 primitivesGeneratedQueryWithNonZeroStreams;
15146 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
15150 #define VK_EXT_global_priority_query 1
15151 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
15152 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
15153 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
15154 typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
15156 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
15160 #define VK_EXT_image_view_min_lod 1
15161 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1
15162 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod"
15163 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT {
15164 VkStructureType sType;
15167 } VkPhysicalDeviceImageViewMinLodFeaturesEXT;
15169 typedef struct VkImageViewMinLodCreateInfoEXT {
15170 VkStructureType sType;
15173 } VkImageViewMinLodCreateInfoEXT;
15177 #define VK_EXT_multi_draw 1
15178 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
15179 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
15180 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
15181 VkStructureType sType;
15183 VkBool32 multiDraw;
15184 } VkPhysicalDeviceMultiDrawFeaturesEXT;
15186 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
15187 VkStructureType sType;
15189 deUint32 maxMultiDrawCount;
15190 } VkPhysicalDeviceMultiDrawPropertiesEXT;
15192 typedef struct VkMultiDrawInfoEXT {
15193 deUint32 firstVertex;
15194 deUint32 vertexCount;
15195 } VkMultiDrawInfoEXT;
15197 typedef struct VkMultiDrawIndexedInfoEXT {
15198 deUint32 firstIndex;
15199 deUint32 indexCount;
15200 deInt32 vertexOffset;
15201 } VkMultiDrawIndexedInfoEXT;
15203 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawInfoEXT* pVertexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride);
15204 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride, const deInt32* pVertexOffset);
15206 #ifndef VK_NO_PROTOTYPES
15207 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
15208 VkCommandBuffer commandBuffer,
15209 deUint32 drawCount,
15210 const VkMultiDrawInfoEXT* pVertexInfo,
15211 deUint32 instanceCount,
15212 deUint32 firstInstance,
15215 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
15216 VkCommandBuffer commandBuffer,
15217 deUint32 drawCount,
15218 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
15219 deUint32 instanceCount,
15220 deUint32 firstInstance,
15222 const deInt32* pVertexOffset);
15226 #define VK_EXT_image_2d_view_of_3d 1
15227 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1
15228 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
15229 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
15230 VkStructureType sType;
15232 VkBool32 image2DViewOf3D;
15233 VkBool32 sampler2DViewOf3D;
15234 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT;
15238 #define VK_EXT_load_store_op_none 1
15239 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
15240 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
15243 #define VK_EXT_border_color_swizzle 1
15244 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
15245 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle"
15246 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT {
15247 VkStructureType sType;
15249 VkBool32 borderColorSwizzle;
15250 VkBool32 borderColorSwizzleFromImage;
15251 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT;
15253 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT {
15254 VkStructureType sType;
15256 VkComponentMapping components;
15258 } VkSamplerBorderColorComponentMappingCreateInfoEXT;
15262 #define VK_EXT_pageable_device_local_memory 1
15263 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1
15264 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory"
15265 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
15266 VkStructureType sType;
15268 VkBool32 pageableDeviceLocalMemory;
15269 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
15271 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority);
15273 #ifndef VK_NO_PROTOTYPES
15274 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
15276 VkDeviceMemory memory,
15281 #define VK_VALVE_descriptor_set_host_mapping 1
15282 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1
15283 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
15284 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
15285 VkStructureType sType;
15287 VkBool32 descriptorSetHostMapping;
15288 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
15290 typedef struct VkDescriptorSetBindingReferenceVALVE {
15291 VkStructureType sType;
15293 VkDescriptorSetLayout descriptorSetLayout;
15295 } VkDescriptorSetBindingReferenceVALVE;
15297 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE {
15298 VkStructureType sType;
15300 deUintptr descriptorOffset;
15301 deUint32 descriptorSize;
15302 } VkDescriptorSetLayoutHostMappingInfoVALVE;
15304 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
15305 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
15307 #ifndef VK_NO_PROTOTYPES
15308 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE(
15310 const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
15311 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
15313 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(
15315 VkDescriptorSet descriptorSet,
15320 #define VK_EXT_depth_clamp_zero_one 1
15321 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1
15322 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one"
15323 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT {
15324 VkStructureType sType;
15326 VkBool32 depthClampZeroOne;
15327 } VkPhysicalDeviceDepthClampZeroOneFeaturesEXT;
15331 #define VK_EXT_non_seamless_cube_map 1
15332 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1
15333 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map"
15334 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
15335 VkStructureType sType;
15337 VkBool32 nonSeamlessCubeMap;
15338 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT;
15342 #define VK_QCOM_fragment_density_map_offset 1
15343 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
15344 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
15345 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
15346 VkStructureType sType;
15348 VkBool32 fragmentDensityMapOffset;
15349 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
15351 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
15352 VkStructureType sType;
15354 VkExtent2D fragmentDensityOffsetGranularity;
15355 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
15357 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM {
15358 VkStructureType sType;
15360 deUint32 fragmentDensityOffsetCount;
15361 const VkOffset2D* pFragmentDensityOffsets;
15362 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM;
15366 #define VK_NV_linear_color_attachment 1
15367 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
15368 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
15369 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
15370 VkStructureType sType;
15372 VkBool32 linearColorAttachment;
15373 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV;
15377 #define VK_GOOGLE_surfaceless_query 1
15378 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
15379 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
15382 #define VK_EXT_image_compression_control_swapchain 1
15383 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
15384 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain"
15385 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
15386 VkStructureType sType;
15388 VkBool32 imageCompressionControlSwapchain;
15389 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
15393 #define VK_QCOM_image_processing 1
15394 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1
15395 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing"
15396 typedef struct VkImageViewSampleWeightCreateInfoQCOM {
15397 VkStructureType sType;
15399 VkOffset2D filterCenter;
15400 VkExtent2D filterSize;
15401 deUint32 numPhases;
15402 } VkImageViewSampleWeightCreateInfoQCOM;
15404 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM {
15405 VkStructureType sType;
15407 VkBool32 textureSampleWeighted;
15408 VkBool32 textureBoxFilter;
15409 VkBool32 textureBlockMatch;
15410 } VkPhysicalDeviceImageProcessingFeaturesQCOM;
15412 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM {
15413 VkStructureType sType;
15415 deUint32 maxWeightFilterPhases;
15416 VkExtent2D maxWeightFilterDimension;
15417 VkExtent2D maxBlockMatchRegion;
15418 VkExtent2D maxBoxFilterBlockSize;
15419 } VkPhysicalDeviceImageProcessingPropertiesQCOM;
15423 #define VK_EXT_subpass_merge_feedback 1
15424 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2
15425 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
15427 typedef enum VkSubpassMergeStatusEXT {
15428 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0,
15429 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1,
15430 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2,
15431 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3,
15432 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4,
15433 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5,
15434 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6,
15435 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7,
15436 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8,
15437 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9,
15438 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10,
15439 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11,
15440 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12,
15441 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13,
15442 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF
15443 } VkSubpassMergeStatusEXT;
15444 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
15445 VkStructureType sType;
15447 VkBool32 subpassMergeFeedback;
15448 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
15450 typedef struct VkRenderPassCreationControlEXT {
15451 VkStructureType sType;
15453 VkBool32 disallowMerging;
15454 } VkRenderPassCreationControlEXT;
15456 typedef struct VkRenderPassCreationFeedbackInfoEXT {
15457 deUint32 postMergeSubpassCount;
15458 } VkRenderPassCreationFeedbackInfoEXT;
15460 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT {
15461 VkStructureType sType;
15463 VkRenderPassCreationFeedbackInfoEXT* pRenderPassFeedback;
15464 } VkRenderPassCreationFeedbackCreateInfoEXT;
15466 typedef struct VkRenderPassSubpassFeedbackInfoEXT {
15467 VkSubpassMergeStatusEXT subpassMergeStatus;
15468 char description[VK_MAX_DESCRIPTION_SIZE];
15469 deUint32 postMergeIndex;
15470 } VkRenderPassSubpassFeedbackInfoEXT;
15472 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT {
15473 VkStructureType sType;
15475 VkRenderPassSubpassFeedbackInfoEXT* pSubpassFeedback;
15476 } VkRenderPassSubpassFeedbackCreateInfoEXT;
15480 #define VK_EXT_shader_module_identifier 1
15481 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U
15482 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1
15483 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier"
15484 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT {
15485 VkStructureType sType;
15487 VkBool32 shaderModuleIdentifier;
15488 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT;
15490 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT {
15491 VkStructureType sType;
15493 deUint8 shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE];
15494 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT;
15496 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {
15497 VkStructureType sType;
15499 deUint32 identifierSize;
15500 const deUint8* pIdentifier;
15501 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT;
15503 typedef struct VkShaderModuleIdentifierEXT {
15504 VkStructureType sType;
15506 deUint32 identifierSize;
15507 deUint8 identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT];
15508 } VkShaderModuleIdentifierEXT;
15510 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier);
15511 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier);
15513 #ifndef VK_NO_PROTOTYPES
15514 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT(
15516 VkShaderModule shaderModule,
15517 VkShaderModuleIdentifierEXT* pIdentifier);
15519 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT(
15521 const VkShaderModuleCreateInfo* pCreateInfo,
15522 VkShaderModuleIdentifierEXT* pIdentifier);
15526 #define VK_EXT_rasterization_order_attachment_access 1
15527 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
15528 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access"
15531 #define VK_EXT_legacy_dithering 1
15532 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1
15533 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering"
15534 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT {
15535 VkStructureType sType;
15537 VkBool32 legacyDithering;
15538 } VkPhysicalDeviceLegacyDitheringFeaturesEXT;
15542 #define VK_QCOM_tile_properties 1
15543 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1
15544 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties"
15545 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM {
15546 VkStructureType sType;
15548 VkBool32 tileProperties;
15549 } VkPhysicalDeviceTilePropertiesFeaturesQCOM;
15551 typedef struct VkTilePropertiesQCOM {
15552 VkStructureType sType;
15554 VkExtent3D tileSize;
15555 VkExtent2D apronSize;
15557 } VkTilePropertiesQCOM;
15559 typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, deUint32* pPropertiesCount, VkTilePropertiesQCOM* pProperties);
15560 typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties);
15562 #ifndef VK_NO_PROTOTYPES
15563 VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM(
15565 VkFramebuffer framebuffer,
15566 deUint32* pPropertiesCount,
15567 VkTilePropertiesQCOM* pProperties);
15569 VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM(
15571 const VkRenderingInfo* pRenderingInfo,
15572 VkTilePropertiesQCOM* pProperties);
15576 #define VK_SEC_amigo_profiling 1
15577 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1
15578 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling"
15579 typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC {
15580 VkStructureType sType;
15582 VkBool32 amigoProfiling;
15583 } VkPhysicalDeviceAmigoProfilingFeaturesSEC;
15585 typedef struct VkAmigoProfilingSubmitInfoSEC {
15586 VkStructureType sType;
15588 deUint64 firstDrawTimestamp;
15589 deUint64 swapBufferTimestamp;
15590 } VkAmigoProfilingSubmitInfoSEC;
15594 #define VK_KHR_acceleration_structure 1
15595 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
15596 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
15597 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
15599 typedef enum VkBuildAccelerationStructureModeKHR {
15600 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
15601 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
15602 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
15603 } VkBuildAccelerationStructureModeKHR;
15605 typedef enum VkAccelerationStructureBuildTypeKHR {
15606 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
15607 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
15608 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
15609 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
15610 } VkAccelerationStructureBuildTypeKHR;
15612 typedef enum VkAccelerationStructureCompatibilityKHR {
15613 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
15614 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
15615 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
15616 } VkAccelerationStructureCompatibilityKHR;
15618 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
15619 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
15620 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
15621 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
15622 } VkAccelerationStructureCreateFlagBitsKHR;
15623 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
15624 typedef union VkDeviceOrHostAddressKHR {
15625 VkDeviceAddress deviceAddress;
15627 } VkDeviceOrHostAddressKHR;
15629 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
15630 deUint32 primitiveCount;
15631 deUint32 primitiveOffset;
15632 deUint32 firstVertex;
15633 deUint32 transformOffset;
15634 } VkAccelerationStructureBuildRangeInfoKHR;
15636 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
15637 VkStructureType sType;
15639 VkFormat vertexFormat;
15640 VkDeviceOrHostAddressConstKHR vertexData;
15641 VkDeviceSize vertexStride;
15642 deUint32 maxVertex;
15643 VkIndexType indexType;
15644 VkDeviceOrHostAddressConstKHR indexData;
15645 VkDeviceOrHostAddressConstKHR transformData;
15646 } VkAccelerationStructureGeometryTrianglesDataKHR;
15648 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
15649 VkStructureType sType;
15651 VkDeviceOrHostAddressConstKHR data;
15652 VkDeviceSize stride;
15653 } VkAccelerationStructureGeometryAabbsDataKHR;
15655 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
15656 VkStructureType sType;
15658 VkBool32 arrayOfPointers;
15659 VkDeviceOrHostAddressConstKHR data;
15660 } VkAccelerationStructureGeometryInstancesDataKHR;
15662 typedef union VkAccelerationStructureGeometryDataKHR {
15663 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
15664 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
15665 VkAccelerationStructureGeometryInstancesDataKHR instances;
15666 } VkAccelerationStructureGeometryDataKHR;
15668 typedef struct VkAccelerationStructureGeometryKHR {
15669 VkStructureType sType;
15671 VkGeometryTypeKHR geometryType;
15672 VkAccelerationStructureGeometryDataKHR geometry;
15673 VkGeometryFlagsKHR flags;
15674 } VkAccelerationStructureGeometryKHR;
15676 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
15677 VkStructureType sType;
15679 VkAccelerationStructureTypeKHR type;
15680 VkBuildAccelerationStructureFlagsKHR flags;
15681 VkBuildAccelerationStructureModeKHR mode;
15682 VkAccelerationStructureKHR srcAccelerationStructure;
15683 VkAccelerationStructureKHR dstAccelerationStructure;
15684 deUint32 geometryCount;
15685 const VkAccelerationStructureGeometryKHR* pGeometries;
15686 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
15687 VkDeviceOrHostAddressKHR scratchData;
15688 } VkAccelerationStructureBuildGeometryInfoKHR;
15690 typedef struct VkAccelerationStructureCreateInfoKHR {
15691 VkStructureType sType;
15693 VkAccelerationStructureCreateFlagsKHR createFlags;
15695 VkDeviceSize offset;
15697 VkAccelerationStructureTypeKHR type;
15698 VkDeviceAddress deviceAddress;
15699 } VkAccelerationStructureCreateInfoKHR;
15701 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
15702 VkStructureType sType;
15704 deUint32 accelerationStructureCount;
15705 const VkAccelerationStructureKHR* pAccelerationStructures;
15706 } VkWriteDescriptorSetAccelerationStructureKHR;
15708 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
15709 VkStructureType sType;
15711 VkBool32 accelerationStructure;
15712 VkBool32 accelerationStructureCaptureReplay;
15713 VkBool32 accelerationStructureIndirectBuild;
15714 VkBool32 accelerationStructureHostCommands;
15715 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
15716 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
15718 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
15719 VkStructureType sType;
15721 deUint64 maxGeometryCount;
15722 deUint64 maxInstanceCount;
15723 deUint64 maxPrimitiveCount;
15724 deUint32 maxPerStageDescriptorAccelerationStructures;
15725 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
15726 deUint32 maxDescriptorSetAccelerationStructures;
15727 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
15728 deUint32 minAccelerationStructureScratchOffsetAlignment;
15729 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
15731 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
15732 VkStructureType sType;
15734 VkAccelerationStructureKHR accelerationStructure;
15735 } VkAccelerationStructureDeviceAddressInfoKHR;
15737 typedef struct VkAccelerationStructureVersionInfoKHR {
15738 VkStructureType sType;
15740 const deUint8* pVersionData;
15741 } VkAccelerationStructureVersionInfoKHR;
15743 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
15744 VkStructureType sType;
15746 VkAccelerationStructureKHR src;
15747 VkDeviceOrHostAddressKHR dst;
15748 VkCopyAccelerationStructureModeKHR mode;
15749 } VkCopyAccelerationStructureToMemoryInfoKHR;
15751 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
15752 VkStructureType sType;
15754 VkDeviceOrHostAddressConstKHR src;
15755 VkAccelerationStructureKHR dst;
15756 VkCopyAccelerationStructureModeKHR mode;
15757 } VkCopyMemoryToAccelerationStructureInfoKHR;
15759 typedef struct VkCopyAccelerationStructureInfoKHR {
15760 VkStructureType sType;
15762 VkAccelerationStructureKHR src;
15763 VkAccelerationStructureKHR dst;
15764 VkCopyAccelerationStructureModeKHR mode;
15765 } VkCopyAccelerationStructureInfoKHR;
15767 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
15768 VkStructureType sType;
15770 VkDeviceSize accelerationStructureSize;
15771 VkDeviceSize updateScratchSize;
15772 VkDeviceSize buildScratchSize;
15773 } VkAccelerationStructureBuildSizesInfoKHR;
15775 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
15776 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
15777 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15778 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
15779 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15780 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
15781 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15782 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15783 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
15784 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
15785 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15786 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15787 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
15788 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
15789 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
15790 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
15792 #ifndef VK_NO_PROTOTYPES
15793 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
15795 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
15796 const VkAllocationCallbacks* pAllocator,
15797 VkAccelerationStructureKHR* pAccelerationStructure);
15799 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
15801 VkAccelerationStructureKHR accelerationStructure,
15802 const VkAllocationCallbacks* pAllocator);
15804 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
15805 VkCommandBuffer commandBuffer,
15806 deUint32 infoCount,
15807 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
15808 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15810 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
15811 VkCommandBuffer commandBuffer,
15812 deUint32 infoCount,
15813 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
15814 const VkDeviceAddress* pIndirectDeviceAddresses,
15815 const deUint32* pIndirectStrides,
15816 const deUint32* const* ppMaxPrimitiveCounts);
15818 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
15820 VkDeferredOperationKHR deferredOperation,
15821 deUint32 infoCount,
15822 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
15823 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15825 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
15827 VkDeferredOperationKHR deferredOperation,
15828 const VkCopyAccelerationStructureInfoKHR* pInfo);
15830 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
15832 VkDeferredOperationKHR deferredOperation,
15833 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15835 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
15837 VkDeferredOperationKHR deferredOperation,
15838 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15840 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
15842 deUint32 accelerationStructureCount,
15843 const VkAccelerationStructureKHR* pAccelerationStructures,
15844 VkQueryType queryType,
15845 deUintptr dataSize,
15849 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
15850 VkCommandBuffer commandBuffer,
15851 const VkCopyAccelerationStructureInfoKHR* pInfo);
15853 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
15854 VkCommandBuffer commandBuffer,
15855 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15857 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
15858 VkCommandBuffer commandBuffer,
15859 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15861 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
15863 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
15865 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
15866 VkCommandBuffer commandBuffer,
15867 deUint32 accelerationStructureCount,
15868 const VkAccelerationStructureKHR* pAccelerationStructures,
15869 VkQueryType queryType,
15870 VkQueryPool queryPool,
15871 deUint32 firstQuery);
15873 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
15875 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
15876 VkAccelerationStructureCompatibilityKHR* pCompatibility);
15878 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
15880 VkAccelerationStructureBuildTypeKHR buildType,
15881 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
15882 const deUint32* pMaxPrimitiveCounts,
15883 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
15887 #define VK_KHR_ray_tracing_pipeline 1
15888 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
15889 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
15891 typedef enum VkShaderGroupShaderKHR {
15892 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
15893 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
15894 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
15895 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
15896 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
15897 } VkShaderGroupShaderKHR;
15898 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
15899 VkStructureType sType;
15901 VkRayTracingShaderGroupTypeKHR type;
15902 deUint32 generalShader;
15903 deUint32 closestHitShader;
15904 deUint32 anyHitShader;
15905 deUint32 intersectionShader;
15906 const void* pShaderGroupCaptureReplayHandle;
15907 } VkRayTracingShaderGroupCreateInfoKHR;
15909 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
15910 VkStructureType sType;
15912 deUint32 maxPipelineRayPayloadSize;
15913 deUint32 maxPipelineRayHitAttributeSize;
15914 } VkRayTracingPipelineInterfaceCreateInfoKHR;
15916 typedef struct VkRayTracingPipelineCreateInfoKHR {
15917 VkStructureType sType;
15919 VkPipelineCreateFlags flags;
15920 deUint32 stageCount;
15921 const VkPipelineShaderStageCreateInfo* pStages;
15922 deUint32 groupCount;
15923 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
15924 deUint32 maxPipelineRayRecursionDepth;
15925 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
15926 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
15927 const VkPipelineDynamicStateCreateInfo* pDynamicState;
15928 VkPipelineLayout layout;
15929 VkPipeline basePipelineHandle;
15930 deInt32 basePipelineIndex;
15931 } VkRayTracingPipelineCreateInfoKHR;
15933 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
15934 VkStructureType sType;
15936 VkBool32 rayTracingPipeline;
15937 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
15938 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
15939 VkBool32 rayTracingPipelineTraceRaysIndirect;
15940 VkBool32 rayTraversalPrimitiveCulling;
15941 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
15943 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
15944 VkStructureType sType;
15946 deUint32 shaderGroupHandleSize;
15947 deUint32 maxRayRecursionDepth;
15948 deUint32 maxShaderGroupStride;
15949 deUint32 shaderGroupBaseAlignment;
15950 deUint32 shaderGroupHandleCaptureReplaySize;
15951 deUint32 maxRayDispatchInvocationCount;
15952 deUint32 shaderGroupHandleAlignment;
15953 deUint32 maxRayHitAttributeSize;
15954 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
15956 typedef struct VkStridedDeviceAddressRegionKHR {
15957 VkDeviceAddress deviceAddress;
15958 VkDeviceSize stride;
15960 } VkStridedDeviceAddressRegionKHR;
15962 typedef struct VkTraceRaysIndirectCommandKHR {
15966 } VkTraceRaysIndirectCommandKHR;
15968 typedef 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);
15969 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
15970 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
15971 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
15972 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
15973 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
15975 #ifndef VK_NO_PROTOTYPES
15976 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
15977 VkCommandBuffer commandBuffer,
15978 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
15979 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
15980 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
15981 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
15986 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
15988 VkDeferredOperationKHR deferredOperation,
15989 VkPipelineCache pipelineCache,
15990 deUint32 createInfoCount,
15991 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
15992 const VkAllocationCallbacks* pAllocator,
15993 VkPipeline* pPipelines);
15995 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
15997 VkPipeline pipeline,
15998 deUint32 firstGroup,
15999 deUint32 groupCount,
16000 deUintptr dataSize,
16003 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
16004 VkCommandBuffer commandBuffer,
16005 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
16006 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
16007 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
16008 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
16009 VkDeviceAddress indirectDeviceAddress);
16011 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
16013 VkPipeline pipeline,
16015 VkShaderGroupShaderKHR groupShader);
16017 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
16018 VkCommandBuffer commandBuffer,
16019 deUint32 pipelineStackSize);
16023 #define VK_KHR_ray_query 1
16024 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
16025 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
16026 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
16027 VkStructureType sType;
16030 } VkPhysicalDeviceRayQueryFeaturesKHR;
16034 #define VK_EXT_mesh_shader 1
16035 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1
16036 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader"
16037 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT {
16038 VkStructureType sType;
16040 VkBool32 taskShader;
16041 VkBool32 meshShader;
16042 VkBool32 multiviewMeshShader;
16043 VkBool32 primitiveFragmentShadingRateMeshShader;
16044 VkBool32 meshShaderQueries;
16045 } VkPhysicalDeviceMeshShaderFeaturesEXT;
16047 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT {
16048 VkStructureType sType;
16050 deUint32 maxTaskWorkGroupTotalCount;
16051 deUint32 maxTaskWorkGroupCount[3];
16052 deUint32 maxTaskWorkGroupInvocations;
16053 deUint32 maxTaskWorkGroupSize[3];
16054 deUint32 maxTaskPayloadSize;
16055 deUint32 maxTaskSharedMemorySize;
16056 deUint32 maxTaskPayloadAndSharedMemorySize;
16057 deUint32 maxMeshWorkGroupTotalCount;
16058 deUint32 maxMeshWorkGroupCount[3];
16059 deUint32 maxMeshWorkGroupInvocations;
16060 deUint32 maxMeshWorkGroupSize[3];
16061 deUint32 maxMeshSharedMemorySize;
16062 deUint32 maxMeshPayloadAndSharedMemorySize;
16063 deUint32 maxMeshOutputMemorySize;
16064 deUint32 maxMeshPayloadAndOutputMemorySize;
16065 deUint32 maxMeshOutputComponents;
16066 deUint32 maxMeshOutputVertices;
16067 deUint32 maxMeshOutputPrimitives;
16068 deUint32 maxMeshOutputLayers;
16069 deUint32 maxMeshMultiviewViewCount;
16070 deUint32 meshOutputPerVertexGranularity;
16071 deUint32 meshOutputPerPrimitiveGranularity;
16072 deUint32 maxPreferredTaskWorkGroupInvocations;
16073 deUint32 maxPreferredMeshWorkGroupInvocations;
16074 VkBool32 prefersLocalInvocationVertexOutput;
16075 VkBool32 prefersLocalInvocationPrimitiveOutput;
16076 VkBool32 prefersCompactVertexOutput;
16077 VkBool32 prefersCompactPrimitiveOutput;
16078 } VkPhysicalDeviceMeshShaderPropertiesEXT;
16080 typedef struct VkDrawMeshTasksIndirectCommandEXT {
16081 deUint32 groupCountX;
16082 deUint32 groupCountY;
16083 deUint32 groupCountZ;
16084 } VkDrawMeshTasksIndirectCommandEXT;
16086 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksEXT)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
16087 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
16088 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountEXT)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
16090 #ifndef VK_NO_PROTOTYPES
16091 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksEXT(
16092 VkCommandBuffer commandBuffer,
16093 deUint32 groupCountX,
16094 deUint32 groupCountY,
16095 deUint32 groupCountZ);
16097 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectEXT(
16098 VkCommandBuffer commandBuffer,
16100 VkDeviceSize offset,
16101 deUint32 drawCount,
16104 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountEXT(
16105 VkCommandBuffer commandBuffer,
16107 VkDeviceSize offset,
16108 VkBuffer countBuffer,
16109 VkDeviceSize countBufferOffset,
16110 deUint32 maxDrawCount,