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 215
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 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
1171 VK_ERROR_NOT_PERMITTED_KHR = -1000174001,
1172 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
1173 VK_THREAD_IDLE_KHR = 1000268000,
1174 VK_THREAD_DONE_KHR = 1000268001,
1175 VK_OPERATION_DEFERRED_KHR = 1000268002,
1176 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
1177 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
1178 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
1179 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
1180 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
1181 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR,
1182 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1183 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1184 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
1185 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
1186 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
1189 typedef enum VkStructureType {
1190 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1191 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1192 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1193 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1194 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1195 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1196 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1197 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1198 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1199 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1200 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1201 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1202 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1203 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1204 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1205 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1206 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1207 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1208 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1209 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1210 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1211 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1212 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1213 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1214 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1215 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1216 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1217 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1218 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1219 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1220 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1221 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1222 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1223 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1224 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1225 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1226 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1227 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1228 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1229 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1230 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1231 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1232 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1233 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1234 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1235 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1236 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1237 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1238 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
1240 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
1241 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
1242 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
1243 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
1244 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
1245 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
1246 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
1247 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
1248 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
1249 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
1250 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
1251 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
1252 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
1253 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
1254 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
1255 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
1256 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
1257 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
1258 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
1259 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
1260 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
1261 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
1262 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
1263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
1264 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
1265 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
1266 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
1267 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
1268 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
1269 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
1270 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
1271 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
1272 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
1273 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
1274 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
1275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
1276 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
1277 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
1278 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
1279 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
1280 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
1281 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
1282 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
1283 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
1284 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
1285 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
1286 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
1287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
1288 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
1289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
1290 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1291 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1292 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1293 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1294 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1295 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1296 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1297 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1298 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1300 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1302 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
1304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
1305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
1306 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
1307 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
1308 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
1309 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
1310 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
1311 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
1312 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
1313 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
1314 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
1315 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
1316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
1317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
1318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
1319 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
1320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
1321 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
1322 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
1323 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
1324 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
1325 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
1326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
1327 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
1328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
1329 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
1330 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
1331 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
1332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
1333 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
1334 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
1335 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
1336 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
1337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
1338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
1339 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
1340 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
1341 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
1342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
1343 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
1344 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
1345 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
1346 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
1347 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
1348 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
1349 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
1350 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
1351 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
1352 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
1353 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
1354 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
1355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
1356 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
1357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
1358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
1359 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
1360 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
1361 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
1362 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002,
1363 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
1364 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000,
1365 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001,
1366 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002,
1367 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003,
1368 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004,
1369 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005,
1370 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
1371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
1372 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000,
1373 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000,
1374 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000,
1375 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001,
1376 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
1377 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
1378 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004,
1379 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005,
1380 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006,
1381 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007,
1382 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008,
1383 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009,
1384 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010,
1385 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000,
1386 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001,
1387 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
1388 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000,
1389 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
1390 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002,
1391 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
1392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
1393 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000,
1394 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001,
1395 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002,
1396 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
1397 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004,
1398 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000,
1399 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001,
1400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001,
1401 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000,
1402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
1403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
1404 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
1405 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
1406 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1407 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1408 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1409 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1410 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1411 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1412 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1413 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1414 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
1415 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
1416 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
1417 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
1418 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
1419 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
1420 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
1421 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
1422 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
1423 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
1424 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
1425 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
1426 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
1427 #ifdef VK_ENABLE_BETA_EXTENSIONS
1428 VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
1430 #ifdef VK_ENABLE_BETA_EXTENSIONS
1431 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
1433 #ifdef VK_ENABLE_BETA_EXTENSIONS
1434 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
1436 #ifdef VK_ENABLE_BETA_EXTENSIONS
1437 VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
1439 #ifdef VK_ENABLE_BETA_EXTENSIONS
1440 VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
1442 #ifdef VK_ENABLE_BETA_EXTENSIONS
1443 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
1445 #ifdef VK_ENABLE_BETA_EXTENSIONS
1446 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
1448 #ifdef VK_ENABLE_BETA_EXTENSIONS
1449 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
1451 #ifdef VK_ENABLE_BETA_EXTENSIONS
1452 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
1454 #ifdef VK_ENABLE_BETA_EXTENSIONS
1455 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
1457 #ifdef VK_ENABLE_BETA_EXTENSIONS
1458 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
1460 #ifdef VK_ENABLE_BETA_EXTENSIONS
1461 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
1463 #ifdef VK_ENABLE_BETA_EXTENSIONS
1464 VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
1466 #ifdef VK_ENABLE_BETA_EXTENSIONS
1467 VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
1469 #ifdef VK_ENABLE_BETA_EXTENSIONS
1470 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
1472 #ifdef VK_ENABLE_BETA_EXTENSIONS
1473 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
1475 #ifdef VK_ENABLE_BETA_EXTENSIONS
1476 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR = 1000023016,
1478 #ifdef VK_ENABLE_BETA_EXTENSIONS
1479 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
1481 #ifdef VK_ENABLE_BETA_EXTENSIONS
1482 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
1484 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1485 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1486 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1487 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1489 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1490 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
1491 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
1492 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
1493 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
1494 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
1495 #ifdef VK_ENABLE_BETA_EXTENSIONS
1496 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
1498 #ifdef VK_ENABLE_BETA_EXTENSIONS
1499 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001,
1501 #ifdef VK_ENABLE_BETA_EXTENSIONS
1502 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002,
1504 #ifdef VK_ENABLE_BETA_EXTENSIONS
1505 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003,
1507 #ifdef VK_ENABLE_BETA_EXTENSIONS
1508 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004,
1510 #ifdef VK_ENABLE_BETA_EXTENSIONS
1511 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038005,
1513 #ifdef VK_ENABLE_BETA_EXTENSIONS
1514 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038006,
1516 #ifdef VK_ENABLE_BETA_EXTENSIONS
1517 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038007,
1519 #ifdef VK_ENABLE_BETA_EXTENSIONS
1520 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008,
1522 #ifdef VK_ENABLE_BETA_EXTENSIONS
1523 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009,
1525 #ifdef VK_ENABLE_BETA_EXTENSIONS
1526 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT = 1000038010,
1528 #ifdef VK_ENABLE_BETA_EXTENSIONS
1529 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
1531 #ifdef VK_ENABLE_BETA_EXTENSIONS
1532 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001,
1534 #ifdef VK_ENABLE_BETA_EXTENSIONS
1535 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002,
1537 #ifdef VK_ENABLE_BETA_EXTENSIONS
1538 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003,
1540 #ifdef VK_ENABLE_BETA_EXTENSIONS
1541 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004,
1543 #ifdef VK_ENABLE_BETA_EXTENSIONS
1544 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT = 1000039005,
1546 #ifdef VK_ENABLE_BETA_EXTENSIONS
1547 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039006,
1549 #ifdef VK_ENABLE_BETA_EXTENSIONS
1550 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT = 1000039007,
1552 #ifdef VK_ENABLE_BETA_EXTENSIONS
1553 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT = 1000039008,
1555 #ifdef VK_ENABLE_BETA_EXTENSIONS
1556 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009,
1558 #ifdef VK_ENABLE_BETA_EXTENSIONS
1559 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010,
1561 #ifdef VK_ENABLE_BETA_EXTENSIONS
1562 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
1564 #ifdef VK_ENABLE_BETA_EXTENSIONS
1565 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040001,
1567 #ifdef VK_ENABLE_BETA_EXTENSIONS
1568 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040002,
1570 #ifdef VK_ENABLE_BETA_EXTENSIONS
1571 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040003,
1573 #ifdef VK_ENABLE_BETA_EXTENSIONS
1574 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040004,
1576 #ifdef VK_ENABLE_BETA_EXTENSIONS
1577 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040005,
1579 #ifdef VK_ENABLE_BETA_EXTENSIONS
1580 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040006,
1582 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1583 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
1584 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
1585 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
1586 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
1587 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1588 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1589 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1590 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1591 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1592 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1593 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1594 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1595 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1596 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1597 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1598 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1599 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1600 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1601 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1602 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1603 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1604 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1605 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1606 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1607 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1608 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1609 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1610 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1611 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1613 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1614 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1615 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1616 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1617 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1618 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1619 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1620 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1621 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1622 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1623 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1625 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1626 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1627 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1629 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1630 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1631 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1632 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1633 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1634 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1635 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1636 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1637 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1638 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1641 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1642 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1643 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1644 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1645 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1647 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1648 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1649 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1650 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1651 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1652 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1653 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1654 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1655 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1656 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1657 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1658 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1659 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1660 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1661 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1662 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1663 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1664 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1665 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1666 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1667 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006,
1668 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1669 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1670 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1672 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1673 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1674 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1675 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1676 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1677 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1678 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1679 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1680 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1681 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1682 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1683 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1684 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1685 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1686 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1687 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1688 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1689 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1690 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1691 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1694 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1695 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1696 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1698 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1699 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1701 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1702 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1703 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1704 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1705 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1706 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006,
1707 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1708 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1709 #ifdef VK_ENABLE_BETA_EXTENSIONS
1710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1712 #ifdef VK_ENABLE_BETA_EXTENSIONS
1713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1715 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1716 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1717 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1718 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1719 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1720 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1721 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1722 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1723 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1724 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1725 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1726 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1728 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1729 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1731 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1733 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1734 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1735 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1736 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1738 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1739 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1740 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1741 #ifdef VK_ENABLE_BETA_EXTENSIONS
1742 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1744 #ifdef VK_ENABLE_BETA_EXTENSIONS
1745 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187001,
1747 #ifdef VK_ENABLE_BETA_EXTENSIONS
1748 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187002,
1750 #ifdef VK_ENABLE_BETA_EXTENSIONS
1751 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187003,
1753 #ifdef VK_ENABLE_BETA_EXTENSIONS
1754 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187004,
1756 #ifdef VK_ENABLE_BETA_EXTENSIONS
1757 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187005,
1759 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
1760 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
1761 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001,
1762 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1763 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1764 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1765 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1766 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1768 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1770 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1771 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1773 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1774 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1776 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1777 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1778 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1779 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1780 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1781 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1783 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1784 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1785 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1786 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1788 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1789 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1790 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1791 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1795 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1797 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1798 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1800 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1801 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1804 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1805 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
1807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
1808 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
1809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
1810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
1811 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
1812 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
1813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
1814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
1815 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
1816 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
1817 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
1818 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
1819 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
1820 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
1821 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
1822 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
1823 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
1824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
1825 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
1826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
1827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
1828 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
1829 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
1830 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
1831 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
1832 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
1833 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
1834 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
1835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
1836 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
1837 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
1838 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
1839 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
1840 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
1841 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
1842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
1843 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
1844 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
1845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
1846 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
1847 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
1848 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
1849 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
1850 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
1851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
1852 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
1853 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
1854 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
1855 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
1856 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
1857 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
1858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
1859 #ifdef VK_ENABLE_BETA_EXTENSIONS
1860 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
1862 #ifdef VK_ENABLE_BETA_EXTENSIONS
1863 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
1865 #ifdef VK_ENABLE_BETA_EXTENSIONS
1866 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
1868 #ifdef VK_ENABLE_BETA_EXTENSIONS
1869 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
1871 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1872 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1873 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1874 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1875 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
1876 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
1877 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
1878 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD = 1000321000,
1879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR = 1000203000,
1880 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR = 1000322000,
1881 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
1882 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1883 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1884 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1885 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
1886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
1887 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
1888 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1889 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1890 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1891 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1892 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1893 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000,
1894 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001,
1895 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002,
1896 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003,
1897 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
1898 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1899 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000,
1900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
1901 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1902 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1903 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1904 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1905 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1906 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1907 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
1908 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
1909 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
1910 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
1911 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1912 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1913 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1914 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1915 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1916 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000,
1917 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001,
1918 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002,
1919 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003,
1920 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004,
1921 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005,
1922 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006,
1923 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
1924 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
1925 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
1926 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
1927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
1928 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
1929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
1930 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
1931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
1932 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
1933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
1934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1935 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1936 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1937 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1938 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
1939 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000,
1940 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
1941 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
1942 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
1943 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
1944 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
1945 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
1946 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
1947 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
1948 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
1949 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
1950 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
1951 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
1952 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
1953 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
1954 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
1955 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
1956 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
1957 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
1958 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT = 1000458002,
1959 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT = 1000458003,
1960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1961 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1962 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1963 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_INFO,
1964 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO,
1965 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO,
1966 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
1967 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
1968 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
1969 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1971 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1972 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1973 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1974 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1975 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1976 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1977 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1978 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1979 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1980 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1981 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1982 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1983 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1984 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1985 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1986 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1987 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
1989 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1990 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1991 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1992 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1993 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1994 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1995 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1996 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1997 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1998 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1999 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
2000 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
2001 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
2002 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
2003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
2004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
2005 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
2006 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
2007 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
2008 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
2009 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
2010 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
2011 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
2012 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
2013 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
2014 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
2015 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
2016 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
2017 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
2018 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
2019 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
2020 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
2021 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
2022 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
2023 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
2024 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
2025 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
2026 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
2027 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
2028 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
2029 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
2030 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
2031 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
2032 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
2033 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
2034 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
2035 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
2036 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
2037 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
2038 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
2039 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
2040 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
2041 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
2042 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
2043 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
2044 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
2045 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
2046 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
2047 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
2048 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
2049 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
2050 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
2051 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
2052 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
2053 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
2054 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
2055 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
2056 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR,
2057 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
2058 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
2059 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
2060 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
2061 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
2062 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
2063 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
2064 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
2065 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
2066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
2067 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
2068 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
2069 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
2070 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
2071 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
2072 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
2073 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
2074 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
2075 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
2076 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
2077 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
2078 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
2079 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
2080 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
2081 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
2082 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
2083 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
2084 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES,
2085 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
2086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
2087 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
2088 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
2089 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
2090 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
2091 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
2092 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
2093 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
2094 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
2095 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
2096 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
2097 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
2098 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO,
2099 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO,
2100 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
2101 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2,
2102 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2,
2103 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2,
2104 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO,
2105 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2,
2106 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO,
2107 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO,
2108 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
2109 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
2110 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
2111 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2,
2112 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2,
2113 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2,
2114 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2,
2115 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2,
2116 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
2117 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
2118 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2,
2119 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
2120 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
2121 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
2122 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
2123 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
2124 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
2125 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
2126 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
2127 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
2128 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
2129 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
2130 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
2133 typedef enum VkPipelineCacheHeaderVersion {
2134 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
2135 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
2136 } VkPipelineCacheHeaderVersion;
2138 typedef enum VkImageLayout {
2139 VK_IMAGE_LAYOUT_UNDEFINED = 0,
2140 VK_IMAGE_LAYOUT_GENERAL = 1,
2141 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
2142 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
2143 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
2144 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
2145 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
2146 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
2147 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
2148 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
2149 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
2150 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
2151 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
2152 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
2153 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
2154 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000,
2155 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001,
2156 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
2157 #ifdef VK_ENABLE_BETA_EXTENSIONS
2158 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
2160 #ifdef VK_ENABLE_BETA_EXTENSIONS
2161 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
2163 #ifdef VK_ENABLE_BETA_EXTENSIONS
2164 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
2166 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
2167 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
2168 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
2169 #ifdef VK_ENABLE_BETA_EXTENSIONS
2170 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
2172 #ifdef VK_ENABLE_BETA_EXTENSIONS
2173 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
2175 #ifdef VK_ENABLE_BETA_EXTENSIONS
2176 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
2178 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
2179 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
2180 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
2181 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
2182 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
2183 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
2184 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
2185 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
2186 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
2187 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
2190 typedef enum VkObjectType {
2191 VK_OBJECT_TYPE_UNKNOWN = 0,
2192 VK_OBJECT_TYPE_INSTANCE = 1,
2193 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
2194 VK_OBJECT_TYPE_DEVICE = 3,
2195 VK_OBJECT_TYPE_QUEUE = 4,
2196 VK_OBJECT_TYPE_SEMAPHORE = 5,
2197 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
2198 VK_OBJECT_TYPE_FENCE = 7,
2199 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
2200 VK_OBJECT_TYPE_BUFFER = 9,
2201 VK_OBJECT_TYPE_IMAGE = 10,
2202 VK_OBJECT_TYPE_EVENT = 11,
2203 VK_OBJECT_TYPE_QUERY_POOL = 12,
2204 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
2205 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
2206 VK_OBJECT_TYPE_SHADER_MODULE = 15,
2207 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
2208 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
2209 VK_OBJECT_TYPE_RENDER_PASS = 18,
2210 VK_OBJECT_TYPE_PIPELINE = 19,
2211 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
2212 VK_OBJECT_TYPE_SAMPLER = 21,
2213 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
2214 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
2215 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
2216 VK_OBJECT_TYPE_COMMAND_POOL = 25,
2217 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
2218 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
2219 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000,
2220 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
2221 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
2222 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
2223 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
2224 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
2225 #ifdef VK_ENABLE_BETA_EXTENSIONS
2226 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
2228 #ifdef VK_ENABLE_BETA_EXTENSIONS
2229 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
2231 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
2232 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
2233 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
2234 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2235 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
2236 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2237 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
2238 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
2239 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
2240 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
2241 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
2242 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
2243 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
2244 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
2247 typedef enum VkVendorId {
2248 VK_VENDOR_ID_VIV = 0x10001,
2249 VK_VENDOR_ID_VSI = 0x10002,
2250 VK_VENDOR_ID_KAZAN = 0x10003,
2251 VK_VENDOR_ID_CODEPLAY = 0x10004,
2252 VK_VENDOR_ID_MESA = 0x10005,
2253 VK_VENDOR_ID_POCL = 0x10006,
2254 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
2257 typedef enum VkSystemAllocationScope {
2258 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
2259 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
2260 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
2261 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
2262 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
2263 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
2264 } VkSystemAllocationScope;
2266 typedef enum VkInternalAllocationType {
2267 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
2268 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
2269 } VkInternalAllocationType;
2271 typedef enum VkFormat {
2272 VK_FORMAT_UNDEFINED = 0,
2273 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
2274 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
2275 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
2276 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
2277 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
2278 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
2279 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
2280 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
2281 VK_FORMAT_R8_UNORM = 9,
2282 VK_FORMAT_R8_SNORM = 10,
2283 VK_FORMAT_R8_USCALED = 11,
2284 VK_FORMAT_R8_SSCALED = 12,
2285 VK_FORMAT_R8_UINT = 13,
2286 VK_FORMAT_R8_SINT = 14,
2287 VK_FORMAT_R8_SRGB = 15,
2288 VK_FORMAT_R8G8_UNORM = 16,
2289 VK_FORMAT_R8G8_SNORM = 17,
2290 VK_FORMAT_R8G8_USCALED = 18,
2291 VK_FORMAT_R8G8_SSCALED = 19,
2292 VK_FORMAT_R8G8_UINT = 20,
2293 VK_FORMAT_R8G8_SINT = 21,
2294 VK_FORMAT_R8G8_SRGB = 22,
2295 VK_FORMAT_R8G8B8_UNORM = 23,
2296 VK_FORMAT_R8G8B8_SNORM = 24,
2297 VK_FORMAT_R8G8B8_USCALED = 25,
2298 VK_FORMAT_R8G8B8_SSCALED = 26,
2299 VK_FORMAT_R8G8B8_UINT = 27,
2300 VK_FORMAT_R8G8B8_SINT = 28,
2301 VK_FORMAT_R8G8B8_SRGB = 29,
2302 VK_FORMAT_B8G8R8_UNORM = 30,
2303 VK_FORMAT_B8G8R8_SNORM = 31,
2304 VK_FORMAT_B8G8R8_USCALED = 32,
2305 VK_FORMAT_B8G8R8_SSCALED = 33,
2306 VK_FORMAT_B8G8R8_UINT = 34,
2307 VK_FORMAT_B8G8R8_SINT = 35,
2308 VK_FORMAT_B8G8R8_SRGB = 36,
2309 VK_FORMAT_R8G8B8A8_UNORM = 37,
2310 VK_FORMAT_R8G8B8A8_SNORM = 38,
2311 VK_FORMAT_R8G8B8A8_USCALED = 39,
2312 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2313 VK_FORMAT_R8G8B8A8_UINT = 41,
2314 VK_FORMAT_R8G8B8A8_SINT = 42,
2315 VK_FORMAT_R8G8B8A8_SRGB = 43,
2316 VK_FORMAT_B8G8R8A8_UNORM = 44,
2317 VK_FORMAT_B8G8R8A8_SNORM = 45,
2318 VK_FORMAT_B8G8R8A8_USCALED = 46,
2319 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2320 VK_FORMAT_B8G8R8A8_UINT = 48,
2321 VK_FORMAT_B8G8R8A8_SINT = 49,
2322 VK_FORMAT_B8G8R8A8_SRGB = 50,
2323 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2324 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2325 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2326 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2327 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2328 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2329 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2330 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2331 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2332 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2333 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2334 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2335 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2336 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2337 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2338 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2339 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2340 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2341 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2342 VK_FORMAT_R16_UNORM = 70,
2343 VK_FORMAT_R16_SNORM = 71,
2344 VK_FORMAT_R16_USCALED = 72,
2345 VK_FORMAT_R16_SSCALED = 73,
2346 VK_FORMAT_R16_UINT = 74,
2347 VK_FORMAT_R16_SINT = 75,
2348 VK_FORMAT_R16_SFLOAT = 76,
2349 VK_FORMAT_R16G16_UNORM = 77,
2350 VK_FORMAT_R16G16_SNORM = 78,
2351 VK_FORMAT_R16G16_USCALED = 79,
2352 VK_FORMAT_R16G16_SSCALED = 80,
2353 VK_FORMAT_R16G16_UINT = 81,
2354 VK_FORMAT_R16G16_SINT = 82,
2355 VK_FORMAT_R16G16_SFLOAT = 83,
2356 VK_FORMAT_R16G16B16_UNORM = 84,
2357 VK_FORMAT_R16G16B16_SNORM = 85,
2358 VK_FORMAT_R16G16B16_USCALED = 86,
2359 VK_FORMAT_R16G16B16_SSCALED = 87,
2360 VK_FORMAT_R16G16B16_UINT = 88,
2361 VK_FORMAT_R16G16B16_SINT = 89,
2362 VK_FORMAT_R16G16B16_SFLOAT = 90,
2363 VK_FORMAT_R16G16B16A16_UNORM = 91,
2364 VK_FORMAT_R16G16B16A16_SNORM = 92,
2365 VK_FORMAT_R16G16B16A16_USCALED = 93,
2366 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2367 VK_FORMAT_R16G16B16A16_UINT = 95,
2368 VK_FORMAT_R16G16B16A16_SINT = 96,
2369 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2370 VK_FORMAT_R32_UINT = 98,
2371 VK_FORMAT_R32_SINT = 99,
2372 VK_FORMAT_R32_SFLOAT = 100,
2373 VK_FORMAT_R32G32_UINT = 101,
2374 VK_FORMAT_R32G32_SINT = 102,
2375 VK_FORMAT_R32G32_SFLOAT = 103,
2376 VK_FORMAT_R32G32B32_UINT = 104,
2377 VK_FORMAT_R32G32B32_SINT = 105,
2378 VK_FORMAT_R32G32B32_SFLOAT = 106,
2379 VK_FORMAT_R32G32B32A32_UINT = 107,
2380 VK_FORMAT_R32G32B32A32_SINT = 108,
2381 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2382 VK_FORMAT_R64_UINT = 110,
2383 VK_FORMAT_R64_SINT = 111,
2384 VK_FORMAT_R64_SFLOAT = 112,
2385 VK_FORMAT_R64G64_UINT = 113,
2386 VK_FORMAT_R64G64_SINT = 114,
2387 VK_FORMAT_R64G64_SFLOAT = 115,
2388 VK_FORMAT_R64G64B64_UINT = 116,
2389 VK_FORMAT_R64G64B64_SINT = 117,
2390 VK_FORMAT_R64G64B64_SFLOAT = 118,
2391 VK_FORMAT_R64G64B64A64_UINT = 119,
2392 VK_FORMAT_R64G64B64A64_SINT = 120,
2393 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2394 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2395 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2396 VK_FORMAT_D16_UNORM = 124,
2397 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2398 VK_FORMAT_D32_SFLOAT = 126,
2399 VK_FORMAT_S8_UINT = 127,
2400 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2401 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2402 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2403 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2404 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2405 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2406 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2407 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2408 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2409 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2410 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2411 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2412 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2413 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2414 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2415 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2416 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2417 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2418 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2419 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2420 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2421 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2422 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2423 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2424 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2425 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2426 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2427 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2428 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2429 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2430 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2431 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2432 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2433 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2434 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2435 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2436 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2437 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2438 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2439 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2440 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2441 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2442 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2443 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2444 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2445 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2446 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2447 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2448 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2449 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2450 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2451 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2452 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2453 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2454 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2455 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2456 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2457 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2458 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2459 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2460 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2461 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2462 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2463 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2464 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2465 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2466 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2467 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2468 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2469 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2470 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2471 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2472 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2473 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2474 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2475 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2476 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2477 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2478 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2479 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2480 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2481 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2482 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2483 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2484 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2485 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2486 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2487 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2488 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2489 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2490 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2491 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000,
2492 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
2493 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
2494 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003,
2495 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000,
2496 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001,
2497 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000,
2498 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001,
2499 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002,
2500 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003,
2501 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004,
2502 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005,
2503 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006,
2504 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007,
2505 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008,
2506 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009,
2507 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010,
2508 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011,
2509 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012,
2510 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013,
2511 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2512 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2513 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2514 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2515 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2516 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2517 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2518 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2519 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
2520 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
2521 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
2522 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
2523 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
2524 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
2525 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
2526 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
2527 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
2528 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
2529 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
2530 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
2531 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
2532 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
2533 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2534 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2535 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2536 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2537 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2538 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2539 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2540 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2541 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2542 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2543 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2544 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2545 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2546 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2547 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2548 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2549 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2550 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2551 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2552 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2553 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2554 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2555 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2556 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2557 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2558 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2559 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2560 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2561 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2562 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2563 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2564 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2565 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2566 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2567 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
2568 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
2569 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
2570 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
2571 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
2572 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
2573 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2576 typedef enum VkImageTiling {
2577 VK_IMAGE_TILING_OPTIMAL = 0,
2578 VK_IMAGE_TILING_LINEAR = 1,
2579 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2580 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2583 typedef enum VkImageType {
2584 VK_IMAGE_TYPE_1D = 0,
2585 VK_IMAGE_TYPE_2D = 1,
2586 VK_IMAGE_TYPE_3D = 2,
2587 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2590 typedef enum VkPhysicalDeviceType {
2591 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2592 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2593 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2594 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2595 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2596 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2597 } VkPhysicalDeviceType;
2599 typedef enum VkQueryType {
2600 VK_QUERY_TYPE_OCCLUSION = 0,
2601 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2602 VK_QUERY_TYPE_TIMESTAMP = 2,
2603 #ifdef VK_ENABLE_BETA_EXTENSIONS
2604 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2606 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2607 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2608 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2609 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2610 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2611 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2612 #ifdef VK_ENABLE_BETA_EXTENSIONS
2613 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2615 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
2616 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
2617 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
2618 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2621 typedef enum VkSharingMode {
2622 VK_SHARING_MODE_EXCLUSIVE = 0,
2623 VK_SHARING_MODE_CONCURRENT = 1,
2624 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2627 typedef enum VkComponentSwizzle {
2628 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2629 VK_COMPONENT_SWIZZLE_ZERO = 1,
2630 VK_COMPONENT_SWIZZLE_ONE = 2,
2631 VK_COMPONENT_SWIZZLE_R = 3,
2632 VK_COMPONENT_SWIZZLE_G = 4,
2633 VK_COMPONENT_SWIZZLE_B = 5,
2634 VK_COMPONENT_SWIZZLE_A = 6,
2635 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2636 } VkComponentSwizzle;
2638 typedef enum VkImageViewType {
2639 VK_IMAGE_VIEW_TYPE_1D = 0,
2640 VK_IMAGE_VIEW_TYPE_2D = 1,
2641 VK_IMAGE_VIEW_TYPE_3D = 2,
2642 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2643 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2644 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2645 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2646 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2649 typedef enum VkBlendFactor {
2650 VK_BLEND_FACTOR_ZERO = 0,
2651 VK_BLEND_FACTOR_ONE = 1,
2652 VK_BLEND_FACTOR_SRC_COLOR = 2,
2653 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2654 VK_BLEND_FACTOR_DST_COLOR = 4,
2655 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2656 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2657 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2658 VK_BLEND_FACTOR_DST_ALPHA = 8,
2659 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2660 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2661 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2662 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2663 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2664 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2665 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2666 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2667 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2668 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2669 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2672 typedef enum VkBlendOp {
2673 VK_BLEND_OP_ADD = 0,
2674 VK_BLEND_OP_SUBTRACT = 1,
2675 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2676 VK_BLEND_OP_MIN = 3,
2677 VK_BLEND_OP_MAX = 4,
2678 VK_BLEND_OP_ZERO_EXT = 1000148000,
2679 VK_BLEND_OP_SRC_EXT = 1000148001,
2680 VK_BLEND_OP_DST_EXT = 1000148002,
2681 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2682 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2683 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2684 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2685 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2686 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2687 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2688 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2689 VK_BLEND_OP_XOR_EXT = 1000148011,
2690 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2691 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2692 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2693 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2694 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2695 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2696 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2697 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2698 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2699 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2700 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2701 VK_BLEND_OP_INVERT_EXT = 1000148023,
2702 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2703 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2704 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2705 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2706 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2707 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2708 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2709 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2710 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2711 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2712 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2713 VK_BLEND_OP_PLUS_EXT = 1000148035,
2714 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2715 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2716 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2717 VK_BLEND_OP_MINUS_EXT = 1000148039,
2718 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2719 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2720 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2721 VK_BLEND_OP_RED_EXT = 1000148043,
2722 VK_BLEND_OP_GREEN_EXT = 1000148044,
2723 VK_BLEND_OP_BLUE_EXT = 1000148045,
2724 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2727 typedef enum VkCompareOp {
2728 VK_COMPARE_OP_NEVER = 0,
2729 VK_COMPARE_OP_LESS = 1,
2730 VK_COMPARE_OP_EQUAL = 2,
2731 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2732 VK_COMPARE_OP_GREATER = 4,
2733 VK_COMPARE_OP_NOT_EQUAL = 5,
2734 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2735 VK_COMPARE_OP_ALWAYS = 7,
2736 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2739 typedef enum VkDynamicState {
2740 VK_DYNAMIC_STATE_VIEWPORT = 0,
2741 VK_DYNAMIC_STATE_SCISSOR = 1,
2742 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2743 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2744 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2745 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2746 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2747 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2748 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2749 VK_DYNAMIC_STATE_CULL_MODE = 1000267000,
2750 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001,
2751 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002,
2752 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003,
2753 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004,
2754 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005,
2755 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006,
2756 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007,
2757 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008,
2758 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
2759 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010,
2760 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011,
2761 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001,
2762 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002,
2763 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004,
2764 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2765 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2766 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2767 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2768 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2769 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2770 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2771 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2772 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2773 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2774 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2775 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2776 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2777 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE,
2778 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE,
2779 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
2780 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
2781 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
2782 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
2783 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
2784 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
2785 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
2786 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
2787 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
2788 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP,
2789 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
2790 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
2791 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
2792 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2795 typedef enum VkFrontFace {
2796 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2797 VK_FRONT_FACE_CLOCKWISE = 1,
2798 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2801 typedef enum VkVertexInputRate {
2802 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2803 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2804 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2805 } VkVertexInputRate;
2807 typedef enum VkPrimitiveTopology {
2808 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2809 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2810 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2811 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2812 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2813 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2814 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2815 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2816 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2817 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2818 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2819 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2820 } VkPrimitiveTopology;
2822 typedef enum VkPolygonMode {
2823 VK_POLYGON_MODE_FILL = 0,
2824 VK_POLYGON_MODE_LINE = 1,
2825 VK_POLYGON_MODE_POINT = 2,
2826 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2827 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2830 typedef enum VkStencilOp {
2831 VK_STENCIL_OP_KEEP = 0,
2832 VK_STENCIL_OP_ZERO = 1,
2833 VK_STENCIL_OP_REPLACE = 2,
2834 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2835 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2836 VK_STENCIL_OP_INVERT = 5,
2837 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2838 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2839 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2842 typedef enum VkLogicOp {
2843 VK_LOGIC_OP_CLEAR = 0,
2844 VK_LOGIC_OP_AND = 1,
2845 VK_LOGIC_OP_AND_REVERSE = 2,
2846 VK_LOGIC_OP_COPY = 3,
2847 VK_LOGIC_OP_AND_INVERTED = 4,
2848 VK_LOGIC_OP_NO_OP = 5,
2849 VK_LOGIC_OP_XOR = 6,
2851 VK_LOGIC_OP_NOR = 8,
2852 VK_LOGIC_OP_EQUIVALENT = 9,
2853 VK_LOGIC_OP_INVERT = 10,
2854 VK_LOGIC_OP_OR_REVERSE = 11,
2855 VK_LOGIC_OP_COPY_INVERTED = 12,
2856 VK_LOGIC_OP_OR_INVERTED = 13,
2857 VK_LOGIC_OP_NAND = 14,
2858 VK_LOGIC_OP_SET = 15,
2859 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2862 typedef enum VkBorderColor {
2863 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2864 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2865 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2866 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2867 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2868 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2869 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2870 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2871 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2874 typedef enum VkFilter {
2875 VK_FILTER_NEAREST = 0,
2876 VK_FILTER_LINEAR = 1,
2877 VK_FILTER_CUBIC_IMG = 1000015000,
2878 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2879 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2882 typedef enum VkSamplerAddressMode {
2883 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2884 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2885 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2886 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2887 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2888 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2889 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2890 } VkSamplerAddressMode;
2892 typedef enum VkSamplerMipmapMode {
2893 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2894 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2895 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2896 } VkSamplerMipmapMode;
2898 typedef enum VkDescriptorType {
2899 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2900 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2901 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2902 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2903 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2904 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2905 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2906 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2907 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2908 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2909 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2910 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
2911 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2912 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2913 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2914 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
2915 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2918 typedef enum VkAttachmentLoadOp {
2919 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2920 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2921 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2922 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
2923 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2924 } VkAttachmentLoadOp;
2926 typedef enum VkAttachmentStoreOp {
2927 VK_ATTACHMENT_STORE_OP_STORE = 0,
2928 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2929 VK_ATTACHMENT_STORE_OP_NONE = 1000301000,
2930 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE,
2931 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE,
2932 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE,
2933 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2934 } VkAttachmentStoreOp;
2936 typedef enum VkPipelineBindPoint {
2937 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2938 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2939 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2940 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
2941 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2942 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2943 } VkPipelineBindPoint;
2945 typedef enum VkCommandBufferLevel {
2946 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2947 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2948 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2949 } VkCommandBufferLevel;
2951 typedef enum VkIndexType {
2952 VK_INDEX_TYPE_UINT16 = 0,
2953 VK_INDEX_TYPE_UINT32 = 1,
2954 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2955 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2956 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2957 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2960 typedef enum VkSubpassContents {
2961 VK_SUBPASS_CONTENTS_INLINE = 0,
2962 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2963 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2964 } VkSubpassContents;
2966 typedef enum VkAccessFlagBits {
2967 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2968 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2969 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2970 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2971 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2972 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2973 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2974 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2975 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2976 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2977 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2978 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2979 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2980 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2981 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2982 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2983 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2985 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2986 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2987 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2988 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2989 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2990 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2991 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2992 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2993 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
2994 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2995 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2996 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2997 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2998 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2999 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE,
3000 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3002 typedef VkFlags VkAccessFlags;
3004 typedef enum VkImageAspectFlagBits {
3005 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
3006 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
3007 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
3008 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
3009 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
3010 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
3011 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
3012 VK_IMAGE_ASPECT_NONE = 0,
3013 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
3014 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
3015 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
3016 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
3017 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
3018 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
3019 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
3020 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE,
3021 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3022 } VkImageAspectFlagBits;
3023 typedef VkFlags VkImageAspectFlags;
3025 typedef enum VkFormatFeatureFlagBits {
3026 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
3027 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
3028 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
3029 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
3030 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
3031 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
3032 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
3033 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
3034 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
3035 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
3036 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
3037 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
3038 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
3039 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
3040 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
3041 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
3042 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
3043 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
3044 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
3045 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
3046 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
3047 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
3048 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
3049 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
3050 #ifdef VK_ENABLE_BETA_EXTENSIONS
3051 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
3053 #ifdef VK_ENABLE_BETA_EXTENSIONS
3054 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
3056 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
3057 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
3058 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
3059 #ifdef VK_ENABLE_BETA_EXTENSIONS
3060 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
3062 #ifdef VK_ENABLE_BETA_EXTENSIONS
3063 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
3065 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
3066 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
3067 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
3068 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
3069 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
3070 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
3071 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
3072 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,
3073 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
3074 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
3075 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
3076 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3077 } VkFormatFeatureFlagBits;
3078 typedef VkFlags VkFormatFeatureFlags;
3080 typedef enum VkImageCreateFlagBits {
3081 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
3082 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
3083 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
3084 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
3085 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
3086 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
3087 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
3088 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
3089 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
3090 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
3091 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
3092 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
3093 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
3094 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
3095 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
3096 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
3097 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
3098 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
3099 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
3100 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
3101 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
3102 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
3103 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
3104 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3105 } VkImageCreateFlagBits;
3106 typedef VkFlags VkImageCreateFlags;
3108 typedef enum VkSampleCountFlagBits {
3109 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
3110 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
3111 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
3112 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
3113 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
3114 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
3115 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
3116 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3117 } VkSampleCountFlagBits;
3118 typedef VkFlags VkSampleCountFlags;
3120 typedef enum VkImageUsageFlagBits {
3121 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
3122 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
3123 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
3124 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
3125 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
3126 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
3127 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
3128 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
3129 #ifdef VK_ENABLE_BETA_EXTENSIONS
3130 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
3132 #ifdef VK_ENABLE_BETA_EXTENSIONS
3133 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
3135 #ifdef VK_ENABLE_BETA_EXTENSIONS
3136 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
3138 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
3139 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
3140 #ifdef VK_ENABLE_BETA_EXTENSIONS
3141 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
3143 #ifdef VK_ENABLE_BETA_EXTENSIONS
3144 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
3146 #ifdef VK_ENABLE_BETA_EXTENSIONS
3147 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
3149 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
3150 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3151 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3152 } VkImageUsageFlagBits;
3153 typedef VkFlags VkImageUsageFlags;
3155 typedef enum VkInstanceCreateFlagBits {
3156 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001,
3157 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3158 } VkInstanceCreateFlagBits;
3159 typedef VkFlags VkInstanceCreateFlags;
3161 typedef enum VkMemoryHeapFlagBits {
3162 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
3163 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
3164 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
3165 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3166 } VkMemoryHeapFlagBits;
3167 typedef VkFlags VkMemoryHeapFlags;
3169 typedef enum VkMemoryPropertyFlagBits {
3170 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
3171 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
3172 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
3173 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
3174 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
3175 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
3176 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
3177 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
3178 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
3179 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3180 } VkMemoryPropertyFlagBits;
3181 typedef VkFlags VkMemoryPropertyFlags;
3183 typedef enum VkQueueFlagBits {
3184 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
3185 VK_QUEUE_COMPUTE_BIT = 0x00000002,
3186 VK_QUEUE_TRANSFER_BIT = 0x00000004,
3187 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
3188 VK_QUEUE_PROTECTED_BIT = 0x00000010,
3189 #ifdef VK_ENABLE_BETA_EXTENSIONS
3190 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
3192 #ifdef VK_ENABLE_BETA_EXTENSIONS
3193 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
3195 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3197 typedef VkFlags VkQueueFlags;
3198 typedef VkFlags VkDeviceCreateFlags;
3200 typedef enum VkDeviceQueueCreateFlagBits {
3201 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
3202 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3203 } VkDeviceQueueCreateFlagBits;
3204 typedef VkFlags VkDeviceQueueCreateFlags;
3206 typedef enum VkPipelineStageFlagBits {
3207 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
3208 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
3209 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
3210 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
3211 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
3212 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
3213 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
3214 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
3215 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
3216 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
3217 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
3218 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
3219 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
3220 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
3221 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
3222 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
3223 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
3224 VK_PIPELINE_STAGE_NONE = 0,
3225 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
3226 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
3227 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
3228 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
3229 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
3230 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
3231 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
3232 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
3233 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
3234 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3235 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
3236 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
3237 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE,
3238 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3239 } VkPipelineStageFlagBits;
3240 typedef VkFlags VkPipelineStageFlags;
3241 typedef VkFlags VkMemoryMapFlags;
3243 typedef enum VkSparseMemoryBindFlagBits {
3244 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
3245 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3246 } VkSparseMemoryBindFlagBits;
3247 typedef VkFlags VkSparseMemoryBindFlags;
3249 typedef enum VkSparseImageFormatFlagBits {
3250 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
3251 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
3252 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
3253 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3254 } VkSparseImageFormatFlagBits;
3255 typedef VkFlags VkSparseImageFormatFlags;
3257 typedef enum VkFenceCreateFlagBits {
3258 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
3259 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3260 } VkFenceCreateFlagBits;
3261 typedef VkFlags VkFenceCreateFlags;
3262 typedef VkFlags VkSemaphoreCreateFlags;
3264 typedef enum VkEventCreateFlagBits {
3265 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001,
3266 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT,
3267 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3268 } VkEventCreateFlagBits;
3269 typedef VkFlags VkEventCreateFlags;
3271 typedef enum VkQueryPipelineStatisticFlagBits {
3272 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
3273 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
3274 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
3275 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
3276 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
3277 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
3278 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
3279 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
3280 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
3281 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
3282 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
3283 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3284 } VkQueryPipelineStatisticFlagBits;
3285 typedef VkFlags VkQueryPipelineStatisticFlags;
3286 typedef VkFlags VkQueryPoolCreateFlags;
3288 typedef enum VkQueryResultFlagBits {
3289 VK_QUERY_RESULT_64_BIT = 0x00000001,
3290 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
3291 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
3292 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
3293 #ifdef VK_ENABLE_BETA_EXTENSIONS
3294 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
3296 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3297 } VkQueryResultFlagBits;
3298 typedef VkFlags VkQueryResultFlags;
3300 typedef enum VkBufferCreateFlagBits {
3301 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
3302 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
3303 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
3304 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
3305 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
3306 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3307 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3308 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3309 } VkBufferCreateFlagBits;
3310 typedef VkFlags VkBufferCreateFlags;
3312 typedef enum VkBufferUsageFlagBits {
3313 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
3314 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
3315 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
3316 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
3317 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
3318 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
3319 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
3320 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
3321 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
3322 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
3323 #ifdef VK_ENABLE_BETA_EXTENSIONS
3324 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
3326 #ifdef VK_ENABLE_BETA_EXTENSIONS
3327 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
3329 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
3330 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
3331 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
3332 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
3333 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
3334 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
3335 #ifdef VK_ENABLE_BETA_EXTENSIONS
3336 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
3338 #ifdef VK_ENABLE_BETA_EXTENSIONS
3339 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
3341 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
3342 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3343 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3344 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3345 } VkBufferUsageFlagBits;
3346 typedef VkFlags VkBufferUsageFlags;
3347 typedef VkFlags VkBufferViewCreateFlags;
3349 typedef enum VkImageViewCreateFlagBits {
3350 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
3351 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
3352 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3353 } VkImageViewCreateFlagBits;
3354 typedef VkFlags VkImageViewCreateFlags;
3355 typedef VkFlags VkShaderModuleCreateFlags;
3357 typedef enum VkPipelineCacheCreateFlagBits {
3358 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001,
3359 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
3360 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3361 } VkPipelineCacheCreateFlagBits;
3362 typedef VkFlags VkPipelineCacheCreateFlags;
3364 typedef enum VkColorComponentFlagBits {
3365 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3366 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3367 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3368 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3369 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3370 } VkColorComponentFlagBits;
3371 typedef VkFlags VkColorComponentFlags;
3373 typedef enum VkPipelineCreateFlagBits {
3374 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3375 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3376 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3377 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3378 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3379 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100,
3380 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200,
3381 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000,
3382 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000,
3383 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3385 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3386 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3387 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3388 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3389 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3390 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3391 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3392 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3393 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3394 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3395 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000,
3396 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400,
3397 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
3398 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3399 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3400 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
3401 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3402 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3403 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
3404 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
3405 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3406 } VkPipelineCreateFlagBits;
3407 typedef VkFlags VkPipelineCreateFlags;
3409 typedef enum VkPipelineShaderStageCreateFlagBits {
3410 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001,
3411 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002,
3412 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT,
3413 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT,
3414 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3415 } VkPipelineShaderStageCreateFlagBits;
3416 typedef VkFlags VkPipelineShaderStageCreateFlags;
3418 typedef enum VkShaderStageFlagBits {
3419 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3420 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3421 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3422 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3423 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3424 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3425 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3426 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3427 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3428 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3429 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3430 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3431 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3432 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3433 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3434 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3435 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
3436 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3437 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3438 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3439 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3440 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3441 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3442 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3443 } VkShaderStageFlagBits;
3445 typedef enum VkCullModeFlagBits {
3446 VK_CULL_MODE_NONE = 0,
3447 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3448 VK_CULL_MODE_BACK_BIT = 0x00000002,
3449 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3450 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3451 } VkCullModeFlagBits;
3452 typedef VkFlags VkCullModeFlags;
3453 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3454 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3455 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3456 typedef VkFlags VkPipelineViewportStateCreateFlags;
3457 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3458 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3460 typedef enum VkPipelineDepthStencilStateCreateFlagBits {
3461 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000001,
3462 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000002,
3463 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3464 } VkPipelineDepthStencilStateCreateFlagBits;
3465 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3467 typedef enum VkPipelineColorBlendStateCreateFlagBits {
3468 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 0x00000001,
3469 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3470 } VkPipelineColorBlendStateCreateFlagBits;
3471 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3472 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3474 typedef enum VkPipelineLayoutCreateFlagBits {
3475 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002,
3476 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3477 } VkPipelineLayoutCreateFlagBits;
3478 typedef VkFlags VkPipelineLayoutCreateFlags;
3479 typedef VkFlags VkShaderStageFlags;
3481 typedef enum VkSamplerCreateFlagBits {
3482 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3483 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3484 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3485 } VkSamplerCreateFlagBits;
3486 typedef VkFlags VkSamplerCreateFlags;
3488 typedef enum VkDescriptorPoolCreateFlagBits {
3489 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3490 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3491 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3492 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3493 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3494 } VkDescriptorPoolCreateFlagBits;
3495 typedef VkFlags VkDescriptorPoolCreateFlags;
3496 typedef VkFlags VkDescriptorPoolResetFlags;
3498 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3499 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3500 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3501 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3502 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3503 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3504 } VkDescriptorSetLayoutCreateFlagBits;
3505 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3507 typedef enum VkAttachmentDescriptionFlagBits {
3508 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3509 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3510 } VkAttachmentDescriptionFlagBits;
3511 typedef VkFlags VkAttachmentDescriptionFlags;
3513 typedef enum VkDependencyFlagBits {
3514 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3515 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3516 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3517 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3518 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3519 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3520 } VkDependencyFlagBits;
3521 typedef VkFlags VkDependencyFlags;
3523 typedef enum VkFramebufferCreateFlagBits {
3524 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3525 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3526 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3527 } VkFramebufferCreateFlagBits;
3528 typedef VkFlags VkFramebufferCreateFlags;
3530 typedef enum VkRenderPassCreateFlagBits {
3531 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3532 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3533 } VkRenderPassCreateFlagBits;
3534 typedef VkFlags VkRenderPassCreateFlags;
3536 typedef enum VkSubpassDescriptionFlagBits {
3537 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3538 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3539 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3540 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3541 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 0x00000010,
3542 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000020,
3543 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000040,
3544 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3545 } VkSubpassDescriptionFlagBits;
3546 typedef VkFlags VkSubpassDescriptionFlags;
3548 typedef enum VkCommandPoolCreateFlagBits {
3549 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3550 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3551 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3552 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3553 } VkCommandPoolCreateFlagBits;
3554 typedef VkFlags VkCommandPoolCreateFlags;
3556 typedef enum VkCommandPoolResetFlagBits {
3557 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3558 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3559 } VkCommandPoolResetFlagBits;
3560 typedef VkFlags VkCommandPoolResetFlags;
3562 typedef enum VkCommandBufferUsageFlagBits {
3563 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3564 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3565 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3566 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3567 } VkCommandBufferUsageFlagBits;
3568 typedef VkFlags VkCommandBufferUsageFlags;
3570 typedef enum VkQueryControlFlagBits {
3571 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3572 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3573 } VkQueryControlFlagBits;
3574 typedef VkFlags VkQueryControlFlags;
3576 typedef enum VkCommandBufferResetFlagBits {
3577 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3578 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3579 } VkCommandBufferResetFlagBits;
3580 typedef VkFlags VkCommandBufferResetFlags;
3582 typedef enum VkStencilFaceFlagBits {
3583 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3584 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3585 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3586 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3587 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3588 } VkStencilFaceFlagBits;
3589 typedef VkFlags VkStencilFaceFlags;
3590 typedef struct VkExtent2D {
3595 typedef struct VkExtent3D {
3601 typedef struct VkOffset2D {
3606 typedef struct VkOffset3D {
3612 typedef struct VkRect2D {
3617 typedef struct VkBaseInStructure {
3618 VkStructureType sType;
3619 const struct VkBaseInStructure* pNext;
3620 } VkBaseInStructure;
3622 typedef struct VkBaseOutStructure {
3623 VkStructureType sType;
3624 struct VkBaseOutStructure* pNext;
3625 } VkBaseOutStructure;
3627 typedef struct VkBufferMemoryBarrier {
3628 VkStructureType sType;
3630 VkAccessFlags srcAccessMask;
3631 VkAccessFlags dstAccessMask;
3632 deUint32 srcQueueFamilyIndex;
3633 deUint32 dstQueueFamilyIndex;
3635 VkDeviceSize offset;
3637 } VkBufferMemoryBarrier;
3639 typedef struct VkDispatchIndirectCommand {
3643 } VkDispatchIndirectCommand;
3645 typedef struct VkDrawIndexedIndirectCommand {
3646 deUint32 indexCount;
3647 deUint32 instanceCount;
3648 deUint32 firstIndex;
3649 deInt32 vertexOffset;
3650 deUint32 firstInstance;
3651 } VkDrawIndexedIndirectCommand;
3653 typedef struct VkDrawIndirectCommand {
3654 deUint32 vertexCount;
3655 deUint32 instanceCount;
3656 deUint32 firstVertex;
3657 deUint32 firstInstance;
3658 } VkDrawIndirectCommand;
3660 typedef struct VkImageSubresourceRange {
3661 VkImageAspectFlags aspectMask;
3662 deUint32 baseMipLevel;
3663 deUint32 levelCount;
3664 deUint32 baseArrayLayer;
3665 deUint32 layerCount;
3666 } VkImageSubresourceRange;
3668 typedef struct VkImageMemoryBarrier {
3669 VkStructureType sType;
3671 VkAccessFlags srcAccessMask;
3672 VkAccessFlags dstAccessMask;
3673 VkImageLayout oldLayout;
3674 VkImageLayout newLayout;
3675 deUint32 srcQueueFamilyIndex;
3676 deUint32 dstQueueFamilyIndex;
3678 VkImageSubresourceRange subresourceRange;
3679 } VkImageMemoryBarrier;
3681 typedef struct VkMemoryBarrier {
3682 VkStructureType sType;
3684 VkAccessFlags srcAccessMask;
3685 VkAccessFlags dstAccessMask;
3688 typedef struct VkPipelineCacheHeaderVersionOne {
3689 deUint32 headerSize;
3690 VkPipelineCacheHeaderVersion headerVersion;
3693 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3694 } VkPipelineCacheHeaderVersionOne;
3696 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3699 deUintptr alignment,
3700 VkSystemAllocationScope allocationScope);
3702 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3706 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3709 VkInternalAllocationType allocationType,
3710 VkSystemAllocationScope allocationScope);
3712 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3715 VkInternalAllocationType allocationType,
3716 VkSystemAllocationScope allocationScope);
3718 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3722 deUintptr alignment,
3723 VkSystemAllocationScope allocationScope);
3725 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3726 typedef struct VkAllocationCallbacks {
3728 PFN_vkAllocationFunction pfnAllocation;
3729 PFN_vkReallocationFunction pfnReallocation;
3730 PFN_vkFreeFunction pfnFree;
3731 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3732 PFN_vkInternalFreeNotification pfnInternalFree;
3733 } VkAllocationCallbacks;
3735 typedef struct VkApplicationInfo {
3736 VkStructureType sType;
3738 const char* pApplicationName;
3739 deUint32 applicationVersion;
3740 const char* pEngineName;
3741 deUint32 engineVersion;
3742 deUint32 apiVersion;
3743 } VkApplicationInfo;
3745 typedef struct VkFormatProperties {
3746 VkFormatFeatureFlags linearTilingFeatures;
3747 VkFormatFeatureFlags optimalTilingFeatures;
3748 VkFormatFeatureFlags bufferFeatures;
3749 } VkFormatProperties;
3751 typedef struct VkImageFormatProperties {
3752 VkExtent3D maxExtent;
3753 deUint32 maxMipLevels;
3754 deUint32 maxArrayLayers;
3755 VkSampleCountFlags sampleCounts;
3756 VkDeviceSize maxResourceSize;
3757 } VkImageFormatProperties;
3759 typedef struct VkInstanceCreateInfo {
3760 VkStructureType sType;
3762 VkInstanceCreateFlags flags;
3763 const VkApplicationInfo* pApplicationInfo;
3764 deUint32 enabledLayerCount;
3765 const char* const* ppEnabledLayerNames;
3766 deUint32 enabledExtensionCount;
3767 const char* const* ppEnabledExtensionNames;
3768 } VkInstanceCreateInfo;
3770 typedef struct VkMemoryHeap {
3772 VkMemoryHeapFlags flags;
3775 typedef struct VkMemoryType {
3776 VkMemoryPropertyFlags propertyFlags;
3780 typedef struct VkPhysicalDeviceFeatures {
3781 VkBool32 robustBufferAccess;
3782 VkBool32 fullDrawIndexUint32;
3783 VkBool32 imageCubeArray;
3784 VkBool32 independentBlend;
3785 VkBool32 geometryShader;
3786 VkBool32 tessellationShader;
3787 VkBool32 sampleRateShading;
3788 VkBool32 dualSrcBlend;
3790 VkBool32 multiDrawIndirect;
3791 VkBool32 drawIndirectFirstInstance;
3792 VkBool32 depthClamp;
3793 VkBool32 depthBiasClamp;
3794 VkBool32 fillModeNonSolid;
3795 VkBool32 depthBounds;
3797 VkBool32 largePoints;
3798 VkBool32 alphaToOne;
3799 VkBool32 multiViewport;
3800 VkBool32 samplerAnisotropy;
3801 VkBool32 textureCompressionETC2;
3802 VkBool32 textureCompressionASTC_LDR;
3803 VkBool32 textureCompressionBC;
3804 VkBool32 occlusionQueryPrecise;
3805 VkBool32 pipelineStatisticsQuery;
3806 VkBool32 vertexPipelineStoresAndAtomics;
3807 VkBool32 fragmentStoresAndAtomics;
3808 VkBool32 shaderTessellationAndGeometryPointSize;
3809 VkBool32 shaderImageGatherExtended;
3810 VkBool32 shaderStorageImageExtendedFormats;
3811 VkBool32 shaderStorageImageMultisample;
3812 VkBool32 shaderStorageImageReadWithoutFormat;
3813 VkBool32 shaderStorageImageWriteWithoutFormat;
3814 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3815 VkBool32 shaderSampledImageArrayDynamicIndexing;
3816 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3817 VkBool32 shaderStorageImageArrayDynamicIndexing;
3818 VkBool32 shaderClipDistance;
3819 VkBool32 shaderCullDistance;
3820 VkBool32 shaderFloat64;
3821 VkBool32 shaderInt64;
3822 VkBool32 shaderInt16;
3823 VkBool32 shaderResourceResidency;
3824 VkBool32 shaderResourceMinLod;
3825 VkBool32 sparseBinding;
3826 VkBool32 sparseResidencyBuffer;
3827 VkBool32 sparseResidencyImage2D;
3828 VkBool32 sparseResidencyImage3D;
3829 VkBool32 sparseResidency2Samples;
3830 VkBool32 sparseResidency4Samples;
3831 VkBool32 sparseResidency8Samples;
3832 VkBool32 sparseResidency16Samples;
3833 VkBool32 sparseResidencyAliased;
3834 VkBool32 variableMultisampleRate;
3835 VkBool32 inheritedQueries;
3836 } VkPhysicalDeviceFeatures;
3838 typedef struct VkPhysicalDeviceLimits {
3839 deUint32 maxImageDimension1D;
3840 deUint32 maxImageDimension2D;
3841 deUint32 maxImageDimension3D;
3842 deUint32 maxImageDimensionCube;
3843 deUint32 maxImageArrayLayers;
3844 deUint32 maxTexelBufferElements;
3845 deUint32 maxUniformBufferRange;
3846 deUint32 maxStorageBufferRange;
3847 deUint32 maxPushConstantsSize;
3848 deUint32 maxMemoryAllocationCount;
3849 deUint32 maxSamplerAllocationCount;
3850 VkDeviceSize bufferImageGranularity;
3851 VkDeviceSize sparseAddressSpaceSize;
3852 deUint32 maxBoundDescriptorSets;
3853 deUint32 maxPerStageDescriptorSamplers;
3854 deUint32 maxPerStageDescriptorUniformBuffers;
3855 deUint32 maxPerStageDescriptorStorageBuffers;
3856 deUint32 maxPerStageDescriptorSampledImages;
3857 deUint32 maxPerStageDescriptorStorageImages;
3858 deUint32 maxPerStageDescriptorInputAttachments;
3859 deUint32 maxPerStageResources;
3860 deUint32 maxDescriptorSetSamplers;
3861 deUint32 maxDescriptorSetUniformBuffers;
3862 deUint32 maxDescriptorSetUniformBuffersDynamic;
3863 deUint32 maxDescriptorSetStorageBuffers;
3864 deUint32 maxDescriptorSetStorageBuffersDynamic;
3865 deUint32 maxDescriptorSetSampledImages;
3866 deUint32 maxDescriptorSetStorageImages;
3867 deUint32 maxDescriptorSetInputAttachments;
3868 deUint32 maxVertexInputAttributes;
3869 deUint32 maxVertexInputBindings;
3870 deUint32 maxVertexInputAttributeOffset;
3871 deUint32 maxVertexInputBindingStride;
3872 deUint32 maxVertexOutputComponents;
3873 deUint32 maxTessellationGenerationLevel;
3874 deUint32 maxTessellationPatchSize;
3875 deUint32 maxTessellationControlPerVertexInputComponents;
3876 deUint32 maxTessellationControlPerVertexOutputComponents;
3877 deUint32 maxTessellationControlPerPatchOutputComponents;
3878 deUint32 maxTessellationControlTotalOutputComponents;
3879 deUint32 maxTessellationEvaluationInputComponents;
3880 deUint32 maxTessellationEvaluationOutputComponents;
3881 deUint32 maxGeometryShaderInvocations;
3882 deUint32 maxGeometryInputComponents;
3883 deUint32 maxGeometryOutputComponents;
3884 deUint32 maxGeometryOutputVertices;
3885 deUint32 maxGeometryTotalOutputComponents;
3886 deUint32 maxFragmentInputComponents;
3887 deUint32 maxFragmentOutputAttachments;
3888 deUint32 maxFragmentDualSrcAttachments;
3889 deUint32 maxFragmentCombinedOutputResources;
3890 deUint32 maxComputeSharedMemorySize;
3891 deUint32 maxComputeWorkGroupCount[3];
3892 deUint32 maxComputeWorkGroupInvocations;
3893 deUint32 maxComputeWorkGroupSize[3];
3894 deUint32 subPixelPrecisionBits;
3895 deUint32 subTexelPrecisionBits;
3896 deUint32 mipmapPrecisionBits;
3897 deUint32 maxDrawIndexedIndexValue;
3898 deUint32 maxDrawIndirectCount;
3899 float maxSamplerLodBias;
3900 float maxSamplerAnisotropy;
3901 deUint32 maxViewports;
3902 deUint32 maxViewportDimensions[2];
3903 float viewportBoundsRange[2];
3904 deUint32 viewportSubPixelBits;
3905 deUintptr minMemoryMapAlignment;
3906 VkDeviceSize minTexelBufferOffsetAlignment;
3907 VkDeviceSize minUniformBufferOffsetAlignment;
3908 VkDeviceSize minStorageBufferOffsetAlignment;
3909 deInt32 minTexelOffset;
3910 deUint32 maxTexelOffset;
3911 deInt32 minTexelGatherOffset;
3912 deUint32 maxTexelGatherOffset;
3913 float minInterpolationOffset;
3914 float maxInterpolationOffset;
3915 deUint32 subPixelInterpolationOffsetBits;
3916 deUint32 maxFramebufferWidth;
3917 deUint32 maxFramebufferHeight;
3918 deUint32 maxFramebufferLayers;
3919 VkSampleCountFlags framebufferColorSampleCounts;
3920 VkSampleCountFlags framebufferDepthSampleCounts;
3921 VkSampleCountFlags framebufferStencilSampleCounts;
3922 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3923 deUint32 maxColorAttachments;
3924 VkSampleCountFlags sampledImageColorSampleCounts;
3925 VkSampleCountFlags sampledImageIntegerSampleCounts;
3926 VkSampleCountFlags sampledImageDepthSampleCounts;
3927 VkSampleCountFlags sampledImageStencilSampleCounts;
3928 VkSampleCountFlags storageImageSampleCounts;
3929 deUint32 maxSampleMaskWords;
3930 VkBool32 timestampComputeAndGraphics;
3931 float timestampPeriod;
3932 deUint32 maxClipDistances;
3933 deUint32 maxCullDistances;
3934 deUint32 maxCombinedClipAndCullDistances;
3935 deUint32 discreteQueuePriorities;
3936 float pointSizeRange[2];
3937 float lineWidthRange[2];
3938 float pointSizeGranularity;
3939 float lineWidthGranularity;
3940 VkBool32 strictLines;
3941 VkBool32 standardSampleLocations;
3942 VkDeviceSize optimalBufferCopyOffsetAlignment;
3943 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3944 VkDeviceSize nonCoherentAtomSize;
3945 } VkPhysicalDeviceLimits;
3947 typedef struct VkPhysicalDeviceMemoryProperties {
3948 deUint32 memoryTypeCount;
3949 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3950 deUint32 memoryHeapCount;
3951 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3952 } VkPhysicalDeviceMemoryProperties;
3954 typedef struct VkPhysicalDeviceSparseProperties {
3955 VkBool32 residencyStandard2DBlockShape;
3956 VkBool32 residencyStandard2DMultisampleBlockShape;
3957 VkBool32 residencyStandard3DBlockShape;
3958 VkBool32 residencyAlignedMipSize;
3959 VkBool32 residencyNonResidentStrict;
3960 } VkPhysicalDeviceSparseProperties;
3962 typedef struct VkPhysicalDeviceProperties {
3963 deUint32 apiVersion;
3964 deUint32 driverVersion;
3967 VkPhysicalDeviceType deviceType;
3968 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3969 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3970 VkPhysicalDeviceLimits limits;
3971 VkPhysicalDeviceSparseProperties sparseProperties;
3972 } VkPhysicalDeviceProperties;
3974 typedef struct VkQueueFamilyProperties {
3975 VkQueueFlags queueFlags;
3976 deUint32 queueCount;
3977 deUint32 timestampValidBits;
3978 VkExtent3D minImageTransferGranularity;
3979 } VkQueueFamilyProperties;
3981 typedef struct VkDeviceQueueCreateInfo {
3982 VkStructureType sType;
3984 VkDeviceQueueCreateFlags flags;
3985 deUint32 queueFamilyIndex;
3986 deUint32 queueCount;
3987 const float* pQueuePriorities;
3988 } VkDeviceQueueCreateInfo;
3990 typedef struct VkDeviceCreateInfo {
3991 VkStructureType sType;
3993 VkDeviceCreateFlags flags;
3994 deUint32 queueCreateInfoCount;
3995 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3996 deUint32 enabledLayerCount;
3997 const char* const* ppEnabledLayerNames;
3998 deUint32 enabledExtensionCount;
3999 const char* const* ppEnabledExtensionNames;
4000 const VkPhysicalDeviceFeatures* pEnabledFeatures;
4001 } VkDeviceCreateInfo;
4003 typedef struct VkExtensionProperties {
4004 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
4005 deUint32 specVersion;
4006 } VkExtensionProperties;
4008 typedef struct VkLayerProperties {
4009 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
4010 deUint32 specVersion;
4011 deUint32 implementationVersion;
4012 char description[VK_MAX_DESCRIPTION_SIZE];
4013 } VkLayerProperties;
4015 typedef struct VkSubmitInfo {
4016 VkStructureType sType;
4018 deUint32 waitSemaphoreCount;
4019 const VkSemaphore* pWaitSemaphores;
4020 const VkPipelineStageFlags* pWaitDstStageMask;
4021 deUint32 commandBufferCount;
4022 const VkCommandBuffer* pCommandBuffers;
4023 deUint32 signalSemaphoreCount;
4024 const VkSemaphore* pSignalSemaphores;
4027 typedef struct VkMappedMemoryRange {
4028 VkStructureType sType;
4030 VkDeviceMemory memory;
4031 VkDeviceSize offset;
4033 } VkMappedMemoryRange;
4035 typedef struct VkMemoryAllocateInfo {
4036 VkStructureType sType;
4038 VkDeviceSize allocationSize;
4039 deUint32 memoryTypeIndex;
4040 } VkMemoryAllocateInfo;
4042 typedef struct VkMemoryRequirements {
4044 VkDeviceSize alignment;
4045 deUint32 memoryTypeBits;
4046 } VkMemoryRequirements;
4048 typedef struct VkSparseMemoryBind {
4049 VkDeviceSize resourceOffset;
4051 VkDeviceMemory memory;
4052 VkDeviceSize memoryOffset;
4053 VkSparseMemoryBindFlags flags;
4054 } VkSparseMemoryBind;
4056 typedef struct VkSparseBufferMemoryBindInfo {
4059 const VkSparseMemoryBind* pBinds;
4060 } VkSparseBufferMemoryBindInfo;
4062 typedef struct VkSparseImageOpaqueMemoryBindInfo {
4065 const VkSparseMemoryBind* pBinds;
4066 } VkSparseImageOpaqueMemoryBindInfo;
4068 typedef struct VkImageSubresource {
4069 VkImageAspectFlags aspectMask;
4071 deUint32 arrayLayer;
4072 } VkImageSubresource;
4074 typedef struct VkSparseImageMemoryBind {
4075 VkImageSubresource subresource;
4078 VkDeviceMemory memory;
4079 VkDeviceSize memoryOffset;
4080 VkSparseMemoryBindFlags flags;
4081 } VkSparseImageMemoryBind;
4083 typedef struct VkSparseImageMemoryBindInfo {
4086 const VkSparseImageMemoryBind* pBinds;
4087 } VkSparseImageMemoryBindInfo;
4089 typedef struct VkBindSparseInfo {
4090 VkStructureType sType;
4092 deUint32 waitSemaphoreCount;
4093 const VkSemaphore* pWaitSemaphores;
4094 deUint32 bufferBindCount;
4095 const VkSparseBufferMemoryBindInfo* pBufferBinds;
4096 deUint32 imageOpaqueBindCount;
4097 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
4098 deUint32 imageBindCount;
4099 const VkSparseImageMemoryBindInfo* pImageBinds;
4100 deUint32 signalSemaphoreCount;
4101 const VkSemaphore* pSignalSemaphores;
4104 typedef struct VkSparseImageFormatProperties {
4105 VkImageAspectFlags aspectMask;
4106 VkExtent3D imageGranularity;
4107 VkSparseImageFormatFlags flags;
4108 } VkSparseImageFormatProperties;
4110 typedef struct VkSparseImageMemoryRequirements {
4111 VkSparseImageFormatProperties formatProperties;
4112 deUint32 imageMipTailFirstLod;
4113 VkDeviceSize imageMipTailSize;
4114 VkDeviceSize imageMipTailOffset;
4115 VkDeviceSize imageMipTailStride;
4116 } VkSparseImageMemoryRequirements;
4118 typedef struct VkFenceCreateInfo {
4119 VkStructureType sType;
4121 VkFenceCreateFlags flags;
4122 } VkFenceCreateInfo;
4124 typedef struct VkSemaphoreCreateInfo {
4125 VkStructureType sType;
4127 VkSemaphoreCreateFlags flags;
4128 } VkSemaphoreCreateInfo;
4130 typedef struct VkEventCreateInfo {
4131 VkStructureType sType;
4133 VkEventCreateFlags flags;
4134 } VkEventCreateInfo;
4136 typedef struct VkQueryPoolCreateInfo {
4137 VkStructureType sType;
4139 VkQueryPoolCreateFlags flags;
4140 VkQueryType queryType;
4141 deUint32 queryCount;
4142 VkQueryPipelineStatisticFlags pipelineStatistics;
4143 } VkQueryPoolCreateInfo;
4145 typedef struct VkBufferCreateInfo {
4146 VkStructureType sType;
4148 VkBufferCreateFlags flags;
4150 VkBufferUsageFlags usage;
4151 VkSharingMode sharingMode;
4152 deUint32 queueFamilyIndexCount;
4153 const deUint32* pQueueFamilyIndices;
4154 } VkBufferCreateInfo;
4156 typedef struct VkBufferViewCreateInfo {
4157 VkStructureType sType;
4159 VkBufferViewCreateFlags flags;
4162 VkDeviceSize offset;
4164 } VkBufferViewCreateInfo;
4166 typedef struct VkImageCreateInfo {
4167 VkStructureType sType;
4169 VkImageCreateFlags flags;
4170 VkImageType imageType;
4174 deUint32 arrayLayers;
4175 VkSampleCountFlagBits samples;
4176 VkImageTiling tiling;
4177 VkImageUsageFlags usage;
4178 VkSharingMode sharingMode;
4179 deUint32 queueFamilyIndexCount;
4180 const deUint32* pQueueFamilyIndices;
4181 VkImageLayout initialLayout;
4182 } VkImageCreateInfo;
4184 typedef struct VkSubresourceLayout {
4185 VkDeviceSize offset;
4187 VkDeviceSize rowPitch;
4188 VkDeviceSize arrayPitch;
4189 VkDeviceSize depthPitch;
4190 } VkSubresourceLayout;
4192 typedef struct VkComponentMapping {
4193 VkComponentSwizzle r;
4194 VkComponentSwizzle g;
4195 VkComponentSwizzle b;
4196 VkComponentSwizzle a;
4197 } VkComponentMapping;
4199 typedef struct VkImageViewCreateInfo {
4200 VkStructureType sType;
4202 VkImageViewCreateFlags flags;
4204 VkImageViewType viewType;
4206 VkComponentMapping components;
4207 VkImageSubresourceRange subresourceRange;
4208 } VkImageViewCreateInfo;
4210 typedef struct VkShaderModuleCreateInfo {
4211 VkStructureType sType;
4213 VkShaderModuleCreateFlags flags;
4215 const deUint32* pCode;
4216 } VkShaderModuleCreateInfo;
4218 typedef struct VkPipelineCacheCreateInfo {
4219 VkStructureType sType;
4221 VkPipelineCacheCreateFlags flags;
4222 deUintptr initialDataSize;
4223 const void* pInitialData;
4224 } VkPipelineCacheCreateInfo;
4226 typedef struct VkSpecializationMapEntry {
4227 deUint32 constantID;
4230 } VkSpecializationMapEntry;
4232 typedef struct VkSpecializationInfo {
4233 deUint32 mapEntryCount;
4234 const VkSpecializationMapEntry* pMapEntries;
4237 } VkSpecializationInfo;
4239 typedef struct VkPipelineShaderStageCreateInfo {
4240 VkStructureType sType;
4242 VkPipelineShaderStageCreateFlags flags;
4243 VkShaderStageFlagBits stage;
4244 VkShaderModule module;
4246 const VkSpecializationInfo* pSpecializationInfo;
4247 } VkPipelineShaderStageCreateInfo;
4249 typedef struct VkComputePipelineCreateInfo {
4250 VkStructureType sType;
4252 VkPipelineCreateFlags flags;
4253 VkPipelineShaderStageCreateInfo stage;
4254 VkPipelineLayout layout;
4255 VkPipeline basePipelineHandle;
4256 deInt32 basePipelineIndex;
4257 } VkComputePipelineCreateInfo;
4259 typedef struct VkVertexInputBindingDescription {
4262 VkVertexInputRate inputRate;
4263 } VkVertexInputBindingDescription;
4265 typedef struct VkVertexInputAttributeDescription {
4270 } VkVertexInputAttributeDescription;
4272 typedef struct VkPipelineVertexInputStateCreateInfo {
4273 VkStructureType sType;
4275 VkPipelineVertexInputStateCreateFlags flags;
4276 deUint32 vertexBindingDescriptionCount;
4277 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
4278 deUint32 vertexAttributeDescriptionCount;
4279 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
4280 } VkPipelineVertexInputStateCreateInfo;
4282 typedef struct VkPipelineInputAssemblyStateCreateInfo {
4283 VkStructureType sType;
4285 VkPipelineInputAssemblyStateCreateFlags flags;
4286 VkPrimitiveTopology topology;
4287 VkBool32 primitiveRestartEnable;
4288 } VkPipelineInputAssemblyStateCreateInfo;
4290 typedef struct VkPipelineTessellationStateCreateInfo {
4291 VkStructureType sType;
4293 VkPipelineTessellationStateCreateFlags flags;
4294 deUint32 patchControlPoints;
4295 } VkPipelineTessellationStateCreateInfo;
4297 typedef struct VkViewport {
4306 typedef struct VkPipelineViewportStateCreateInfo {
4307 VkStructureType sType;
4309 VkPipelineViewportStateCreateFlags flags;
4310 deUint32 viewportCount;
4311 const VkViewport* pViewports;
4312 deUint32 scissorCount;
4313 const VkRect2D* pScissors;
4314 } VkPipelineViewportStateCreateInfo;
4316 typedef struct VkPipelineRasterizationStateCreateInfo {
4317 VkStructureType sType;
4319 VkPipelineRasterizationStateCreateFlags flags;
4320 VkBool32 depthClampEnable;
4321 VkBool32 rasterizerDiscardEnable;
4322 VkPolygonMode polygonMode;
4323 VkCullModeFlags cullMode;
4324 VkFrontFace frontFace;
4325 VkBool32 depthBiasEnable;
4326 float depthBiasConstantFactor;
4327 float depthBiasClamp;
4328 float depthBiasSlopeFactor;
4330 } VkPipelineRasterizationStateCreateInfo;
4332 typedef struct VkPipelineMultisampleStateCreateInfo {
4333 VkStructureType sType;
4335 VkPipelineMultisampleStateCreateFlags flags;
4336 VkSampleCountFlagBits rasterizationSamples;
4337 VkBool32 sampleShadingEnable;
4338 float minSampleShading;
4339 const VkSampleMask* pSampleMask;
4340 VkBool32 alphaToCoverageEnable;
4341 VkBool32 alphaToOneEnable;
4342 } VkPipelineMultisampleStateCreateInfo;
4344 typedef struct VkStencilOpState {
4347 VkStencilOp depthFailOp;
4348 VkCompareOp compareOp;
4349 deUint32 compareMask;
4354 typedef struct VkPipelineDepthStencilStateCreateInfo {
4355 VkStructureType sType;
4357 VkPipelineDepthStencilStateCreateFlags flags;
4358 VkBool32 depthTestEnable;
4359 VkBool32 depthWriteEnable;
4360 VkCompareOp depthCompareOp;
4361 VkBool32 depthBoundsTestEnable;
4362 VkBool32 stencilTestEnable;
4363 VkStencilOpState front;
4364 VkStencilOpState back;
4365 float minDepthBounds;
4366 float maxDepthBounds;
4367 } VkPipelineDepthStencilStateCreateInfo;
4369 typedef struct VkPipelineColorBlendAttachmentState {
4370 VkBool32 blendEnable;
4371 VkBlendFactor srcColorBlendFactor;
4372 VkBlendFactor dstColorBlendFactor;
4373 VkBlendOp colorBlendOp;
4374 VkBlendFactor srcAlphaBlendFactor;
4375 VkBlendFactor dstAlphaBlendFactor;
4376 VkBlendOp alphaBlendOp;
4377 VkColorComponentFlags colorWriteMask;
4378 } VkPipelineColorBlendAttachmentState;
4380 typedef struct VkPipelineColorBlendStateCreateInfo {
4381 VkStructureType sType;
4383 VkPipelineColorBlendStateCreateFlags flags;
4384 VkBool32 logicOpEnable;
4386 deUint32 attachmentCount;
4387 const VkPipelineColorBlendAttachmentState* pAttachments;
4388 float blendConstants[4];
4389 } VkPipelineColorBlendStateCreateInfo;
4391 typedef struct VkPipelineDynamicStateCreateInfo {
4392 VkStructureType sType;
4394 VkPipelineDynamicStateCreateFlags flags;
4395 deUint32 dynamicStateCount;
4396 const VkDynamicState* pDynamicStates;
4397 } VkPipelineDynamicStateCreateInfo;
4399 typedef struct VkGraphicsPipelineCreateInfo {
4400 VkStructureType sType;
4402 VkPipelineCreateFlags flags;
4403 deUint32 stageCount;
4404 const VkPipelineShaderStageCreateInfo* pStages;
4405 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4406 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4407 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4408 const VkPipelineViewportStateCreateInfo* pViewportState;
4409 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4410 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4411 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4412 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4413 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4414 VkPipelineLayout layout;
4415 VkRenderPass renderPass;
4417 VkPipeline basePipelineHandle;
4418 deInt32 basePipelineIndex;
4419 } VkGraphicsPipelineCreateInfo;
4421 typedef struct VkPushConstantRange {
4422 VkShaderStageFlags stageFlags;
4425 } VkPushConstantRange;
4427 typedef struct VkPipelineLayoutCreateInfo {
4428 VkStructureType sType;
4430 VkPipelineLayoutCreateFlags flags;
4431 deUint32 setLayoutCount;
4432 const VkDescriptorSetLayout* pSetLayouts;
4433 deUint32 pushConstantRangeCount;
4434 const VkPushConstantRange* pPushConstantRanges;
4435 } VkPipelineLayoutCreateInfo;
4437 typedef struct VkSamplerCreateInfo {
4438 VkStructureType sType;
4440 VkSamplerCreateFlags flags;
4443 VkSamplerMipmapMode mipmapMode;
4444 VkSamplerAddressMode addressModeU;
4445 VkSamplerAddressMode addressModeV;
4446 VkSamplerAddressMode addressModeW;
4448 VkBool32 anisotropyEnable;
4449 float maxAnisotropy;
4450 VkBool32 compareEnable;
4451 VkCompareOp compareOp;
4454 VkBorderColor borderColor;
4455 VkBool32 unnormalizedCoordinates;
4456 } VkSamplerCreateInfo;
4458 typedef struct VkCopyDescriptorSet {
4459 VkStructureType sType;
4461 VkDescriptorSet srcSet;
4462 deUint32 srcBinding;
4463 deUint32 srcArrayElement;
4464 VkDescriptorSet dstSet;
4465 deUint32 dstBinding;
4466 deUint32 dstArrayElement;
4467 deUint32 descriptorCount;
4468 } VkCopyDescriptorSet;
4470 typedef struct VkDescriptorBufferInfo {
4472 VkDeviceSize offset;
4474 } VkDescriptorBufferInfo;
4476 typedef struct VkDescriptorImageInfo {
4478 VkImageView imageView;
4479 VkImageLayout imageLayout;
4480 } VkDescriptorImageInfo;
4482 typedef struct VkDescriptorPoolSize {
4483 VkDescriptorType type;
4484 deUint32 descriptorCount;
4485 } VkDescriptorPoolSize;
4487 typedef struct VkDescriptorPoolCreateInfo {
4488 VkStructureType sType;
4490 VkDescriptorPoolCreateFlags flags;
4492 deUint32 poolSizeCount;
4493 const VkDescriptorPoolSize* pPoolSizes;
4494 } VkDescriptorPoolCreateInfo;
4496 typedef struct VkDescriptorSetAllocateInfo {
4497 VkStructureType sType;
4499 VkDescriptorPool descriptorPool;
4500 deUint32 descriptorSetCount;
4501 const VkDescriptorSetLayout* pSetLayouts;
4502 } VkDescriptorSetAllocateInfo;
4504 typedef struct VkDescriptorSetLayoutBinding {
4506 VkDescriptorType descriptorType;
4507 deUint32 descriptorCount;
4508 VkShaderStageFlags stageFlags;
4509 const VkSampler* pImmutableSamplers;
4510 } VkDescriptorSetLayoutBinding;
4512 typedef struct VkDescriptorSetLayoutCreateInfo {
4513 VkStructureType sType;
4515 VkDescriptorSetLayoutCreateFlags flags;
4516 deUint32 bindingCount;
4517 const VkDescriptorSetLayoutBinding* pBindings;
4518 } VkDescriptorSetLayoutCreateInfo;
4520 typedef struct VkWriteDescriptorSet {
4521 VkStructureType sType;
4523 VkDescriptorSet dstSet;
4524 deUint32 dstBinding;
4525 deUint32 dstArrayElement;
4526 deUint32 descriptorCount;
4527 VkDescriptorType descriptorType;
4528 const VkDescriptorImageInfo* pImageInfo;
4529 const VkDescriptorBufferInfo* pBufferInfo;
4530 const VkBufferView* pTexelBufferView;
4531 } VkWriteDescriptorSet;
4533 typedef struct VkAttachmentDescription {
4534 VkAttachmentDescriptionFlags flags;
4536 VkSampleCountFlagBits samples;
4537 VkAttachmentLoadOp loadOp;
4538 VkAttachmentStoreOp storeOp;
4539 VkAttachmentLoadOp stencilLoadOp;
4540 VkAttachmentStoreOp stencilStoreOp;
4541 VkImageLayout initialLayout;
4542 VkImageLayout finalLayout;
4543 } VkAttachmentDescription;
4545 typedef struct VkAttachmentReference {
4546 deUint32 attachment;
4547 VkImageLayout layout;
4548 } VkAttachmentReference;
4550 typedef struct VkFramebufferCreateInfo {
4551 VkStructureType sType;
4553 VkFramebufferCreateFlags flags;
4554 VkRenderPass renderPass;
4555 deUint32 attachmentCount;
4556 const VkImageView* pAttachments;
4560 } VkFramebufferCreateInfo;
4562 typedef struct VkSubpassDescription {
4563 VkSubpassDescriptionFlags flags;
4564 VkPipelineBindPoint pipelineBindPoint;
4565 deUint32 inputAttachmentCount;
4566 const VkAttachmentReference* pInputAttachments;
4567 deUint32 colorAttachmentCount;
4568 const VkAttachmentReference* pColorAttachments;
4569 const VkAttachmentReference* pResolveAttachments;
4570 const VkAttachmentReference* pDepthStencilAttachment;
4571 deUint32 preserveAttachmentCount;
4572 const deUint32* pPreserveAttachments;
4573 } VkSubpassDescription;
4575 typedef struct VkSubpassDependency {
4576 deUint32 srcSubpass;
4577 deUint32 dstSubpass;
4578 VkPipelineStageFlags srcStageMask;
4579 VkPipelineStageFlags dstStageMask;
4580 VkAccessFlags srcAccessMask;
4581 VkAccessFlags dstAccessMask;
4582 VkDependencyFlags dependencyFlags;
4583 } VkSubpassDependency;
4585 typedef struct VkRenderPassCreateInfo {
4586 VkStructureType sType;
4588 VkRenderPassCreateFlags flags;
4589 deUint32 attachmentCount;
4590 const VkAttachmentDescription* pAttachments;
4591 deUint32 subpassCount;
4592 const VkSubpassDescription* pSubpasses;
4593 deUint32 dependencyCount;
4594 const VkSubpassDependency* pDependencies;
4595 } VkRenderPassCreateInfo;
4597 typedef struct VkCommandPoolCreateInfo {
4598 VkStructureType sType;
4600 VkCommandPoolCreateFlags flags;
4601 deUint32 queueFamilyIndex;
4602 } VkCommandPoolCreateInfo;
4604 typedef struct VkCommandBufferAllocateInfo {
4605 VkStructureType sType;
4607 VkCommandPool commandPool;
4608 VkCommandBufferLevel level;
4609 deUint32 commandBufferCount;
4610 } VkCommandBufferAllocateInfo;
4612 typedef struct VkCommandBufferInheritanceInfo {
4613 VkStructureType sType;
4615 VkRenderPass renderPass;
4617 VkFramebuffer framebuffer;
4618 VkBool32 occlusionQueryEnable;
4619 VkQueryControlFlags queryFlags;
4620 VkQueryPipelineStatisticFlags pipelineStatistics;
4621 } VkCommandBufferInheritanceInfo;
4623 typedef struct VkCommandBufferBeginInfo {
4624 VkStructureType sType;
4626 VkCommandBufferUsageFlags flags;
4627 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4628 } VkCommandBufferBeginInfo;
4630 typedef struct VkBufferCopy {
4631 VkDeviceSize srcOffset;
4632 VkDeviceSize dstOffset;
4636 typedef struct VkImageSubresourceLayers {
4637 VkImageAspectFlags aspectMask;
4639 deUint32 baseArrayLayer;
4640 deUint32 layerCount;
4641 } VkImageSubresourceLayers;
4643 typedef struct VkBufferImageCopy {
4644 VkDeviceSize bufferOffset;
4645 deUint32 bufferRowLength;
4646 deUint32 bufferImageHeight;
4647 VkImageSubresourceLayers imageSubresource;
4648 VkOffset3D imageOffset;
4649 VkExtent3D imageExtent;
4650 } VkBufferImageCopy;
4652 typedef union VkClearColorValue {
4656 } VkClearColorValue;
4658 typedef struct VkClearDepthStencilValue {
4661 } VkClearDepthStencilValue;
4663 typedef union VkClearValue {
4664 VkClearColorValue color;
4665 VkClearDepthStencilValue depthStencil;
4668 typedef struct VkClearAttachment {
4669 VkImageAspectFlags aspectMask;
4670 deUint32 colorAttachment;
4671 VkClearValue clearValue;
4672 } VkClearAttachment;
4674 typedef struct VkClearRect {
4676 deUint32 baseArrayLayer;
4677 deUint32 layerCount;
4680 typedef struct VkImageBlit {
4681 VkImageSubresourceLayers srcSubresource;
4682 VkOffset3D srcOffsets[2];
4683 VkImageSubresourceLayers dstSubresource;
4684 VkOffset3D dstOffsets[2];
4687 typedef struct VkImageCopy {
4688 VkImageSubresourceLayers srcSubresource;
4689 VkOffset3D srcOffset;
4690 VkImageSubresourceLayers dstSubresource;
4691 VkOffset3D dstOffset;
4695 typedef struct VkImageResolve {
4696 VkImageSubresourceLayers srcSubresource;
4697 VkOffset3D srcOffset;
4698 VkImageSubresourceLayers dstSubresource;
4699 VkOffset3D dstOffset;
4703 typedef struct VkRenderPassBeginInfo {
4704 VkStructureType sType;
4706 VkRenderPass renderPass;
4707 VkFramebuffer framebuffer;
4708 VkRect2D renderArea;
4709 deUint32 clearValueCount;
4710 const VkClearValue* pClearValues;
4711 } VkRenderPassBeginInfo;
4713 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4714 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4715 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4716 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4717 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4718 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4719 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4720 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4721 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4722 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4723 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4724 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4725 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4726 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4727 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4728 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4729 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4730 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4731 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4732 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4733 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4734 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4735 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4736 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4737 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4738 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4739 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4740 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4741 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4742 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4743 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4744 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4745 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4746 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4747 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4748 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4749 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4750 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4751 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4752 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4753 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4754 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4755 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4756 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4757 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4758 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4759 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4760 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4761 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4762 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4763 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4764 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4765 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4766 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4767 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4768 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4769 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4770 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4771 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4772 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4773 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4774 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4775 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4776 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4777 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4778 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4779 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4780 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4781 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4782 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4783 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4784 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4785 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4786 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4787 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4788 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4789 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4790 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4791 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4792 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4793 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4794 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4795 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4796 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4797 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4798 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4799 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4800 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4801 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4802 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4803 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4804 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4805 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4806 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4807 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4808 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4809 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4810 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4811 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4812 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4813 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4814 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4815 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4816 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4817 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4818 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4819 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4820 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4821 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4822 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4823 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4824 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4825 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4826 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4827 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4828 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4829 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4830 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4831 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4832 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4833 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4834 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4835 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4836 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4837 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4838 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);
4839 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);
4840 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4841 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4842 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4843 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4844 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4845 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4846 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4847 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4848 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4849 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4851 #ifndef VK_NO_PROTOTYPES
4852 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4853 const VkInstanceCreateInfo* pCreateInfo,
4854 const VkAllocationCallbacks* pAllocator,
4855 VkInstance* pInstance);
4857 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4858 VkInstance instance,
4859 const VkAllocationCallbacks* pAllocator);
4861 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4862 VkInstance instance,
4863 deUint32* pPhysicalDeviceCount,
4864 VkPhysicalDevice* pPhysicalDevices);
4866 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4867 VkPhysicalDevice physicalDevice,
4868 VkPhysicalDeviceFeatures* pFeatures);
4870 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4871 VkPhysicalDevice physicalDevice,
4873 VkFormatProperties* pFormatProperties);
4875 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4876 VkPhysicalDevice physicalDevice,
4879 VkImageTiling tiling,
4880 VkImageUsageFlags usage,
4881 VkImageCreateFlags flags,
4882 VkImageFormatProperties* pImageFormatProperties);
4884 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4885 VkPhysicalDevice physicalDevice,
4886 VkPhysicalDeviceProperties* pProperties);
4888 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4889 VkPhysicalDevice physicalDevice,
4890 deUint32* pQueueFamilyPropertyCount,
4891 VkQueueFamilyProperties* pQueueFamilyProperties);
4893 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4894 VkPhysicalDevice physicalDevice,
4895 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4897 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4898 VkInstance instance,
4901 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4905 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4906 VkPhysicalDevice physicalDevice,
4907 const VkDeviceCreateInfo* pCreateInfo,
4908 const VkAllocationCallbacks* pAllocator,
4911 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4913 const VkAllocationCallbacks* pAllocator);
4915 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4916 const char* pLayerName,
4917 deUint32* pPropertyCount,
4918 VkExtensionProperties* pProperties);
4920 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4921 VkPhysicalDevice physicalDevice,
4922 const char* pLayerName,
4923 deUint32* pPropertyCount,
4924 VkExtensionProperties* pProperties);
4926 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4927 deUint32* pPropertyCount,
4928 VkLayerProperties* pProperties);
4930 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4931 VkPhysicalDevice physicalDevice,
4932 deUint32* pPropertyCount,
4933 VkLayerProperties* pProperties);
4935 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4937 deUint32 queueFamilyIndex,
4938 deUint32 queueIndex,
4941 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4943 deUint32 submitCount,
4944 const VkSubmitInfo* pSubmits,
4947 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4950 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4953 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4955 const VkMemoryAllocateInfo* pAllocateInfo,
4956 const VkAllocationCallbacks* pAllocator,
4957 VkDeviceMemory* pMemory);
4959 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4961 VkDeviceMemory memory,
4962 const VkAllocationCallbacks* pAllocator);
4964 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4966 VkDeviceMemory memory,
4967 VkDeviceSize offset,
4969 VkMemoryMapFlags flags,
4972 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4974 VkDeviceMemory memory);
4976 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4978 deUint32 memoryRangeCount,
4979 const VkMappedMemoryRange* pMemoryRanges);
4981 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4983 deUint32 memoryRangeCount,
4984 const VkMappedMemoryRange* pMemoryRanges);
4986 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4988 VkDeviceMemory memory,
4989 VkDeviceSize* pCommittedMemoryInBytes);
4991 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4994 VkDeviceMemory memory,
4995 VkDeviceSize memoryOffset);
4997 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
5000 VkDeviceMemory memory,
5001 VkDeviceSize memoryOffset);
5003 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
5006 VkMemoryRequirements* pMemoryRequirements);
5008 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
5011 VkMemoryRequirements* pMemoryRequirements);
5013 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
5016 deUint32* pSparseMemoryRequirementCount,
5017 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
5019 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
5020 VkPhysicalDevice physicalDevice,
5023 VkSampleCountFlagBits samples,
5024 VkImageUsageFlags usage,
5025 VkImageTiling tiling,
5026 deUint32* pPropertyCount,
5027 VkSparseImageFormatProperties* pProperties);
5029 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
5031 deUint32 bindInfoCount,
5032 const VkBindSparseInfo* pBindInfo,
5035 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
5037 const VkFenceCreateInfo* pCreateInfo,
5038 const VkAllocationCallbacks* pAllocator,
5041 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
5044 const VkAllocationCallbacks* pAllocator);
5046 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
5048 deUint32 fenceCount,
5049 const VkFence* pFences);
5051 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
5055 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
5057 deUint32 fenceCount,
5058 const VkFence* pFences,
5062 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
5064 const VkSemaphoreCreateInfo* pCreateInfo,
5065 const VkAllocationCallbacks* pAllocator,
5066 VkSemaphore* pSemaphore);
5068 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
5070 VkSemaphore semaphore,
5071 const VkAllocationCallbacks* pAllocator);
5073 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
5075 const VkEventCreateInfo* pCreateInfo,
5076 const VkAllocationCallbacks* pAllocator,
5079 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
5082 const VkAllocationCallbacks* pAllocator);
5084 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
5088 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
5092 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
5096 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
5098 const VkQueryPoolCreateInfo* pCreateInfo,
5099 const VkAllocationCallbacks* pAllocator,
5100 VkQueryPool* pQueryPool);
5102 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
5104 VkQueryPool queryPool,
5105 const VkAllocationCallbacks* pAllocator);
5107 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
5109 VkQueryPool queryPool,
5110 deUint32 firstQuery,
5111 deUint32 queryCount,
5114 VkDeviceSize stride,
5115 VkQueryResultFlags flags);
5117 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
5119 const VkBufferCreateInfo* pCreateInfo,
5120 const VkAllocationCallbacks* pAllocator,
5123 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
5126 const VkAllocationCallbacks* pAllocator);
5128 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
5130 const VkBufferViewCreateInfo* pCreateInfo,
5131 const VkAllocationCallbacks* pAllocator,
5132 VkBufferView* pView);
5134 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
5136 VkBufferView bufferView,
5137 const VkAllocationCallbacks* pAllocator);
5139 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
5141 const VkImageCreateInfo* pCreateInfo,
5142 const VkAllocationCallbacks* pAllocator,
5145 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
5148 const VkAllocationCallbacks* pAllocator);
5150 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
5153 const VkImageSubresource* pSubresource,
5154 VkSubresourceLayout* pLayout);
5156 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
5158 const VkImageViewCreateInfo* pCreateInfo,
5159 const VkAllocationCallbacks* pAllocator,
5160 VkImageView* pView);
5162 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
5164 VkImageView imageView,
5165 const VkAllocationCallbacks* pAllocator);
5167 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
5169 const VkShaderModuleCreateInfo* pCreateInfo,
5170 const VkAllocationCallbacks* pAllocator,
5171 VkShaderModule* pShaderModule);
5173 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
5175 VkShaderModule shaderModule,
5176 const VkAllocationCallbacks* pAllocator);
5178 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
5180 const VkPipelineCacheCreateInfo* pCreateInfo,
5181 const VkAllocationCallbacks* pAllocator,
5182 VkPipelineCache* pPipelineCache);
5184 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
5186 VkPipelineCache pipelineCache,
5187 const VkAllocationCallbacks* pAllocator);
5189 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
5191 VkPipelineCache pipelineCache,
5192 deUintptr* pDataSize,
5195 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
5197 VkPipelineCache dstCache,
5198 deUint32 srcCacheCount,
5199 const VkPipelineCache* pSrcCaches);
5201 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
5203 VkPipelineCache pipelineCache,
5204 deUint32 createInfoCount,
5205 const VkGraphicsPipelineCreateInfo* pCreateInfos,
5206 const VkAllocationCallbacks* pAllocator,
5207 VkPipeline* pPipelines);
5209 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
5211 VkPipelineCache pipelineCache,
5212 deUint32 createInfoCount,
5213 const VkComputePipelineCreateInfo* pCreateInfos,
5214 const VkAllocationCallbacks* pAllocator,
5215 VkPipeline* pPipelines);
5217 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
5219 VkPipeline pipeline,
5220 const VkAllocationCallbacks* pAllocator);
5222 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
5224 const VkPipelineLayoutCreateInfo* pCreateInfo,
5225 const VkAllocationCallbacks* pAllocator,
5226 VkPipelineLayout* pPipelineLayout);
5228 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
5230 VkPipelineLayout pipelineLayout,
5231 const VkAllocationCallbacks* pAllocator);
5233 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
5235 const VkSamplerCreateInfo* pCreateInfo,
5236 const VkAllocationCallbacks* pAllocator,
5237 VkSampler* pSampler);
5239 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
5242 const VkAllocationCallbacks* pAllocator);
5244 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
5246 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5247 const VkAllocationCallbacks* pAllocator,
5248 VkDescriptorSetLayout* pSetLayout);
5250 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
5252 VkDescriptorSetLayout descriptorSetLayout,
5253 const VkAllocationCallbacks* pAllocator);
5255 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
5257 const VkDescriptorPoolCreateInfo* pCreateInfo,
5258 const VkAllocationCallbacks* pAllocator,
5259 VkDescriptorPool* pDescriptorPool);
5261 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
5263 VkDescriptorPool descriptorPool,
5264 const VkAllocationCallbacks* pAllocator);
5266 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
5268 VkDescriptorPool descriptorPool,
5269 VkDescriptorPoolResetFlags flags);
5271 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
5273 const VkDescriptorSetAllocateInfo* pAllocateInfo,
5274 VkDescriptorSet* pDescriptorSets);
5276 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
5278 VkDescriptorPool descriptorPool,
5279 deUint32 descriptorSetCount,
5280 const VkDescriptorSet* pDescriptorSets);
5282 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
5284 deUint32 descriptorWriteCount,
5285 const VkWriteDescriptorSet* pDescriptorWrites,
5286 deUint32 descriptorCopyCount,
5287 const VkCopyDescriptorSet* pDescriptorCopies);
5289 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
5291 const VkFramebufferCreateInfo* pCreateInfo,
5292 const VkAllocationCallbacks* pAllocator,
5293 VkFramebuffer* pFramebuffer);
5295 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
5297 VkFramebuffer framebuffer,
5298 const VkAllocationCallbacks* pAllocator);
5300 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
5302 const VkRenderPassCreateInfo* pCreateInfo,
5303 const VkAllocationCallbacks* pAllocator,
5304 VkRenderPass* pRenderPass);
5306 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
5308 VkRenderPass renderPass,
5309 const VkAllocationCallbacks* pAllocator);
5311 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
5313 VkRenderPass renderPass,
5314 VkExtent2D* pGranularity);
5316 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
5318 const VkCommandPoolCreateInfo* pCreateInfo,
5319 const VkAllocationCallbacks* pAllocator,
5320 VkCommandPool* pCommandPool);
5322 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
5324 VkCommandPool commandPool,
5325 const VkAllocationCallbacks* pAllocator);
5327 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
5329 VkCommandPool commandPool,
5330 VkCommandPoolResetFlags flags);
5332 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
5334 const VkCommandBufferAllocateInfo* pAllocateInfo,
5335 VkCommandBuffer* pCommandBuffers);
5337 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
5339 VkCommandPool commandPool,
5340 deUint32 commandBufferCount,
5341 const VkCommandBuffer* pCommandBuffers);
5343 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
5344 VkCommandBuffer commandBuffer,
5345 const VkCommandBufferBeginInfo* pBeginInfo);
5347 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
5348 VkCommandBuffer commandBuffer);
5350 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
5351 VkCommandBuffer commandBuffer,
5352 VkCommandBufferResetFlags flags);
5354 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
5355 VkCommandBuffer commandBuffer,
5356 VkPipelineBindPoint pipelineBindPoint,
5357 VkPipeline pipeline);
5359 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
5360 VkCommandBuffer commandBuffer,
5361 deUint32 firstViewport,
5362 deUint32 viewportCount,
5363 const VkViewport* pViewports);
5365 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
5366 VkCommandBuffer commandBuffer,
5367 deUint32 firstScissor,
5368 deUint32 scissorCount,
5369 const VkRect2D* pScissors);
5371 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
5372 VkCommandBuffer commandBuffer,
5375 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
5376 VkCommandBuffer commandBuffer,
5377 float depthBiasConstantFactor,
5378 float depthBiasClamp,
5379 float depthBiasSlopeFactor);
5381 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
5382 VkCommandBuffer commandBuffer,
5383 const float blendConstants[4]);
5385 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
5386 VkCommandBuffer commandBuffer,
5387 float minDepthBounds,
5388 float maxDepthBounds);
5390 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5391 VkCommandBuffer commandBuffer,
5392 VkStencilFaceFlags faceMask,
5393 deUint32 compareMask);
5395 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5396 VkCommandBuffer commandBuffer,
5397 VkStencilFaceFlags faceMask,
5398 deUint32 writeMask);
5400 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5401 VkCommandBuffer commandBuffer,
5402 VkStencilFaceFlags faceMask,
5403 deUint32 reference);
5405 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5406 VkCommandBuffer commandBuffer,
5407 VkPipelineBindPoint pipelineBindPoint,
5408 VkPipelineLayout layout,
5410 deUint32 descriptorSetCount,
5411 const VkDescriptorSet* pDescriptorSets,
5412 deUint32 dynamicOffsetCount,
5413 const deUint32* pDynamicOffsets);
5415 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5416 VkCommandBuffer commandBuffer,
5418 VkDeviceSize offset,
5419 VkIndexType indexType);
5421 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5422 VkCommandBuffer commandBuffer,
5423 deUint32 firstBinding,
5424 deUint32 bindingCount,
5425 const VkBuffer* pBuffers,
5426 const VkDeviceSize* pOffsets);
5428 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5429 VkCommandBuffer commandBuffer,
5430 deUint32 vertexCount,
5431 deUint32 instanceCount,
5432 deUint32 firstVertex,
5433 deUint32 firstInstance);
5435 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5436 VkCommandBuffer commandBuffer,
5437 deUint32 indexCount,
5438 deUint32 instanceCount,
5439 deUint32 firstIndex,
5440 deInt32 vertexOffset,
5441 deUint32 firstInstance);
5443 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5444 VkCommandBuffer commandBuffer,
5446 VkDeviceSize offset,
5450 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5451 VkCommandBuffer commandBuffer,
5453 VkDeviceSize offset,
5457 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5458 VkCommandBuffer commandBuffer,
5459 deUint32 groupCountX,
5460 deUint32 groupCountY,
5461 deUint32 groupCountZ);
5463 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5464 VkCommandBuffer commandBuffer,
5466 VkDeviceSize offset);
5468 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5469 VkCommandBuffer commandBuffer,
5472 deUint32 regionCount,
5473 const VkBufferCopy* pRegions);
5475 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5476 VkCommandBuffer commandBuffer,
5478 VkImageLayout srcImageLayout,
5480 VkImageLayout dstImageLayout,
5481 deUint32 regionCount,
5482 const VkImageCopy* pRegions);
5484 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5485 VkCommandBuffer commandBuffer,
5487 VkImageLayout srcImageLayout,
5489 VkImageLayout dstImageLayout,
5490 deUint32 regionCount,
5491 const VkImageBlit* pRegions,
5494 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5495 VkCommandBuffer commandBuffer,
5498 VkImageLayout dstImageLayout,
5499 deUint32 regionCount,
5500 const VkBufferImageCopy* pRegions);
5502 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5503 VkCommandBuffer commandBuffer,
5505 VkImageLayout srcImageLayout,
5507 deUint32 regionCount,
5508 const VkBufferImageCopy* pRegions);
5510 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5511 VkCommandBuffer commandBuffer,
5513 VkDeviceSize dstOffset,
5514 VkDeviceSize dataSize,
5517 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5518 VkCommandBuffer commandBuffer,
5520 VkDeviceSize dstOffset,
5524 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5525 VkCommandBuffer commandBuffer,
5527 VkImageLayout imageLayout,
5528 const VkClearColorValue* pColor,
5529 deUint32 rangeCount,
5530 const VkImageSubresourceRange* pRanges);
5532 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5533 VkCommandBuffer commandBuffer,
5535 VkImageLayout imageLayout,
5536 const VkClearDepthStencilValue* pDepthStencil,
5537 deUint32 rangeCount,
5538 const VkImageSubresourceRange* pRanges);
5540 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5541 VkCommandBuffer commandBuffer,
5542 deUint32 attachmentCount,
5543 const VkClearAttachment* pAttachments,
5545 const VkClearRect* pRects);
5547 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5548 VkCommandBuffer commandBuffer,
5550 VkImageLayout srcImageLayout,
5552 VkImageLayout dstImageLayout,
5553 deUint32 regionCount,
5554 const VkImageResolve* pRegions);
5556 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5557 VkCommandBuffer commandBuffer,
5559 VkPipelineStageFlags stageMask);
5561 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5562 VkCommandBuffer commandBuffer,
5564 VkPipelineStageFlags stageMask);
5566 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5567 VkCommandBuffer commandBuffer,
5568 deUint32 eventCount,
5569 const VkEvent* pEvents,
5570 VkPipelineStageFlags srcStageMask,
5571 VkPipelineStageFlags dstStageMask,
5572 deUint32 memoryBarrierCount,
5573 const VkMemoryBarrier* pMemoryBarriers,
5574 deUint32 bufferMemoryBarrierCount,
5575 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5576 deUint32 imageMemoryBarrierCount,
5577 const VkImageMemoryBarrier* pImageMemoryBarriers);
5579 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5580 VkCommandBuffer commandBuffer,
5581 VkPipelineStageFlags srcStageMask,
5582 VkPipelineStageFlags dstStageMask,
5583 VkDependencyFlags dependencyFlags,
5584 deUint32 memoryBarrierCount,
5585 const VkMemoryBarrier* pMemoryBarriers,
5586 deUint32 bufferMemoryBarrierCount,
5587 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5588 deUint32 imageMemoryBarrierCount,
5589 const VkImageMemoryBarrier* pImageMemoryBarriers);
5591 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5592 VkCommandBuffer commandBuffer,
5593 VkQueryPool queryPool,
5595 VkQueryControlFlags flags);
5597 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5598 VkCommandBuffer commandBuffer,
5599 VkQueryPool queryPool,
5602 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5603 VkCommandBuffer commandBuffer,
5604 VkQueryPool queryPool,
5605 deUint32 firstQuery,
5606 deUint32 queryCount);
5608 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5609 VkCommandBuffer commandBuffer,
5610 VkPipelineStageFlagBits pipelineStage,
5611 VkQueryPool queryPool,
5614 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5615 VkCommandBuffer commandBuffer,
5616 VkQueryPool queryPool,
5617 deUint32 firstQuery,
5618 deUint32 queryCount,
5620 VkDeviceSize dstOffset,
5621 VkDeviceSize stride,
5622 VkQueryResultFlags flags);
5624 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5625 VkCommandBuffer commandBuffer,
5626 VkPipelineLayout layout,
5627 VkShaderStageFlags stageFlags,
5630 const void* pValues);
5632 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5633 VkCommandBuffer commandBuffer,
5634 const VkRenderPassBeginInfo* pRenderPassBegin,
5635 VkSubpassContents contents);
5637 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5638 VkCommandBuffer commandBuffer,
5639 VkSubpassContents contents);
5641 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5642 VkCommandBuffer commandBuffer);
5644 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5645 VkCommandBuffer commandBuffer,
5646 deUint32 commandBufferCount,
5647 const VkCommandBuffer* pCommandBuffers);
5651 #define VK_VERSION_1_1 1
5652 // Vulkan 1.1 version number
5653 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5655 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5656 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5657 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5658 #define VK_LUID_SIZE 8U
5659 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5661 typedef enum VkPointClippingBehavior {
5662 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5663 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5664 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5665 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5666 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5667 } VkPointClippingBehavior;
5669 typedef enum VkTessellationDomainOrigin {
5670 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5671 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5672 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5673 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5674 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5675 } VkTessellationDomainOrigin;
5677 typedef enum VkSamplerYcbcrModelConversion {
5678 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5679 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5680 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5681 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5682 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5683 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5684 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5685 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5686 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5687 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5688 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5689 } VkSamplerYcbcrModelConversion;
5691 typedef enum VkSamplerYcbcrRange {
5692 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5693 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5694 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5695 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5696 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5697 } VkSamplerYcbcrRange;
5699 typedef enum VkChromaLocation {
5700 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5701 VK_CHROMA_LOCATION_MIDPOINT = 1,
5702 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5703 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5704 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5707 typedef enum VkDescriptorUpdateTemplateType {
5708 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5709 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5710 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5711 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5712 } VkDescriptorUpdateTemplateType;
5714 typedef enum VkSubgroupFeatureFlagBits {
5715 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5716 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5717 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5718 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5719 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5720 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5721 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5722 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5723 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5724 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5725 } VkSubgroupFeatureFlagBits;
5726 typedef VkFlags VkSubgroupFeatureFlags;
5728 typedef enum VkPeerMemoryFeatureFlagBits {
5729 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5730 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5731 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5732 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5733 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5734 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5735 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5736 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5737 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5738 } VkPeerMemoryFeatureFlagBits;
5739 typedef VkFlags VkPeerMemoryFeatureFlags;
5741 typedef enum VkMemoryAllocateFlagBits {
5742 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5743 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5744 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5745 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5746 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5747 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5748 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5749 } VkMemoryAllocateFlagBits;
5750 typedef VkFlags VkMemoryAllocateFlags;
5751 typedef VkFlags VkCommandPoolTrimFlags;
5752 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5754 typedef enum VkExternalMemoryHandleTypeFlagBits {
5755 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5756 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5757 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5758 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5759 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5760 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5761 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5762 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5763 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5764 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5765 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5766 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5767 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
5768 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5769 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5770 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5771 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5772 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5773 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5774 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5775 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5776 } VkExternalMemoryHandleTypeFlagBits;
5777 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5779 typedef enum VkExternalMemoryFeatureFlagBits {
5780 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5781 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5782 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5783 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5784 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5785 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5786 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5787 } VkExternalMemoryFeatureFlagBits;
5788 typedef VkFlags VkExternalMemoryFeatureFlags;
5790 typedef enum VkExternalFenceHandleTypeFlagBits {
5791 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5792 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5793 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5794 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5795 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5796 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5797 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5798 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5799 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5800 } VkExternalFenceHandleTypeFlagBits;
5801 typedef VkFlags VkExternalFenceHandleTypeFlags;
5803 typedef enum VkExternalFenceFeatureFlagBits {
5804 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5805 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5806 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5807 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5808 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5809 } VkExternalFenceFeatureFlagBits;
5810 typedef VkFlags VkExternalFenceFeatureFlags;
5812 typedef enum VkFenceImportFlagBits {
5813 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5814 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5815 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5816 } VkFenceImportFlagBits;
5817 typedef VkFlags VkFenceImportFlags;
5819 typedef enum VkSemaphoreImportFlagBits {
5820 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5821 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5822 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5823 } VkSemaphoreImportFlagBits;
5824 typedef VkFlags VkSemaphoreImportFlags;
5826 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5827 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5828 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5829 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5830 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5831 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5832 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5833 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5834 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5835 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5836 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5837 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5838 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5839 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5840 } VkExternalSemaphoreHandleTypeFlagBits;
5841 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5843 typedef enum VkExternalSemaphoreFeatureFlagBits {
5844 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5845 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5846 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5847 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5848 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5849 } VkExternalSemaphoreFeatureFlagBits;
5850 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5851 typedef struct VkPhysicalDeviceSubgroupProperties {
5852 VkStructureType sType;
5854 deUint32 subgroupSize;
5855 VkShaderStageFlags supportedStages;
5856 VkSubgroupFeatureFlags supportedOperations;
5857 VkBool32 quadOperationsInAllStages;
5858 } VkPhysicalDeviceSubgroupProperties;
5860 typedef struct VkBindBufferMemoryInfo {
5861 VkStructureType sType;
5864 VkDeviceMemory memory;
5865 VkDeviceSize memoryOffset;
5866 } VkBindBufferMemoryInfo;
5868 typedef struct VkBindImageMemoryInfo {
5869 VkStructureType sType;
5872 VkDeviceMemory memory;
5873 VkDeviceSize memoryOffset;
5874 } VkBindImageMemoryInfo;
5876 typedef struct VkPhysicalDevice16BitStorageFeatures {
5877 VkStructureType sType;
5879 VkBool32 storageBuffer16BitAccess;
5880 VkBool32 uniformAndStorageBuffer16BitAccess;
5881 VkBool32 storagePushConstant16;
5882 VkBool32 storageInputOutput16;
5883 } VkPhysicalDevice16BitStorageFeatures;
5885 typedef struct VkMemoryDedicatedRequirements {
5886 VkStructureType sType;
5888 VkBool32 prefersDedicatedAllocation;
5889 VkBool32 requiresDedicatedAllocation;
5890 } VkMemoryDedicatedRequirements;
5892 typedef struct VkMemoryDedicatedAllocateInfo {
5893 VkStructureType sType;
5897 } VkMemoryDedicatedAllocateInfo;
5899 typedef struct VkMemoryAllocateFlagsInfo {
5900 VkStructureType sType;
5902 VkMemoryAllocateFlags flags;
5903 deUint32 deviceMask;
5904 } VkMemoryAllocateFlagsInfo;
5906 typedef struct VkDeviceGroupRenderPassBeginInfo {
5907 VkStructureType sType;
5909 deUint32 deviceMask;
5910 deUint32 deviceRenderAreaCount;
5911 const VkRect2D* pDeviceRenderAreas;
5912 } VkDeviceGroupRenderPassBeginInfo;
5914 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5915 VkStructureType sType;
5917 deUint32 deviceMask;
5918 } VkDeviceGroupCommandBufferBeginInfo;
5920 typedef struct VkDeviceGroupSubmitInfo {
5921 VkStructureType sType;
5923 deUint32 waitSemaphoreCount;
5924 const deUint32* pWaitSemaphoreDeviceIndices;
5925 deUint32 commandBufferCount;
5926 const deUint32* pCommandBufferDeviceMasks;
5927 deUint32 signalSemaphoreCount;
5928 const deUint32* pSignalSemaphoreDeviceIndices;
5929 } VkDeviceGroupSubmitInfo;
5931 typedef struct VkDeviceGroupBindSparseInfo {
5932 VkStructureType sType;
5934 deUint32 resourceDeviceIndex;
5935 deUint32 memoryDeviceIndex;
5936 } VkDeviceGroupBindSparseInfo;
5938 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5939 VkStructureType sType;
5941 deUint32 deviceIndexCount;
5942 const deUint32* pDeviceIndices;
5943 } VkBindBufferMemoryDeviceGroupInfo;
5945 typedef struct VkBindImageMemoryDeviceGroupInfo {
5946 VkStructureType sType;
5948 deUint32 deviceIndexCount;
5949 const deUint32* pDeviceIndices;
5950 deUint32 splitInstanceBindRegionCount;
5951 const VkRect2D* pSplitInstanceBindRegions;
5952 } VkBindImageMemoryDeviceGroupInfo;
5954 typedef struct VkPhysicalDeviceGroupProperties {
5955 VkStructureType sType;
5957 deUint32 physicalDeviceCount;
5958 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5959 VkBool32 subsetAllocation;
5960 } VkPhysicalDeviceGroupProperties;
5962 typedef struct VkDeviceGroupDeviceCreateInfo {
5963 VkStructureType sType;
5965 deUint32 physicalDeviceCount;
5966 const VkPhysicalDevice* pPhysicalDevices;
5967 } VkDeviceGroupDeviceCreateInfo;
5969 typedef struct VkBufferMemoryRequirementsInfo2 {
5970 VkStructureType sType;
5973 } VkBufferMemoryRequirementsInfo2;
5975 typedef struct VkImageMemoryRequirementsInfo2 {
5976 VkStructureType sType;
5979 } VkImageMemoryRequirementsInfo2;
5981 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5982 VkStructureType sType;
5985 } VkImageSparseMemoryRequirementsInfo2;
5987 typedef struct VkMemoryRequirements2 {
5988 VkStructureType sType;
5990 VkMemoryRequirements memoryRequirements;
5991 } VkMemoryRequirements2;
5993 typedef struct VkSparseImageMemoryRequirements2 {
5994 VkStructureType sType;
5996 VkSparseImageMemoryRequirements memoryRequirements;
5997 } VkSparseImageMemoryRequirements2;
5999 typedef struct VkPhysicalDeviceFeatures2 {
6000 VkStructureType sType;
6002 VkPhysicalDeviceFeatures features;
6003 } VkPhysicalDeviceFeatures2;
6005 typedef struct VkPhysicalDeviceProperties2 {
6006 VkStructureType sType;
6008 VkPhysicalDeviceProperties properties;
6009 } VkPhysicalDeviceProperties2;
6011 typedef struct VkFormatProperties2 {
6012 VkStructureType sType;
6014 VkFormatProperties formatProperties;
6015 } VkFormatProperties2;
6017 typedef struct VkImageFormatProperties2 {
6018 VkStructureType sType;
6020 VkImageFormatProperties imageFormatProperties;
6021 } VkImageFormatProperties2;
6023 typedef struct VkPhysicalDeviceImageFormatInfo2 {
6024 VkStructureType sType;
6028 VkImageTiling tiling;
6029 VkImageUsageFlags usage;
6030 VkImageCreateFlags flags;
6031 } VkPhysicalDeviceImageFormatInfo2;
6033 typedef struct VkQueueFamilyProperties2 {
6034 VkStructureType sType;
6036 VkQueueFamilyProperties queueFamilyProperties;
6037 } VkQueueFamilyProperties2;
6039 typedef struct VkPhysicalDeviceMemoryProperties2 {
6040 VkStructureType sType;
6042 VkPhysicalDeviceMemoryProperties memoryProperties;
6043 } VkPhysicalDeviceMemoryProperties2;
6045 typedef struct VkSparseImageFormatProperties2 {
6046 VkStructureType sType;
6048 VkSparseImageFormatProperties properties;
6049 } VkSparseImageFormatProperties2;
6051 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
6052 VkStructureType sType;
6056 VkSampleCountFlagBits samples;
6057 VkImageUsageFlags usage;
6058 VkImageTiling tiling;
6059 } VkPhysicalDeviceSparseImageFormatInfo2;
6061 typedef struct VkPhysicalDevicePointClippingProperties {
6062 VkStructureType sType;
6064 VkPointClippingBehavior pointClippingBehavior;
6065 } VkPhysicalDevicePointClippingProperties;
6067 typedef struct VkInputAttachmentAspectReference {
6069 deUint32 inputAttachmentIndex;
6070 VkImageAspectFlags aspectMask;
6071 } VkInputAttachmentAspectReference;
6073 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
6074 VkStructureType sType;
6076 deUint32 aspectReferenceCount;
6077 const VkInputAttachmentAspectReference* pAspectReferences;
6078 } VkRenderPassInputAttachmentAspectCreateInfo;
6080 typedef struct VkImageViewUsageCreateInfo {
6081 VkStructureType sType;
6083 VkImageUsageFlags usage;
6084 } VkImageViewUsageCreateInfo;
6086 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
6087 VkStructureType sType;
6089 VkTessellationDomainOrigin domainOrigin;
6090 } VkPipelineTessellationDomainOriginStateCreateInfo;
6092 typedef struct VkRenderPassMultiviewCreateInfo {
6093 VkStructureType sType;
6095 deUint32 subpassCount;
6096 const deUint32* pViewMasks;
6097 deUint32 dependencyCount;
6098 const deInt32* pViewOffsets;
6099 deUint32 correlationMaskCount;
6100 const deUint32* pCorrelationMasks;
6101 } VkRenderPassMultiviewCreateInfo;
6103 typedef struct VkPhysicalDeviceMultiviewFeatures {
6104 VkStructureType sType;
6107 VkBool32 multiviewGeometryShader;
6108 VkBool32 multiviewTessellationShader;
6109 } VkPhysicalDeviceMultiviewFeatures;
6111 typedef struct VkPhysicalDeviceMultiviewProperties {
6112 VkStructureType sType;
6114 deUint32 maxMultiviewViewCount;
6115 deUint32 maxMultiviewInstanceIndex;
6116 } VkPhysicalDeviceMultiviewProperties;
6118 typedef struct VkPhysicalDeviceVariablePointersFeatures {
6119 VkStructureType sType;
6121 VkBool32 variablePointersStorageBuffer;
6122 VkBool32 variablePointers;
6123 } VkPhysicalDeviceVariablePointersFeatures;
6125 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
6127 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
6128 VkStructureType sType;
6130 VkBool32 protectedMemory;
6131 } VkPhysicalDeviceProtectedMemoryFeatures;
6133 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
6134 VkStructureType sType;
6136 VkBool32 protectedNoFault;
6137 } VkPhysicalDeviceProtectedMemoryProperties;
6139 typedef struct VkDeviceQueueInfo2 {
6140 VkStructureType sType;
6142 VkDeviceQueueCreateFlags flags;
6143 deUint32 queueFamilyIndex;
6144 deUint32 queueIndex;
6145 } VkDeviceQueueInfo2;
6147 typedef struct VkProtectedSubmitInfo {
6148 VkStructureType sType;
6150 VkBool32 protectedSubmit;
6151 } VkProtectedSubmitInfo;
6153 typedef struct VkSamplerYcbcrConversionCreateInfo {
6154 VkStructureType sType;
6157 VkSamplerYcbcrModelConversion ycbcrModel;
6158 VkSamplerYcbcrRange ycbcrRange;
6159 VkComponentMapping components;
6160 VkChromaLocation xChromaOffset;
6161 VkChromaLocation yChromaOffset;
6162 VkFilter chromaFilter;
6163 VkBool32 forceExplicitReconstruction;
6164 } VkSamplerYcbcrConversionCreateInfo;
6166 typedef struct VkSamplerYcbcrConversionInfo {
6167 VkStructureType sType;
6169 VkSamplerYcbcrConversion conversion;
6170 } VkSamplerYcbcrConversionInfo;
6172 typedef struct VkBindImagePlaneMemoryInfo {
6173 VkStructureType sType;
6175 VkImageAspectFlagBits planeAspect;
6176 } VkBindImagePlaneMemoryInfo;
6178 typedef struct VkImagePlaneMemoryRequirementsInfo {
6179 VkStructureType sType;
6181 VkImageAspectFlagBits planeAspect;
6182 } VkImagePlaneMemoryRequirementsInfo;
6184 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
6185 VkStructureType sType;
6187 VkBool32 samplerYcbcrConversion;
6188 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
6190 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
6191 VkStructureType sType;
6193 deUint32 combinedImageSamplerDescriptorCount;
6194 } VkSamplerYcbcrConversionImageFormatProperties;
6196 typedef struct VkDescriptorUpdateTemplateEntry {
6197 deUint32 dstBinding;
6198 deUint32 dstArrayElement;
6199 deUint32 descriptorCount;
6200 VkDescriptorType descriptorType;
6203 } VkDescriptorUpdateTemplateEntry;
6205 typedef struct VkDescriptorUpdateTemplateCreateInfo {
6206 VkStructureType sType;
6208 VkDescriptorUpdateTemplateCreateFlags flags;
6209 deUint32 descriptorUpdateEntryCount;
6210 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
6211 VkDescriptorUpdateTemplateType templateType;
6212 VkDescriptorSetLayout descriptorSetLayout;
6213 VkPipelineBindPoint pipelineBindPoint;
6214 VkPipelineLayout pipelineLayout;
6216 } VkDescriptorUpdateTemplateCreateInfo;
6218 typedef struct VkExternalMemoryProperties {
6219 VkExternalMemoryFeatureFlags externalMemoryFeatures;
6220 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
6221 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
6222 } VkExternalMemoryProperties;
6224 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
6225 VkStructureType sType;
6227 VkExternalMemoryHandleTypeFlagBits handleType;
6228 } VkPhysicalDeviceExternalImageFormatInfo;
6230 typedef struct VkExternalImageFormatProperties {
6231 VkStructureType sType;
6233 VkExternalMemoryProperties externalMemoryProperties;
6234 } VkExternalImageFormatProperties;
6236 typedef struct VkPhysicalDeviceExternalBufferInfo {
6237 VkStructureType sType;
6239 VkBufferCreateFlags flags;
6240 VkBufferUsageFlags usage;
6241 VkExternalMemoryHandleTypeFlagBits handleType;
6242 } VkPhysicalDeviceExternalBufferInfo;
6244 typedef struct VkExternalBufferProperties {
6245 VkStructureType sType;
6247 VkExternalMemoryProperties externalMemoryProperties;
6248 } VkExternalBufferProperties;
6250 typedef struct VkPhysicalDeviceIDProperties {
6251 VkStructureType sType;
6253 deUint8 deviceUUID[VK_UUID_SIZE];
6254 deUint8 driverUUID[VK_UUID_SIZE];
6255 deUint8 deviceLUID[VK_LUID_SIZE];
6256 deUint32 deviceNodeMask;
6257 VkBool32 deviceLUIDValid;
6258 } VkPhysicalDeviceIDProperties;
6260 typedef struct VkExternalMemoryImageCreateInfo {
6261 VkStructureType sType;
6263 VkExternalMemoryHandleTypeFlags handleTypes;
6264 } VkExternalMemoryImageCreateInfo;
6266 typedef struct VkExternalMemoryBufferCreateInfo {
6267 VkStructureType sType;
6269 VkExternalMemoryHandleTypeFlags handleTypes;
6270 } VkExternalMemoryBufferCreateInfo;
6272 typedef struct VkExportMemoryAllocateInfo {
6273 VkStructureType sType;
6275 VkExternalMemoryHandleTypeFlags handleTypes;
6276 } VkExportMemoryAllocateInfo;
6278 typedef struct VkPhysicalDeviceExternalFenceInfo {
6279 VkStructureType sType;
6281 VkExternalFenceHandleTypeFlagBits handleType;
6282 } VkPhysicalDeviceExternalFenceInfo;
6284 typedef struct VkExternalFenceProperties {
6285 VkStructureType sType;
6287 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
6288 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
6289 VkExternalFenceFeatureFlags externalFenceFeatures;
6290 } VkExternalFenceProperties;
6292 typedef struct VkExportFenceCreateInfo {
6293 VkStructureType sType;
6295 VkExternalFenceHandleTypeFlags handleTypes;
6296 } VkExportFenceCreateInfo;
6298 typedef struct VkExportSemaphoreCreateInfo {
6299 VkStructureType sType;
6301 VkExternalSemaphoreHandleTypeFlags handleTypes;
6302 } VkExportSemaphoreCreateInfo;
6304 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
6305 VkStructureType sType;
6307 VkExternalSemaphoreHandleTypeFlagBits handleType;
6308 } VkPhysicalDeviceExternalSemaphoreInfo;
6310 typedef struct VkExternalSemaphoreProperties {
6311 VkStructureType sType;
6313 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
6314 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
6315 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
6316 } VkExternalSemaphoreProperties;
6318 typedef struct VkPhysicalDeviceMaintenance3Properties {
6319 VkStructureType sType;
6321 deUint32 maxPerSetDescriptors;
6322 VkDeviceSize maxMemoryAllocationSize;
6323 } VkPhysicalDeviceMaintenance3Properties;
6325 typedef struct VkDescriptorSetLayoutSupport {
6326 VkStructureType sType;
6329 } VkDescriptorSetLayoutSupport;
6331 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
6332 VkStructureType sType;
6334 VkBool32 shaderDrawParameters;
6335 } VkPhysicalDeviceShaderDrawParametersFeatures;
6337 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
6339 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
6340 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
6341 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
6342 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6343 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
6344 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
6345 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6346 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6347 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6348 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6349 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6350 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6351 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6352 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6353 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6354 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6355 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6356 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6357 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
6358 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6359 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6360 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6361 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6362 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6363 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6364 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6365 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6366 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
6368 #ifndef VK_NO_PROTOTYPES
6369 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
6370 deUint32* pApiVersion);
6372 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
6374 deUint32 bindInfoCount,
6375 const VkBindBufferMemoryInfo* pBindInfos);
6377 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
6379 deUint32 bindInfoCount,
6380 const VkBindImageMemoryInfo* pBindInfos);
6382 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
6385 deUint32 localDeviceIndex,
6386 deUint32 remoteDeviceIndex,
6387 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6389 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6390 VkCommandBuffer commandBuffer,
6391 deUint32 deviceMask);
6393 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6394 VkCommandBuffer commandBuffer,
6395 deUint32 baseGroupX,
6396 deUint32 baseGroupY,
6397 deUint32 baseGroupZ,
6398 deUint32 groupCountX,
6399 deUint32 groupCountY,
6400 deUint32 groupCountZ);
6402 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6403 VkInstance instance,
6404 deUint32* pPhysicalDeviceGroupCount,
6405 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6407 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6409 const VkImageMemoryRequirementsInfo2* pInfo,
6410 VkMemoryRequirements2* pMemoryRequirements);
6412 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6414 const VkBufferMemoryRequirementsInfo2* pInfo,
6415 VkMemoryRequirements2* pMemoryRequirements);
6417 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6419 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6420 deUint32* pSparseMemoryRequirementCount,
6421 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6423 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6424 VkPhysicalDevice physicalDevice,
6425 VkPhysicalDeviceFeatures2* pFeatures);
6427 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6428 VkPhysicalDevice physicalDevice,
6429 VkPhysicalDeviceProperties2* pProperties);
6431 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6432 VkPhysicalDevice physicalDevice,
6434 VkFormatProperties2* pFormatProperties);
6436 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6437 VkPhysicalDevice physicalDevice,
6438 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6439 VkImageFormatProperties2* pImageFormatProperties);
6441 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6442 VkPhysicalDevice physicalDevice,
6443 deUint32* pQueueFamilyPropertyCount,
6444 VkQueueFamilyProperties2* pQueueFamilyProperties);
6446 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6447 VkPhysicalDevice physicalDevice,
6448 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6450 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6451 VkPhysicalDevice physicalDevice,
6452 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6453 deUint32* pPropertyCount,
6454 VkSparseImageFormatProperties2* pProperties);
6456 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6458 VkCommandPool commandPool,
6459 VkCommandPoolTrimFlags flags);
6461 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6463 const VkDeviceQueueInfo2* pQueueInfo,
6466 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6468 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6469 const VkAllocationCallbacks* pAllocator,
6470 VkSamplerYcbcrConversion* pYcbcrConversion);
6472 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6474 VkSamplerYcbcrConversion ycbcrConversion,
6475 const VkAllocationCallbacks* pAllocator);
6477 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6479 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6480 const VkAllocationCallbacks* pAllocator,
6481 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6483 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6485 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6486 const VkAllocationCallbacks* pAllocator);
6488 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6490 VkDescriptorSet descriptorSet,
6491 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6494 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6495 VkPhysicalDevice physicalDevice,
6496 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6497 VkExternalBufferProperties* pExternalBufferProperties);
6499 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6500 VkPhysicalDevice physicalDevice,
6501 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6502 VkExternalFenceProperties* pExternalFenceProperties);
6504 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6505 VkPhysicalDevice physicalDevice,
6506 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6507 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6509 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6511 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6512 VkDescriptorSetLayoutSupport* pSupport);
6516 #define VK_VERSION_1_2 1
6517 // Vulkan 1.2 version number
6518 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6520 #define VK_MAX_DRIVER_NAME_SIZE 256U
6521 #define VK_MAX_DRIVER_INFO_SIZE 256U
6523 typedef enum VkDriverId {
6524 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6525 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6526 VK_DRIVER_ID_MESA_RADV = 3,
6527 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6528 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6529 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6530 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6531 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6532 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6533 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6534 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6535 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6536 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6537 VK_DRIVER_ID_MOLTENVK = 14,
6538 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6539 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
6540 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
6541 VK_DRIVER_ID_MESA_TURNIP = 18,
6542 VK_DRIVER_ID_MESA_V3DV = 19,
6543 VK_DRIVER_ID_MESA_PANVK = 20,
6544 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
6545 VK_DRIVER_ID_MESA_VENUS = 22,
6546 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6547 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6548 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6549 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6550 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6551 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6552 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6553 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6554 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6555 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6556 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6557 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6558 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6561 typedef enum VkShaderFloatControlsIndependence {
6562 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6563 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6564 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6565 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6566 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6567 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6568 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6569 } VkShaderFloatControlsIndependence;
6571 typedef enum VkSamplerReductionMode {
6572 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6573 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6574 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6575 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6576 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6577 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6578 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6579 } VkSamplerReductionMode;
6581 typedef enum VkSemaphoreType {
6582 VK_SEMAPHORE_TYPE_BINARY = 0,
6583 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6584 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6585 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6586 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6589 typedef enum VkResolveModeFlagBits {
6590 VK_RESOLVE_MODE_NONE = 0,
6591 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6592 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6593 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6594 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6595 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6596 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6597 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6598 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6599 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6600 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6601 } VkResolveModeFlagBits;
6602 typedef VkFlags VkResolveModeFlags;
6604 typedef enum VkDescriptorBindingFlagBits {
6605 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6606 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6607 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6608 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6609 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6610 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6611 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6612 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6613 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6614 } VkDescriptorBindingFlagBits;
6615 typedef VkFlags VkDescriptorBindingFlags;
6617 typedef enum VkSemaphoreWaitFlagBits {
6618 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6619 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6620 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6621 } VkSemaphoreWaitFlagBits;
6622 typedef VkFlags VkSemaphoreWaitFlags;
6623 typedef struct VkPhysicalDeviceVulkan11Features {
6624 VkStructureType sType;
6626 VkBool32 storageBuffer16BitAccess;
6627 VkBool32 uniformAndStorageBuffer16BitAccess;
6628 VkBool32 storagePushConstant16;
6629 VkBool32 storageInputOutput16;
6631 VkBool32 multiviewGeometryShader;
6632 VkBool32 multiviewTessellationShader;
6633 VkBool32 variablePointersStorageBuffer;
6634 VkBool32 variablePointers;
6635 VkBool32 protectedMemory;
6636 VkBool32 samplerYcbcrConversion;
6637 VkBool32 shaderDrawParameters;
6638 } VkPhysicalDeviceVulkan11Features;
6640 typedef struct VkPhysicalDeviceVulkan11Properties {
6641 VkStructureType sType;
6643 deUint8 deviceUUID[VK_UUID_SIZE];
6644 deUint8 driverUUID[VK_UUID_SIZE];
6645 deUint8 deviceLUID[VK_LUID_SIZE];
6646 deUint32 deviceNodeMask;
6647 VkBool32 deviceLUIDValid;
6648 deUint32 subgroupSize;
6649 VkShaderStageFlags subgroupSupportedStages;
6650 VkSubgroupFeatureFlags subgroupSupportedOperations;
6651 VkBool32 subgroupQuadOperationsInAllStages;
6652 VkPointClippingBehavior pointClippingBehavior;
6653 deUint32 maxMultiviewViewCount;
6654 deUint32 maxMultiviewInstanceIndex;
6655 VkBool32 protectedNoFault;
6656 deUint32 maxPerSetDescriptors;
6657 VkDeviceSize maxMemoryAllocationSize;
6658 } VkPhysicalDeviceVulkan11Properties;
6660 typedef struct VkPhysicalDeviceVulkan12Features {
6661 VkStructureType sType;
6663 VkBool32 samplerMirrorClampToEdge;
6664 VkBool32 drawIndirectCount;
6665 VkBool32 storageBuffer8BitAccess;
6666 VkBool32 uniformAndStorageBuffer8BitAccess;
6667 VkBool32 storagePushConstant8;
6668 VkBool32 shaderBufferInt64Atomics;
6669 VkBool32 shaderSharedInt64Atomics;
6670 VkBool32 shaderFloat16;
6671 VkBool32 shaderInt8;
6672 VkBool32 descriptorIndexing;
6673 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6674 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6675 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6676 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6677 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6678 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6679 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6680 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6681 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6682 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6683 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6684 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6685 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6686 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6687 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6688 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6689 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6690 VkBool32 descriptorBindingPartiallyBound;
6691 VkBool32 descriptorBindingVariableDescriptorCount;
6692 VkBool32 runtimeDescriptorArray;
6693 VkBool32 samplerFilterMinmax;
6694 VkBool32 scalarBlockLayout;
6695 VkBool32 imagelessFramebuffer;
6696 VkBool32 uniformBufferStandardLayout;
6697 VkBool32 shaderSubgroupExtendedTypes;
6698 VkBool32 separateDepthStencilLayouts;
6699 VkBool32 hostQueryReset;
6700 VkBool32 timelineSemaphore;
6701 VkBool32 bufferDeviceAddress;
6702 VkBool32 bufferDeviceAddressCaptureReplay;
6703 VkBool32 bufferDeviceAddressMultiDevice;
6704 VkBool32 vulkanMemoryModel;
6705 VkBool32 vulkanMemoryModelDeviceScope;
6706 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6707 VkBool32 shaderOutputViewportIndex;
6708 VkBool32 shaderOutputLayer;
6709 VkBool32 subgroupBroadcastDynamicId;
6710 } VkPhysicalDeviceVulkan12Features;
6712 typedef struct VkConformanceVersion {
6717 } VkConformanceVersion;
6719 typedef struct VkPhysicalDeviceVulkan12Properties {
6720 VkStructureType sType;
6722 VkDriverId driverID;
6723 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6724 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6725 VkConformanceVersion conformanceVersion;
6726 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6727 VkShaderFloatControlsIndependence roundingModeIndependence;
6728 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6729 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6730 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6731 VkBool32 shaderDenormPreserveFloat16;
6732 VkBool32 shaderDenormPreserveFloat32;
6733 VkBool32 shaderDenormPreserveFloat64;
6734 VkBool32 shaderDenormFlushToZeroFloat16;
6735 VkBool32 shaderDenormFlushToZeroFloat32;
6736 VkBool32 shaderDenormFlushToZeroFloat64;
6737 VkBool32 shaderRoundingModeRTEFloat16;
6738 VkBool32 shaderRoundingModeRTEFloat32;
6739 VkBool32 shaderRoundingModeRTEFloat64;
6740 VkBool32 shaderRoundingModeRTZFloat16;
6741 VkBool32 shaderRoundingModeRTZFloat32;
6742 VkBool32 shaderRoundingModeRTZFloat64;
6743 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6744 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6745 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6746 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6747 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6748 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6749 VkBool32 robustBufferAccessUpdateAfterBind;
6750 VkBool32 quadDivergentImplicitLod;
6751 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6752 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6753 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6754 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6755 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6756 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6757 deUint32 maxPerStageUpdateAfterBindResources;
6758 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6759 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6760 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6761 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6762 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6763 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6764 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6765 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6766 VkResolveModeFlags supportedDepthResolveModes;
6767 VkResolveModeFlags supportedStencilResolveModes;
6768 VkBool32 independentResolveNone;
6769 VkBool32 independentResolve;
6770 VkBool32 filterMinmaxSingleComponentFormats;
6771 VkBool32 filterMinmaxImageComponentMapping;
6772 deUint64 maxTimelineSemaphoreValueDifference;
6773 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6774 } VkPhysicalDeviceVulkan12Properties;
6776 typedef struct VkImageFormatListCreateInfo {
6777 VkStructureType sType;
6779 deUint32 viewFormatCount;
6780 const VkFormat* pViewFormats;
6781 } VkImageFormatListCreateInfo;
6783 typedef struct VkAttachmentDescription2 {
6784 VkStructureType sType;
6786 VkAttachmentDescriptionFlags flags;
6788 VkSampleCountFlagBits samples;
6789 VkAttachmentLoadOp loadOp;
6790 VkAttachmentStoreOp storeOp;
6791 VkAttachmentLoadOp stencilLoadOp;
6792 VkAttachmentStoreOp stencilStoreOp;
6793 VkImageLayout initialLayout;
6794 VkImageLayout finalLayout;
6795 } VkAttachmentDescription2;
6797 typedef struct VkAttachmentReference2 {
6798 VkStructureType sType;
6800 deUint32 attachment;
6801 VkImageLayout layout;
6802 VkImageAspectFlags aspectMask;
6803 } VkAttachmentReference2;
6805 typedef struct VkSubpassDescription2 {
6806 VkStructureType sType;
6808 VkSubpassDescriptionFlags flags;
6809 VkPipelineBindPoint pipelineBindPoint;
6811 deUint32 inputAttachmentCount;
6812 const VkAttachmentReference2* pInputAttachments;
6813 deUint32 colorAttachmentCount;
6814 const VkAttachmentReference2* pColorAttachments;
6815 const VkAttachmentReference2* pResolveAttachments;
6816 const VkAttachmentReference2* pDepthStencilAttachment;
6817 deUint32 preserveAttachmentCount;
6818 const deUint32* pPreserveAttachments;
6819 } VkSubpassDescription2;
6821 typedef struct VkSubpassDependency2 {
6822 VkStructureType sType;
6824 deUint32 srcSubpass;
6825 deUint32 dstSubpass;
6826 VkPipelineStageFlags srcStageMask;
6827 VkPipelineStageFlags dstStageMask;
6828 VkAccessFlags srcAccessMask;
6829 VkAccessFlags dstAccessMask;
6830 VkDependencyFlags dependencyFlags;
6832 } VkSubpassDependency2;
6834 typedef struct VkRenderPassCreateInfo2 {
6835 VkStructureType sType;
6837 VkRenderPassCreateFlags flags;
6838 deUint32 attachmentCount;
6839 const VkAttachmentDescription2* pAttachments;
6840 deUint32 subpassCount;
6841 const VkSubpassDescription2* pSubpasses;
6842 deUint32 dependencyCount;
6843 const VkSubpassDependency2* pDependencies;
6844 deUint32 correlatedViewMaskCount;
6845 const deUint32* pCorrelatedViewMasks;
6846 } VkRenderPassCreateInfo2;
6848 typedef struct VkSubpassBeginInfo {
6849 VkStructureType sType;
6851 VkSubpassContents contents;
6852 } VkSubpassBeginInfo;
6854 typedef struct VkSubpassEndInfo {
6855 VkStructureType sType;
6859 typedef struct VkPhysicalDevice8BitStorageFeatures {
6860 VkStructureType sType;
6862 VkBool32 storageBuffer8BitAccess;
6863 VkBool32 uniformAndStorageBuffer8BitAccess;
6864 VkBool32 storagePushConstant8;
6865 } VkPhysicalDevice8BitStorageFeatures;
6867 typedef struct VkPhysicalDeviceDriverProperties {
6868 VkStructureType sType;
6870 VkDriverId driverID;
6871 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6872 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6873 VkConformanceVersion conformanceVersion;
6874 } VkPhysicalDeviceDriverProperties;
6876 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6877 VkStructureType sType;
6879 VkBool32 shaderBufferInt64Atomics;
6880 VkBool32 shaderSharedInt64Atomics;
6881 } VkPhysicalDeviceShaderAtomicInt64Features;
6883 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6884 VkStructureType sType;
6886 VkBool32 shaderFloat16;
6887 VkBool32 shaderInt8;
6888 } VkPhysicalDeviceShaderFloat16Int8Features;
6890 typedef struct VkPhysicalDeviceFloatControlsProperties {
6891 VkStructureType sType;
6893 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6894 VkShaderFloatControlsIndependence roundingModeIndependence;
6895 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6896 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6897 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6898 VkBool32 shaderDenormPreserveFloat16;
6899 VkBool32 shaderDenormPreserveFloat32;
6900 VkBool32 shaderDenormPreserveFloat64;
6901 VkBool32 shaderDenormFlushToZeroFloat16;
6902 VkBool32 shaderDenormFlushToZeroFloat32;
6903 VkBool32 shaderDenormFlushToZeroFloat64;
6904 VkBool32 shaderRoundingModeRTEFloat16;
6905 VkBool32 shaderRoundingModeRTEFloat32;
6906 VkBool32 shaderRoundingModeRTEFloat64;
6907 VkBool32 shaderRoundingModeRTZFloat16;
6908 VkBool32 shaderRoundingModeRTZFloat32;
6909 VkBool32 shaderRoundingModeRTZFloat64;
6910 } VkPhysicalDeviceFloatControlsProperties;
6912 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6913 VkStructureType sType;
6915 deUint32 bindingCount;
6916 const VkDescriptorBindingFlags* pBindingFlags;
6917 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6919 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6920 VkStructureType sType;
6922 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6923 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6924 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6925 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6926 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6927 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6928 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6929 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6930 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6931 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6932 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6933 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6934 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6935 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6936 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6937 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6938 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6939 VkBool32 descriptorBindingPartiallyBound;
6940 VkBool32 descriptorBindingVariableDescriptorCount;
6941 VkBool32 runtimeDescriptorArray;
6942 } VkPhysicalDeviceDescriptorIndexingFeatures;
6944 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6945 VkStructureType sType;
6947 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6948 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6949 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6950 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6951 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6952 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6953 VkBool32 robustBufferAccessUpdateAfterBind;
6954 VkBool32 quadDivergentImplicitLod;
6955 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6956 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6957 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6958 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6959 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6960 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6961 deUint32 maxPerStageUpdateAfterBindResources;
6962 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6963 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6964 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6965 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6966 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6967 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6968 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6969 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6970 } VkPhysicalDeviceDescriptorIndexingProperties;
6972 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6973 VkStructureType sType;
6975 deUint32 descriptorSetCount;
6976 const deUint32* pDescriptorCounts;
6977 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6979 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6980 VkStructureType sType;
6982 deUint32 maxVariableDescriptorCount;
6983 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6985 typedef struct VkSubpassDescriptionDepthStencilResolve {
6986 VkStructureType sType;
6988 VkResolveModeFlagBits depthResolveMode;
6989 VkResolveModeFlagBits stencilResolveMode;
6990 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6991 } VkSubpassDescriptionDepthStencilResolve;
6993 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6994 VkStructureType sType;
6996 VkResolveModeFlags supportedDepthResolveModes;
6997 VkResolveModeFlags supportedStencilResolveModes;
6998 VkBool32 independentResolveNone;
6999 VkBool32 independentResolve;
7000 } VkPhysicalDeviceDepthStencilResolveProperties;
7002 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
7003 VkStructureType sType;
7005 VkBool32 scalarBlockLayout;
7006 } VkPhysicalDeviceScalarBlockLayoutFeatures;
7008 typedef struct VkImageStencilUsageCreateInfo {
7009 VkStructureType sType;
7011 VkImageUsageFlags stencilUsage;
7012 } VkImageStencilUsageCreateInfo;
7014 typedef struct VkSamplerReductionModeCreateInfo {
7015 VkStructureType sType;
7017 VkSamplerReductionMode reductionMode;
7018 } VkSamplerReductionModeCreateInfo;
7020 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
7021 VkStructureType sType;
7023 VkBool32 filterMinmaxSingleComponentFormats;
7024 VkBool32 filterMinmaxImageComponentMapping;
7025 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
7027 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
7028 VkStructureType sType;
7030 VkBool32 vulkanMemoryModel;
7031 VkBool32 vulkanMemoryModelDeviceScope;
7032 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
7033 } VkPhysicalDeviceVulkanMemoryModelFeatures;
7035 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
7036 VkStructureType sType;
7038 VkBool32 imagelessFramebuffer;
7039 } VkPhysicalDeviceImagelessFramebufferFeatures;
7041 typedef struct VkFramebufferAttachmentImageInfo {
7042 VkStructureType sType;
7044 VkImageCreateFlags flags;
7045 VkImageUsageFlags usage;
7048 deUint32 layerCount;
7049 deUint32 viewFormatCount;
7050 const VkFormat* pViewFormats;
7051 } VkFramebufferAttachmentImageInfo;
7053 typedef struct VkFramebufferAttachmentsCreateInfo {
7054 VkStructureType sType;
7056 deUint32 attachmentImageInfoCount;
7057 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
7058 } VkFramebufferAttachmentsCreateInfo;
7060 typedef struct VkRenderPassAttachmentBeginInfo {
7061 VkStructureType sType;
7063 deUint32 attachmentCount;
7064 const VkImageView* pAttachments;
7065 } VkRenderPassAttachmentBeginInfo;
7067 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
7068 VkStructureType sType;
7070 VkBool32 uniformBufferStandardLayout;
7071 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
7073 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
7074 VkStructureType sType;
7076 VkBool32 shaderSubgroupExtendedTypes;
7077 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
7079 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
7080 VkStructureType sType;
7082 VkBool32 separateDepthStencilLayouts;
7083 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
7085 typedef struct VkAttachmentReferenceStencilLayout {
7086 VkStructureType sType;
7088 VkImageLayout stencilLayout;
7089 } VkAttachmentReferenceStencilLayout;
7091 typedef struct VkAttachmentDescriptionStencilLayout {
7092 VkStructureType sType;
7094 VkImageLayout stencilInitialLayout;
7095 VkImageLayout stencilFinalLayout;
7096 } VkAttachmentDescriptionStencilLayout;
7098 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
7099 VkStructureType sType;
7101 VkBool32 hostQueryReset;
7102 } VkPhysicalDeviceHostQueryResetFeatures;
7104 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
7105 VkStructureType sType;
7107 VkBool32 timelineSemaphore;
7108 } VkPhysicalDeviceTimelineSemaphoreFeatures;
7110 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
7111 VkStructureType sType;
7113 deUint64 maxTimelineSemaphoreValueDifference;
7114 } VkPhysicalDeviceTimelineSemaphoreProperties;
7116 typedef struct VkSemaphoreTypeCreateInfo {
7117 VkStructureType sType;
7119 VkSemaphoreType semaphoreType;
7120 deUint64 initialValue;
7121 } VkSemaphoreTypeCreateInfo;
7123 typedef struct VkTimelineSemaphoreSubmitInfo {
7124 VkStructureType sType;
7126 deUint32 waitSemaphoreValueCount;
7127 const deUint64* pWaitSemaphoreValues;
7128 deUint32 signalSemaphoreValueCount;
7129 const deUint64* pSignalSemaphoreValues;
7130 } VkTimelineSemaphoreSubmitInfo;
7132 typedef struct VkSemaphoreWaitInfo {
7133 VkStructureType sType;
7135 VkSemaphoreWaitFlags flags;
7136 deUint32 semaphoreCount;
7137 const VkSemaphore* pSemaphores;
7138 const deUint64* pValues;
7139 } VkSemaphoreWaitInfo;
7141 typedef struct VkSemaphoreSignalInfo {
7142 VkStructureType sType;
7144 VkSemaphore semaphore;
7146 } VkSemaphoreSignalInfo;
7148 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
7149 VkStructureType sType;
7151 VkBool32 bufferDeviceAddress;
7152 VkBool32 bufferDeviceAddressCaptureReplay;
7153 VkBool32 bufferDeviceAddressMultiDevice;
7154 } VkPhysicalDeviceBufferDeviceAddressFeatures;
7156 typedef struct VkBufferDeviceAddressInfo {
7157 VkStructureType sType;
7160 } VkBufferDeviceAddressInfo;
7162 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
7163 VkStructureType sType;
7165 deUint64 opaqueCaptureAddress;
7166 } VkBufferOpaqueCaptureAddressCreateInfo;
7168 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
7169 VkStructureType sType;
7171 deUint64 opaqueCaptureAddress;
7172 } VkMemoryOpaqueCaptureAddressAllocateInfo;
7174 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
7175 VkStructureType sType;
7177 VkDeviceMemory memory;
7178 } VkDeviceMemoryOpaqueCaptureAddressInfo;
7180 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7181 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7182 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7183 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7184 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7185 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7186 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
7187 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
7188 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
7189 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7190 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7191 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7192 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7194 #ifndef VK_NO_PROTOTYPES
7195 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
7196 VkCommandBuffer commandBuffer,
7198 VkDeviceSize offset,
7199 VkBuffer countBuffer,
7200 VkDeviceSize countBufferOffset,
7201 deUint32 maxDrawCount,
7204 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
7205 VkCommandBuffer commandBuffer,
7207 VkDeviceSize offset,
7208 VkBuffer countBuffer,
7209 VkDeviceSize countBufferOffset,
7210 deUint32 maxDrawCount,
7213 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
7215 const VkRenderPassCreateInfo2* pCreateInfo,
7216 const VkAllocationCallbacks* pAllocator,
7217 VkRenderPass* pRenderPass);
7219 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
7220 VkCommandBuffer commandBuffer,
7221 const VkRenderPassBeginInfo* pRenderPassBegin,
7222 const VkSubpassBeginInfo* pSubpassBeginInfo);
7224 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
7225 VkCommandBuffer commandBuffer,
7226 const VkSubpassBeginInfo* pSubpassBeginInfo,
7227 const VkSubpassEndInfo* pSubpassEndInfo);
7229 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
7230 VkCommandBuffer commandBuffer,
7231 const VkSubpassEndInfo* pSubpassEndInfo);
7233 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
7235 VkQueryPool queryPool,
7236 deUint32 firstQuery,
7237 deUint32 queryCount);
7239 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
7241 VkSemaphore semaphore,
7244 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
7246 const VkSemaphoreWaitInfo* pWaitInfo,
7249 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
7251 const VkSemaphoreSignalInfo* pSignalInfo);
7253 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
7255 const VkBufferDeviceAddressInfo* pInfo);
7257 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
7259 const VkBufferDeviceAddressInfo* pInfo);
7261 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
7263 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7267 #define VK_VERSION_1_3 1
7268 // Vulkan 1.3 version number
7269 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0
7271 typedef deUint64 VkFlags64;
7272 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot)
7274 typedef enum VkPipelineCreationFeedbackFlagBits {
7275 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001,
7276 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002,
7277 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004,
7278 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
7279 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
7280 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT,
7281 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7282 } VkPipelineCreationFeedbackFlagBits;
7283 typedef VkFlags VkPipelineCreationFeedbackFlags;
7285 typedef enum VkToolPurposeFlagBits {
7286 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001,
7287 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002,
7288 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004,
7289 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008,
7290 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010,
7291 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
7292 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
7293 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT,
7294 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT,
7295 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT,
7296 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
7297 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
7298 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7299 } VkToolPurposeFlagBits;
7300 typedef VkFlags VkToolPurposeFlags;
7301 typedef VkFlags VkPrivateDataSlotCreateFlags;
7302 typedef VkFlags64 VkPipelineStageFlags2;
7304 // Flag bits for VkPipelineStageFlagBits2
7305 typedef VkFlags64 VkPipelineStageFlagBits2;
7306 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL;
7307 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
7308 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL;
7309 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
7310 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL;
7311 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
7312 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL;
7313 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
7314 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL;
7315 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
7316 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL;
7317 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
7318 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL;
7319 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
7320 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL;
7321 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
7322 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL;
7323 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
7324 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL;
7325 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
7326 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL;
7327 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
7328 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL;
7329 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
7330 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL;
7331 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
7332 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL;
7333 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
7334 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL;
7335 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
7336 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL;
7337 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
7338 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL;
7339 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
7340 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL;
7341 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
7342 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL;
7343 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
7344 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL;
7345 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
7346 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL;
7347 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
7348 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL;
7349 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
7350 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL;
7351 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
7352 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL;
7353 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
7354 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL;
7355 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
7356 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL;
7357 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
7358 #ifdef VK_ENABLE_BETA_EXTENSIONS
7359 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
7361 #ifdef VK_ENABLE_BETA_EXTENSIONS
7362 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
7364 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
7365 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
7366 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
7367 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
7368 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
7369 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
7370 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
7371 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
7372 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
7373 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
7374 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
7375 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
7376 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
7377 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
7378 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL;
7380 typedef VkFlags64 VkAccessFlags2;
7382 // Flag bits for VkAccessFlagBits2
7383 typedef VkFlags64 VkAccessFlagBits2;
7384 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL;
7385 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL;
7386 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL;
7387 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
7388 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL;
7389 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
7390 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL;
7391 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
7392 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL;
7393 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
7394 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL;
7395 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
7396 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL;
7397 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
7398 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL;
7399 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
7400 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL;
7401 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
7402 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL;
7403 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
7404 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL;
7405 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
7406 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL;
7407 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
7408 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL;
7409 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
7410 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL;
7411 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
7412 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL;
7413 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
7414 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL;
7415 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
7416 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL;
7417 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
7418 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL;
7419 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
7420 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL;
7421 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
7422 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL;
7423 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
7424 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL;
7425 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
7426 #ifdef VK_ENABLE_BETA_EXTENSIONS
7427 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
7429 #ifdef VK_ENABLE_BETA_EXTENSIONS
7430 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
7432 #ifdef VK_ENABLE_BETA_EXTENSIONS
7433 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
7435 #ifdef VK_ENABLE_BETA_EXTENSIONS
7436 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
7438 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
7439 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
7440 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
7441 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
7442 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
7443 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
7444 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
7445 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
7446 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
7447 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
7448 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
7449 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
7450 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
7451 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
7452 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
7453 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL;
7456 typedef enum VkSubmitFlagBits {
7457 VK_SUBMIT_PROTECTED_BIT = 0x00000001,
7458 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT,
7459 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7461 typedef VkFlags VkSubmitFlags;
7463 typedef enum VkRenderingFlagBits {
7464 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001,
7465 VK_RENDERING_SUSPENDING_BIT = 0x00000002,
7466 VK_RENDERING_RESUMING_BIT = 0x00000004,
7467 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
7468 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT,
7469 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT,
7470 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7471 } VkRenderingFlagBits;
7472 typedef VkFlags VkRenderingFlags;
7473 typedef VkFlags64 VkFormatFeatureFlags2;
7475 // Flag bits for VkFormatFeatureFlagBits2
7476 typedef VkFlags64 VkFormatFeatureFlagBits2;
7477 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL;
7478 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL;
7479 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL;
7480 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL;
7481 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL;
7482 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL;
7483 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL;
7484 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
7485 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL;
7486 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL;
7487 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL;
7488 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL;
7489 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL;
7490 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL;
7491 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL;
7492 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL;
7493 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL;
7494 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL;
7495 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL;
7496 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL;
7497 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL;
7498 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL;
7499 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL;
7500 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL;
7501 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL;
7502 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL;
7503 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL;
7504 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL;
7505 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL;
7506 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL;
7507 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL;
7508 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL;
7509 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL;
7510 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL;
7511 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL;
7512 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL;
7513 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL;
7514 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL;
7515 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL;
7516 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL;
7517 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL;
7518 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL;
7519 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL;
7520 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL;
7521 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL;
7522 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL;
7523 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL;
7524 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL;
7525 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL;
7526 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL;
7527 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL;
7528 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL;
7529 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL;
7530 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL;
7531 #ifdef VK_ENABLE_BETA_EXTENSIONS
7532 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL;
7534 #ifdef VK_ENABLE_BETA_EXTENSIONS
7535 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL;
7537 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL;
7538 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL;
7539 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL;
7540 #ifdef VK_ENABLE_BETA_EXTENSIONS
7541 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
7543 #ifdef VK_ENABLE_BETA_EXTENSIONS
7544 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
7546 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
7548 typedef struct VkPhysicalDeviceVulkan13Features {
7549 VkStructureType sType;
7551 VkBool32 robustImageAccess;
7552 VkBool32 inlineUniformBlock;
7553 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7554 VkBool32 pipelineCreationCacheControl;
7555 VkBool32 privateData;
7556 VkBool32 shaderDemoteToHelperInvocation;
7557 VkBool32 shaderTerminateInvocation;
7558 VkBool32 subgroupSizeControl;
7559 VkBool32 computeFullSubgroups;
7560 VkBool32 synchronization2;
7561 VkBool32 textureCompressionASTC_HDR;
7562 VkBool32 shaderZeroInitializeWorkgroupMemory;
7563 VkBool32 dynamicRendering;
7564 VkBool32 shaderIntegerDotProduct;
7565 VkBool32 maintenance4;
7566 } VkPhysicalDeviceVulkan13Features;
7568 typedef struct VkPhysicalDeviceVulkan13Properties {
7569 VkStructureType sType;
7571 deUint32 minSubgroupSize;
7572 deUint32 maxSubgroupSize;
7573 deUint32 maxComputeWorkgroupSubgroups;
7574 VkShaderStageFlags requiredSubgroupSizeStages;
7575 deUint32 maxInlineUniformBlockSize;
7576 deUint32 maxPerStageDescriptorInlineUniformBlocks;
7577 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7578 deUint32 maxDescriptorSetInlineUniformBlocks;
7579 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7580 deUint32 maxInlineUniformTotalSize;
7581 VkBool32 integerDotProduct8BitUnsignedAccelerated;
7582 VkBool32 integerDotProduct8BitSignedAccelerated;
7583 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
7584 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
7585 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
7586 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
7587 VkBool32 integerDotProduct16BitUnsignedAccelerated;
7588 VkBool32 integerDotProduct16BitSignedAccelerated;
7589 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
7590 VkBool32 integerDotProduct32BitUnsignedAccelerated;
7591 VkBool32 integerDotProduct32BitSignedAccelerated;
7592 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
7593 VkBool32 integerDotProduct64BitUnsignedAccelerated;
7594 VkBool32 integerDotProduct64BitSignedAccelerated;
7595 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
7596 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
7597 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
7598 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
7599 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
7600 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
7601 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
7602 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
7603 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
7604 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
7605 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
7606 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
7607 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
7608 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
7609 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
7610 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
7611 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
7612 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
7613 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
7614 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
7615 VkDeviceSize maxBufferSize;
7616 } VkPhysicalDeviceVulkan13Properties;
7618 typedef struct VkPipelineCreationFeedback {
7619 VkPipelineCreationFeedbackFlags flags;
7621 } VkPipelineCreationFeedback;
7623 typedef struct VkPipelineCreationFeedbackCreateInfo {
7624 VkStructureType sType;
7626 VkPipelineCreationFeedback* pPipelineCreationFeedback;
7627 deUint32 pipelineStageCreationFeedbackCount;
7628 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks;
7629 } VkPipelineCreationFeedbackCreateInfo;
7631 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures {
7632 VkStructureType sType;
7634 VkBool32 shaderTerminateInvocation;
7635 } VkPhysicalDeviceShaderTerminateInvocationFeatures;
7637 typedef struct VkPhysicalDeviceToolProperties {
7638 VkStructureType sType;
7640 char name[VK_MAX_EXTENSION_NAME_SIZE];
7641 char version[VK_MAX_EXTENSION_NAME_SIZE];
7642 VkToolPurposeFlags purposes;
7643 char description[VK_MAX_DESCRIPTION_SIZE];
7644 char layer[VK_MAX_EXTENSION_NAME_SIZE];
7645 } VkPhysicalDeviceToolProperties;
7647 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures {
7648 VkStructureType sType;
7650 VkBool32 shaderDemoteToHelperInvocation;
7651 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures;
7653 typedef struct VkPhysicalDevicePrivateDataFeatures {
7654 VkStructureType sType;
7656 VkBool32 privateData;
7657 } VkPhysicalDevicePrivateDataFeatures;
7659 typedef struct VkDevicePrivateDataCreateInfo {
7660 VkStructureType sType;
7662 deUint32 privateDataSlotRequestCount;
7663 } VkDevicePrivateDataCreateInfo;
7665 typedef struct VkPrivateDataSlotCreateInfo {
7666 VkStructureType sType;
7668 VkPrivateDataSlotCreateFlags flags;
7669 } VkPrivateDataSlotCreateInfo;
7671 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures {
7672 VkStructureType sType;
7674 VkBool32 pipelineCreationCacheControl;
7675 } VkPhysicalDevicePipelineCreationCacheControlFeatures;
7677 typedef struct VkMemoryBarrier2 {
7678 VkStructureType sType;
7680 VkPipelineStageFlags2 srcStageMask;
7681 VkAccessFlags2 srcAccessMask;
7682 VkPipelineStageFlags2 dstStageMask;
7683 VkAccessFlags2 dstAccessMask;
7686 typedef struct VkBufferMemoryBarrier2 {
7687 VkStructureType sType;
7689 VkPipelineStageFlags2 srcStageMask;
7690 VkAccessFlags2 srcAccessMask;
7691 VkPipelineStageFlags2 dstStageMask;
7692 VkAccessFlags2 dstAccessMask;
7693 deUint32 srcQueueFamilyIndex;
7694 deUint32 dstQueueFamilyIndex;
7696 VkDeviceSize offset;
7698 } VkBufferMemoryBarrier2;
7700 typedef struct VkImageMemoryBarrier2 {
7701 VkStructureType sType;
7703 VkPipelineStageFlags2 srcStageMask;
7704 VkAccessFlags2 srcAccessMask;
7705 VkPipelineStageFlags2 dstStageMask;
7706 VkAccessFlags2 dstAccessMask;
7707 VkImageLayout oldLayout;
7708 VkImageLayout newLayout;
7709 deUint32 srcQueueFamilyIndex;
7710 deUint32 dstQueueFamilyIndex;
7712 VkImageSubresourceRange subresourceRange;
7713 } VkImageMemoryBarrier2;
7715 typedef struct VkDependencyInfo {
7716 VkStructureType sType;
7718 VkDependencyFlags dependencyFlags;
7719 deUint32 memoryBarrierCount;
7720 const VkMemoryBarrier2* pMemoryBarriers;
7721 deUint32 bufferMemoryBarrierCount;
7722 const VkBufferMemoryBarrier2* pBufferMemoryBarriers;
7723 deUint32 imageMemoryBarrierCount;
7724 const VkImageMemoryBarrier2* pImageMemoryBarriers;
7727 typedef struct VkSemaphoreSubmitInfo {
7728 VkStructureType sType;
7730 VkSemaphore semaphore;
7732 VkPipelineStageFlags2 stageMask;
7733 deUint32 deviceIndex;
7734 } VkSemaphoreSubmitInfo;
7736 typedef struct VkCommandBufferSubmitInfo {
7737 VkStructureType sType;
7739 VkCommandBuffer commandBuffer;
7740 deUint32 deviceMask;
7741 } VkCommandBufferSubmitInfo;
7743 typedef struct VkSubmitInfo2 {
7744 VkStructureType sType;
7746 VkSubmitFlags flags;
7747 deUint32 waitSemaphoreInfoCount;
7748 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos;
7749 deUint32 commandBufferInfoCount;
7750 const VkCommandBufferSubmitInfo* pCommandBufferInfos;
7751 deUint32 signalSemaphoreInfoCount;
7752 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos;
7755 typedef struct VkPhysicalDeviceSynchronization2Features {
7756 VkStructureType sType;
7758 VkBool32 synchronization2;
7759 } VkPhysicalDeviceSynchronization2Features;
7761 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
7762 VkStructureType sType;
7764 VkBool32 shaderZeroInitializeWorkgroupMemory;
7765 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
7767 typedef struct VkPhysicalDeviceImageRobustnessFeatures {
7768 VkStructureType sType;
7770 VkBool32 robustImageAccess;
7771 } VkPhysicalDeviceImageRobustnessFeatures;
7773 typedef struct VkBufferCopy2 {
7774 VkStructureType sType;
7776 VkDeviceSize srcOffset;
7777 VkDeviceSize dstOffset;
7781 typedef struct VkCopyBufferInfo2 {
7782 VkStructureType sType;
7786 deUint32 regionCount;
7787 const VkBufferCopy2* pRegions;
7788 } VkCopyBufferInfo2;
7790 typedef struct VkImageCopy2 {
7791 VkStructureType sType;
7793 VkImageSubresourceLayers srcSubresource;
7794 VkOffset3D srcOffset;
7795 VkImageSubresourceLayers dstSubresource;
7796 VkOffset3D dstOffset;
7800 typedef struct VkCopyImageInfo2 {
7801 VkStructureType sType;
7804 VkImageLayout srcImageLayout;
7806 VkImageLayout dstImageLayout;
7807 deUint32 regionCount;
7808 const VkImageCopy2* pRegions;
7811 typedef struct VkBufferImageCopy2 {
7812 VkStructureType sType;
7814 VkDeviceSize bufferOffset;
7815 deUint32 bufferRowLength;
7816 deUint32 bufferImageHeight;
7817 VkImageSubresourceLayers imageSubresource;
7818 VkOffset3D imageOffset;
7819 VkExtent3D imageExtent;
7820 } VkBufferImageCopy2;
7822 typedef struct VkCopyBufferToImageInfo2 {
7823 VkStructureType sType;
7827 VkImageLayout dstImageLayout;
7828 deUint32 regionCount;
7829 const VkBufferImageCopy2* pRegions;
7830 } VkCopyBufferToImageInfo2;
7832 typedef struct VkCopyImageToBufferInfo2 {
7833 VkStructureType sType;
7836 VkImageLayout srcImageLayout;
7838 deUint32 regionCount;
7839 const VkBufferImageCopy2* pRegions;
7840 } VkCopyImageToBufferInfo2;
7842 typedef struct VkImageBlit2 {
7843 VkStructureType sType;
7845 VkImageSubresourceLayers srcSubresource;
7846 VkOffset3D srcOffsets[2];
7847 VkImageSubresourceLayers dstSubresource;
7848 VkOffset3D dstOffsets[2];
7851 typedef struct VkBlitImageInfo2 {
7852 VkStructureType sType;
7855 VkImageLayout srcImageLayout;
7857 VkImageLayout dstImageLayout;
7858 deUint32 regionCount;
7859 const VkImageBlit2* pRegions;
7863 typedef struct VkImageResolve2 {
7864 VkStructureType sType;
7866 VkImageSubresourceLayers srcSubresource;
7867 VkOffset3D srcOffset;
7868 VkImageSubresourceLayers dstSubresource;
7869 VkOffset3D dstOffset;
7873 typedef struct VkResolveImageInfo2 {
7874 VkStructureType sType;
7877 VkImageLayout srcImageLayout;
7879 VkImageLayout dstImageLayout;
7880 deUint32 regionCount;
7881 const VkImageResolve2* pRegions;
7882 } VkResolveImageInfo2;
7884 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures {
7885 VkStructureType sType;
7887 VkBool32 subgroupSizeControl;
7888 VkBool32 computeFullSubgroups;
7889 } VkPhysicalDeviceSubgroupSizeControlFeatures;
7891 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties {
7892 VkStructureType sType;
7894 deUint32 minSubgroupSize;
7895 deUint32 maxSubgroupSize;
7896 deUint32 maxComputeWorkgroupSubgroups;
7897 VkShaderStageFlags requiredSubgroupSizeStages;
7898 } VkPhysicalDeviceSubgroupSizeControlProperties;
7900 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo {
7901 VkStructureType sType;
7903 deUint32 requiredSubgroupSize;
7904 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo;
7906 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures {
7907 VkStructureType sType;
7909 VkBool32 inlineUniformBlock;
7910 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7911 } VkPhysicalDeviceInlineUniformBlockFeatures;
7913 typedef struct VkPhysicalDeviceInlineUniformBlockProperties {
7914 VkStructureType sType;
7916 deUint32 maxInlineUniformBlockSize;
7917 deUint32 maxPerStageDescriptorInlineUniformBlocks;
7918 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7919 deUint32 maxDescriptorSetInlineUniformBlocks;
7920 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7921 } VkPhysicalDeviceInlineUniformBlockProperties;
7923 typedef struct VkWriteDescriptorSetInlineUniformBlock {
7924 VkStructureType sType;
7928 } VkWriteDescriptorSetInlineUniformBlock;
7930 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo {
7931 VkStructureType sType;
7933 deUint32 maxInlineUniformBlockBindings;
7934 } VkDescriptorPoolInlineUniformBlockCreateInfo;
7936 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures {
7937 VkStructureType sType;
7939 VkBool32 textureCompressionASTC_HDR;
7940 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures;
7942 typedef struct VkRenderingAttachmentInfo {
7943 VkStructureType sType;
7945 VkImageView imageView;
7946 VkImageLayout imageLayout;
7947 VkResolveModeFlagBits resolveMode;
7948 VkImageView resolveImageView;
7949 VkImageLayout resolveImageLayout;
7950 VkAttachmentLoadOp loadOp;
7951 VkAttachmentStoreOp storeOp;
7952 VkClearValue clearValue;
7953 } VkRenderingAttachmentInfo;
7955 typedef struct VkRenderingInfo {
7956 VkStructureType sType;
7958 VkRenderingFlags flags;
7959 VkRect2D renderArea;
7960 deUint32 layerCount;
7962 deUint32 colorAttachmentCount;
7963 const VkRenderingAttachmentInfo* pColorAttachments;
7964 const VkRenderingAttachmentInfo* pDepthAttachment;
7965 const VkRenderingAttachmentInfo* pStencilAttachment;
7968 typedef struct VkPipelineRenderingCreateInfo {
7969 VkStructureType sType;
7972 deUint32 colorAttachmentCount;
7973 const VkFormat* pColorAttachmentFormats;
7974 VkFormat depthAttachmentFormat;
7975 VkFormat stencilAttachmentFormat;
7976 } VkPipelineRenderingCreateInfo;
7978 typedef struct VkPhysicalDeviceDynamicRenderingFeatures {
7979 VkStructureType sType;
7981 VkBool32 dynamicRendering;
7982 } VkPhysicalDeviceDynamicRenderingFeatures;
7984 typedef struct VkCommandBufferInheritanceRenderingInfo {
7985 VkStructureType sType;
7987 VkRenderingFlags flags;
7989 deUint32 colorAttachmentCount;
7990 const VkFormat* pColorAttachmentFormats;
7991 VkFormat depthAttachmentFormat;
7992 VkFormat stencilAttachmentFormat;
7993 VkSampleCountFlagBits rasterizationSamples;
7994 } VkCommandBufferInheritanceRenderingInfo;
7996 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
7997 VkStructureType sType;
7999 VkBool32 shaderIntegerDotProduct;
8000 } VkPhysicalDeviceShaderIntegerDotProductFeatures;
8002 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties {
8003 VkStructureType sType;
8005 VkBool32 integerDotProduct8BitUnsignedAccelerated;
8006 VkBool32 integerDotProduct8BitSignedAccelerated;
8007 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
8008 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
8009 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
8010 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
8011 VkBool32 integerDotProduct16BitUnsignedAccelerated;
8012 VkBool32 integerDotProduct16BitSignedAccelerated;
8013 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
8014 VkBool32 integerDotProduct32BitUnsignedAccelerated;
8015 VkBool32 integerDotProduct32BitSignedAccelerated;
8016 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
8017 VkBool32 integerDotProduct64BitUnsignedAccelerated;
8018 VkBool32 integerDotProduct64BitSignedAccelerated;
8019 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
8020 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
8021 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
8022 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
8023 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
8024 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
8025 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
8026 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
8027 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
8028 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
8029 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
8030 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
8031 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
8032 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
8033 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
8034 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
8035 } VkPhysicalDeviceShaderIntegerDotProductProperties;
8037 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties {
8038 VkStructureType sType;
8040 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
8041 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
8042 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
8043 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
8044 } VkPhysicalDeviceTexelBufferAlignmentProperties;
8046 typedef struct VkFormatProperties3 {
8047 VkStructureType sType;
8049 VkFormatFeatureFlags2 linearTilingFeatures;
8050 VkFormatFeatureFlags2 optimalTilingFeatures;
8051 VkFormatFeatureFlags2 bufferFeatures;
8052 } VkFormatProperties3;
8054 typedef struct VkPhysicalDeviceMaintenance4Features {
8055 VkStructureType sType;
8057 VkBool32 maintenance4;
8058 } VkPhysicalDeviceMaintenance4Features;
8060 typedef struct VkPhysicalDeviceMaintenance4Properties {
8061 VkStructureType sType;
8063 VkDeviceSize maxBufferSize;
8064 } VkPhysicalDeviceMaintenance4Properties;
8066 typedef struct VkDeviceBufferMemoryRequirements {
8067 VkStructureType sType;
8069 const VkBufferCreateInfo* pCreateInfo;
8070 } VkDeviceBufferMemoryRequirements;
8072 typedef struct VkDeviceImageMemoryRequirements {
8073 VkStructureType sType;
8075 const VkImageCreateInfo* pCreateInfo;
8076 VkImageAspectFlagBits planeAspect;
8077 } VkDeviceImageMemoryRequirements;
8079 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
8080 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
8081 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
8082 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data);
8083 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData);
8084 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
8085 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
8086 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
8087 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
8088 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query);
8089 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
8090 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
8091 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
8092 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
8093 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
8094 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
8095 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
8096 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
8097 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
8098 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
8099 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
8100 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
8101 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
8102 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
8103 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
8104 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
8105 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
8106 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
8107 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
8108 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
8109 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
8110 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
8111 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
8112 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
8113 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8114 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8115 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8117 #ifndef VK_NO_PROTOTYPES
8118 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties(
8119 VkPhysicalDevice physicalDevice,
8120 deUint32* pToolCount,
8121 VkPhysicalDeviceToolProperties* pToolProperties);
8123 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot(
8125 const VkPrivateDataSlotCreateInfo* pCreateInfo,
8126 const VkAllocationCallbacks* pAllocator,
8127 VkPrivateDataSlot* pPrivateDataSlot);
8129 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot(
8131 VkPrivateDataSlot privateDataSlot,
8132 const VkAllocationCallbacks* pAllocator);
8134 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData(
8136 VkObjectType objectType,
8137 deUint64 objectHandle,
8138 VkPrivateDataSlot privateDataSlot,
8141 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData(
8143 VkObjectType objectType,
8144 deUint64 objectHandle,
8145 VkPrivateDataSlot privateDataSlot,
8148 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2(
8149 VkCommandBuffer commandBuffer,
8151 const VkDependencyInfo* pDependencyInfo);
8153 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2(
8154 VkCommandBuffer commandBuffer,
8156 VkPipelineStageFlags2 stageMask);
8158 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2(
8159 VkCommandBuffer commandBuffer,
8160 deUint32 eventCount,
8161 const VkEvent* pEvents,
8162 const VkDependencyInfo* pDependencyInfos);
8164 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2(
8165 VkCommandBuffer commandBuffer,
8166 const VkDependencyInfo* pDependencyInfo);
8168 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2(
8169 VkCommandBuffer commandBuffer,
8170 VkPipelineStageFlags2 stage,
8171 VkQueryPool queryPool,
8174 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2(
8176 deUint32 submitCount,
8177 const VkSubmitInfo2* pSubmits,
8180 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2(
8181 VkCommandBuffer commandBuffer,
8182 const VkCopyBufferInfo2* pCopyBufferInfo);
8184 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2(
8185 VkCommandBuffer commandBuffer,
8186 const VkCopyImageInfo2* pCopyImageInfo);
8188 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2(
8189 VkCommandBuffer commandBuffer,
8190 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
8192 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2(
8193 VkCommandBuffer commandBuffer,
8194 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
8196 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2(
8197 VkCommandBuffer commandBuffer,
8198 const VkBlitImageInfo2* pBlitImageInfo);
8200 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2(
8201 VkCommandBuffer commandBuffer,
8202 const VkResolveImageInfo2* pResolveImageInfo);
8204 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering(
8205 VkCommandBuffer commandBuffer,
8206 const VkRenderingInfo* pRenderingInfo);
8208 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering(
8209 VkCommandBuffer commandBuffer);
8211 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode(
8212 VkCommandBuffer commandBuffer,
8213 VkCullModeFlags cullMode);
8215 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace(
8216 VkCommandBuffer commandBuffer,
8217 VkFrontFace frontFace);
8219 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology(
8220 VkCommandBuffer commandBuffer,
8221 VkPrimitiveTopology primitiveTopology);
8223 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount(
8224 VkCommandBuffer commandBuffer,
8225 deUint32 viewportCount,
8226 const VkViewport* pViewports);
8228 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount(
8229 VkCommandBuffer commandBuffer,
8230 deUint32 scissorCount,
8231 const VkRect2D* pScissors);
8233 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2(
8234 VkCommandBuffer commandBuffer,
8235 deUint32 firstBinding,
8236 deUint32 bindingCount,
8237 const VkBuffer* pBuffers,
8238 const VkDeviceSize* pOffsets,
8239 const VkDeviceSize* pSizes,
8240 const VkDeviceSize* pStrides);
8242 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable(
8243 VkCommandBuffer commandBuffer,
8244 VkBool32 depthTestEnable);
8246 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable(
8247 VkCommandBuffer commandBuffer,
8248 VkBool32 depthWriteEnable);
8250 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp(
8251 VkCommandBuffer commandBuffer,
8252 VkCompareOp depthCompareOp);
8254 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable(
8255 VkCommandBuffer commandBuffer,
8256 VkBool32 depthBoundsTestEnable);
8258 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable(
8259 VkCommandBuffer commandBuffer,
8260 VkBool32 stencilTestEnable);
8262 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp(
8263 VkCommandBuffer commandBuffer,
8264 VkStencilFaceFlags faceMask,
8267 VkStencilOp depthFailOp,
8268 VkCompareOp compareOp);
8270 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable(
8271 VkCommandBuffer commandBuffer,
8272 VkBool32 rasterizerDiscardEnable);
8274 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable(
8275 VkCommandBuffer commandBuffer,
8276 VkBool32 depthBiasEnable);
8278 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable(
8279 VkCommandBuffer commandBuffer,
8280 VkBool32 primitiveRestartEnable);
8282 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements(
8284 const VkDeviceBufferMemoryRequirements* pInfo,
8285 VkMemoryRequirements2* pMemoryRequirements);
8287 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements(
8289 const VkDeviceImageMemoryRequirements* pInfo,
8290 VkMemoryRequirements2* pMemoryRequirements);
8292 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements(
8294 const VkDeviceImageMemoryRequirements* pInfo,
8295 deUint32* pSparseMemoryRequirementCount,
8296 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8300 #define VK_KHR_surface 1
8301 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
8302 #define VK_KHR_SURFACE_SPEC_VERSION 25
8303 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
8305 typedef enum VkPresentModeKHR {
8306 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
8307 VK_PRESENT_MODE_MAILBOX_KHR = 1,
8308 VK_PRESENT_MODE_FIFO_KHR = 2,
8309 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
8310 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
8311 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
8312 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
8315 typedef enum VkColorSpaceKHR {
8316 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
8317 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
8318 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
8319 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
8320 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
8321 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
8322 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
8323 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
8324 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
8325 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
8326 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
8327 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
8328 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
8329 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
8330 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
8331 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
8332 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
8333 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
8334 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
8337 typedef enum VkSurfaceTransformFlagBitsKHR {
8338 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
8339 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
8340 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
8341 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
8342 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
8343 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
8344 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
8345 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
8346 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
8347 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8348 } VkSurfaceTransformFlagBitsKHR;
8350 typedef enum VkCompositeAlphaFlagBitsKHR {
8351 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
8352 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
8353 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
8354 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
8355 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8356 } VkCompositeAlphaFlagBitsKHR;
8357 typedef VkFlags VkCompositeAlphaFlagsKHR;
8358 typedef VkFlags VkSurfaceTransformFlagsKHR;
8359 typedef struct VkSurfaceCapabilitiesKHR {
8360 deUint32 minImageCount;
8361 deUint32 maxImageCount;
8362 VkExtent2D currentExtent;
8363 VkExtent2D minImageExtent;
8364 VkExtent2D maxImageExtent;
8365 deUint32 maxImageArrayLayers;
8366 VkSurfaceTransformFlagsKHR supportedTransforms;
8367 VkSurfaceTransformFlagBitsKHR currentTransform;
8368 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8369 VkImageUsageFlags supportedUsageFlags;
8370 } VkSurfaceCapabilitiesKHR;
8372 typedef struct VkSurfaceFormatKHR {
8374 VkColorSpaceKHR colorSpace;
8375 } VkSurfaceFormatKHR;
8377 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
8378 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
8379 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
8380 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
8381 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
8383 #ifndef VK_NO_PROTOTYPES
8384 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
8385 VkInstance instance,
8386 VkSurfaceKHR surface,
8387 const VkAllocationCallbacks* pAllocator);
8389 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
8390 VkPhysicalDevice physicalDevice,
8391 deUint32 queueFamilyIndex,
8392 VkSurfaceKHR surface,
8393 VkBool32* pSupported);
8395 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
8396 VkPhysicalDevice physicalDevice,
8397 VkSurfaceKHR surface,
8398 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
8400 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
8401 VkPhysicalDevice physicalDevice,
8402 VkSurfaceKHR surface,
8403 deUint32* pSurfaceFormatCount,
8404 VkSurfaceFormatKHR* pSurfaceFormats);
8406 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
8407 VkPhysicalDevice physicalDevice,
8408 VkSurfaceKHR surface,
8409 deUint32* pPresentModeCount,
8410 VkPresentModeKHR* pPresentModes);
8414 #define VK_KHR_swapchain 1
8415 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
8416 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
8417 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
8419 typedef enum VkSwapchainCreateFlagBitsKHR {
8420 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
8421 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
8422 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
8423 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8424 } VkSwapchainCreateFlagBitsKHR;
8425 typedef VkFlags VkSwapchainCreateFlagsKHR;
8427 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
8428 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
8429 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
8430 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
8431 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
8432 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8433 } VkDeviceGroupPresentModeFlagBitsKHR;
8434 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
8435 typedef struct VkSwapchainCreateInfoKHR {
8436 VkStructureType sType;
8438 VkSwapchainCreateFlagsKHR flags;
8439 VkSurfaceKHR surface;
8440 deUint32 minImageCount;
8441 VkFormat imageFormat;
8442 VkColorSpaceKHR imageColorSpace;
8443 VkExtent2D imageExtent;
8444 deUint32 imageArrayLayers;
8445 VkImageUsageFlags imageUsage;
8446 VkSharingMode imageSharingMode;
8447 deUint32 queueFamilyIndexCount;
8448 const deUint32* pQueueFamilyIndices;
8449 VkSurfaceTransformFlagBitsKHR preTransform;
8450 VkCompositeAlphaFlagBitsKHR compositeAlpha;
8451 VkPresentModeKHR presentMode;
8453 VkSwapchainKHR oldSwapchain;
8454 } VkSwapchainCreateInfoKHR;
8456 typedef struct VkPresentInfoKHR {
8457 VkStructureType sType;
8459 deUint32 waitSemaphoreCount;
8460 const VkSemaphore* pWaitSemaphores;
8461 deUint32 swapchainCount;
8462 const VkSwapchainKHR* pSwapchains;
8463 const deUint32* pImageIndices;
8467 typedef struct VkImageSwapchainCreateInfoKHR {
8468 VkStructureType sType;
8470 VkSwapchainKHR swapchain;
8471 } VkImageSwapchainCreateInfoKHR;
8473 typedef struct VkBindImageMemorySwapchainInfoKHR {
8474 VkStructureType sType;
8476 VkSwapchainKHR swapchain;
8477 deUint32 imageIndex;
8478 } VkBindImageMemorySwapchainInfoKHR;
8480 typedef struct VkAcquireNextImageInfoKHR {
8481 VkStructureType sType;
8483 VkSwapchainKHR swapchain;
8485 VkSemaphore semaphore;
8487 deUint32 deviceMask;
8488 } VkAcquireNextImageInfoKHR;
8490 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
8491 VkStructureType sType;
8493 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
8494 VkDeviceGroupPresentModeFlagsKHR modes;
8495 } VkDeviceGroupPresentCapabilitiesKHR;
8497 typedef struct VkDeviceGroupPresentInfoKHR {
8498 VkStructureType sType;
8500 deUint32 swapchainCount;
8501 const deUint32* pDeviceMasks;
8502 VkDeviceGroupPresentModeFlagBitsKHR mode;
8503 } VkDeviceGroupPresentInfoKHR;
8505 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
8506 VkStructureType sType;
8508 VkDeviceGroupPresentModeFlagsKHR modes;
8509 } VkDeviceGroupSwapchainCreateInfoKHR;
8511 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
8512 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
8513 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
8514 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
8515 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
8516 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
8517 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
8518 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
8519 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
8521 #ifndef VK_NO_PROTOTYPES
8522 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
8524 const VkSwapchainCreateInfoKHR* pCreateInfo,
8525 const VkAllocationCallbacks* pAllocator,
8526 VkSwapchainKHR* pSwapchain);
8528 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
8530 VkSwapchainKHR swapchain,
8531 const VkAllocationCallbacks* pAllocator);
8533 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
8535 VkSwapchainKHR swapchain,
8536 deUint32* pSwapchainImageCount,
8537 VkImage* pSwapchainImages);
8539 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
8541 VkSwapchainKHR swapchain,
8543 VkSemaphore semaphore,
8545 deUint32* pImageIndex);
8547 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
8549 const VkPresentInfoKHR* pPresentInfo);
8551 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
8553 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
8555 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
8557 VkSurfaceKHR surface,
8558 VkDeviceGroupPresentModeFlagsKHR* pModes);
8560 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
8561 VkPhysicalDevice physicalDevice,
8562 VkSurfaceKHR surface,
8563 deUint32* pRectCount,
8566 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
8568 const VkAcquireNextImageInfoKHR* pAcquireInfo,
8569 deUint32* pImageIndex);
8573 #define VK_KHR_display 1
8574 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
8575 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
8576 #define VK_KHR_DISPLAY_SPEC_VERSION 23
8577 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
8578 typedef VkFlags VkDisplayModeCreateFlagsKHR;
8580 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
8581 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
8582 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
8583 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
8584 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
8585 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8586 } VkDisplayPlaneAlphaFlagBitsKHR;
8587 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
8588 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
8589 typedef struct VkDisplayModeParametersKHR {
8590 VkExtent2D visibleRegion;
8591 deUint32 refreshRate;
8592 } VkDisplayModeParametersKHR;
8594 typedef struct VkDisplayModeCreateInfoKHR {
8595 VkStructureType sType;
8597 VkDisplayModeCreateFlagsKHR flags;
8598 VkDisplayModeParametersKHR parameters;
8599 } VkDisplayModeCreateInfoKHR;
8601 typedef struct VkDisplayModePropertiesKHR {
8602 VkDisplayModeKHR displayMode;
8603 VkDisplayModeParametersKHR parameters;
8604 } VkDisplayModePropertiesKHR;
8606 typedef struct VkDisplayPlaneCapabilitiesKHR {
8607 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
8608 VkOffset2D minSrcPosition;
8609 VkOffset2D maxSrcPosition;
8610 VkExtent2D minSrcExtent;
8611 VkExtent2D maxSrcExtent;
8612 VkOffset2D minDstPosition;
8613 VkOffset2D maxDstPosition;
8614 VkExtent2D minDstExtent;
8615 VkExtent2D maxDstExtent;
8616 } VkDisplayPlaneCapabilitiesKHR;
8618 typedef struct VkDisplayPlanePropertiesKHR {
8619 VkDisplayKHR currentDisplay;
8620 deUint32 currentStackIndex;
8621 } VkDisplayPlanePropertiesKHR;
8623 typedef struct VkDisplayPropertiesKHR {
8624 VkDisplayKHR display;
8625 const char* displayName;
8626 VkExtent2D physicalDimensions;
8627 VkExtent2D physicalResolution;
8628 VkSurfaceTransformFlagsKHR supportedTransforms;
8629 VkBool32 planeReorderPossible;
8630 VkBool32 persistentContent;
8631 } VkDisplayPropertiesKHR;
8633 typedef struct VkDisplaySurfaceCreateInfoKHR {
8634 VkStructureType sType;
8636 VkDisplaySurfaceCreateFlagsKHR flags;
8637 VkDisplayModeKHR displayMode;
8638 deUint32 planeIndex;
8639 deUint32 planeStackIndex;
8640 VkSurfaceTransformFlagBitsKHR transform;
8642 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
8643 VkExtent2D imageExtent;
8644 } VkDisplaySurfaceCreateInfoKHR;
8646 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
8647 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
8648 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
8649 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
8650 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
8651 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
8652 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
8654 #ifndef VK_NO_PROTOTYPES
8655 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
8656 VkPhysicalDevice physicalDevice,
8657 deUint32* pPropertyCount,
8658 VkDisplayPropertiesKHR* pProperties);
8660 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
8661 VkPhysicalDevice physicalDevice,
8662 deUint32* pPropertyCount,
8663 VkDisplayPlanePropertiesKHR* pProperties);
8665 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
8666 VkPhysicalDevice physicalDevice,
8667 deUint32 planeIndex,
8668 deUint32* pDisplayCount,
8669 VkDisplayKHR* pDisplays);
8671 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
8672 VkPhysicalDevice physicalDevice,
8673 VkDisplayKHR display,
8674 deUint32* pPropertyCount,
8675 VkDisplayModePropertiesKHR* pProperties);
8677 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
8678 VkPhysicalDevice physicalDevice,
8679 VkDisplayKHR display,
8680 const VkDisplayModeCreateInfoKHR* pCreateInfo,
8681 const VkAllocationCallbacks* pAllocator,
8682 VkDisplayModeKHR* pMode);
8684 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
8685 VkPhysicalDevice physicalDevice,
8686 VkDisplayModeKHR mode,
8687 deUint32 planeIndex,
8688 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
8690 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
8691 VkInstance instance,
8692 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
8693 const VkAllocationCallbacks* pAllocator,
8694 VkSurfaceKHR* pSurface);
8698 #define VK_KHR_display_swapchain 1
8699 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
8700 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
8701 typedef struct VkDisplayPresentInfoKHR {
8702 VkStructureType sType;
8706 VkBool32 persistent;
8707 } VkDisplayPresentInfoKHR;
8709 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
8711 #ifndef VK_NO_PROTOTYPES
8712 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
8714 deUint32 swapchainCount,
8715 const VkSwapchainCreateInfoKHR* pCreateInfos,
8716 const VkAllocationCallbacks* pAllocator,
8717 VkSwapchainKHR* pSwapchains);
8721 #define VK_KHR_sampler_mirror_clamp_to_edge 1
8722 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
8723 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
8726 #define VK_KHR_dynamic_rendering 1
8727 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
8728 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
8729 typedef VkRenderingFlags VkRenderingFlagsKHR;
8731 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR;
8733 typedef VkRenderingInfo VkRenderingInfoKHR;
8735 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR;
8737 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR;
8739 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR;
8741 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR;
8743 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
8744 VkStructureType sType;
8746 VkImageView imageView;
8747 VkImageLayout imageLayout;
8748 VkExtent2D shadingRateAttachmentTexelSize;
8749 } VkRenderingFragmentShadingRateAttachmentInfoKHR;
8751 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
8752 VkStructureType sType;
8754 VkImageView imageView;
8755 VkImageLayout imageLayout;
8756 } VkRenderingFragmentDensityMapAttachmentInfoEXT;
8758 typedef struct VkAttachmentSampleCountInfoAMD {
8759 VkStructureType sType;
8761 deUint32 colorAttachmentCount;
8762 const VkSampleCountFlagBits* pColorAttachmentSamples;
8763 VkSampleCountFlagBits depthStencilAttachmentSamples;
8764 } VkAttachmentSampleCountInfoAMD;
8766 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
8768 typedef struct VkMultiviewPerViewAttributesInfoNVX {
8769 VkStructureType sType;
8771 VkBool32 perViewAttributes;
8772 VkBool32 perViewAttributesPositionXOnly;
8773 } VkMultiviewPerViewAttributesInfoNVX;
8775 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
8776 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
8778 #ifndef VK_NO_PROTOTYPES
8779 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
8780 VkCommandBuffer commandBuffer,
8781 const VkRenderingInfo* pRenderingInfo);
8783 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
8784 VkCommandBuffer commandBuffer);
8788 #define VK_KHR_multiview 1
8789 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
8790 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
8791 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
8793 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
8795 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
8799 #define VK_KHR_get_physical_device_properties2 1
8800 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
8801 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
8802 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
8804 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
8806 typedef VkFormatProperties2 VkFormatProperties2KHR;
8808 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
8810 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
8812 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
8814 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
8816 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
8818 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
8820 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
8821 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
8822 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
8823 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
8824 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
8825 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8826 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
8828 #ifndef VK_NO_PROTOTYPES
8829 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
8830 VkPhysicalDevice physicalDevice,
8831 VkPhysicalDeviceFeatures2* pFeatures);
8833 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
8834 VkPhysicalDevice physicalDevice,
8835 VkPhysicalDeviceProperties2* pProperties);
8837 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
8838 VkPhysicalDevice physicalDevice,
8840 VkFormatProperties2* pFormatProperties);
8842 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
8843 VkPhysicalDevice physicalDevice,
8844 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
8845 VkImageFormatProperties2* pImageFormatProperties);
8847 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
8848 VkPhysicalDevice physicalDevice,
8849 deUint32* pQueueFamilyPropertyCount,
8850 VkQueueFamilyProperties2* pQueueFamilyProperties);
8852 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
8853 VkPhysicalDevice physicalDevice,
8854 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8856 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
8857 VkPhysicalDevice physicalDevice,
8858 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
8859 deUint32* pPropertyCount,
8860 VkSparseImageFormatProperties2* pProperties);
8864 #define VK_KHR_device_group 1
8865 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
8866 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
8867 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
8869 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
8871 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
8873 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
8875 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
8877 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
8879 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
8881 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
8883 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
8885 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
8887 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
8889 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8890 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
8891 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
8893 #ifndef VK_NO_PROTOTYPES
8894 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
8897 deUint32 localDeviceIndex,
8898 deUint32 remoteDeviceIndex,
8899 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8901 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
8902 VkCommandBuffer commandBuffer,
8903 deUint32 deviceMask);
8905 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
8906 VkCommandBuffer commandBuffer,
8907 deUint32 baseGroupX,
8908 deUint32 baseGroupY,
8909 deUint32 baseGroupZ,
8910 deUint32 groupCountX,
8911 deUint32 groupCountY,
8912 deUint32 groupCountZ);
8916 #define VK_KHR_shader_draw_parameters 1
8917 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
8918 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
8921 #define VK_KHR_maintenance1 1
8922 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2
8923 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1"
8924 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION
8925 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME
8926 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
8928 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
8930 #ifndef VK_NO_PROTOTYPES
8931 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
8933 VkCommandPool commandPool,
8934 VkCommandPoolTrimFlags flags);
8938 #define VK_KHR_device_group_creation 1
8939 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
8940 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
8941 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
8942 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
8944 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
8946 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
8948 #ifndef VK_NO_PROTOTYPES
8949 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
8950 VkInstance instance,
8951 deUint32* pPhysicalDeviceGroupCount,
8952 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
8956 #define VK_KHR_external_memory_capabilities 1
8957 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
8958 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
8959 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
8960 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
8962 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
8964 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
8966 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
8968 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
8970 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
8972 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
8974 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
8976 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
8978 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
8980 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
8982 #ifndef VK_NO_PROTOTYPES
8983 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
8984 VkPhysicalDevice physicalDevice,
8985 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
8986 VkExternalBufferProperties* pExternalBufferProperties);
8990 #define VK_KHR_external_memory 1
8991 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
8992 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
8993 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
8994 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
8996 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
8998 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
9002 #define VK_KHR_external_memory_fd 1
9003 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
9004 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
9005 typedef struct VkImportMemoryFdInfoKHR {
9006 VkStructureType sType;
9008 VkExternalMemoryHandleTypeFlagBits handleType;
9010 } VkImportMemoryFdInfoKHR;
9012 typedef struct VkMemoryFdPropertiesKHR {
9013 VkStructureType sType;
9015 deUint32 memoryTypeBits;
9016 } VkMemoryFdPropertiesKHR;
9018 typedef struct VkMemoryGetFdInfoKHR {
9019 VkStructureType sType;
9021 VkDeviceMemory memory;
9022 VkExternalMemoryHandleTypeFlagBits handleType;
9023 } VkMemoryGetFdInfoKHR;
9025 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
9026 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
9028 #ifndef VK_NO_PROTOTYPES
9029 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
9031 const VkMemoryGetFdInfoKHR* pGetFdInfo,
9034 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
9036 VkExternalMemoryHandleTypeFlagBits handleType,
9038 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
9042 #define VK_KHR_external_semaphore_capabilities 1
9043 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
9044 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
9045 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
9047 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
9049 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
9051 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
9053 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
9055 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
9057 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
9059 #ifndef VK_NO_PROTOTYPES
9060 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
9061 VkPhysicalDevice physicalDevice,
9062 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
9063 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
9067 #define VK_KHR_external_semaphore 1
9068 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
9069 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
9070 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
9072 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
9074 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
9078 #define VK_KHR_external_semaphore_fd 1
9079 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
9080 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
9081 typedef struct VkImportSemaphoreFdInfoKHR {
9082 VkStructureType sType;
9084 VkSemaphore semaphore;
9085 VkSemaphoreImportFlags flags;
9086 VkExternalSemaphoreHandleTypeFlagBits handleType;
9088 } VkImportSemaphoreFdInfoKHR;
9090 typedef struct VkSemaphoreGetFdInfoKHR {
9091 VkStructureType sType;
9093 VkSemaphore semaphore;
9094 VkExternalSemaphoreHandleTypeFlagBits handleType;
9095 } VkSemaphoreGetFdInfoKHR;
9097 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
9098 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
9100 #ifndef VK_NO_PROTOTYPES
9101 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
9103 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
9105 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
9107 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
9112 #define VK_KHR_push_descriptor 1
9113 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
9114 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
9115 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
9116 VkStructureType sType;
9118 deUint32 maxPushDescriptors;
9119 } VkPhysicalDevicePushDescriptorPropertiesKHR;
9121 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
9122 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
9124 #ifndef VK_NO_PROTOTYPES
9125 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
9126 VkCommandBuffer commandBuffer,
9127 VkPipelineBindPoint pipelineBindPoint,
9128 VkPipelineLayout layout,
9130 deUint32 descriptorWriteCount,
9131 const VkWriteDescriptorSet* pDescriptorWrites);
9133 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
9134 VkCommandBuffer commandBuffer,
9135 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9136 VkPipelineLayout layout,
9142 #define VK_KHR_shader_float16_int8 1
9143 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
9144 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
9145 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
9147 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
9151 #define VK_KHR_16bit_storage 1
9152 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
9153 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
9154 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
9158 #define VK_KHR_incremental_present 1
9159 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
9160 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
9161 typedef struct VkRectLayerKHR {
9167 typedef struct VkPresentRegionKHR {
9168 deUint32 rectangleCount;
9169 const VkRectLayerKHR* pRectangles;
9170 } VkPresentRegionKHR;
9172 typedef struct VkPresentRegionsKHR {
9173 VkStructureType sType;
9175 deUint32 swapchainCount;
9176 const VkPresentRegionKHR* pRegions;
9177 } VkPresentRegionsKHR;
9181 #define VK_KHR_descriptor_update_template 1
9182 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
9184 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
9185 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
9186 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
9188 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
9190 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
9192 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
9194 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
9195 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
9196 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
9198 #ifndef VK_NO_PROTOTYPES
9199 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
9201 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
9202 const VkAllocationCallbacks* pAllocator,
9203 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
9205 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
9207 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9208 const VkAllocationCallbacks* pAllocator);
9210 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
9212 VkDescriptorSet descriptorSet,
9213 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9218 #define VK_KHR_imageless_framebuffer 1
9219 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
9220 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
9221 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
9223 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
9225 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
9227 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
9231 #define VK_KHR_create_renderpass2 1
9232 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
9233 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
9234 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
9236 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
9238 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
9240 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
9242 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
9244 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
9246 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
9248 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
9249 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
9250 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
9251 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
9253 #ifndef VK_NO_PROTOTYPES
9254 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
9256 const VkRenderPassCreateInfo2* pCreateInfo,
9257 const VkAllocationCallbacks* pAllocator,
9258 VkRenderPass* pRenderPass);
9260 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
9261 VkCommandBuffer commandBuffer,
9262 const VkRenderPassBeginInfo* pRenderPassBegin,
9263 const VkSubpassBeginInfo* pSubpassBeginInfo);
9265 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
9266 VkCommandBuffer commandBuffer,
9267 const VkSubpassBeginInfo* pSubpassBeginInfo,
9268 const VkSubpassEndInfo* pSubpassEndInfo);
9270 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
9271 VkCommandBuffer commandBuffer,
9272 const VkSubpassEndInfo* pSubpassEndInfo);
9276 #define VK_KHR_shared_presentable_image 1
9277 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
9278 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
9279 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
9280 VkStructureType sType;
9282 VkImageUsageFlags sharedPresentSupportedUsageFlags;
9283 } VkSharedPresentSurfaceCapabilitiesKHR;
9285 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
9287 #ifndef VK_NO_PROTOTYPES
9288 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
9290 VkSwapchainKHR swapchain);
9294 #define VK_KHR_external_fence_capabilities 1
9295 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
9296 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
9297 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
9299 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
9301 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
9303 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
9305 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
9307 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
9309 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
9311 #ifndef VK_NO_PROTOTYPES
9312 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
9313 VkPhysicalDevice physicalDevice,
9314 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
9315 VkExternalFenceProperties* pExternalFenceProperties);
9319 #define VK_KHR_external_fence 1
9320 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
9321 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
9322 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
9324 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
9326 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
9330 #define VK_KHR_external_fence_fd 1
9331 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
9332 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
9333 typedef struct VkImportFenceFdInfoKHR {
9334 VkStructureType sType;
9337 VkFenceImportFlags flags;
9338 VkExternalFenceHandleTypeFlagBits handleType;
9340 } VkImportFenceFdInfoKHR;
9342 typedef struct VkFenceGetFdInfoKHR {
9343 VkStructureType sType;
9346 VkExternalFenceHandleTypeFlagBits handleType;
9347 } VkFenceGetFdInfoKHR;
9349 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9350 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
9352 #ifndef VK_NO_PROTOTYPES
9353 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
9355 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9357 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
9359 const VkFenceGetFdInfoKHR* pGetFdInfo,
9364 #define VK_KHR_performance_query 1
9365 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
9366 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
9368 typedef enum VkPerformanceCounterUnitKHR {
9369 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
9370 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
9371 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
9372 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
9373 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
9374 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
9375 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
9376 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
9377 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
9378 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
9379 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
9380 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
9381 } VkPerformanceCounterUnitKHR;
9383 typedef enum VkPerformanceCounterScopeKHR {
9384 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
9385 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
9386 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
9387 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
9388 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
9389 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
9390 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
9391 } VkPerformanceCounterScopeKHR;
9393 typedef enum VkPerformanceCounterStorageKHR {
9394 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
9395 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
9396 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
9397 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
9398 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
9399 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
9400 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
9401 } VkPerformanceCounterStorageKHR;
9403 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
9404 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
9405 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
9406 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
9407 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
9408 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9409 } VkPerformanceCounterDescriptionFlagBitsKHR;
9410 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
9412 typedef enum VkAcquireProfilingLockFlagBitsKHR {
9413 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9414 } VkAcquireProfilingLockFlagBitsKHR;
9415 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
9416 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
9417 VkStructureType sType;
9419 VkBool32 performanceCounterQueryPools;
9420 VkBool32 performanceCounterMultipleQueryPools;
9421 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
9423 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
9424 VkStructureType sType;
9426 VkBool32 allowCommandBufferQueryCopies;
9427 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
9429 typedef struct VkPerformanceCounterKHR {
9430 VkStructureType sType;
9432 VkPerformanceCounterUnitKHR unit;
9433 VkPerformanceCounterScopeKHR scope;
9434 VkPerformanceCounterStorageKHR storage;
9435 deUint8 uuid[VK_UUID_SIZE];
9436 } VkPerformanceCounterKHR;
9438 typedef struct VkPerformanceCounterDescriptionKHR {
9439 VkStructureType sType;
9441 VkPerformanceCounterDescriptionFlagsKHR flags;
9442 char name[VK_MAX_DESCRIPTION_SIZE];
9443 char category[VK_MAX_DESCRIPTION_SIZE];
9444 char description[VK_MAX_DESCRIPTION_SIZE];
9445 } VkPerformanceCounterDescriptionKHR;
9447 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
9448 VkStructureType sType;
9450 deUint32 queueFamilyIndex;
9451 deUint32 counterIndexCount;
9452 const deUint32* pCounterIndices;
9453 } VkQueryPoolPerformanceCreateInfoKHR;
9455 typedef union VkPerformanceCounterResultKHR {
9462 } VkPerformanceCounterResultKHR;
9464 typedef struct VkAcquireProfilingLockInfoKHR {
9465 VkStructureType sType;
9467 VkAcquireProfilingLockFlagsKHR flags;
9469 } VkAcquireProfilingLockInfoKHR;
9471 typedef struct VkPerformanceQuerySubmitInfoKHR {
9472 VkStructureType sType;
9474 deUint32 counterPassIndex;
9475 } VkPerformanceQuerySubmitInfoKHR;
9477 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9478 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
9479 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
9480 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
9482 #ifndef VK_NO_PROTOTYPES
9483 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
9484 VkPhysicalDevice physicalDevice,
9485 deUint32 queueFamilyIndex,
9486 deUint32* pCounterCount,
9487 VkPerformanceCounterKHR* pCounters,
9488 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9490 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
9491 VkPhysicalDevice physicalDevice,
9492 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
9493 deUint32* pNumPasses);
9495 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
9497 const VkAcquireProfilingLockInfoKHR* pInfo);
9499 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
9504 #define VK_KHR_maintenance2 1
9505 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1
9506 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2"
9507 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION
9508 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME
9509 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
9511 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
9513 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
9515 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
9517 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
9519 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
9521 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
9525 #define VK_KHR_get_surface_capabilities2 1
9526 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
9527 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
9528 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
9529 VkStructureType sType;
9531 VkSurfaceKHR surface;
9532 } VkPhysicalDeviceSurfaceInfo2KHR;
9534 typedef struct VkSurfaceCapabilities2KHR {
9535 VkStructureType sType;
9537 VkSurfaceCapabilitiesKHR surfaceCapabilities;
9538 } VkSurfaceCapabilities2KHR;
9540 typedef struct VkSurfaceFormat2KHR {
9541 VkStructureType sType;
9543 VkSurfaceFormatKHR surfaceFormat;
9544 } VkSurfaceFormat2KHR;
9546 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9547 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
9549 #ifndef VK_NO_PROTOTYPES
9550 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
9551 VkPhysicalDevice physicalDevice,
9552 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9553 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9555 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
9556 VkPhysicalDevice physicalDevice,
9557 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9558 deUint32* pSurfaceFormatCount,
9559 VkSurfaceFormat2KHR* pSurfaceFormats);
9563 #define VK_KHR_variable_pointers 1
9564 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
9565 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
9566 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
9568 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
9572 #define VK_KHR_get_display_properties2 1
9573 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
9574 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
9575 typedef struct VkDisplayProperties2KHR {
9576 VkStructureType sType;
9578 VkDisplayPropertiesKHR displayProperties;
9579 } VkDisplayProperties2KHR;
9581 typedef struct VkDisplayPlaneProperties2KHR {
9582 VkStructureType sType;
9584 VkDisplayPlanePropertiesKHR displayPlaneProperties;
9585 } VkDisplayPlaneProperties2KHR;
9587 typedef struct VkDisplayModeProperties2KHR {
9588 VkStructureType sType;
9590 VkDisplayModePropertiesKHR displayModeProperties;
9591 } VkDisplayModeProperties2KHR;
9593 typedef struct VkDisplayPlaneInfo2KHR {
9594 VkStructureType sType;
9596 VkDisplayModeKHR mode;
9597 deUint32 planeIndex;
9598 } VkDisplayPlaneInfo2KHR;
9600 typedef struct VkDisplayPlaneCapabilities2KHR {
9601 VkStructureType sType;
9603 VkDisplayPlaneCapabilitiesKHR capabilities;
9604 } VkDisplayPlaneCapabilities2KHR;
9606 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
9607 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
9608 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
9609 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
9611 #ifndef VK_NO_PROTOTYPES
9612 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
9613 VkPhysicalDevice physicalDevice,
9614 deUint32* pPropertyCount,
9615 VkDisplayProperties2KHR* pProperties);
9617 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
9618 VkPhysicalDevice physicalDevice,
9619 deUint32* pPropertyCount,
9620 VkDisplayPlaneProperties2KHR* pProperties);
9622 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
9623 VkPhysicalDevice physicalDevice,
9624 VkDisplayKHR display,
9625 deUint32* pPropertyCount,
9626 VkDisplayModeProperties2KHR* pProperties);
9628 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
9629 VkPhysicalDevice physicalDevice,
9630 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
9631 VkDisplayPlaneCapabilities2KHR* pCapabilities);
9635 #define VK_KHR_dedicated_allocation 1
9636 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
9637 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
9638 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
9640 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
9644 #define VK_KHR_storage_buffer_storage_class 1
9645 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
9646 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
9649 #define VK_KHR_relaxed_block_layout 1
9650 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
9651 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
9654 #define VK_KHR_get_memory_requirements2 1
9655 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
9656 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
9657 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
9659 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
9661 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
9663 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
9665 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
9667 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9668 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9669 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9671 #ifndef VK_NO_PROTOTYPES
9672 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
9674 const VkImageMemoryRequirementsInfo2* pInfo,
9675 VkMemoryRequirements2* pMemoryRequirements);
9677 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
9679 const VkBufferMemoryRequirementsInfo2* pInfo,
9680 VkMemoryRequirements2* pMemoryRequirements);
9682 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
9684 const VkImageSparseMemoryRequirementsInfo2* pInfo,
9685 deUint32* pSparseMemoryRequirementCount,
9686 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9690 #define VK_KHR_image_format_list 1
9691 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
9692 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
9693 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
9697 #define VK_KHR_sampler_ycbcr_conversion 1
9698 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
9700 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
9701 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
9702 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
9704 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
9706 typedef VkChromaLocation VkChromaLocationKHR;
9708 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
9710 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
9712 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
9714 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
9716 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
9718 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
9720 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
9721 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
9723 #ifndef VK_NO_PROTOTYPES
9724 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
9726 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
9727 const VkAllocationCallbacks* pAllocator,
9728 VkSamplerYcbcrConversion* pYcbcrConversion);
9730 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
9732 VkSamplerYcbcrConversion ycbcrConversion,
9733 const VkAllocationCallbacks* pAllocator);
9737 #define VK_KHR_bind_memory2 1
9738 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
9739 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
9740 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
9742 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
9744 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
9745 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
9747 #ifndef VK_NO_PROTOTYPES
9748 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
9750 deUint32 bindInfoCount,
9751 const VkBindBufferMemoryInfo* pBindInfos);
9753 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
9755 deUint32 bindInfoCount,
9756 const VkBindImageMemoryInfo* pBindInfos);
9760 #define VK_KHR_maintenance3 1
9761 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1
9762 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3"
9763 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION
9764 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME
9765 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
9767 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
9769 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
9771 #ifndef VK_NO_PROTOTYPES
9772 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
9774 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
9775 VkDescriptorSetLayoutSupport* pSupport);
9779 #define VK_KHR_draw_indirect_count 1
9780 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
9781 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
9782 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9783 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9785 #ifndef VK_NO_PROTOTYPES
9786 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
9787 VkCommandBuffer commandBuffer,
9789 VkDeviceSize offset,
9790 VkBuffer countBuffer,
9791 VkDeviceSize countBufferOffset,
9792 deUint32 maxDrawCount,
9795 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
9796 VkCommandBuffer commandBuffer,
9798 VkDeviceSize offset,
9799 VkBuffer countBuffer,
9800 VkDeviceSize countBufferOffset,
9801 deUint32 maxDrawCount,
9806 #define VK_KHR_shader_subgroup_extended_types 1
9807 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
9808 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
9809 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
9813 #define VK_KHR_8bit_storage 1
9814 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
9815 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
9816 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
9820 #define VK_KHR_shader_atomic_int64 1
9821 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
9822 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
9823 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
9827 #define VK_KHR_shader_clock 1
9828 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
9829 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
9830 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
9831 VkStructureType sType;
9833 VkBool32 shaderSubgroupClock;
9834 VkBool32 shaderDeviceClock;
9835 } VkPhysicalDeviceShaderClockFeaturesKHR;
9839 #define VK_KHR_global_priority 1
9840 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U
9841 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
9842 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority"
9844 typedef enum VkQueueGlobalPriorityKHR {
9845 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128,
9846 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256,
9847 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512,
9848 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024,
9849 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
9850 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
9851 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
9852 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR,
9853 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF
9854 } VkQueueGlobalPriorityKHR;
9855 typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR {
9856 VkStructureType sType;
9858 VkQueueGlobalPriorityKHR globalPriority;
9859 } VkDeviceQueueGlobalPriorityCreateInfoKHR;
9861 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR {
9862 VkStructureType sType;
9864 VkBool32 globalPriorityQuery;
9865 } VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR;
9867 typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR {
9868 VkStructureType sType;
9870 deUint32 priorityCount;
9871 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR];
9872 } VkQueueFamilyGlobalPriorityPropertiesKHR;
9876 #define VK_KHR_driver_properties 1
9877 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
9878 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
9879 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
9880 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
9881 typedef VkDriverId VkDriverIdKHR;
9883 typedef VkConformanceVersion VkConformanceVersionKHR;
9885 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
9889 #define VK_KHR_shader_float_controls 1
9890 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
9891 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
9892 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
9894 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
9898 #define VK_KHR_depth_stencil_resolve 1
9899 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
9900 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
9901 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
9903 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
9905 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
9907 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
9911 #define VK_KHR_swapchain_mutable_format 1
9912 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
9913 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
9916 #define VK_KHR_timeline_semaphore 1
9917 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
9918 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
9919 typedef VkSemaphoreType VkSemaphoreTypeKHR;
9921 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
9923 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
9925 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
9927 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
9929 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
9931 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
9933 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
9935 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
9937 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
9938 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
9939 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
9941 #ifndef VK_NO_PROTOTYPES
9942 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
9944 VkSemaphore semaphore,
9947 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
9949 const VkSemaphoreWaitInfo* pWaitInfo,
9952 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
9954 const VkSemaphoreSignalInfo* pSignalInfo);
9958 #define VK_KHR_vulkan_memory_model 1
9959 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
9960 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
9961 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
9965 #define VK_KHR_shader_terminate_invocation 1
9966 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
9967 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
9968 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
9972 #define VK_KHR_fragment_shading_rate 1
9973 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2
9974 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
9976 typedef enum VkFragmentShadingRateCombinerOpKHR {
9977 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
9978 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
9979 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
9980 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
9981 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
9982 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
9983 } VkFragmentShadingRateCombinerOpKHR;
9984 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
9985 VkStructureType sType;
9987 const VkAttachmentReference2* pFragmentShadingRateAttachment;
9988 VkExtent2D shadingRateAttachmentTexelSize;
9989 } VkFragmentShadingRateAttachmentInfoKHR;
9991 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
9992 VkStructureType sType;
9994 VkExtent2D fragmentSize;
9995 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
9996 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
9998 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
9999 VkStructureType sType;
10001 VkBool32 pipelineFragmentShadingRate;
10002 VkBool32 primitiveFragmentShadingRate;
10003 VkBool32 attachmentFragmentShadingRate;
10004 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
10006 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
10007 VkStructureType sType;
10009 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
10010 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
10011 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
10012 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
10013 VkBool32 layeredShadingRateAttachments;
10014 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
10015 VkExtent2D maxFragmentSize;
10016 deUint32 maxFragmentSizeAspectRatio;
10017 deUint32 maxFragmentShadingRateCoverageSamples;
10018 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
10019 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
10020 VkBool32 fragmentShadingRateWithSampleMask;
10021 VkBool32 fragmentShadingRateWithShaderSampleMask;
10022 VkBool32 fragmentShadingRateWithConservativeRasterization;
10023 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
10024 VkBool32 fragmentShadingRateWithCustomSampleLocations;
10025 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
10026 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
10028 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
10029 VkStructureType sType;
10031 VkSampleCountFlags sampleCounts;
10032 VkExtent2D fragmentSize;
10033 } VkPhysicalDeviceFragmentShadingRateKHR;
10035 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
10036 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
10038 #ifndef VK_NO_PROTOTYPES
10039 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
10040 VkPhysicalDevice physicalDevice,
10041 deUint32* pFragmentShadingRateCount,
10042 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
10044 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
10045 VkCommandBuffer commandBuffer,
10046 const VkExtent2D* pFragmentSize,
10047 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
10051 #define VK_KHR_spirv_1_4 1
10052 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
10053 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
10056 #define VK_KHR_surface_protected_capabilities 1
10057 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
10058 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
10059 typedef struct VkSurfaceProtectedCapabilitiesKHR {
10060 VkStructureType sType;
10062 VkBool32 supportsProtected;
10063 } VkSurfaceProtectedCapabilitiesKHR;
10067 #define VK_KHR_separate_depth_stencil_layouts 1
10068 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
10069 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
10070 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
10072 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
10074 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
10078 #define VK_KHR_present_wait 1
10079 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
10080 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
10081 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
10082 VkStructureType sType;
10084 VkBool32 presentWait;
10085 } VkPhysicalDevicePresentWaitFeaturesKHR;
10087 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 presentId, deUint64 timeout);
10089 #ifndef VK_NO_PROTOTYPES
10090 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
10092 VkSwapchainKHR swapchain,
10093 deUint64 presentId,
10098 #define VK_KHR_uniform_buffer_standard_layout 1
10099 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
10100 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
10101 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
10105 #define VK_KHR_buffer_device_address 1
10106 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
10107 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
10108 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
10110 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
10112 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
10114 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
10116 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
10118 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10119 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10120 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
10122 #ifndef VK_NO_PROTOTYPES
10123 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
10125 const VkBufferDeviceAddressInfo* pInfo);
10127 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
10129 const VkBufferDeviceAddressInfo* pInfo);
10131 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
10133 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
10137 #define VK_KHR_deferred_host_operations 1
10138 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
10139 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
10140 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
10141 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
10142 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
10143 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
10144 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
10145 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
10147 #ifndef VK_NO_PROTOTYPES
10148 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
10150 const VkAllocationCallbacks* pAllocator,
10151 VkDeferredOperationKHR* pDeferredOperation);
10153 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
10155 VkDeferredOperationKHR operation,
10156 const VkAllocationCallbacks* pAllocator);
10158 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
10160 VkDeferredOperationKHR operation);
10162 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
10164 VkDeferredOperationKHR operation);
10166 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
10168 VkDeferredOperationKHR operation);
10172 #define VK_KHR_pipeline_executable_properties 1
10173 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
10174 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
10176 typedef enum VkPipelineExecutableStatisticFormatKHR {
10177 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
10178 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
10179 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
10180 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
10181 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
10182 } VkPipelineExecutableStatisticFormatKHR;
10183 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
10184 VkStructureType sType;
10186 VkBool32 pipelineExecutableInfo;
10187 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
10189 typedef struct VkPipelineInfoKHR {
10190 VkStructureType sType;
10192 VkPipeline pipeline;
10193 } VkPipelineInfoKHR;
10195 typedef struct VkPipelineExecutablePropertiesKHR {
10196 VkStructureType sType;
10198 VkShaderStageFlags stages;
10199 char name[VK_MAX_DESCRIPTION_SIZE];
10200 char description[VK_MAX_DESCRIPTION_SIZE];
10201 deUint32 subgroupSize;
10202 } VkPipelineExecutablePropertiesKHR;
10204 typedef struct VkPipelineExecutableInfoKHR {
10205 VkStructureType sType;
10207 VkPipeline pipeline;
10208 deUint32 executableIndex;
10209 } VkPipelineExecutableInfoKHR;
10211 typedef union VkPipelineExecutableStatisticValueKHR {
10216 } VkPipelineExecutableStatisticValueKHR;
10218 typedef struct VkPipelineExecutableStatisticKHR {
10219 VkStructureType sType;
10221 char name[VK_MAX_DESCRIPTION_SIZE];
10222 char description[VK_MAX_DESCRIPTION_SIZE];
10223 VkPipelineExecutableStatisticFormatKHR format;
10224 VkPipelineExecutableStatisticValueKHR value;
10225 } VkPipelineExecutableStatisticKHR;
10227 typedef struct VkPipelineExecutableInternalRepresentationKHR {
10228 VkStructureType sType;
10230 char name[VK_MAX_DESCRIPTION_SIZE];
10231 char description[VK_MAX_DESCRIPTION_SIZE];
10233 deUintptr dataSize;
10235 } VkPipelineExecutableInternalRepresentationKHR;
10237 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
10238 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
10239 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10241 #ifndef VK_NO_PROTOTYPES
10242 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
10244 const VkPipelineInfoKHR* pPipelineInfo,
10245 deUint32* pExecutableCount,
10246 VkPipelineExecutablePropertiesKHR* pProperties);
10248 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
10250 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10251 deUint32* pStatisticCount,
10252 VkPipelineExecutableStatisticKHR* pStatistics);
10254 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
10256 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10257 deUint32* pInternalRepresentationCount,
10258 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10262 #define VK_KHR_shader_integer_dot_product 1
10263 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
10264 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
10265 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
10267 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
10271 #define VK_KHR_pipeline_library 1
10272 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
10273 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
10274 typedef struct VkPipelineLibraryCreateInfoKHR {
10275 VkStructureType sType;
10277 deUint32 libraryCount;
10278 const VkPipeline* pLibraries;
10279 } VkPipelineLibraryCreateInfoKHR;
10283 #define VK_KHR_shader_non_semantic_info 1
10284 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
10285 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
10288 #define VK_KHR_present_id 1
10289 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
10290 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
10291 typedef struct VkPresentIdKHR {
10292 VkStructureType sType;
10294 deUint32 swapchainCount;
10295 const deUint64* pPresentIds;
10298 typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
10299 VkStructureType sType;
10301 VkBool32 presentId;
10302 } VkPhysicalDevicePresentIdFeaturesKHR;
10306 #define VK_KHR_synchronization2 1
10307 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
10308 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
10309 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR;
10311 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR;
10313 typedef VkAccessFlags2 VkAccessFlags2KHR;
10315 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR;
10317 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR;
10319 typedef VkSubmitFlags VkSubmitFlagsKHR;
10321 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR;
10323 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR;
10325 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR;
10327 typedef VkDependencyInfo VkDependencyInfoKHR;
10329 typedef VkSubmitInfo2 VkSubmitInfo2KHR;
10331 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR;
10333 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR;
10335 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR;
10337 typedef struct VkQueueFamilyCheckpointProperties2NV {
10338 VkStructureType sType;
10340 VkPipelineStageFlags2 checkpointExecutionStageMask;
10341 } VkQueueFamilyCheckpointProperties2NV;
10343 typedef struct VkCheckpointData2NV {
10344 VkStructureType sType;
10346 VkPipelineStageFlags2 stage;
10347 void* pCheckpointMarker;
10348 } VkCheckpointData2NV;
10350 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
10351 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
10352 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
10353 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
10354 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query);
10355 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
10356 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
10357 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
10359 #ifndef VK_NO_PROTOTYPES
10360 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
10361 VkCommandBuffer commandBuffer,
10363 const VkDependencyInfo* pDependencyInfo);
10365 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
10366 VkCommandBuffer commandBuffer,
10368 VkPipelineStageFlags2 stageMask);
10370 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
10371 VkCommandBuffer commandBuffer,
10372 deUint32 eventCount,
10373 const VkEvent* pEvents,
10374 const VkDependencyInfo* pDependencyInfos);
10376 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
10377 VkCommandBuffer commandBuffer,
10378 const VkDependencyInfo* pDependencyInfo);
10380 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
10381 VkCommandBuffer commandBuffer,
10382 VkPipelineStageFlags2 stage,
10383 VkQueryPool queryPool,
10386 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
10388 deUint32 submitCount,
10389 const VkSubmitInfo2* pSubmits,
10392 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
10393 VkCommandBuffer commandBuffer,
10394 VkPipelineStageFlags2 stage,
10395 VkBuffer dstBuffer,
10396 VkDeviceSize dstOffset,
10399 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
10401 deUint32* pCheckpointDataCount,
10402 VkCheckpointData2NV* pCheckpointData);
10406 #define VK_KHR_fragment_shader_barycentric 1
10407 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
10408 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric"
10409 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
10410 VkStructureType sType;
10412 VkBool32 fragmentShaderBarycentric;
10413 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
10415 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
10416 VkStructureType sType;
10418 VkBool32 triStripVertexOrderIndependentOfProvokingVertex;
10419 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR;
10423 #define VK_KHR_shader_subgroup_uniform_control_flow 1
10424 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
10425 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
10426 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
10427 VkStructureType sType;
10429 VkBool32 shaderSubgroupUniformControlFlow;
10430 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
10434 #define VK_KHR_zero_initialize_workgroup_memory 1
10435 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
10436 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
10437 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
10441 #define VK_KHR_workgroup_memory_explicit_layout 1
10442 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
10443 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
10444 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
10445 VkStructureType sType;
10447 VkBool32 workgroupMemoryExplicitLayout;
10448 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
10449 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
10450 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
10451 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
10455 #define VK_KHR_copy_commands2 1
10456 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
10457 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
10458 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR;
10460 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR;
10462 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR;
10464 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR;
10466 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR;
10468 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR;
10470 typedef VkBufferCopy2 VkBufferCopy2KHR;
10472 typedef VkImageCopy2 VkImageCopy2KHR;
10474 typedef VkImageBlit2 VkImageBlit2KHR;
10476 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR;
10478 typedef VkImageResolve2 VkImageResolve2KHR;
10480 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
10481 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
10482 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10483 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10484 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
10485 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
10487 #ifndef VK_NO_PROTOTYPES
10488 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
10489 VkCommandBuffer commandBuffer,
10490 const VkCopyBufferInfo2* pCopyBufferInfo);
10492 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
10493 VkCommandBuffer commandBuffer,
10494 const VkCopyImageInfo2* pCopyImageInfo);
10496 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
10497 VkCommandBuffer commandBuffer,
10498 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10500 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
10501 VkCommandBuffer commandBuffer,
10502 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10504 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
10505 VkCommandBuffer commandBuffer,
10506 const VkBlitImageInfo2* pBlitImageInfo);
10508 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
10509 VkCommandBuffer commandBuffer,
10510 const VkResolveImageInfo2* pResolveImageInfo);
10514 #define VK_KHR_format_feature_flags2 1
10515 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 1
10516 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
10517 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR;
10519 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR;
10521 typedef VkFormatProperties3 VkFormatProperties3KHR;
10525 #define VK_KHR_ray_tracing_maintenance1 1
10526 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
10527 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
10528 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
10529 VkStructureType sType;
10531 VkBool32 rayTracingMaintenance1;
10532 VkBool32 rayTracingPipelineTraceRaysIndirect2;
10533 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR;
10535 typedef struct VkTraceRaysIndirectCommand2KHR {
10536 VkDeviceAddress raygenShaderRecordAddress;
10537 VkDeviceSize raygenShaderRecordSize;
10538 VkDeviceAddress missShaderBindingTableAddress;
10539 VkDeviceSize missShaderBindingTableSize;
10540 VkDeviceSize missShaderBindingTableStride;
10541 VkDeviceAddress hitShaderBindingTableAddress;
10542 VkDeviceSize hitShaderBindingTableSize;
10543 VkDeviceSize hitShaderBindingTableStride;
10544 VkDeviceAddress callableShaderBindingTableAddress;
10545 VkDeviceSize callableShaderBindingTableSize;
10546 VkDeviceSize callableShaderBindingTableStride;
10550 } VkTraceRaysIndirectCommand2KHR;
10552 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
10554 #ifndef VK_NO_PROTOTYPES
10555 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR(
10556 VkCommandBuffer commandBuffer,
10557 VkDeviceAddress indirectDeviceAddress);
10561 #define VK_KHR_portability_enumeration 1
10562 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
10563 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
10566 #define VK_KHR_maintenance4 1
10567 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
10568 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
10569 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR;
10571 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR;
10573 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR;
10575 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR;
10577 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10578 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10579 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
10581 #ifndef VK_NO_PROTOTYPES
10582 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR(
10584 const VkDeviceBufferMemoryRequirements* pInfo,
10585 VkMemoryRequirements2* pMemoryRequirements);
10587 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR(
10589 const VkDeviceImageMemoryRequirements* pInfo,
10590 VkMemoryRequirements2* pMemoryRequirements);
10592 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
10594 const VkDeviceImageMemoryRequirements* pInfo,
10595 deUint32* pSparseMemoryRequirementCount,
10596 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
10600 #define VK_EXT_debug_report 1
10601 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
10602 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
10603 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
10605 typedef enum VkDebugReportObjectTypeEXT {
10606 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
10607 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
10608 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
10609 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
10610 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
10611 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
10612 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
10613 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
10614 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
10615 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
10616 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
10617 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
10618 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
10619 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
10620 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
10621 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
10622 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
10623 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
10624 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
10625 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
10626 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
10627 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
10628 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
10629 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
10630 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
10631 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
10632 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
10633 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
10634 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
10635 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
10636 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
10637 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
10638 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
10639 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
10640 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
10641 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
10642 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
10643 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
10644 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000,
10645 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
10646 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
10647 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
10648 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
10649 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10650 } VkDebugReportObjectTypeEXT;
10652 typedef enum VkDebugReportFlagBitsEXT {
10653 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
10654 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
10655 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
10656 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
10657 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
10658 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10659 } VkDebugReportFlagBitsEXT;
10660 typedef VkFlags VkDebugReportFlagsEXT;
10661 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
10662 VkDebugReportFlagsEXT flags,
10663 VkDebugReportObjectTypeEXT objectType,
10665 deUintptr location,
10666 deInt32 messageCode,
10667 const char* pLayerPrefix,
10668 const char* pMessage,
10671 typedef struct VkDebugReportCallbackCreateInfoEXT {
10672 VkStructureType sType;
10674 VkDebugReportFlagsEXT flags;
10675 PFN_vkDebugReportCallbackEXT pfnCallback;
10677 } VkDebugReportCallbackCreateInfoEXT;
10679 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
10680 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
10681 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
10683 #ifndef VK_NO_PROTOTYPES
10684 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
10685 VkInstance instance,
10686 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
10687 const VkAllocationCallbacks* pAllocator,
10688 VkDebugReportCallbackEXT* pCallback);
10690 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
10691 VkInstance instance,
10692 VkDebugReportCallbackEXT callback,
10693 const VkAllocationCallbacks* pAllocator);
10695 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
10696 VkInstance instance,
10697 VkDebugReportFlagsEXT flags,
10698 VkDebugReportObjectTypeEXT objectType,
10700 deUintptr location,
10701 deInt32 messageCode,
10702 const char* pLayerPrefix,
10703 const char* pMessage);
10707 #define VK_NV_glsl_shader 1
10708 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
10709 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
10712 #define VK_EXT_depth_range_unrestricted 1
10713 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
10714 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
10717 #define VK_IMG_filter_cubic 1
10718 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
10719 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
10722 #define VK_AMD_rasterization_order 1
10723 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
10724 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
10726 typedef enum VkRasterizationOrderAMD {
10727 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
10728 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
10729 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
10730 } VkRasterizationOrderAMD;
10731 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
10732 VkStructureType sType;
10734 VkRasterizationOrderAMD rasterizationOrder;
10735 } VkPipelineRasterizationStateRasterizationOrderAMD;
10739 #define VK_AMD_shader_trinary_minmax 1
10740 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
10741 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
10744 #define VK_AMD_shader_explicit_vertex_parameter 1
10745 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
10746 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
10749 #define VK_EXT_debug_marker 1
10750 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
10751 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
10752 typedef struct VkDebugMarkerObjectNameInfoEXT {
10753 VkStructureType sType;
10755 VkDebugReportObjectTypeEXT objectType;
10757 const char* pObjectName;
10758 } VkDebugMarkerObjectNameInfoEXT;
10760 typedef struct VkDebugMarkerObjectTagInfoEXT {
10761 VkStructureType sType;
10763 VkDebugReportObjectTypeEXT objectType;
10768 } VkDebugMarkerObjectTagInfoEXT;
10770 typedef struct VkDebugMarkerMarkerInfoEXT {
10771 VkStructureType sType;
10773 const char* pMarkerName;
10775 } VkDebugMarkerMarkerInfoEXT;
10777 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
10778 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
10779 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10780 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
10781 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10783 #ifndef VK_NO_PROTOTYPES
10784 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
10786 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
10788 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
10790 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
10792 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
10793 VkCommandBuffer commandBuffer,
10794 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10796 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
10797 VkCommandBuffer commandBuffer);
10799 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
10800 VkCommandBuffer commandBuffer,
10801 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10805 #define VK_AMD_gcn_shader 1
10806 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
10807 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
10810 #define VK_NV_dedicated_allocation 1
10811 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
10812 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
10813 typedef struct VkDedicatedAllocationImageCreateInfoNV {
10814 VkStructureType sType;
10816 VkBool32 dedicatedAllocation;
10817 } VkDedicatedAllocationImageCreateInfoNV;
10819 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
10820 VkStructureType sType;
10822 VkBool32 dedicatedAllocation;
10823 } VkDedicatedAllocationBufferCreateInfoNV;
10825 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
10826 VkStructureType sType;
10830 } VkDedicatedAllocationMemoryAllocateInfoNV;
10834 #define VK_EXT_transform_feedback 1
10835 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
10836 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
10837 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
10838 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
10839 VkStructureType sType;
10841 VkBool32 transformFeedback;
10842 VkBool32 geometryStreams;
10843 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
10845 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
10846 VkStructureType sType;
10848 deUint32 maxTransformFeedbackStreams;
10849 deUint32 maxTransformFeedbackBuffers;
10850 VkDeviceSize maxTransformFeedbackBufferSize;
10851 deUint32 maxTransformFeedbackStreamDataSize;
10852 deUint32 maxTransformFeedbackBufferDataSize;
10853 deUint32 maxTransformFeedbackBufferDataStride;
10854 VkBool32 transformFeedbackQueries;
10855 VkBool32 transformFeedbackStreamsLinesTriangles;
10856 VkBool32 transformFeedbackRasterizationStreamSelect;
10857 VkBool32 transformFeedbackDraw;
10858 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
10860 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
10861 VkStructureType sType;
10863 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
10864 deUint32 rasterizationStream;
10865 } VkPipelineRasterizationStateStreamCreateInfoEXT;
10867 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
10868 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
10869 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
10870 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
10871 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
10872 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
10874 #ifndef VK_NO_PROTOTYPES
10875 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
10876 VkCommandBuffer commandBuffer,
10877 deUint32 firstBinding,
10878 deUint32 bindingCount,
10879 const VkBuffer* pBuffers,
10880 const VkDeviceSize* pOffsets,
10881 const VkDeviceSize* pSizes);
10883 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
10884 VkCommandBuffer commandBuffer,
10885 deUint32 firstCounterBuffer,
10886 deUint32 counterBufferCount,
10887 const VkBuffer* pCounterBuffers,
10888 const VkDeviceSize* pCounterBufferOffsets);
10890 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
10891 VkCommandBuffer commandBuffer,
10892 deUint32 firstCounterBuffer,
10893 deUint32 counterBufferCount,
10894 const VkBuffer* pCounterBuffers,
10895 const VkDeviceSize* pCounterBufferOffsets);
10897 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
10898 VkCommandBuffer commandBuffer,
10899 VkQueryPool queryPool,
10901 VkQueryControlFlags flags,
10904 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
10905 VkCommandBuffer commandBuffer,
10906 VkQueryPool queryPool,
10910 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
10911 VkCommandBuffer commandBuffer,
10912 deUint32 instanceCount,
10913 deUint32 firstInstance,
10914 VkBuffer counterBuffer,
10915 VkDeviceSize counterBufferOffset,
10916 deUint32 counterOffset,
10917 deUint32 vertexStride);
10921 #define VK_NVX_binary_import 1
10922 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
10923 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
10924 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
10925 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
10926 typedef struct VkCuModuleCreateInfoNVX {
10927 VkStructureType sType;
10929 deUintptr dataSize;
10931 } VkCuModuleCreateInfoNVX;
10933 typedef struct VkCuFunctionCreateInfoNVX {
10934 VkStructureType sType;
10936 VkCuModuleNVX module;
10938 } VkCuFunctionCreateInfoNVX;
10940 typedef struct VkCuLaunchInfoNVX {
10941 VkStructureType sType;
10943 VkCuFunctionNVX function;
10947 deUint32 blockDimX;
10948 deUint32 blockDimY;
10949 deUint32 blockDimZ;
10950 deUint32 sharedMemBytes;
10951 deUintptr paramCount;
10952 const void* const * pParams;
10953 deUintptr extraCount;
10954 const void* const * pExtras;
10955 } VkCuLaunchInfoNVX;
10957 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
10958 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
10959 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
10960 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
10961 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
10963 #ifndef VK_NO_PROTOTYPES
10964 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
10966 const VkCuModuleCreateInfoNVX* pCreateInfo,
10967 const VkAllocationCallbacks* pAllocator,
10968 VkCuModuleNVX* pModule);
10970 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
10972 const VkCuFunctionCreateInfoNVX* pCreateInfo,
10973 const VkAllocationCallbacks* pAllocator,
10974 VkCuFunctionNVX* pFunction);
10976 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
10978 VkCuModuleNVX module,
10979 const VkAllocationCallbacks* pAllocator);
10981 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
10983 VkCuFunctionNVX function,
10984 const VkAllocationCallbacks* pAllocator);
10986 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
10987 VkCommandBuffer commandBuffer,
10988 const VkCuLaunchInfoNVX* pLaunchInfo);
10992 #define VK_NVX_image_view_handle 1
10993 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
10994 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
10995 typedef struct VkImageViewHandleInfoNVX {
10996 VkStructureType sType;
10998 VkImageView imageView;
10999 VkDescriptorType descriptorType;
11001 } VkImageViewHandleInfoNVX;
11003 typedef struct VkImageViewAddressPropertiesNVX {
11004 VkStructureType sType;
11006 VkDeviceAddress deviceAddress;
11008 } VkImageViewAddressPropertiesNVX;
11010 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
11011 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
11013 #ifndef VK_NO_PROTOTYPES
11014 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
11016 const VkImageViewHandleInfoNVX* pInfo);
11018 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
11020 VkImageView imageView,
11021 VkImageViewAddressPropertiesNVX* pProperties);
11025 #define VK_AMD_draw_indirect_count 1
11026 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
11027 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
11028 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11029 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11031 #ifndef VK_NO_PROTOTYPES
11032 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
11033 VkCommandBuffer commandBuffer,
11035 VkDeviceSize offset,
11036 VkBuffer countBuffer,
11037 VkDeviceSize countBufferOffset,
11038 deUint32 maxDrawCount,
11041 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
11042 VkCommandBuffer commandBuffer,
11044 VkDeviceSize offset,
11045 VkBuffer countBuffer,
11046 VkDeviceSize countBufferOffset,
11047 deUint32 maxDrawCount,
11052 #define VK_AMD_negative_viewport_height 1
11053 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
11054 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
11057 #define VK_AMD_gpu_shader_half_float 1
11058 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
11059 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
11062 #define VK_AMD_shader_ballot 1
11063 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
11064 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
11067 #define VK_AMD_texture_gather_bias_lod 1
11068 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
11069 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
11070 typedef struct VkTextureLODGatherFormatPropertiesAMD {
11071 VkStructureType sType;
11073 VkBool32 supportsTextureGatherLODBiasAMD;
11074 } VkTextureLODGatherFormatPropertiesAMD;
11078 #define VK_AMD_shader_info 1
11079 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
11080 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
11082 typedef enum VkShaderInfoTypeAMD {
11083 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
11084 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
11085 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
11086 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
11087 } VkShaderInfoTypeAMD;
11088 typedef struct VkShaderResourceUsageAMD {
11089 deUint32 numUsedVgprs;
11090 deUint32 numUsedSgprs;
11091 deUint32 ldsSizePerLocalWorkGroup;
11092 deUintptr ldsUsageSizeInBytes;
11093 deUintptr scratchMemUsageInBytes;
11094 } VkShaderResourceUsageAMD;
11096 typedef struct VkShaderStatisticsInfoAMD {
11097 VkShaderStageFlags shaderStageMask;
11098 VkShaderResourceUsageAMD resourceUsage;
11099 deUint32 numPhysicalVgprs;
11100 deUint32 numPhysicalSgprs;
11101 deUint32 numAvailableVgprs;
11102 deUint32 numAvailableSgprs;
11103 deUint32 computeWorkGroupSize[3];
11104 } VkShaderStatisticsInfoAMD;
11106 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
11108 #ifndef VK_NO_PROTOTYPES
11109 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
11111 VkPipeline pipeline,
11112 VkShaderStageFlagBits shaderStage,
11113 VkShaderInfoTypeAMD infoType,
11114 deUintptr* pInfoSize,
11119 #define VK_AMD_shader_image_load_store_lod 1
11120 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
11121 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
11124 #define VK_NV_corner_sampled_image 1
11125 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
11126 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
11127 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
11128 VkStructureType sType;
11130 VkBool32 cornerSampledImage;
11131 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
11135 #define VK_IMG_format_pvrtc 1
11136 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
11137 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
11140 #define VK_NV_external_memory_capabilities 1
11141 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
11142 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
11144 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
11145 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
11146 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
11147 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
11148 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
11149 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11150 } VkExternalMemoryHandleTypeFlagBitsNV;
11151 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
11153 typedef enum VkExternalMemoryFeatureFlagBitsNV {
11154 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
11155 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
11156 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
11157 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11158 } VkExternalMemoryFeatureFlagBitsNV;
11159 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
11160 typedef struct VkExternalImageFormatPropertiesNV {
11161 VkImageFormatProperties imageFormatProperties;
11162 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
11163 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
11164 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
11165 } VkExternalImageFormatPropertiesNV;
11167 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
11169 #ifndef VK_NO_PROTOTYPES
11170 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
11171 VkPhysicalDevice physicalDevice,
11174 VkImageTiling tiling,
11175 VkImageUsageFlags usage,
11176 VkImageCreateFlags flags,
11177 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
11178 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
11182 #define VK_NV_external_memory 1
11183 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
11184 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
11185 typedef struct VkExternalMemoryImageCreateInfoNV {
11186 VkStructureType sType;
11188 VkExternalMemoryHandleTypeFlagsNV handleTypes;
11189 } VkExternalMemoryImageCreateInfoNV;
11191 typedef struct VkExportMemoryAllocateInfoNV {
11192 VkStructureType sType;
11194 VkExternalMemoryHandleTypeFlagsNV handleTypes;
11195 } VkExportMemoryAllocateInfoNV;
11199 #define VK_EXT_validation_flags 1
11200 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
11201 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
11203 typedef enum VkValidationCheckEXT {
11204 VK_VALIDATION_CHECK_ALL_EXT = 0,
11205 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
11206 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
11207 } VkValidationCheckEXT;
11208 typedef struct VkValidationFlagsEXT {
11209 VkStructureType sType;
11211 deUint32 disabledValidationCheckCount;
11212 const VkValidationCheckEXT* pDisabledValidationChecks;
11213 } VkValidationFlagsEXT;
11217 #define VK_EXT_shader_subgroup_ballot 1
11218 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
11219 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
11222 #define VK_EXT_shader_subgroup_vote 1
11223 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
11224 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
11227 #define VK_EXT_texture_compression_astc_hdr 1
11228 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
11229 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
11230 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
11234 #define VK_EXT_astc_decode_mode 1
11235 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
11236 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
11237 typedef struct VkImageViewASTCDecodeModeEXT {
11238 VkStructureType sType;
11240 VkFormat decodeMode;
11241 } VkImageViewASTCDecodeModeEXT;
11243 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
11244 VkStructureType sType;
11246 VkBool32 decodeModeSharedExponent;
11247 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
11251 #define VK_EXT_conditional_rendering 1
11252 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
11253 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
11255 typedef enum VkConditionalRenderingFlagBitsEXT {
11256 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
11257 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11258 } VkConditionalRenderingFlagBitsEXT;
11259 typedef VkFlags VkConditionalRenderingFlagsEXT;
11260 typedef struct VkConditionalRenderingBeginInfoEXT {
11261 VkStructureType sType;
11264 VkDeviceSize offset;
11265 VkConditionalRenderingFlagsEXT flags;
11266 } VkConditionalRenderingBeginInfoEXT;
11268 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
11269 VkStructureType sType;
11271 VkBool32 conditionalRendering;
11272 VkBool32 inheritedConditionalRendering;
11273 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
11275 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
11276 VkStructureType sType;
11278 VkBool32 conditionalRenderingEnable;
11279 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
11281 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
11282 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
11284 #ifndef VK_NO_PROTOTYPES
11285 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
11286 VkCommandBuffer commandBuffer,
11287 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
11289 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
11290 VkCommandBuffer commandBuffer);
11294 #define VK_NV_clip_space_w_scaling 1
11295 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
11296 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
11297 typedef struct VkViewportWScalingNV {
11300 } VkViewportWScalingNV;
11302 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
11303 VkStructureType sType;
11305 VkBool32 viewportWScalingEnable;
11306 deUint32 viewportCount;
11307 const VkViewportWScalingNV* pViewportWScalings;
11308 } VkPipelineViewportWScalingStateCreateInfoNV;
11310 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
11312 #ifndef VK_NO_PROTOTYPES
11313 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
11314 VkCommandBuffer commandBuffer,
11315 deUint32 firstViewport,
11316 deUint32 viewportCount,
11317 const VkViewportWScalingNV* pViewportWScalings);
11321 #define VK_EXT_direct_mode_display 1
11322 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
11323 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
11324 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
11326 #ifndef VK_NO_PROTOTYPES
11327 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
11328 VkPhysicalDevice physicalDevice,
11329 VkDisplayKHR display);
11333 #define VK_EXT_display_surface_counter 1
11334 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
11335 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
11337 typedef enum VkSurfaceCounterFlagBitsEXT {
11338 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
11339 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
11340 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11341 } VkSurfaceCounterFlagBitsEXT;
11342 typedef VkFlags VkSurfaceCounterFlagsEXT;
11343 typedef struct VkSurfaceCapabilities2EXT {
11344 VkStructureType sType;
11346 deUint32 minImageCount;
11347 deUint32 maxImageCount;
11348 VkExtent2D currentExtent;
11349 VkExtent2D minImageExtent;
11350 VkExtent2D maxImageExtent;
11351 deUint32 maxImageArrayLayers;
11352 VkSurfaceTransformFlagsKHR supportedTransforms;
11353 VkSurfaceTransformFlagBitsKHR currentTransform;
11354 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
11355 VkImageUsageFlags supportedUsageFlags;
11356 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
11357 } VkSurfaceCapabilities2EXT;
11359 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
11361 #ifndef VK_NO_PROTOTYPES
11362 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
11363 VkPhysicalDevice physicalDevice,
11364 VkSurfaceKHR surface,
11365 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
11369 #define VK_EXT_display_control 1
11370 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
11371 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
11373 typedef enum VkDisplayPowerStateEXT {
11374 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
11375 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
11376 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
11377 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
11378 } VkDisplayPowerStateEXT;
11380 typedef enum VkDeviceEventTypeEXT {
11381 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
11382 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11383 } VkDeviceEventTypeEXT;
11385 typedef enum VkDisplayEventTypeEXT {
11386 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
11387 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11388 } VkDisplayEventTypeEXT;
11389 typedef struct VkDisplayPowerInfoEXT {
11390 VkStructureType sType;
11392 VkDisplayPowerStateEXT powerState;
11393 } VkDisplayPowerInfoEXT;
11395 typedef struct VkDeviceEventInfoEXT {
11396 VkStructureType sType;
11398 VkDeviceEventTypeEXT deviceEvent;
11399 } VkDeviceEventInfoEXT;
11401 typedef struct VkDisplayEventInfoEXT {
11402 VkStructureType sType;
11404 VkDisplayEventTypeEXT displayEvent;
11405 } VkDisplayEventInfoEXT;
11407 typedef struct VkSwapchainCounterCreateInfoEXT {
11408 VkStructureType sType;
11410 VkSurfaceCounterFlagsEXT surfaceCounters;
11411 } VkSwapchainCounterCreateInfoEXT;
11413 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
11414 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
11415 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
11416 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
11418 #ifndef VK_NO_PROTOTYPES
11419 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
11421 VkDisplayKHR display,
11422 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
11424 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
11426 const VkDeviceEventInfoEXT* pDeviceEventInfo,
11427 const VkAllocationCallbacks* pAllocator,
11430 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
11432 VkDisplayKHR display,
11433 const VkDisplayEventInfoEXT* pDisplayEventInfo,
11434 const VkAllocationCallbacks* pAllocator,
11437 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
11439 VkSwapchainKHR swapchain,
11440 VkSurfaceCounterFlagBitsEXT counter,
11441 deUint64* pCounterValue);
11445 #define VK_GOOGLE_display_timing 1
11446 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
11447 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
11448 typedef struct VkRefreshCycleDurationGOOGLE {
11449 deUint64 refreshDuration;
11450 } VkRefreshCycleDurationGOOGLE;
11452 typedef struct VkPastPresentationTimingGOOGLE {
11453 deUint32 presentID;
11454 deUint64 desiredPresentTime;
11455 deUint64 actualPresentTime;
11456 deUint64 earliestPresentTime;
11457 deUint64 presentMargin;
11458 } VkPastPresentationTimingGOOGLE;
11460 typedef struct VkPresentTimeGOOGLE {
11461 deUint32 presentID;
11462 deUint64 desiredPresentTime;
11463 } VkPresentTimeGOOGLE;
11465 typedef struct VkPresentTimesInfoGOOGLE {
11466 VkStructureType sType;
11468 deUint32 swapchainCount;
11469 const VkPresentTimeGOOGLE* pTimes;
11470 } VkPresentTimesInfoGOOGLE;
11472 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
11473 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
11475 #ifndef VK_NO_PROTOTYPES
11476 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
11478 VkSwapchainKHR swapchain,
11479 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
11481 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
11483 VkSwapchainKHR swapchain,
11484 deUint32* pPresentationTimingCount,
11485 VkPastPresentationTimingGOOGLE* pPresentationTimings);
11489 #define VK_NV_sample_mask_override_coverage 1
11490 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
11491 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
11494 #define VK_NV_geometry_shader_passthrough 1
11495 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
11496 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
11499 #define VK_NV_viewport_array2 1
11500 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1
11501 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2"
11502 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
11503 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
11506 #define VK_NVX_multiview_per_view_attributes 1
11507 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
11508 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
11509 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
11510 VkStructureType sType;
11512 VkBool32 perViewPositionAllComponents;
11513 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
11517 #define VK_NV_viewport_swizzle 1
11518 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
11519 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
11521 typedef enum VkViewportCoordinateSwizzleNV {
11522 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
11523 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
11524 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
11525 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
11526 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
11527 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
11528 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
11529 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
11530 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
11531 } VkViewportCoordinateSwizzleNV;
11532 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
11533 typedef struct VkViewportSwizzleNV {
11534 VkViewportCoordinateSwizzleNV x;
11535 VkViewportCoordinateSwizzleNV y;
11536 VkViewportCoordinateSwizzleNV z;
11537 VkViewportCoordinateSwizzleNV w;
11538 } VkViewportSwizzleNV;
11540 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
11541 VkStructureType sType;
11543 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
11544 deUint32 viewportCount;
11545 const VkViewportSwizzleNV* pViewportSwizzles;
11546 } VkPipelineViewportSwizzleStateCreateInfoNV;
11550 #define VK_EXT_discard_rectangles 1
11551 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
11552 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
11554 typedef enum VkDiscardRectangleModeEXT {
11555 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
11556 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
11557 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11558 } VkDiscardRectangleModeEXT;
11559 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
11560 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
11561 VkStructureType sType;
11563 deUint32 maxDiscardRectangles;
11564 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
11566 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
11567 VkStructureType sType;
11569 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
11570 VkDiscardRectangleModeEXT discardRectangleMode;
11571 deUint32 discardRectangleCount;
11572 const VkRect2D* pDiscardRectangles;
11573 } VkPipelineDiscardRectangleStateCreateInfoEXT;
11575 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
11577 #ifndef VK_NO_PROTOTYPES
11578 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
11579 VkCommandBuffer commandBuffer,
11580 deUint32 firstDiscardRectangle,
11581 deUint32 discardRectangleCount,
11582 const VkRect2D* pDiscardRectangles);
11586 #define VK_EXT_conservative_rasterization 1
11587 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
11588 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
11590 typedef enum VkConservativeRasterizationModeEXT {
11591 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
11592 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
11593 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
11594 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11595 } VkConservativeRasterizationModeEXT;
11596 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
11597 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
11598 VkStructureType sType;
11600 float primitiveOverestimationSize;
11601 float maxExtraPrimitiveOverestimationSize;
11602 float extraPrimitiveOverestimationSizeGranularity;
11603 VkBool32 primitiveUnderestimation;
11604 VkBool32 conservativePointAndLineRasterization;
11605 VkBool32 degenerateTrianglesRasterized;
11606 VkBool32 degenerateLinesRasterized;
11607 VkBool32 fullyCoveredFragmentShaderInputVariable;
11608 VkBool32 conservativeRasterizationPostDepthCoverage;
11609 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
11611 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
11612 VkStructureType sType;
11614 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
11615 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
11616 float extraPrimitiveOverestimationSize;
11617 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
11621 #define VK_EXT_depth_clip_enable 1
11622 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
11623 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
11624 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
11625 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
11626 VkStructureType sType;
11628 VkBool32 depthClipEnable;
11629 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
11631 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
11632 VkStructureType sType;
11634 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
11635 VkBool32 depthClipEnable;
11636 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
11640 #define VK_EXT_swapchain_colorspace 1
11641 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
11642 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
11645 #define VK_EXT_hdr_metadata 1
11646 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
11647 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
11648 typedef struct VkXYColorEXT {
11653 typedef struct VkHdrMetadataEXT {
11654 VkStructureType sType;
11656 VkXYColorEXT displayPrimaryRed;
11657 VkXYColorEXT displayPrimaryGreen;
11658 VkXYColorEXT displayPrimaryBlue;
11659 VkXYColorEXT whitePoint;
11660 float maxLuminance;
11661 float minLuminance;
11662 float maxContentLightLevel;
11663 float maxFrameAverageLightLevel;
11664 } VkHdrMetadataEXT;
11666 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
11668 #ifndef VK_NO_PROTOTYPES
11669 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
11671 deUint32 swapchainCount,
11672 const VkSwapchainKHR* pSwapchains,
11673 const VkHdrMetadataEXT* pMetadata);
11677 #define VK_EXT_external_memory_dma_buf 1
11678 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
11679 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
11682 #define VK_EXT_queue_family_foreign 1
11683 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
11684 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
11685 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
11688 #define VK_EXT_debug_utils 1
11689 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
11690 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
11691 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
11692 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
11694 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
11695 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
11696 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
11697 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
11698 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
11699 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11700 } VkDebugUtilsMessageSeverityFlagBitsEXT;
11702 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
11703 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
11704 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
11705 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
11706 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11707 } VkDebugUtilsMessageTypeFlagBitsEXT;
11708 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
11709 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
11710 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
11711 typedef struct VkDebugUtilsLabelEXT {
11712 VkStructureType sType;
11714 const char* pLabelName;
11716 } VkDebugUtilsLabelEXT;
11718 typedef struct VkDebugUtilsObjectNameInfoEXT {
11719 VkStructureType sType;
11721 VkObjectType objectType;
11722 deUint64 objectHandle;
11723 const char* pObjectName;
11724 } VkDebugUtilsObjectNameInfoEXT;
11726 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
11727 VkStructureType sType;
11729 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
11730 const char* pMessageIdName;
11731 deInt32 messageIdNumber;
11732 const char* pMessage;
11733 deUint32 queueLabelCount;
11734 const VkDebugUtilsLabelEXT* pQueueLabels;
11735 deUint32 cmdBufLabelCount;
11736 const VkDebugUtilsLabelEXT* pCmdBufLabels;
11737 deUint32 objectCount;
11738 const VkDebugUtilsObjectNameInfoEXT* pObjects;
11739 } VkDebugUtilsMessengerCallbackDataEXT;
11741 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
11742 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
11743 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
11744 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
11747 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
11748 VkStructureType sType;
11750 VkDebugUtilsMessengerCreateFlagsEXT flags;
11751 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
11752 VkDebugUtilsMessageTypeFlagsEXT messageType;
11753 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
11755 } VkDebugUtilsMessengerCreateInfoEXT;
11757 typedef struct VkDebugUtilsObjectTagInfoEXT {
11758 VkStructureType sType;
11760 VkObjectType objectType;
11761 deUint64 objectHandle;
11765 } VkDebugUtilsObjectTagInfoEXT;
11767 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
11768 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
11769 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
11770 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
11771 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
11772 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
11773 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
11774 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
11775 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
11776 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
11777 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
11779 #ifndef VK_NO_PROTOTYPES
11780 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
11782 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
11784 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
11786 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
11788 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
11790 const VkDebugUtilsLabelEXT* pLabelInfo);
11792 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
11795 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
11797 const VkDebugUtilsLabelEXT* pLabelInfo);
11799 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
11800 VkCommandBuffer commandBuffer,
11801 const VkDebugUtilsLabelEXT* pLabelInfo);
11803 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
11804 VkCommandBuffer commandBuffer);
11806 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
11807 VkCommandBuffer commandBuffer,
11808 const VkDebugUtilsLabelEXT* pLabelInfo);
11810 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
11811 VkInstance instance,
11812 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
11813 const VkAllocationCallbacks* pAllocator,
11814 VkDebugUtilsMessengerEXT* pMessenger);
11816 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
11817 VkInstance instance,
11818 VkDebugUtilsMessengerEXT messenger,
11819 const VkAllocationCallbacks* pAllocator);
11821 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
11822 VkInstance instance,
11823 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
11824 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
11825 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
11829 #define VK_EXT_sampler_filter_minmax 1
11830 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
11831 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
11832 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
11834 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
11836 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
11840 #define VK_AMD_gpu_shader_int16 1
11841 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
11842 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
11845 #define VK_AMD_mixed_attachment_samples 1
11846 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
11847 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
11850 #define VK_AMD_shader_fragment_mask 1
11851 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
11852 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
11855 #define VK_EXT_inline_uniform_block 1
11856 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
11857 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
11858 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
11860 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
11862 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT;
11864 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
11868 #define VK_EXT_shader_stencil_export 1
11869 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
11870 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
11873 #define VK_EXT_sample_locations 1
11874 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
11875 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
11876 typedef struct VkSampleLocationEXT {
11879 } VkSampleLocationEXT;
11881 typedef struct VkSampleLocationsInfoEXT {
11882 VkStructureType sType;
11884 VkSampleCountFlagBits sampleLocationsPerPixel;
11885 VkExtent2D sampleLocationGridSize;
11886 deUint32 sampleLocationsCount;
11887 const VkSampleLocationEXT* pSampleLocations;
11888 } VkSampleLocationsInfoEXT;
11890 typedef struct VkAttachmentSampleLocationsEXT {
11891 deUint32 attachmentIndex;
11892 VkSampleLocationsInfoEXT sampleLocationsInfo;
11893 } VkAttachmentSampleLocationsEXT;
11895 typedef struct VkSubpassSampleLocationsEXT {
11896 deUint32 subpassIndex;
11897 VkSampleLocationsInfoEXT sampleLocationsInfo;
11898 } VkSubpassSampleLocationsEXT;
11900 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
11901 VkStructureType sType;
11903 deUint32 attachmentInitialSampleLocationsCount;
11904 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
11905 deUint32 postSubpassSampleLocationsCount;
11906 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
11907 } VkRenderPassSampleLocationsBeginInfoEXT;
11909 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
11910 VkStructureType sType;
11912 VkBool32 sampleLocationsEnable;
11913 VkSampleLocationsInfoEXT sampleLocationsInfo;
11914 } VkPipelineSampleLocationsStateCreateInfoEXT;
11916 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
11917 VkStructureType sType;
11919 VkSampleCountFlags sampleLocationSampleCounts;
11920 VkExtent2D maxSampleLocationGridSize;
11921 float sampleLocationCoordinateRange[2];
11922 deUint32 sampleLocationSubPixelBits;
11923 VkBool32 variableSampleLocations;
11924 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
11926 typedef struct VkMultisamplePropertiesEXT {
11927 VkStructureType sType;
11929 VkExtent2D maxSampleLocationGridSize;
11930 } VkMultisamplePropertiesEXT;
11932 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
11933 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
11935 #ifndef VK_NO_PROTOTYPES
11936 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
11937 VkCommandBuffer commandBuffer,
11938 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
11940 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
11941 VkPhysicalDevice physicalDevice,
11942 VkSampleCountFlagBits samples,
11943 VkMultisamplePropertiesEXT* pMultisampleProperties);
11947 #define VK_EXT_blend_operation_advanced 1
11948 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
11949 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
11951 typedef enum VkBlendOverlapEXT {
11952 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
11953 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
11954 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
11955 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
11956 } VkBlendOverlapEXT;
11957 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
11958 VkStructureType sType;
11960 VkBool32 advancedBlendCoherentOperations;
11961 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
11963 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
11964 VkStructureType sType;
11966 deUint32 advancedBlendMaxColorAttachments;
11967 VkBool32 advancedBlendIndependentBlend;
11968 VkBool32 advancedBlendNonPremultipliedSrcColor;
11969 VkBool32 advancedBlendNonPremultipliedDstColor;
11970 VkBool32 advancedBlendCorrelatedOverlap;
11971 VkBool32 advancedBlendAllOperations;
11972 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
11974 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
11975 VkStructureType sType;
11977 VkBool32 srcPremultiplied;
11978 VkBool32 dstPremultiplied;
11979 VkBlendOverlapEXT blendOverlap;
11980 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
11984 #define VK_NV_fragment_coverage_to_color 1
11985 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
11986 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
11987 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
11988 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
11989 VkStructureType sType;
11991 VkPipelineCoverageToColorStateCreateFlagsNV flags;
11992 VkBool32 coverageToColorEnable;
11993 deUint32 coverageToColorLocation;
11994 } VkPipelineCoverageToColorStateCreateInfoNV;
11998 #define VK_NV_framebuffer_mixed_samples 1
11999 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
12000 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
12002 typedef enum VkCoverageModulationModeNV {
12003 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
12004 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
12005 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
12006 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
12007 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12008 } VkCoverageModulationModeNV;
12009 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
12010 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
12011 VkStructureType sType;
12013 VkPipelineCoverageModulationStateCreateFlagsNV flags;
12014 VkCoverageModulationModeNV coverageModulationMode;
12015 VkBool32 coverageModulationTableEnable;
12016 deUint32 coverageModulationTableCount;
12017 const float* pCoverageModulationTable;
12018 } VkPipelineCoverageModulationStateCreateInfoNV;
12022 #define VK_NV_fill_rectangle 1
12023 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
12024 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
12027 #define VK_NV_shader_sm_builtins 1
12028 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
12029 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
12030 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
12031 VkStructureType sType;
12033 deUint32 shaderSMCount;
12034 deUint32 shaderWarpsPerSM;
12035 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
12037 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
12038 VkStructureType sType;
12040 VkBool32 shaderSMBuiltins;
12041 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
12045 #define VK_EXT_post_depth_coverage 1
12046 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
12047 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
12050 #define VK_EXT_image_drm_format_modifier 1
12051 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2
12052 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
12053 typedef struct VkDrmFormatModifierPropertiesEXT {
12054 deUint64 drmFormatModifier;
12055 deUint32 drmFormatModifierPlaneCount;
12056 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
12057 } VkDrmFormatModifierPropertiesEXT;
12059 typedef struct VkDrmFormatModifierPropertiesListEXT {
12060 VkStructureType sType;
12062 deUint32 drmFormatModifierCount;
12063 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
12064 } VkDrmFormatModifierPropertiesListEXT;
12066 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
12067 VkStructureType sType;
12069 deUint64 drmFormatModifier;
12070 VkSharingMode sharingMode;
12071 deUint32 queueFamilyIndexCount;
12072 const deUint32* pQueueFamilyIndices;
12073 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
12075 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
12076 VkStructureType sType;
12078 deUint32 drmFormatModifierCount;
12079 const deUint64* pDrmFormatModifiers;
12080 } VkImageDrmFormatModifierListCreateInfoEXT;
12082 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
12083 VkStructureType sType;
12085 deUint64 drmFormatModifier;
12086 deUint32 drmFormatModifierPlaneCount;
12087 const VkSubresourceLayout* pPlaneLayouts;
12088 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
12090 typedef struct VkImageDrmFormatModifierPropertiesEXT {
12091 VkStructureType sType;
12093 deUint64 drmFormatModifier;
12094 } VkImageDrmFormatModifierPropertiesEXT;
12096 typedef struct VkDrmFormatModifierProperties2EXT {
12097 deUint64 drmFormatModifier;
12098 deUint32 drmFormatModifierPlaneCount;
12099 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures;
12100 } VkDrmFormatModifierProperties2EXT;
12102 typedef struct VkDrmFormatModifierPropertiesList2EXT {
12103 VkStructureType sType;
12105 deUint32 drmFormatModifierCount;
12106 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties;
12107 } VkDrmFormatModifierPropertiesList2EXT;
12109 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
12111 #ifndef VK_NO_PROTOTYPES
12112 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
12115 VkImageDrmFormatModifierPropertiesEXT* pProperties);
12119 #define VK_EXT_validation_cache 1
12120 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
12121 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
12122 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
12124 typedef enum VkValidationCacheHeaderVersionEXT {
12125 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
12126 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
12127 } VkValidationCacheHeaderVersionEXT;
12128 typedef VkFlags VkValidationCacheCreateFlagsEXT;
12129 typedef struct VkValidationCacheCreateInfoEXT {
12130 VkStructureType sType;
12132 VkValidationCacheCreateFlagsEXT flags;
12133 deUintptr initialDataSize;
12134 const void* pInitialData;
12135 } VkValidationCacheCreateInfoEXT;
12137 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
12138 VkStructureType sType;
12140 VkValidationCacheEXT validationCache;
12141 } VkShaderModuleValidationCacheCreateInfoEXT;
12143 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
12144 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
12145 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
12146 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
12148 #ifndef VK_NO_PROTOTYPES
12149 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
12151 const VkValidationCacheCreateInfoEXT* pCreateInfo,
12152 const VkAllocationCallbacks* pAllocator,
12153 VkValidationCacheEXT* pValidationCache);
12155 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
12157 VkValidationCacheEXT validationCache,
12158 const VkAllocationCallbacks* pAllocator);
12160 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
12162 VkValidationCacheEXT dstCache,
12163 deUint32 srcCacheCount,
12164 const VkValidationCacheEXT* pSrcCaches);
12166 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
12168 VkValidationCacheEXT validationCache,
12169 deUintptr* pDataSize,
12174 #define VK_EXT_descriptor_indexing 1
12175 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
12176 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
12177 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
12179 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
12181 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
12183 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
12185 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
12187 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
12189 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
12193 #define VK_EXT_shader_viewport_index_layer 1
12194 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
12195 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
12198 #define VK_NV_shading_rate_image 1
12199 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
12200 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
12202 typedef enum VkShadingRatePaletteEntryNV {
12203 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
12204 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
12205 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
12206 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
12207 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
12208 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
12209 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
12210 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
12211 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
12212 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12213 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
12214 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
12215 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
12216 } VkShadingRatePaletteEntryNV;
12218 typedef enum VkCoarseSampleOrderTypeNV {
12219 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
12220 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
12221 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
12222 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
12223 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12224 } VkCoarseSampleOrderTypeNV;
12225 typedef struct VkShadingRatePaletteNV {
12226 deUint32 shadingRatePaletteEntryCount;
12227 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
12228 } VkShadingRatePaletteNV;
12230 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
12231 VkStructureType sType;
12233 VkBool32 shadingRateImageEnable;
12234 deUint32 viewportCount;
12235 const VkShadingRatePaletteNV* pShadingRatePalettes;
12236 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
12238 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
12239 VkStructureType sType;
12241 VkBool32 shadingRateImage;
12242 VkBool32 shadingRateCoarseSampleOrder;
12243 } VkPhysicalDeviceShadingRateImageFeaturesNV;
12245 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
12246 VkStructureType sType;
12248 VkExtent2D shadingRateTexelSize;
12249 deUint32 shadingRatePaletteSize;
12250 deUint32 shadingRateMaxCoarseSamples;
12251 } VkPhysicalDeviceShadingRateImagePropertiesNV;
12253 typedef struct VkCoarseSampleLocationNV {
12257 } VkCoarseSampleLocationNV;
12259 typedef struct VkCoarseSampleOrderCustomNV {
12260 VkShadingRatePaletteEntryNV shadingRate;
12261 deUint32 sampleCount;
12262 deUint32 sampleLocationCount;
12263 const VkCoarseSampleLocationNV* pSampleLocations;
12264 } VkCoarseSampleOrderCustomNV;
12266 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
12267 VkStructureType sType;
12269 VkCoarseSampleOrderTypeNV sampleOrderType;
12270 deUint32 customSampleOrderCount;
12271 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
12272 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
12274 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
12275 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
12276 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
12278 #ifndef VK_NO_PROTOTYPES
12279 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
12280 VkCommandBuffer commandBuffer,
12281 VkImageView imageView,
12282 VkImageLayout imageLayout);
12284 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
12285 VkCommandBuffer commandBuffer,
12286 deUint32 firstViewport,
12287 deUint32 viewportCount,
12288 const VkShadingRatePaletteNV* pShadingRatePalettes);
12290 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
12291 VkCommandBuffer commandBuffer,
12292 VkCoarseSampleOrderTypeNV sampleOrderType,
12293 deUint32 customSampleOrderCount,
12294 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
12298 #define VK_NV_ray_tracing 1
12299 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
12300 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
12301 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
12302 #define VK_SHADER_UNUSED_KHR (~0U)
12303 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
12305 typedef enum VkRayTracingShaderGroupTypeKHR {
12306 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
12307 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
12308 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
12309 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
12310 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
12311 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
12312 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12313 } VkRayTracingShaderGroupTypeKHR;
12314 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
12317 typedef enum VkGeometryTypeKHR {
12318 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
12319 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
12320 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
12321 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
12322 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
12323 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12324 } VkGeometryTypeKHR;
12325 typedef VkGeometryTypeKHR VkGeometryTypeNV;
12328 typedef enum VkAccelerationStructureTypeKHR {
12329 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
12330 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
12331 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
12332 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
12333 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
12334 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12335 } VkAccelerationStructureTypeKHR;
12336 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
12339 typedef enum VkCopyAccelerationStructureModeKHR {
12340 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
12341 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
12342 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
12343 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
12344 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
12345 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
12346 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
12347 } VkCopyAccelerationStructureModeKHR;
12348 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
12351 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
12352 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
12353 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
12354 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
12355 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12356 } VkAccelerationStructureMemoryRequirementsTypeNV;
12358 typedef enum VkGeometryFlagBitsKHR {
12359 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
12360 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
12361 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
12362 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
12363 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12364 } VkGeometryFlagBitsKHR;
12365 typedef VkFlags VkGeometryFlagsKHR;
12366 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
12368 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
12371 typedef enum VkGeometryInstanceFlagBitsKHR {
12372 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
12373 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
12374 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
12375 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
12376 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
12377 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
12378 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
12379 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
12380 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
12381 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12382 } VkGeometryInstanceFlagBitsKHR;
12383 typedef VkFlags VkGeometryInstanceFlagsKHR;
12384 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
12386 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
12389 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
12390 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
12391 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
12392 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
12393 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
12394 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
12395 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
12396 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
12397 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
12398 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
12399 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
12400 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
12401 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12402 } VkBuildAccelerationStructureFlagBitsKHR;
12403 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
12404 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
12406 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
12408 typedef struct VkRayTracingShaderGroupCreateInfoNV {
12409 VkStructureType sType;
12411 VkRayTracingShaderGroupTypeKHR type;
12412 deUint32 generalShader;
12413 deUint32 closestHitShader;
12414 deUint32 anyHitShader;
12415 deUint32 intersectionShader;
12416 } VkRayTracingShaderGroupCreateInfoNV;
12418 typedef struct VkRayTracingPipelineCreateInfoNV {
12419 VkStructureType sType;
12421 VkPipelineCreateFlags flags;
12422 deUint32 stageCount;
12423 const VkPipelineShaderStageCreateInfo* pStages;
12424 deUint32 groupCount;
12425 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
12426 deUint32 maxRecursionDepth;
12427 VkPipelineLayout layout;
12428 VkPipeline basePipelineHandle;
12429 deInt32 basePipelineIndex;
12430 } VkRayTracingPipelineCreateInfoNV;
12432 typedef struct VkGeometryTrianglesNV {
12433 VkStructureType sType;
12435 VkBuffer vertexData;
12436 VkDeviceSize vertexOffset;
12437 deUint32 vertexCount;
12438 VkDeviceSize vertexStride;
12439 VkFormat vertexFormat;
12440 VkBuffer indexData;
12441 VkDeviceSize indexOffset;
12442 deUint32 indexCount;
12443 VkIndexType indexType;
12444 VkBuffer transformData;
12445 VkDeviceSize transformOffset;
12446 } VkGeometryTrianglesNV;
12448 typedef struct VkGeometryAABBNV {
12449 VkStructureType sType;
12454 VkDeviceSize offset;
12455 } VkGeometryAABBNV;
12457 typedef struct VkGeometryDataNV {
12458 VkGeometryTrianglesNV triangles;
12459 VkGeometryAABBNV aabbs;
12460 } VkGeometryDataNV;
12462 typedef struct VkGeometryNV {
12463 VkStructureType sType;
12465 VkGeometryTypeKHR geometryType;
12466 VkGeometryDataNV geometry;
12467 VkGeometryFlagsKHR flags;
12470 typedef struct VkAccelerationStructureInfoNV {
12471 VkStructureType sType;
12473 VkAccelerationStructureTypeNV type;
12474 VkBuildAccelerationStructureFlagsNV flags;
12475 deUint32 instanceCount;
12476 deUint32 geometryCount;
12477 const VkGeometryNV* pGeometries;
12478 } VkAccelerationStructureInfoNV;
12480 typedef struct VkAccelerationStructureCreateInfoNV {
12481 VkStructureType sType;
12483 VkDeviceSize compactedSize;
12484 VkAccelerationStructureInfoNV info;
12485 } VkAccelerationStructureCreateInfoNV;
12487 typedef struct VkBindAccelerationStructureMemoryInfoNV {
12488 VkStructureType sType;
12490 VkAccelerationStructureNV accelerationStructure;
12491 VkDeviceMemory memory;
12492 VkDeviceSize memoryOffset;
12493 deUint32 deviceIndexCount;
12494 const deUint32* pDeviceIndices;
12495 } VkBindAccelerationStructureMemoryInfoNV;
12497 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
12498 VkStructureType sType;
12500 deUint32 accelerationStructureCount;
12501 const VkAccelerationStructureNV* pAccelerationStructures;
12502 } VkWriteDescriptorSetAccelerationStructureNV;
12504 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
12505 VkStructureType sType;
12507 VkAccelerationStructureMemoryRequirementsTypeNV type;
12508 VkAccelerationStructureNV accelerationStructure;
12509 } VkAccelerationStructureMemoryRequirementsInfoNV;
12511 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
12512 VkStructureType sType;
12514 deUint32 shaderGroupHandleSize;
12515 deUint32 maxRecursionDepth;
12516 deUint32 maxShaderGroupStride;
12517 deUint32 shaderGroupBaseAlignment;
12518 deUint64 maxGeometryCount;
12519 deUint64 maxInstanceCount;
12520 deUint64 maxTriangleCount;
12521 deUint32 maxDescriptorSetAccelerationStructures;
12522 } VkPhysicalDeviceRayTracingPropertiesNV;
12524 typedef struct VkTransformMatrixKHR {
12525 float matrix[3][4];
12526 } VkTransformMatrixKHR;
12528 typedef VkTransformMatrixKHR VkTransformMatrixNV;
12530 typedef struct VkAabbPositionsKHR {
12537 } VkAabbPositionsKHR;
12539 typedef VkAabbPositionsKHR VkAabbPositionsNV;
12541 typedef struct VkAccelerationStructureInstanceKHR {
12542 VkTransformMatrixKHR transform;
12543 deUint32 instanceCustomIndex:24;
12545 deUint32 instanceShaderBindingTableRecordOffset:24;
12546 VkGeometryInstanceFlagsKHR flags:8;
12547 deUint64 accelerationStructureReference;
12548 } VkAccelerationStructureInstanceKHR;
12550 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
12552 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
12553 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
12554 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
12555 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
12556 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);
12557 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
12558 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);
12559 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
12560 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
12561 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
12562 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
12563 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
12564 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
12566 #ifndef VK_NO_PROTOTYPES
12567 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
12569 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
12570 const VkAllocationCallbacks* pAllocator,
12571 VkAccelerationStructureNV* pAccelerationStructure);
12573 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
12575 VkAccelerationStructureNV accelerationStructure,
12576 const VkAllocationCallbacks* pAllocator);
12578 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
12580 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
12581 VkMemoryRequirements2KHR* pMemoryRequirements);
12583 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
12585 deUint32 bindInfoCount,
12586 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
12588 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
12589 VkCommandBuffer commandBuffer,
12590 const VkAccelerationStructureInfoNV* pInfo,
12591 VkBuffer instanceData,
12592 VkDeviceSize instanceOffset,
12594 VkAccelerationStructureNV dst,
12595 VkAccelerationStructureNV src,
12597 VkDeviceSize scratchOffset);
12599 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
12600 VkCommandBuffer commandBuffer,
12601 VkAccelerationStructureNV dst,
12602 VkAccelerationStructureNV src,
12603 VkCopyAccelerationStructureModeKHR mode);
12605 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
12606 VkCommandBuffer commandBuffer,
12607 VkBuffer raygenShaderBindingTableBuffer,
12608 VkDeviceSize raygenShaderBindingOffset,
12609 VkBuffer missShaderBindingTableBuffer,
12610 VkDeviceSize missShaderBindingOffset,
12611 VkDeviceSize missShaderBindingStride,
12612 VkBuffer hitShaderBindingTableBuffer,
12613 VkDeviceSize hitShaderBindingOffset,
12614 VkDeviceSize hitShaderBindingStride,
12615 VkBuffer callableShaderBindingTableBuffer,
12616 VkDeviceSize callableShaderBindingOffset,
12617 VkDeviceSize callableShaderBindingStride,
12622 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
12624 VkPipelineCache pipelineCache,
12625 deUint32 createInfoCount,
12626 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
12627 const VkAllocationCallbacks* pAllocator,
12628 VkPipeline* pPipelines);
12630 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
12632 VkPipeline pipeline,
12633 deUint32 firstGroup,
12634 deUint32 groupCount,
12635 deUintptr dataSize,
12638 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
12640 VkPipeline pipeline,
12641 deUint32 firstGroup,
12642 deUint32 groupCount,
12643 deUintptr dataSize,
12646 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
12648 VkAccelerationStructureNV accelerationStructure,
12649 deUintptr dataSize,
12652 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
12653 VkCommandBuffer commandBuffer,
12654 deUint32 accelerationStructureCount,
12655 const VkAccelerationStructureNV* pAccelerationStructures,
12656 VkQueryType queryType,
12657 VkQueryPool queryPool,
12658 deUint32 firstQuery);
12660 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
12662 VkPipeline pipeline,
12667 #define VK_NV_representative_fragment_test 1
12668 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
12669 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
12670 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
12671 VkStructureType sType;
12673 VkBool32 representativeFragmentTest;
12674 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
12676 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
12677 VkStructureType sType;
12679 VkBool32 representativeFragmentTestEnable;
12680 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
12684 #define VK_EXT_filter_cubic 1
12685 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
12686 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
12687 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
12688 VkStructureType sType;
12690 VkImageViewType imageViewType;
12691 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
12693 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
12694 VkStructureType sType;
12696 VkBool32 filterCubic;
12697 VkBool32 filterCubicMinmax;
12698 } VkFilterCubicImageViewImageFormatPropertiesEXT;
12702 #define VK_QCOM_render_pass_shader_resolve 1
12703 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
12704 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
12707 #define VK_EXT_global_priority 1
12708 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
12709 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
12710 typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT;
12712 typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT;
12716 #define VK_EXT_external_memory_host 1
12717 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
12718 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
12719 typedef struct VkImportMemoryHostPointerInfoEXT {
12720 VkStructureType sType;
12722 VkExternalMemoryHandleTypeFlagBits handleType;
12723 void* pHostPointer;
12724 } VkImportMemoryHostPointerInfoEXT;
12726 typedef struct VkMemoryHostPointerPropertiesEXT {
12727 VkStructureType sType;
12729 deUint32 memoryTypeBits;
12730 } VkMemoryHostPointerPropertiesEXT;
12732 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
12733 VkStructureType sType;
12735 VkDeviceSize minImportedHostPointerAlignment;
12736 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
12738 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
12740 #ifndef VK_NO_PROTOTYPES
12741 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
12743 VkExternalMemoryHandleTypeFlagBits handleType,
12744 const void* pHostPointer,
12745 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
12749 #define VK_AMD_buffer_marker 1
12750 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
12751 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
12752 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
12754 #ifndef VK_NO_PROTOTYPES
12755 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
12756 VkCommandBuffer commandBuffer,
12757 VkPipelineStageFlagBits pipelineStage,
12758 VkBuffer dstBuffer,
12759 VkDeviceSize dstOffset,
12764 #define VK_AMD_pipeline_compiler_control 1
12765 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
12766 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
12768 typedef enum VkPipelineCompilerControlFlagBitsAMD {
12769 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
12770 } VkPipelineCompilerControlFlagBitsAMD;
12771 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
12772 typedef struct VkPipelineCompilerControlCreateInfoAMD {
12773 VkStructureType sType;
12775 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
12776 } VkPipelineCompilerControlCreateInfoAMD;
12780 #define VK_EXT_calibrated_timestamps 1
12781 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
12782 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
12784 typedef enum VkTimeDomainEXT {
12785 VK_TIME_DOMAIN_DEVICE_EXT = 0,
12786 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
12787 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
12788 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
12789 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
12791 typedef struct VkCalibratedTimestampInfoEXT {
12792 VkStructureType sType;
12794 VkTimeDomainEXT timeDomain;
12795 } VkCalibratedTimestampInfoEXT;
12797 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
12798 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
12800 #ifndef VK_NO_PROTOTYPES
12801 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
12802 VkPhysicalDevice physicalDevice,
12803 deUint32* pTimeDomainCount,
12804 VkTimeDomainEXT* pTimeDomains);
12806 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
12808 deUint32 timestampCount,
12809 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
12810 deUint64* pTimestamps,
12811 deUint64* pMaxDeviation);
12815 #define VK_AMD_shader_core_properties 1
12816 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
12817 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
12818 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
12819 VkStructureType sType;
12821 deUint32 shaderEngineCount;
12822 deUint32 shaderArraysPerEngineCount;
12823 deUint32 computeUnitsPerShaderArray;
12824 deUint32 simdPerComputeUnit;
12825 deUint32 wavefrontsPerSimd;
12826 deUint32 wavefrontSize;
12827 deUint32 sgprsPerSimd;
12828 deUint32 minSgprAllocation;
12829 deUint32 maxSgprAllocation;
12830 deUint32 sgprAllocationGranularity;
12831 deUint32 vgprsPerSimd;
12832 deUint32 minVgprAllocation;
12833 deUint32 maxVgprAllocation;
12834 deUint32 vgprAllocationGranularity;
12835 } VkPhysicalDeviceShaderCorePropertiesAMD;
12839 #define VK_AMD_memory_overallocation_behavior 1
12840 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
12841 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
12843 typedef enum VkMemoryOverallocationBehaviorAMD {
12844 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
12845 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
12846 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
12847 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
12848 } VkMemoryOverallocationBehaviorAMD;
12849 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
12850 VkStructureType sType;
12852 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
12853 } VkDeviceMemoryOverallocationCreateInfoAMD;
12857 #define VK_EXT_vertex_attribute_divisor 1
12858 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
12859 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
12860 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
12861 VkStructureType sType;
12863 deUint32 maxVertexAttribDivisor;
12864 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
12866 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
12869 } VkVertexInputBindingDivisorDescriptionEXT;
12871 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
12872 VkStructureType sType;
12874 deUint32 vertexBindingDivisorCount;
12875 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
12876 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
12878 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
12879 VkStructureType sType;
12881 VkBool32 vertexAttributeInstanceRateDivisor;
12882 VkBool32 vertexAttributeInstanceRateZeroDivisor;
12883 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
12887 #define VK_EXT_pipeline_creation_feedback 1
12888 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
12889 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
12890 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT;
12892 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT;
12894 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT;
12896 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT;
12900 #define VK_NV_shader_subgroup_partitioned 1
12901 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
12902 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
12905 #define VK_NV_compute_shader_derivatives 1
12906 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
12907 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
12908 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
12909 VkStructureType sType;
12911 VkBool32 computeDerivativeGroupQuads;
12912 VkBool32 computeDerivativeGroupLinear;
12913 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
12917 #define VK_NV_mesh_shader 1
12918 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
12919 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
12920 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
12921 VkStructureType sType;
12923 VkBool32 taskShader;
12924 VkBool32 meshShader;
12925 } VkPhysicalDeviceMeshShaderFeaturesNV;
12927 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
12928 VkStructureType sType;
12930 deUint32 maxDrawMeshTasksCount;
12931 deUint32 maxTaskWorkGroupInvocations;
12932 deUint32 maxTaskWorkGroupSize[3];
12933 deUint32 maxTaskTotalMemorySize;
12934 deUint32 maxTaskOutputCount;
12935 deUint32 maxMeshWorkGroupInvocations;
12936 deUint32 maxMeshWorkGroupSize[3];
12937 deUint32 maxMeshTotalMemorySize;
12938 deUint32 maxMeshOutputVertices;
12939 deUint32 maxMeshOutputPrimitives;
12940 deUint32 maxMeshMultiviewViewCount;
12941 deUint32 meshOutputPerVertexGranularity;
12942 deUint32 meshOutputPerPrimitiveGranularity;
12943 } VkPhysicalDeviceMeshShaderPropertiesNV;
12945 typedef struct VkDrawMeshTasksIndirectCommandNV {
12946 deUint32 taskCount;
12947 deUint32 firstTask;
12948 } VkDrawMeshTasksIndirectCommandNV;
12950 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
12951 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
12952 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
12954 #ifndef VK_NO_PROTOTYPES
12955 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
12956 VkCommandBuffer commandBuffer,
12957 deUint32 taskCount,
12958 deUint32 firstTask);
12960 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
12961 VkCommandBuffer commandBuffer,
12963 VkDeviceSize offset,
12964 deUint32 drawCount,
12967 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
12968 VkCommandBuffer commandBuffer,
12970 VkDeviceSize offset,
12971 VkBuffer countBuffer,
12972 VkDeviceSize countBufferOffset,
12973 deUint32 maxDrawCount,
12978 #define VK_NV_fragment_shader_barycentric 1
12979 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
12980 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
12981 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
12985 #define VK_NV_shader_image_footprint 1
12986 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
12987 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
12988 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
12989 VkStructureType sType;
12991 VkBool32 imageFootprint;
12992 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
12996 #define VK_NV_scissor_exclusive 1
12997 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
12998 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
12999 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
13000 VkStructureType sType;
13002 deUint32 exclusiveScissorCount;
13003 const VkRect2D* pExclusiveScissors;
13004 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
13006 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
13007 VkStructureType sType;
13009 VkBool32 exclusiveScissor;
13010 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
13012 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
13014 #ifndef VK_NO_PROTOTYPES
13015 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
13016 VkCommandBuffer commandBuffer,
13017 deUint32 firstExclusiveScissor,
13018 deUint32 exclusiveScissorCount,
13019 const VkRect2D* pExclusiveScissors);
13023 #define VK_NV_device_diagnostic_checkpoints 1
13024 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
13025 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
13026 typedef struct VkQueueFamilyCheckpointPropertiesNV {
13027 VkStructureType sType;
13029 VkPipelineStageFlags checkpointExecutionStageMask;
13030 } VkQueueFamilyCheckpointPropertiesNV;
13032 typedef struct VkCheckpointDataNV {
13033 VkStructureType sType;
13035 VkPipelineStageFlagBits stage;
13036 void* pCheckpointMarker;
13037 } VkCheckpointDataNV;
13039 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
13040 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
13042 #ifndef VK_NO_PROTOTYPES
13043 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
13044 VkCommandBuffer commandBuffer,
13045 const void* pCheckpointMarker);
13047 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
13049 deUint32* pCheckpointDataCount,
13050 VkCheckpointDataNV* pCheckpointData);
13054 #define VK_INTEL_shader_integer_functions2 1
13055 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
13056 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
13057 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
13058 VkStructureType sType;
13060 VkBool32 shaderIntegerFunctions2;
13061 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
13065 #define VK_INTEL_performance_query 1
13066 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
13067 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
13068 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
13070 typedef enum VkPerformanceConfigurationTypeINTEL {
13071 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
13072 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13073 } VkPerformanceConfigurationTypeINTEL;
13075 typedef enum VkQueryPoolSamplingModeINTEL {
13076 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
13077 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
13078 } VkQueryPoolSamplingModeINTEL;
13080 typedef enum VkPerformanceOverrideTypeINTEL {
13081 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
13082 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
13083 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13084 } VkPerformanceOverrideTypeINTEL;
13086 typedef enum VkPerformanceParameterTypeINTEL {
13087 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
13088 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
13089 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13090 } VkPerformanceParameterTypeINTEL;
13092 typedef enum VkPerformanceValueTypeINTEL {
13093 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
13094 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
13095 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
13096 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
13097 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
13098 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13099 } VkPerformanceValueTypeINTEL;
13100 typedef union VkPerformanceValueDataINTEL {
13104 VkBool32 valueBool;
13105 const char* valueString;
13106 } VkPerformanceValueDataINTEL;
13108 typedef struct VkPerformanceValueINTEL {
13109 VkPerformanceValueTypeINTEL type;
13110 VkPerformanceValueDataINTEL data;
13111 } VkPerformanceValueINTEL;
13113 typedef struct VkInitializePerformanceApiInfoINTEL {
13114 VkStructureType sType;
13117 } VkInitializePerformanceApiInfoINTEL;
13119 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
13120 VkStructureType sType;
13122 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
13123 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
13125 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
13127 typedef struct VkPerformanceMarkerInfoINTEL {
13128 VkStructureType sType;
13131 } VkPerformanceMarkerInfoINTEL;
13133 typedef struct VkPerformanceStreamMarkerInfoINTEL {
13134 VkStructureType sType;
13137 } VkPerformanceStreamMarkerInfoINTEL;
13139 typedef struct VkPerformanceOverrideInfoINTEL {
13140 VkStructureType sType;
13142 VkPerformanceOverrideTypeINTEL type;
13144 deUint64 parameter;
13145 } VkPerformanceOverrideInfoINTEL;
13147 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
13148 VkStructureType sType;
13150 VkPerformanceConfigurationTypeINTEL type;
13151 } VkPerformanceConfigurationAcquireInfoINTEL;
13153 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
13154 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
13155 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
13156 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
13157 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
13158 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
13159 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
13160 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
13161 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
13163 #ifndef VK_NO_PROTOTYPES
13164 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
13166 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
13168 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
13171 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
13172 VkCommandBuffer commandBuffer,
13173 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
13175 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
13176 VkCommandBuffer commandBuffer,
13177 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
13179 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
13180 VkCommandBuffer commandBuffer,
13181 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
13183 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
13185 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
13186 VkPerformanceConfigurationINTEL* pConfiguration);
13188 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
13190 VkPerformanceConfigurationINTEL configuration);
13192 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
13194 VkPerformanceConfigurationINTEL configuration);
13196 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
13198 VkPerformanceParameterTypeINTEL parameter,
13199 VkPerformanceValueINTEL* pValue);
13203 #define VK_EXT_pci_bus_info 1
13204 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
13205 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
13206 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
13207 VkStructureType sType;
13209 deUint32 pciDomain;
13211 deUint32 pciDevice;
13212 deUint32 pciFunction;
13213 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
13217 #define VK_AMD_display_native_hdr 1
13218 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
13219 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
13220 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
13221 VkStructureType sType;
13223 VkBool32 localDimmingSupport;
13224 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
13226 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
13227 VkStructureType sType;
13229 VkBool32 localDimmingEnable;
13230 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
13232 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
13234 #ifndef VK_NO_PROTOTYPES
13235 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
13237 VkSwapchainKHR swapChain,
13238 VkBool32 localDimmingEnable);
13242 #define VK_EXT_fragment_density_map 1
13243 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2
13244 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
13245 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
13246 VkStructureType sType;
13248 VkBool32 fragmentDensityMap;
13249 VkBool32 fragmentDensityMapDynamic;
13250 VkBool32 fragmentDensityMapNonSubsampledImages;
13251 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
13253 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
13254 VkStructureType sType;
13256 VkExtent2D minFragmentDensityTexelSize;
13257 VkExtent2D maxFragmentDensityTexelSize;
13258 VkBool32 fragmentDensityInvocations;
13259 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
13261 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
13262 VkStructureType sType;
13264 VkAttachmentReference fragmentDensityMapAttachment;
13265 } VkRenderPassFragmentDensityMapCreateInfoEXT;
13269 #define VK_EXT_scalar_block_layout 1
13270 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
13271 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
13272 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
13276 #define VK_GOOGLE_hlsl_functionality1 1
13277 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1
13278 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
13279 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
13280 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
13283 #define VK_GOOGLE_decorate_string 1
13284 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
13285 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
13288 #define VK_EXT_subgroup_size_control 1
13289 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
13290 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
13291 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
13293 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
13295 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
13299 #define VK_AMD_shader_core_properties2 1
13300 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
13301 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
13303 typedef enum VkShaderCorePropertiesFlagBitsAMD {
13304 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
13305 } VkShaderCorePropertiesFlagBitsAMD;
13306 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
13307 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
13308 VkStructureType sType;
13310 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
13311 deUint32 activeComputeUnitCount;
13312 } VkPhysicalDeviceShaderCoreProperties2AMD;
13316 #define VK_AMD_device_coherent_memory 1
13317 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
13318 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
13319 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
13320 VkStructureType sType;
13322 VkBool32 deviceCoherentMemory;
13323 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
13327 #define VK_EXT_shader_image_atomic_int64 1
13328 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
13329 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
13330 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
13331 VkStructureType sType;
13333 VkBool32 shaderImageInt64Atomics;
13334 VkBool32 sparseImageInt64Atomics;
13335 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
13339 #define VK_EXT_memory_budget 1
13340 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
13341 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
13342 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
13343 VkStructureType sType;
13345 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
13346 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
13347 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
13351 #define VK_EXT_memory_priority 1
13352 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
13353 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
13354 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
13355 VkStructureType sType;
13357 VkBool32 memoryPriority;
13358 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
13360 typedef struct VkMemoryPriorityAllocateInfoEXT {
13361 VkStructureType sType;
13364 } VkMemoryPriorityAllocateInfoEXT;
13368 #define VK_NV_dedicated_allocation_image_aliasing 1
13369 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
13370 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
13371 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
13372 VkStructureType sType;
13374 VkBool32 dedicatedAllocationImageAliasing;
13375 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
13379 #define VK_EXT_buffer_device_address 1
13380 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
13381 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
13382 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
13383 VkStructureType sType;
13385 VkBool32 bufferDeviceAddress;
13386 VkBool32 bufferDeviceAddressCaptureReplay;
13387 VkBool32 bufferDeviceAddressMultiDevice;
13388 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
13390 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
13392 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
13394 typedef struct VkBufferDeviceAddressCreateInfoEXT {
13395 VkStructureType sType;
13397 VkDeviceAddress deviceAddress;
13398 } VkBufferDeviceAddressCreateInfoEXT;
13400 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
13402 #ifndef VK_NO_PROTOTYPES
13403 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
13405 const VkBufferDeviceAddressInfo* pInfo);
13409 #define VK_EXT_tooling_info 1
13410 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
13411 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
13412 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT;
13414 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT;
13416 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT;
13418 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
13420 #ifndef VK_NO_PROTOTYPES
13421 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
13422 VkPhysicalDevice physicalDevice,
13423 deUint32* pToolCount,
13424 VkPhysicalDeviceToolProperties* pToolProperties);
13428 #define VK_EXT_separate_stencil_usage 1
13429 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
13430 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
13431 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
13435 #define VK_EXT_validation_features 1
13436 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
13437 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
13439 typedef enum VkValidationFeatureEnableEXT {
13440 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
13441 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
13442 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
13443 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
13444 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
13445 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
13446 } VkValidationFeatureEnableEXT;
13448 typedef enum VkValidationFeatureDisableEXT {
13449 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
13450 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
13451 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
13452 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
13453 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
13454 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
13455 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
13456 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
13457 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
13458 } VkValidationFeatureDisableEXT;
13459 typedef struct VkValidationFeaturesEXT {
13460 VkStructureType sType;
13462 deUint32 enabledValidationFeatureCount;
13463 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
13464 deUint32 disabledValidationFeatureCount;
13465 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
13466 } VkValidationFeaturesEXT;
13470 #define VK_NV_cooperative_matrix 1
13471 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
13472 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
13474 typedef enum VkComponentTypeNV {
13475 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
13476 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
13477 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
13478 VK_COMPONENT_TYPE_SINT8_NV = 3,
13479 VK_COMPONENT_TYPE_SINT16_NV = 4,
13480 VK_COMPONENT_TYPE_SINT32_NV = 5,
13481 VK_COMPONENT_TYPE_SINT64_NV = 6,
13482 VK_COMPONENT_TYPE_UINT8_NV = 7,
13483 VK_COMPONENT_TYPE_UINT16_NV = 8,
13484 VK_COMPONENT_TYPE_UINT32_NV = 9,
13485 VK_COMPONENT_TYPE_UINT64_NV = 10,
13486 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13487 } VkComponentTypeNV;
13489 typedef enum VkScopeNV {
13490 VK_SCOPE_DEVICE_NV = 1,
13491 VK_SCOPE_WORKGROUP_NV = 2,
13492 VK_SCOPE_SUBGROUP_NV = 3,
13493 VK_SCOPE_QUEUE_FAMILY_NV = 5,
13494 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
13496 typedef struct VkCooperativeMatrixPropertiesNV {
13497 VkStructureType sType;
13502 VkComponentTypeNV AType;
13503 VkComponentTypeNV BType;
13504 VkComponentTypeNV CType;
13505 VkComponentTypeNV DType;
13507 } VkCooperativeMatrixPropertiesNV;
13509 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
13510 VkStructureType sType;
13512 VkBool32 cooperativeMatrix;
13513 VkBool32 cooperativeMatrixRobustBufferAccess;
13514 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
13516 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
13517 VkStructureType sType;
13519 VkShaderStageFlags cooperativeMatrixSupportedStages;
13520 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
13522 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
13524 #ifndef VK_NO_PROTOTYPES
13525 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
13526 VkPhysicalDevice physicalDevice,
13527 deUint32* pPropertyCount,
13528 VkCooperativeMatrixPropertiesNV* pProperties);
13532 #define VK_NV_coverage_reduction_mode 1
13533 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
13534 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
13536 typedef enum VkCoverageReductionModeNV {
13537 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
13538 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
13539 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
13540 } VkCoverageReductionModeNV;
13541 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
13542 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
13543 VkStructureType sType;
13545 VkBool32 coverageReductionMode;
13546 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
13548 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
13549 VkStructureType sType;
13551 VkPipelineCoverageReductionStateCreateFlagsNV flags;
13552 VkCoverageReductionModeNV coverageReductionMode;
13553 } VkPipelineCoverageReductionStateCreateInfoNV;
13555 typedef struct VkFramebufferMixedSamplesCombinationNV {
13556 VkStructureType sType;
13558 VkCoverageReductionModeNV coverageReductionMode;
13559 VkSampleCountFlagBits rasterizationSamples;
13560 VkSampleCountFlags depthStencilSamples;
13561 VkSampleCountFlags colorSamples;
13562 } VkFramebufferMixedSamplesCombinationNV;
13564 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
13566 #ifndef VK_NO_PROTOTYPES
13567 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
13568 VkPhysicalDevice physicalDevice,
13569 deUint32* pCombinationCount,
13570 VkFramebufferMixedSamplesCombinationNV* pCombinations);
13574 #define VK_EXT_fragment_shader_interlock 1
13575 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
13576 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
13577 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
13578 VkStructureType sType;
13580 VkBool32 fragmentShaderSampleInterlock;
13581 VkBool32 fragmentShaderPixelInterlock;
13582 VkBool32 fragmentShaderShadingRateInterlock;
13583 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
13587 #define VK_EXT_ycbcr_image_arrays 1
13588 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
13589 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
13590 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
13591 VkStructureType sType;
13593 VkBool32 ycbcrImageArrays;
13594 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
13598 #define VK_EXT_provoking_vertex 1
13599 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
13600 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
13602 typedef enum VkProvokingVertexModeEXT {
13603 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
13604 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
13605 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
13606 } VkProvokingVertexModeEXT;
13607 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
13608 VkStructureType sType;
13610 VkBool32 provokingVertexLast;
13611 VkBool32 transformFeedbackPreservesProvokingVertex;
13612 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
13614 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
13615 VkStructureType sType;
13617 VkBool32 provokingVertexModePerPipeline;
13618 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
13619 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
13621 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
13622 VkStructureType sType;
13624 VkProvokingVertexModeEXT provokingVertexMode;
13625 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
13629 #define VK_EXT_headless_surface 1
13630 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
13631 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
13632 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
13633 typedef struct VkHeadlessSurfaceCreateInfoEXT {
13634 VkStructureType sType;
13636 VkHeadlessSurfaceCreateFlagsEXT flags;
13637 } VkHeadlessSurfaceCreateInfoEXT;
13639 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
13641 #ifndef VK_NO_PROTOTYPES
13642 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
13643 VkInstance instance,
13644 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
13645 const VkAllocationCallbacks* pAllocator,
13646 VkSurfaceKHR* pSurface);
13650 #define VK_EXT_line_rasterization 1
13651 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
13652 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
13654 typedef enum VkLineRasterizationModeEXT {
13655 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
13656 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
13657 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
13658 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
13659 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
13660 } VkLineRasterizationModeEXT;
13661 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
13662 VkStructureType sType;
13664 VkBool32 rectangularLines;
13665 VkBool32 bresenhamLines;
13666 VkBool32 smoothLines;
13667 VkBool32 stippledRectangularLines;
13668 VkBool32 stippledBresenhamLines;
13669 VkBool32 stippledSmoothLines;
13670 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
13672 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
13673 VkStructureType sType;
13675 deUint32 lineSubPixelPrecisionBits;
13676 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
13678 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
13679 VkStructureType sType;
13681 VkLineRasterizationModeEXT lineRasterizationMode;
13682 VkBool32 stippledLineEnable;
13683 deUint32 lineStippleFactor;
13684 deUint16 lineStipplePattern;
13685 } VkPipelineRasterizationLineStateCreateInfoEXT;
13687 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
13689 #ifndef VK_NO_PROTOTYPES
13690 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
13691 VkCommandBuffer commandBuffer,
13692 deUint32 lineStippleFactor,
13693 deUint16 lineStipplePattern);
13697 #define VK_EXT_shader_atomic_float 1
13698 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
13699 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
13700 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
13701 VkStructureType sType;
13703 VkBool32 shaderBufferFloat32Atomics;
13704 VkBool32 shaderBufferFloat32AtomicAdd;
13705 VkBool32 shaderBufferFloat64Atomics;
13706 VkBool32 shaderBufferFloat64AtomicAdd;
13707 VkBool32 shaderSharedFloat32Atomics;
13708 VkBool32 shaderSharedFloat32AtomicAdd;
13709 VkBool32 shaderSharedFloat64Atomics;
13710 VkBool32 shaderSharedFloat64AtomicAdd;
13711 VkBool32 shaderImageFloat32Atomics;
13712 VkBool32 shaderImageFloat32AtomicAdd;
13713 VkBool32 sparseImageFloat32Atomics;
13714 VkBool32 sparseImageFloat32AtomicAdd;
13715 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
13719 #define VK_EXT_host_query_reset 1
13720 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
13721 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
13722 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
13724 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
13726 #ifndef VK_NO_PROTOTYPES
13727 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
13729 VkQueryPool queryPool,
13730 deUint32 firstQuery,
13731 deUint32 queryCount);
13735 #define VK_EXT_index_type_uint8 1
13736 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
13737 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
13738 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
13739 VkStructureType sType;
13741 VkBool32 indexTypeUint8;
13742 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
13746 #define VK_EXT_extended_dynamic_state 1
13747 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
13748 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
13749 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
13750 VkStructureType sType;
13752 VkBool32 extendedDynamicState;
13753 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
13755 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
13756 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
13757 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
13758 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
13759 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
13760 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
13761 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
13762 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
13763 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
13764 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
13765 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
13766 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
13768 #ifndef VK_NO_PROTOTYPES
13769 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
13770 VkCommandBuffer commandBuffer,
13771 VkCullModeFlags cullMode);
13773 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
13774 VkCommandBuffer commandBuffer,
13775 VkFrontFace frontFace);
13777 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
13778 VkCommandBuffer commandBuffer,
13779 VkPrimitiveTopology primitiveTopology);
13781 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
13782 VkCommandBuffer commandBuffer,
13783 deUint32 viewportCount,
13784 const VkViewport* pViewports);
13786 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
13787 VkCommandBuffer commandBuffer,
13788 deUint32 scissorCount,
13789 const VkRect2D* pScissors);
13791 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
13792 VkCommandBuffer commandBuffer,
13793 deUint32 firstBinding,
13794 deUint32 bindingCount,
13795 const VkBuffer* pBuffers,
13796 const VkDeviceSize* pOffsets,
13797 const VkDeviceSize* pSizes,
13798 const VkDeviceSize* pStrides);
13800 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
13801 VkCommandBuffer commandBuffer,
13802 VkBool32 depthTestEnable);
13804 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
13805 VkCommandBuffer commandBuffer,
13806 VkBool32 depthWriteEnable);
13808 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
13809 VkCommandBuffer commandBuffer,
13810 VkCompareOp depthCompareOp);
13812 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
13813 VkCommandBuffer commandBuffer,
13814 VkBool32 depthBoundsTestEnable);
13816 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
13817 VkCommandBuffer commandBuffer,
13818 VkBool32 stencilTestEnable);
13820 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
13821 VkCommandBuffer commandBuffer,
13822 VkStencilFaceFlags faceMask,
13823 VkStencilOp failOp,
13824 VkStencilOp passOp,
13825 VkStencilOp depthFailOp,
13826 VkCompareOp compareOp);
13830 #define VK_EXT_shader_atomic_float2 1
13831 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
13832 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
13833 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
13834 VkStructureType sType;
13836 VkBool32 shaderBufferFloat16Atomics;
13837 VkBool32 shaderBufferFloat16AtomicAdd;
13838 VkBool32 shaderBufferFloat16AtomicMinMax;
13839 VkBool32 shaderBufferFloat32AtomicMinMax;
13840 VkBool32 shaderBufferFloat64AtomicMinMax;
13841 VkBool32 shaderSharedFloat16Atomics;
13842 VkBool32 shaderSharedFloat16AtomicAdd;
13843 VkBool32 shaderSharedFloat16AtomicMinMax;
13844 VkBool32 shaderSharedFloat32AtomicMinMax;
13845 VkBool32 shaderSharedFloat64AtomicMinMax;
13846 VkBool32 shaderImageFloat32AtomicMinMax;
13847 VkBool32 sparseImageFloat32AtomicMinMax;
13848 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
13852 #define VK_EXT_shader_demote_to_helper_invocation 1
13853 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
13854 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
13855 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
13859 #define VK_NV_device_generated_commands 1
13860 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
13861 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
13862 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
13864 typedef enum VkIndirectCommandsTokenTypeNV {
13865 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
13866 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
13867 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
13868 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
13869 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
13870 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
13871 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
13872 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
13873 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13874 } VkIndirectCommandsTokenTypeNV;
13876 typedef enum VkIndirectStateFlagBitsNV {
13877 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
13878 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
13879 } VkIndirectStateFlagBitsNV;
13880 typedef VkFlags VkIndirectStateFlagsNV;
13882 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
13883 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
13884 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
13885 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
13886 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
13887 } VkIndirectCommandsLayoutUsageFlagBitsNV;
13888 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
13889 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
13890 VkStructureType sType;
13892 deUint32 maxGraphicsShaderGroupCount;
13893 deUint32 maxIndirectSequenceCount;
13894 deUint32 maxIndirectCommandsTokenCount;
13895 deUint32 maxIndirectCommandsStreamCount;
13896 deUint32 maxIndirectCommandsTokenOffset;
13897 deUint32 maxIndirectCommandsStreamStride;
13898 deUint32 minSequencesCountBufferOffsetAlignment;
13899 deUint32 minSequencesIndexBufferOffsetAlignment;
13900 deUint32 minIndirectCommandsBufferOffsetAlignment;
13901 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
13903 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
13904 VkStructureType sType;
13906 VkBool32 deviceGeneratedCommands;
13907 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
13909 typedef struct VkGraphicsShaderGroupCreateInfoNV {
13910 VkStructureType sType;
13912 deUint32 stageCount;
13913 const VkPipelineShaderStageCreateInfo* pStages;
13914 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
13915 const VkPipelineTessellationStateCreateInfo* pTessellationState;
13916 } VkGraphicsShaderGroupCreateInfoNV;
13918 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
13919 VkStructureType sType;
13921 deUint32 groupCount;
13922 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
13923 deUint32 pipelineCount;
13924 const VkPipeline* pPipelines;
13925 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
13927 typedef struct VkBindShaderGroupIndirectCommandNV {
13928 deUint32 groupIndex;
13929 } VkBindShaderGroupIndirectCommandNV;
13931 typedef struct VkBindIndexBufferIndirectCommandNV {
13932 VkDeviceAddress bufferAddress;
13934 VkIndexType indexType;
13935 } VkBindIndexBufferIndirectCommandNV;
13937 typedef struct VkBindVertexBufferIndirectCommandNV {
13938 VkDeviceAddress bufferAddress;
13941 } VkBindVertexBufferIndirectCommandNV;
13943 typedef struct VkSetStateFlagsIndirectCommandNV {
13945 } VkSetStateFlagsIndirectCommandNV;
13947 typedef struct VkIndirectCommandsStreamNV {
13949 VkDeviceSize offset;
13950 } VkIndirectCommandsStreamNV;
13952 typedef struct VkIndirectCommandsLayoutTokenNV {
13953 VkStructureType sType;
13955 VkIndirectCommandsTokenTypeNV tokenType;
13958 deUint32 vertexBindingUnit;
13959 VkBool32 vertexDynamicStride;
13960 VkPipelineLayout pushconstantPipelineLayout;
13961 VkShaderStageFlags pushconstantShaderStageFlags;
13962 deUint32 pushconstantOffset;
13963 deUint32 pushconstantSize;
13964 VkIndirectStateFlagsNV indirectStateFlags;
13965 deUint32 indexTypeCount;
13966 const VkIndexType* pIndexTypes;
13967 const deUint32* pIndexTypeValues;
13968 } VkIndirectCommandsLayoutTokenNV;
13970 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
13971 VkStructureType sType;
13973 VkIndirectCommandsLayoutUsageFlagsNV flags;
13974 VkPipelineBindPoint pipelineBindPoint;
13975 deUint32 tokenCount;
13976 const VkIndirectCommandsLayoutTokenNV* pTokens;
13977 deUint32 streamCount;
13978 const deUint32* pStreamStrides;
13979 } VkIndirectCommandsLayoutCreateInfoNV;
13981 typedef struct VkGeneratedCommandsInfoNV {
13982 VkStructureType sType;
13984 VkPipelineBindPoint pipelineBindPoint;
13985 VkPipeline pipeline;
13986 VkIndirectCommandsLayoutNV indirectCommandsLayout;
13987 deUint32 streamCount;
13988 const VkIndirectCommandsStreamNV* pStreams;
13989 deUint32 sequencesCount;
13990 VkBuffer preprocessBuffer;
13991 VkDeviceSize preprocessOffset;
13992 VkDeviceSize preprocessSize;
13993 VkBuffer sequencesCountBuffer;
13994 VkDeviceSize sequencesCountOffset;
13995 VkBuffer sequencesIndexBuffer;
13996 VkDeviceSize sequencesIndexOffset;
13997 } VkGeneratedCommandsInfoNV;
13999 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
14000 VkStructureType sType;
14002 VkPipelineBindPoint pipelineBindPoint;
14003 VkPipeline pipeline;
14004 VkIndirectCommandsLayoutNV indirectCommandsLayout;
14005 deUint32 maxSequencesCount;
14006 } VkGeneratedCommandsMemoryRequirementsInfoNV;
14008 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
14009 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
14010 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
14011 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
14012 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
14013 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
14015 #ifndef VK_NO_PROTOTYPES
14016 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
14018 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
14019 VkMemoryRequirements2* pMemoryRequirements);
14021 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
14022 VkCommandBuffer commandBuffer,
14023 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
14025 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
14026 VkCommandBuffer commandBuffer,
14027 VkBool32 isPreprocessed,
14028 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
14030 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
14031 VkCommandBuffer commandBuffer,
14032 VkPipelineBindPoint pipelineBindPoint,
14033 VkPipeline pipeline,
14034 deUint32 groupIndex);
14036 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
14038 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
14039 const VkAllocationCallbacks* pAllocator,
14040 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
14042 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
14044 VkIndirectCommandsLayoutNV indirectCommandsLayout,
14045 const VkAllocationCallbacks* pAllocator);
14049 #define VK_NV_inherited_viewport_scissor 1
14050 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
14051 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
14052 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
14053 VkStructureType sType;
14055 VkBool32 inheritedViewportScissor2D;
14056 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
14058 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
14059 VkStructureType sType;
14061 VkBool32 viewportScissor2D;
14062 deUint32 viewportDepthCount;
14063 const VkViewport* pViewportDepths;
14064 } VkCommandBufferInheritanceViewportScissorInfoNV;
14068 #define VK_EXT_texel_buffer_alignment 1
14069 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
14070 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
14071 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
14072 VkStructureType sType;
14074 VkBool32 texelBufferAlignment;
14075 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
14077 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
14081 #define VK_QCOM_render_pass_transform 1
14082 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
14083 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
14084 typedef struct VkRenderPassTransformBeginInfoQCOM {
14085 VkStructureType sType;
14087 VkSurfaceTransformFlagBitsKHR transform;
14088 } VkRenderPassTransformBeginInfoQCOM;
14090 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
14091 VkStructureType sType;
14093 VkSurfaceTransformFlagBitsKHR transform;
14094 VkRect2D renderArea;
14095 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
14099 #define VK_EXT_device_memory_report 1
14100 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
14101 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
14103 typedef enum VkDeviceMemoryReportEventTypeEXT {
14104 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
14105 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
14106 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
14107 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
14108 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
14109 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
14110 } VkDeviceMemoryReportEventTypeEXT;
14111 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
14112 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
14113 VkStructureType sType;
14115 VkBool32 deviceMemoryReport;
14116 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
14118 typedef struct VkDeviceMemoryReportCallbackDataEXT {
14119 VkStructureType sType;
14121 VkDeviceMemoryReportFlagsEXT flags;
14122 VkDeviceMemoryReportEventTypeEXT type;
14123 deUint64 memoryObjectId;
14125 VkObjectType objectType;
14126 deUint64 objectHandle;
14127 deUint32 heapIndex;
14128 } VkDeviceMemoryReportCallbackDataEXT;
14130 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
14131 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
14134 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
14135 VkStructureType sType;
14137 VkDeviceMemoryReportFlagsEXT flags;
14138 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
14140 } VkDeviceDeviceMemoryReportCreateInfoEXT;
14144 #define VK_EXT_acquire_drm_display 1
14145 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
14146 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
14147 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, VkDisplayKHR display);
14148 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, deUint32 connectorId, VkDisplayKHR* display);
14150 #ifndef VK_NO_PROTOTYPES
14151 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
14152 VkPhysicalDevice physicalDevice,
14154 VkDisplayKHR display);
14156 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
14157 VkPhysicalDevice physicalDevice,
14159 deUint32 connectorId,
14160 VkDisplayKHR* display);
14164 #define VK_EXT_robustness2 1
14165 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
14166 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
14167 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
14168 VkStructureType sType;
14170 VkBool32 robustBufferAccess2;
14171 VkBool32 robustImageAccess2;
14172 VkBool32 nullDescriptor;
14173 } VkPhysicalDeviceRobustness2FeaturesEXT;
14175 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
14176 VkStructureType sType;
14178 VkDeviceSize robustStorageBufferAccessSizeAlignment;
14179 VkDeviceSize robustUniformBufferAccessSizeAlignment;
14180 } VkPhysicalDeviceRobustness2PropertiesEXT;
14184 #define VK_EXT_custom_border_color 1
14185 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
14186 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
14187 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
14188 VkStructureType sType;
14190 VkClearColorValue customBorderColor;
14192 } VkSamplerCustomBorderColorCreateInfoEXT;
14194 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
14195 VkStructureType sType;
14197 deUint32 maxCustomBorderColorSamplers;
14198 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
14200 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
14201 VkStructureType sType;
14203 VkBool32 customBorderColors;
14204 VkBool32 customBorderColorWithoutFormat;
14205 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
14209 #define VK_GOOGLE_user_type 1
14210 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
14211 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
14214 #define VK_EXT_private_data 1
14215 typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
14217 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
14218 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
14219 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
14221 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
14223 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
14225 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT;
14227 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
14228 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
14229 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data);
14230 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData);
14232 #ifndef VK_NO_PROTOTYPES
14233 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
14235 const VkPrivateDataSlotCreateInfo* pCreateInfo,
14236 const VkAllocationCallbacks* pAllocator,
14237 VkPrivateDataSlot* pPrivateDataSlot);
14239 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
14241 VkPrivateDataSlot privateDataSlot,
14242 const VkAllocationCallbacks* pAllocator);
14244 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
14246 VkObjectType objectType,
14247 deUint64 objectHandle,
14248 VkPrivateDataSlot privateDataSlot,
14251 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
14253 VkObjectType objectType,
14254 deUint64 objectHandle,
14255 VkPrivateDataSlot privateDataSlot,
14260 #define VK_EXT_pipeline_creation_cache_control 1
14261 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
14262 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
14263 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
14267 #define VK_NV_device_diagnostics_config 1
14268 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2
14269 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
14271 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
14272 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
14273 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
14274 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
14275 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV = 0x00000008,
14276 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
14277 } VkDeviceDiagnosticsConfigFlagBitsNV;
14278 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
14279 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
14280 VkStructureType sType;
14282 VkBool32 diagnosticsConfig;
14283 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
14285 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
14286 VkStructureType sType;
14288 VkDeviceDiagnosticsConfigFlagsNV flags;
14289 } VkDeviceDiagnosticsConfigCreateInfoNV;
14293 #define VK_QCOM_render_pass_store_ops 1
14294 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
14295 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
14298 #define VK_EXT_graphics_pipeline_library 1
14299 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
14300 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
14302 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT {
14303 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001,
14304 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002,
14305 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004,
14306 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008,
14307 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14308 } VkGraphicsPipelineLibraryFlagBitsEXT;
14309 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT;
14310 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
14311 VkStructureType sType;
14313 VkBool32 graphicsPipelineLibrary;
14314 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
14316 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
14317 VkStructureType sType;
14319 VkBool32 graphicsPipelineLibraryFastLinking;
14320 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration;
14321 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
14323 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT {
14324 VkStructureType sType;
14326 VkGraphicsPipelineLibraryFlagsEXT flags;
14327 } VkGraphicsPipelineLibraryCreateInfoEXT;
14331 #define VK_AMD_shader_early_and_late_fragment_tests 1
14332 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1
14333 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests"
14334 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
14335 VkStructureType sType;
14337 VkBool32 shaderEarlyAndLateFragmentTests;
14338 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD;
14342 #define VK_NV_fragment_shading_rate_enums 1
14343 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
14344 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
14346 typedef enum VkFragmentShadingRateTypeNV {
14347 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
14348 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
14349 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
14350 } VkFragmentShadingRateTypeNV;
14352 typedef enum VkFragmentShadingRateNV {
14353 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
14354 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
14355 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
14356 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
14357 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
14358 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
14359 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
14360 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
14361 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
14362 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
14363 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
14364 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
14365 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
14366 } VkFragmentShadingRateNV;
14367 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
14368 VkStructureType sType;
14370 VkBool32 fragmentShadingRateEnums;
14371 VkBool32 supersampleFragmentShadingRates;
14372 VkBool32 noInvocationFragmentShadingRates;
14373 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
14375 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
14376 VkStructureType sType;
14378 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
14379 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
14381 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
14382 VkStructureType sType;
14384 VkFragmentShadingRateTypeNV shadingRateType;
14385 VkFragmentShadingRateNV shadingRate;
14386 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
14387 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
14389 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
14391 #ifndef VK_NO_PROTOTYPES
14392 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
14393 VkCommandBuffer commandBuffer,
14394 VkFragmentShadingRateNV shadingRate,
14395 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
14399 #define VK_NV_ray_tracing_motion_blur 1
14400 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
14401 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
14403 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
14404 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
14405 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
14406 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
14407 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
14408 } VkAccelerationStructureMotionInstanceTypeNV;
14409 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
14410 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
14411 typedef union VkDeviceOrHostAddressConstKHR {
14412 VkDeviceAddress deviceAddress;
14413 const void* hostAddress;
14414 } VkDeviceOrHostAddressConstKHR;
14416 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
14417 VkStructureType sType;
14419 VkDeviceOrHostAddressConstKHR vertexData;
14420 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
14422 typedef struct VkAccelerationStructureMotionInfoNV {
14423 VkStructureType sType;
14425 deUint32 maxInstances;
14426 VkAccelerationStructureMotionInfoFlagsNV flags;
14427 } VkAccelerationStructureMotionInfoNV;
14429 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
14430 VkTransformMatrixKHR transformT0;
14431 VkTransformMatrixKHR transformT1;
14432 deUint32 instanceCustomIndex:24;
14434 deUint32 instanceShaderBindingTableRecordOffset:24;
14435 VkGeometryInstanceFlagsKHR flags:8;
14436 deUint64 accelerationStructureReference;
14437 } VkAccelerationStructureMatrixMotionInstanceNV;
14439 typedef struct VkSRTDataNV {
14458 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
14459 VkSRTDataNV transformT0;
14460 VkSRTDataNV transformT1;
14461 deUint32 instanceCustomIndex:24;
14463 deUint32 instanceShaderBindingTableRecordOffset:24;
14464 VkGeometryInstanceFlagsKHR flags:8;
14465 deUint64 accelerationStructureReference;
14466 } VkAccelerationStructureSRTMotionInstanceNV;
14468 typedef union VkAccelerationStructureMotionInstanceDataNV {
14469 VkAccelerationStructureInstanceKHR staticInstance;
14470 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
14471 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
14472 } VkAccelerationStructureMotionInstanceDataNV;
14474 typedef struct VkAccelerationStructureMotionInstanceNV {
14475 VkAccelerationStructureMotionInstanceTypeNV type;
14476 VkAccelerationStructureMotionInstanceFlagsNV flags;
14477 VkAccelerationStructureMotionInstanceDataNV data;
14478 } VkAccelerationStructureMotionInstanceNV;
14480 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
14481 VkStructureType sType;
14483 VkBool32 rayTracingMotionBlur;
14484 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
14485 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
14489 #define VK_EXT_ycbcr_2plane_444_formats 1
14490 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
14491 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
14492 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
14493 VkStructureType sType;
14495 VkBool32 ycbcr2plane444Formats;
14496 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
14500 #define VK_EXT_fragment_density_map2 1
14501 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
14502 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
14503 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
14504 VkStructureType sType;
14506 VkBool32 fragmentDensityMapDeferred;
14507 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
14509 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
14510 VkStructureType sType;
14512 VkBool32 subsampledLoads;
14513 VkBool32 subsampledCoarseReconstructionEarlyAccess;
14514 deUint32 maxSubsampledArrayLayers;
14515 deUint32 maxDescriptorSetSubsampledSamplers;
14516 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
14520 #define VK_QCOM_rotated_copy_commands 1
14521 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
14522 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
14523 typedef struct VkCopyCommandTransformInfoQCOM {
14524 VkStructureType sType;
14526 VkSurfaceTransformFlagBitsKHR transform;
14527 } VkCopyCommandTransformInfoQCOM;
14531 #define VK_EXT_image_robustness 1
14532 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
14533 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
14534 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT;
14538 #define VK_EXT_image_compression_control 1
14539 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1
14540 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control"
14542 typedef enum VkImageCompressionFlagBitsEXT {
14543 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0,
14544 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001,
14545 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002,
14546 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004,
14547 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14548 } VkImageCompressionFlagBitsEXT;
14549 typedef VkFlags VkImageCompressionFlagsEXT;
14551 typedef enum VkImageCompressionFixedRateFlagBitsEXT {
14552 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0,
14553 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001,
14554 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002,
14555 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004,
14556 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008,
14557 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010,
14558 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020,
14559 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040,
14560 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080,
14561 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100,
14562 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200,
14563 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400,
14564 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800,
14565 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000,
14566 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000,
14567 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000,
14568 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000,
14569 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000,
14570 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000,
14571 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000,
14572 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000,
14573 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000,
14574 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000,
14575 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000,
14576 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000,
14577 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14578 } VkImageCompressionFixedRateFlagBitsEXT;
14579 typedef VkFlags VkImageCompressionFixedRateFlagsEXT;
14580 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT {
14581 VkStructureType sType;
14583 VkBool32 imageCompressionControl;
14584 } VkPhysicalDeviceImageCompressionControlFeaturesEXT;
14586 typedef struct VkImageCompressionControlEXT {
14587 VkStructureType sType;
14589 VkImageCompressionFlagsEXT flags;
14590 deUint32 compressionControlPlaneCount;
14591 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags;
14592 } VkImageCompressionControlEXT;
14594 typedef struct VkSubresourceLayout2EXT {
14595 VkStructureType sType;
14597 VkSubresourceLayout subresourceLayout;
14598 } VkSubresourceLayout2EXT;
14600 typedef struct VkImageSubresource2EXT {
14601 VkStructureType sType;
14603 VkImageSubresource imageSubresource;
14604 } VkImageSubresource2EXT;
14606 typedef struct VkImageCompressionPropertiesEXT {
14607 VkStructureType sType;
14609 VkImageCompressionFlagsEXT imageCompressionFlags;
14610 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags;
14611 } VkImageCompressionPropertiesEXT;
14613 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout);
14615 #ifndef VK_NO_PROTOTYPES
14616 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT(
14619 const VkImageSubresource2EXT* pSubresource,
14620 VkSubresourceLayout2EXT* pLayout);
14624 #define VK_EXT_4444_formats 1
14625 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
14626 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
14627 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
14628 VkStructureType sType;
14630 VkBool32 formatA4R4G4B4;
14631 VkBool32 formatA4B4G4R4;
14632 } VkPhysicalDevice4444FormatsFeaturesEXT;
14636 #define VK_ARM_rasterization_order_attachment_access 1
14637 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
14638 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
14639 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM {
14640 VkStructureType sType;
14642 VkBool32 rasterizationOrderColorAttachmentAccess;
14643 VkBool32 rasterizationOrderDepthAttachmentAccess;
14644 VkBool32 rasterizationOrderStencilAttachmentAccess;
14645 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM;
14649 #define VK_EXT_rgba10x6_formats 1
14650 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
14651 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats"
14652 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT {
14653 VkStructureType sType;
14655 VkBool32 formatRgba10x6WithoutYCbCrSampler;
14656 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT;
14660 #define VK_NV_acquire_winrt_display 1
14661 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
14662 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
14663 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
14664 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
14666 #ifndef VK_NO_PROTOTYPES
14667 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
14668 VkPhysicalDevice physicalDevice,
14669 VkDisplayKHR display);
14671 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
14672 VkPhysicalDevice physicalDevice,
14673 deUint32 deviceRelativeId,
14674 VkDisplayKHR* pDisplay);
14678 #define VK_VALVE_mutable_descriptor_type 1
14679 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
14680 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
14681 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
14682 VkStructureType sType;
14684 VkBool32 mutableDescriptorType;
14685 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
14687 typedef struct VkMutableDescriptorTypeListVALVE {
14688 deUint32 descriptorTypeCount;
14689 const VkDescriptorType* pDescriptorTypes;
14690 } VkMutableDescriptorTypeListVALVE;
14692 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
14693 VkStructureType sType;
14695 deUint32 mutableDescriptorTypeListCount;
14696 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
14697 } VkMutableDescriptorTypeCreateInfoVALVE;
14701 #define VK_EXT_vertex_input_dynamic_state 1
14702 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
14703 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
14704 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
14705 VkStructureType sType;
14707 VkBool32 vertexInputDynamicState;
14708 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
14710 typedef struct VkVertexInputBindingDescription2EXT {
14711 VkStructureType sType;
14715 VkVertexInputRate inputRate;
14717 } VkVertexInputBindingDescription2EXT;
14719 typedef struct VkVertexInputAttributeDescription2EXT {
14720 VkStructureType sType;
14726 } VkVertexInputAttributeDescription2EXT;
14728 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
14730 #ifndef VK_NO_PROTOTYPES
14731 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
14732 VkCommandBuffer commandBuffer,
14733 deUint32 vertexBindingDescriptionCount,
14734 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
14735 deUint32 vertexAttributeDescriptionCount,
14736 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
14740 #define VK_EXT_physical_device_drm 1
14741 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
14742 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
14743 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
14744 VkStructureType sType;
14746 VkBool32 hasPrimary;
14747 VkBool32 hasRender;
14748 deInt64 primaryMajor;
14749 deInt64 primaryMinor;
14750 deInt64 renderMajor;
14751 deInt64 renderMinor;
14752 } VkPhysicalDeviceDrmPropertiesEXT;
14756 #define VK_EXT_depth_clip_control 1
14757 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1
14758 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
14759 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT {
14760 VkStructureType sType;
14762 VkBool32 depthClipControl;
14763 } VkPhysicalDeviceDepthClipControlFeaturesEXT;
14765 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT {
14766 VkStructureType sType;
14768 VkBool32 negativeOneToOne;
14769 } VkPipelineViewportDepthClipControlCreateInfoEXT;
14773 #define VK_EXT_primitive_topology_list_restart 1
14774 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1
14775 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart"
14776 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
14777 VkStructureType sType;
14779 VkBool32 primitiveTopologyListRestart;
14780 VkBool32 primitiveTopologyPatchListRestart;
14781 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
14785 #define VK_HUAWEI_subpass_shading 1
14786 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
14787 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
14788 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
14789 VkStructureType sType;
14791 VkRenderPass renderPass;
14793 } VkSubpassShadingPipelineCreateInfoHUAWEI;
14795 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
14796 VkStructureType sType;
14798 VkBool32 subpassShading;
14799 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
14801 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
14802 VkStructureType sType;
14804 deUint32 maxSubpassShadingWorkgroupSizeAspectRatio;
14805 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
14807 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
14808 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
14810 #ifndef VK_NO_PROTOTYPES
14811 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
14813 VkRenderPass renderpass,
14814 VkExtent2D* pMaxWorkgroupSize);
14816 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
14817 VkCommandBuffer commandBuffer);
14821 #define VK_HUAWEI_invocation_mask 1
14822 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
14823 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
14824 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
14825 VkStructureType sType;
14827 VkBool32 invocationMask;
14828 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
14830 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
14832 #ifndef VK_NO_PROTOTYPES
14833 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
14834 VkCommandBuffer commandBuffer,
14835 VkImageView imageView,
14836 VkImageLayout imageLayout);
14840 #define VK_NV_external_memory_rdma 1
14841 typedef void* VkRemoteAddressNV;
14842 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
14843 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
14844 typedef struct VkMemoryGetRemoteAddressInfoNV {
14845 VkStructureType sType;
14847 VkDeviceMemory memory;
14848 VkExternalMemoryHandleTypeFlagBits handleType;
14849 } VkMemoryGetRemoteAddressInfoNV;
14851 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
14852 VkStructureType sType;
14854 VkBool32 externalMemoryRDMA;
14855 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
14857 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
14859 #ifndef VK_NO_PROTOTYPES
14860 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
14862 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
14863 VkRemoteAddressNV* pAddress);
14867 #define VK_EXT_pipeline_properties 1
14868 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
14869 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
14870 typedef VkPipelineInfoKHR VkPipelineInfoEXT;
14872 typedef struct VkPipelinePropertiesIdentifierEXT {
14873 VkStructureType sType;
14875 deUint8 pipelineIdentifier[VK_UUID_SIZE];
14876 } VkPipelinePropertiesIdentifierEXT;
14878 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT {
14879 VkStructureType sType;
14881 VkBool32 pipelinePropertiesIdentifier;
14882 } VkPhysicalDevicePipelinePropertiesFeaturesEXT;
14884 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties);
14886 #ifndef VK_NO_PROTOTYPES
14887 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(
14889 const VkPipelineInfoEXT* pPipelineInfo,
14890 VkBaseOutStructure* pPipelineProperties);
14894 #define VK_EXT_extended_dynamic_state2 1
14895 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
14896 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
14897 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
14898 VkStructureType sType;
14900 VkBool32 extendedDynamicState2;
14901 VkBool32 extendedDynamicState2LogicOp;
14902 VkBool32 extendedDynamicState2PatchControlPoints;
14903 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
14905 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
14906 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
14907 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
14908 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
14909 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
14911 #ifndef VK_NO_PROTOTYPES
14912 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
14913 VkCommandBuffer commandBuffer,
14914 deUint32 patchControlPoints);
14916 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
14917 VkCommandBuffer commandBuffer,
14918 VkBool32 rasterizerDiscardEnable);
14920 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
14921 VkCommandBuffer commandBuffer,
14922 VkBool32 depthBiasEnable);
14924 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
14925 VkCommandBuffer commandBuffer,
14926 VkLogicOp logicOp);
14928 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
14929 VkCommandBuffer commandBuffer,
14930 VkBool32 primitiveRestartEnable);
14934 #define VK_EXT_color_write_enable 1
14935 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
14936 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
14937 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
14938 VkStructureType sType;
14940 VkBool32 colorWriteEnable;
14941 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
14943 typedef struct VkPipelineColorWriteCreateInfoEXT {
14944 VkStructureType sType;
14946 deUint32 attachmentCount;
14947 const VkBool32* pColorWriteEnables;
14948 } VkPipelineColorWriteCreateInfoEXT;
14950 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
14952 #ifndef VK_NO_PROTOTYPES
14953 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
14954 VkCommandBuffer commandBuffer,
14955 deUint32 attachmentCount,
14956 const VkBool32* pColorWriteEnables);
14960 #define VK_EXT_primitives_generated_query 1
14961 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
14962 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query"
14963 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
14964 VkStructureType sType;
14966 VkBool32 primitivesGeneratedQuery;
14967 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard;
14968 VkBool32 primitivesGeneratedQueryWithNonZeroStreams;
14969 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
14973 #define VK_EXT_global_priority_query 1
14974 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
14975 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
14976 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
14977 typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
14979 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
14983 #define VK_EXT_image_view_min_lod 1
14984 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1
14985 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod"
14986 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT {
14987 VkStructureType sType;
14990 } VkPhysicalDeviceImageViewMinLodFeaturesEXT;
14992 typedef struct VkImageViewMinLodCreateInfoEXT {
14993 VkStructureType sType;
14996 } VkImageViewMinLodCreateInfoEXT;
15000 #define VK_EXT_multi_draw 1
15001 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
15002 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
15003 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
15004 VkStructureType sType;
15006 VkBool32 multiDraw;
15007 } VkPhysicalDeviceMultiDrawFeaturesEXT;
15009 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
15010 VkStructureType sType;
15012 deUint32 maxMultiDrawCount;
15013 } VkPhysicalDeviceMultiDrawPropertiesEXT;
15015 typedef struct VkMultiDrawInfoEXT {
15016 deUint32 firstVertex;
15017 deUint32 vertexCount;
15018 } VkMultiDrawInfoEXT;
15020 typedef struct VkMultiDrawIndexedInfoEXT {
15021 deUint32 firstIndex;
15022 deUint32 indexCount;
15023 deInt32 vertexOffset;
15024 } VkMultiDrawIndexedInfoEXT;
15026 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawInfoEXT* pVertexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride);
15027 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride, const deInt32* pVertexOffset);
15029 #ifndef VK_NO_PROTOTYPES
15030 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
15031 VkCommandBuffer commandBuffer,
15032 deUint32 drawCount,
15033 const VkMultiDrawInfoEXT* pVertexInfo,
15034 deUint32 instanceCount,
15035 deUint32 firstInstance,
15038 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
15039 VkCommandBuffer commandBuffer,
15040 deUint32 drawCount,
15041 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
15042 deUint32 instanceCount,
15043 deUint32 firstInstance,
15045 const deInt32* pVertexOffset);
15049 #define VK_EXT_image_2d_view_of_3d 1
15050 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1
15051 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
15052 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
15053 VkStructureType sType;
15055 VkBool32 image2DViewOf3D;
15056 VkBool32 sampler2DViewOf3D;
15057 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT;
15061 #define VK_EXT_load_store_op_none 1
15062 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
15063 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
15066 #define VK_EXT_border_color_swizzle 1
15067 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
15068 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle"
15069 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT {
15070 VkStructureType sType;
15072 VkBool32 borderColorSwizzle;
15073 VkBool32 borderColorSwizzleFromImage;
15074 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT;
15076 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT {
15077 VkStructureType sType;
15079 VkComponentMapping components;
15081 } VkSamplerBorderColorComponentMappingCreateInfoEXT;
15085 #define VK_EXT_pageable_device_local_memory 1
15086 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1
15087 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory"
15088 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
15089 VkStructureType sType;
15091 VkBool32 pageableDeviceLocalMemory;
15092 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
15094 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority);
15096 #ifndef VK_NO_PROTOTYPES
15097 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
15099 VkDeviceMemory memory,
15104 #define VK_VALVE_descriptor_set_host_mapping 1
15105 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1
15106 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
15107 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
15108 VkStructureType sType;
15110 VkBool32 descriptorSetHostMapping;
15111 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
15113 typedef struct VkDescriptorSetBindingReferenceVALVE {
15114 VkStructureType sType;
15116 VkDescriptorSetLayout descriptorSetLayout;
15118 } VkDescriptorSetBindingReferenceVALVE;
15120 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE {
15121 VkStructureType sType;
15123 deUintptr descriptorOffset;
15124 deUint32 descriptorSize;
15125 } VkDescriptorSetLayoutHostMappingInfoVALVE;
15127 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
15128 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
15130 #ifndef VK_NO_PROTOTYPES
15131 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE(
15133 const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
15134 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
15136 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(
15138 VkDescriptorSet descriptorSet,
15143 #define VK_QCOM_fragment_density_map_offset 1
15144 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
15145 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
15146 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
15147 VkStructureType sType;
15149 VkBool32 fragmentDensityMapOffset;
15150 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
15152 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
15153 VkStructureType sType;
15155 VkExtent2D fragmentDensityOffsetGranularity;
15156 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
15158 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM {
15159 VkStructureType sType;
15161 deUint32 fragmentDensityOffsetCount;
15162 const VkOffset2D* pFragmentDensityOffsets;
15163 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM;
15167 #define VK_NV_linear_color_attachment 1
15168 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
15169 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
15170 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
15171 VkStructureType sType;
15173 VkBool32 linearColorAttachment;
15174 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV;
15178 #define VK_GOOGLE_surfaceless_query 1
15179 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
15180 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
15183 #define VK_EXT_image_compression_control_swapchain 1
15184 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
15185 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain"
15186 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
15187 VkStructureType sType;
15189 VkBool32 imageCompressionControlSwapchain;
15190 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
15194 #define VK_EXT_subpass_merge_feedback 1
15195 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 1
15196 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
15198 typedef enum VkSubpassMergeStatusEXT {
15199 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0,
15200 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1,
15201 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2,
15202 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3,
15203 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4,
15204 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5,
15205 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6,
15206 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7,
15207 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8,
15208 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9,
15209 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10,
15210 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11,
15211 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12,
15212 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13,
15213 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF
15214 } VkSubpassMergeStatusEXT;
15215 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
15216 VkStructureType sType;
15218 VkBool32 subpassMergeFeedback;
15219 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
15221 typedef struct VkRenderPassCreationControlEXT {
15222 VkStructureType sType;
15224 VkBool32 disallowMerging;
15225 } VkRenderPassCreationControlEXT;
15227 typedef struct VkRenderPassCreationFeedbackInfoEXT {
15228 VkStructureType sType;
15230 deUint32 postMergeSubpassCount;
15231 } VkRenderPassCreationFeedbackInfoEXT;
15233 typedef struct VkRenderPassSubpassFeedbackInfoEXT {
15234 VkStructureType sType;
15236 VkSubpassMergeStatusEXT subpassMergeStatus;
15237 char description[VK_MAX_DESCRIPTION_SIZE];
15238 deUint32 postMergeIndex;
15239 } VkRenderPassSubpassFeedbackInfoEXT;
15243 #define VK_KHR_acceleration_structure 1
15244 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
15245 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
15246 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
15248 typedef enum VkBuildAccelerationStructureModeKHR {
15249 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
15250 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
15251 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
15252 } VkBuildAccelerationStructureModeKHR;
15254 typedef enum VkAccelerationStructureBuildTypeKHR {
15255 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
15256 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
15257 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
15258 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
15259 } VkAccelerationStructureBuildTypeKHR;
15261 typedef enum VkAccelerationStructureCompatibilityKHR {
15262 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
15263 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
15264 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
15265 } VkAccelerationStructureCompatibilityKHR;
15267 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
15268 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
15269 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
15270 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
15271 } VkAccelerationStructureCreateFlagBitsKHR;
15272 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
15273 typedef union VkDeviceOrHostAddressKHR {
15274 VkDeviceAddress deviceAddress;
15276 } VkDeviceOrHostAddressKHR;
15278 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
15279 deUint32 primitiveCount;
15280 deUint32 primitiveOffset;
15281 deUint32 firstVertex;
15282 deUint32 transformOffset;
15283 } VkAccelerationStructureBuildRangeInfoKHR;
15285 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
15286 VkStructureType sType;
15288 VkFormat vertexFormat;
15289 VkDeviceOrHostAddressConstKHR vertexData;
15290 VkDeviceSize vertexStride;
15291 deUint32 maxVertex;
15292 VkIndexType indexType;
15293 VkDeviceOrHostAddressConstKHR indexData;
15294 VkDeviceOrHostAddressConstKHR transformData;
15295 } VkAccelerationStructureGeometryTrianglesDataKHR;
15297 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
15298 VkStructureType sType;
15300 VkDeviceOrHostAddressConstKHR data;
15301 VkDeviceSize stride;
15302 } VkAccelerationStructureGeometryAabbsDataKHR;
15304 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
15305 VkStructureType sType;
15307 VkBool32 arrayOfPointers;
15308 VkDeviceOrHostAddressConstKHR data;
15309 } VkAccelerationStructureGeometryInstancesDataKHR;
15311 typedef union VkAccelerationStructureGeometryDataKHR {
15312 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
15313 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
15314 VkAccelerationStructureGeometryInstancesDataKHR instances;
15315 } VkAccelerationStructureGeometryDataKHR;
15317 typedef struct VkAccelerationStructureGeometryKHR {
15318 VkStructureType sType;
15320 VkGeometryTypeKHR geometryType;
15321 VkAccelerationStructureGeometryDataKHR geometry;
15322 VkGeometryFlagsKHR flags;
15323 } VkAccelerationStructureGeometryKHR;
15325 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
15326 VkStructureType sType;
15328 VkAccelerationStructureTypeKHR type;
15329 VkBuildAccelerationStructureFlagsKHR flags;
15330 VkBuildAccelerationStructureModeKHR mode;
15331 VkAccelerationStructureKHR srcAccelerationStructure;
15332 VkAccelerationStructureKHR dstAccelerationStructure;
15333 deUint32 geometryCount;
15334 const VkAccelerationStructureGeometryKHR* pGeometries;
15335 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
15336 VkDeviceOrHostAddressKHR scratchData;
15337 } VkAccelerationStructureBuildGeometryInfoKHR;
15339 typedef struct VkAccelerationStructureCreateInfoKHR {
15340 VkStructureType sType;
15342 VkAccelerationStructureCreateFlagsKHR createFlags;
15344 VkDeviceSize offset;
15346 VkAccelerationStructureTypeKHR type;
15347 VkDeviceAddress deviceAddress;
15348 } VkAccelerationStructureCreateInfoKHR;
15350 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
15351 VkStructureType sType;
15353 deUint32 accelerationStructureCount;
15354 const VkAccelerationStructureKHR* pAccelerationStructures;
15355 } VkWriteDescriptorSetAccelerationStructureKHR;
15357 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
15358 VkStructureType sType;
15360 VkBool32 accelerationStructure;
15361 VkBool32 accelerationStructureCaptureReplay;
15362 VkBool32 accelerationStructureIndirectBuild;
15363 VkBool32 accelerationStructureHostCommands;
15364 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
15365 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
15367 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
15368 VkStructureType sType;
15370 deUint64 maxGeometryCount;
15371 deUint64 maxInstanceCount;
15372 deUint64 maxPrimitiveCount;
15373 deUint32 maxPerStageDescriptorAccelerationStructures;
15374 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
15375 deUint32 maxDescriptorSetAccelerationStructures;
15376 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
15377 deUint32 minAccelerationStructureScratchOffsetAlignment;
15378 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
15380 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
15381 VkStructureType sType;
15383 VkAccelerationStructureKHR accelerationStructure;
15384 } VkAccelerationStructureDeviceAddressInfoKHR;
15386 typedef struct VkAccelerationStructureVersionInfoKHR {
15387 VkStructureType sType;
15389 const deUint8* pVersionData;
15390 } VkAccelerationStructureVersionInfoKHR;
15392 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
15393 VkStructureType sType;
15395 VkAccelerationStructureKHR src;
15396 VkDeviceOrHostAddressKHR dst;
15397 VkCopyAccelerationStructureModeKHR mode;
15398 } VkCopyAccelerationStructureToMemoryInfoKHR;
15400 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
15401 VkStructureType sType;
15403 VkDeviceOrHostAddressConstKHR src;
15404 VkAccelerationStructureKHR dst;
15405 VkCopyAccelerationStructureModeKHR mode;
15406 } VkCopyMemoryToAccelerationStructureInfoKHR;
15408 typedef struct VkCopyAccelerationStructureInfoKHR {
15409 VkStructureType sType;
15411 VkAccelerationStructureKHR src;
15412 VkAccelerationStructureKHR dst;
15413 VkCopyAccelerationStructureModeKHR mode;
15414 } VkCopyAccelerationStructureInfoKHR;
15416 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
15417 VkStructureType sType;
15419 VkDeviceSize accelerationStructureSize;
15420 VkDeviceSize updateScratchSize;
15421 VkDeviceSize buildScratchSize;
15422 } VkAccelerationStructureBuildSizesInfoKHR;
15424 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
15425 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
15426 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15427 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
15428 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15429 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
15430 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15431 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15432 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
15433 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
15434 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15435 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15436 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
15437 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
15438 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
15439 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
15441 #ifndef VK_NO_PROTOTYPES
15442 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
15444 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
15445 const VkAllocationCallbacks* pAllocator,
15446 VkAccelerationStructureKHR* pAccelerationStructure);
15448 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
15450 VkAccelerationStructureKHR accelerationStructure,
15451 const VkAllocationCallbacks* pAllocator);
15453 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
15454 VkCommandBuffer commandBuffer,
15455 deUint32 infoCount,
15456 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
15457 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15459 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
15460 VkCommandBuffer commandBuffer,
15461 deUint32 infoCount,
15462 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
15463 const VkDeviceAddress* pIndirectDeviceAddresses,
15464 const deUint32* pIndirectStrides,
15465 const deUint32* const* ppMaxPrimitiveCounts);
15467 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
15469 VkDeferredOperationKHR deferredOperation,
15470 deUint32 infoCount,
15471 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
15472 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15474 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
15476 VkDeferredOperationKHR deferredOperation,
15477 const VkCopyAccelerationStructureInfoKHR* pInfo);
15479 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
15481 VkDeferredOperationKHR deferredOperation,
15482 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15484 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
15486 VkDeferredOperationKHR deferredOperation,
15487 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15489 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
15491 deUint32 accelerationStructureCount,
15492 const VkAccelerationStructureKHR* pAccelerationStructures,
15493 VkQueryType queryType,
15494 deUintptr dataSize,
15498 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
15499 VkCommandBuffer commandBuffer,
15500 const VkCopyAccelerationStructureInfoKHR* pInfo);
15502 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
15503 VkCommandBuffer commandBuffer,
15504 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15506 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
15507 VkCommandBuffer commandBuffer,
15508 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15510 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
15512 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
15514 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
15515 VkCommandBuffer commandBuffer,
15516 deUint32 accelerationStructureCount,
15517 const VkAccelerationStructureKHR* pAccelerationStructures,
15518 VkQueryType queryType,
15519 VkQueryPool queryPool,
15520 deUint32 firstQuery);
15522 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
15524 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
15525 VkAccelerationStructureCompatibilityKHR* pCompatibility);
15527 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
15529 VkAccelerationStructureBuildTypeKHR buildType,
15530 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
15531 const deUint32* pMaxPrimitiveCounts,
15532 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
15536 #define VK_KHR_ray_tracing_pipeline 1
15537 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
15538 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
15540 typedef enum VkShaderGroupShaderKHR {
15541 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
15542 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
15543 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
15544 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
15545 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
15546 } VkShaderGroupShaderKHR;
15547 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
15548 VkStructureType sType;
15550 VkRayTracingShaderGroupTypeKHR type;
15551 deUint32 generalShader;
15552 deUint32 closestHitShader;
15553 deUint32 anyHitShader;
15554 deUint32 intersectionShader;
15555 const void* pShaderGroupCaptureReplayHandle;
15556 } VkRayTracingShaderGroupCreateInfoKHR;
15558 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
15559 VkStructureType sType;
15561 deUint32 maxPipelineRayPayloadSize;
15562 deUint32 maxPipelineRayHitAttributeSize;
15563 } VkRayTracingPipelineInterfaceCreateInfoKHR;
15565 typedef struct VkRayTracingPipelineCreateInfoKHR {
15566 VkStructureType sType;
15568 VkPipelineCreateFlags flags;
15569 deUint32 stageCount;
15570 const VkPipelineShaderStageCreateInfo* pStages;
15571 deUint32 groupCount;
15572 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
15573 deUint32 maxPipelineRayRecursionDepth;
15574 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
15575 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
15576 const VkPipelineDynamicStateCreateInfo* pDynamicState;
15577 VkPipelineLayout layout;
15578 VkPipeline basePipelineHandle;
15579 deInt32 basePipelineIndex;
15580 } VkRayTracingPipelineCreateInfoKHR;
15582 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
15583 VkStructureType sType;
15585 VkBool32 rayTracingPipeline;
15586 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
15587 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
15588 VkBool32 rayTracingPipelineTraceRaysIndirect;
15589 VkBool32 rayTraversalPrimitiveCulling;
15590 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
15592 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
15593 VkStructureType sType;
15595 deUint32 shaderGroupHandleSize;
15596 deUint32 maxRayRecursionDepth;
15597 deUint32 maxShaderGroupStride;
15598 deUint32 shaderGroupBaseAlignment;
15599 deUint32 shaderGroupHandleCaptureReplaySize;
15600 deUint32 maxRayDispatchInvocationCount;
15601 deUint32 shaderGroupHandleAlignment;
15602 deUint32 maxRayHitAttributeSize;
15603 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
15605 typedef struct VkStridedDeviceAddressRegionKHR {
15606 VkDeviceAddress deviceAddress;
15607 VkDeviceSize stride;
15609 } VkStridedDeviceAddressRegionKHR;
15611 typedef struct VkTraceRaysIndirectCommandKHR {
15615 } VkTraceRaysIndirectCommandKHR;
15617 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);
15618 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
15619 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
15620 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
15621 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
15622 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
15624 #ifndef VK_NO_PROTOTYPES
15625 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
15626 VkCommandBuffer commandBuffer,
15627 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
15628 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
15629 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
15630 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
15635 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
15637 VkDeferredOperationKHR deferredOperation,
15638 VkPipelineCache pipelineCache,
15639 deUint32 createInfoCount,
15640 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
15641 const VkAllocationCallbacks* pAllocator,
15642 VkPipeline* pPipelines);
15644 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
15646 VkPipeline pipeline,
15647 deUint32 firstGroup,
15648 deUint32 groupCount,
15649 deUintptr dataSize,
15652 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
15653 VkCommandBuffer commandBuffer,
15654 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
15655 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
15656 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
15657 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
15658 VkDeviceAddress indirectDeviceAddress);
15660 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
15662 VkPipeline pipeline,
15664 VkShaderGroupShaderKHR groupShader);
15666 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
15667 VkCommandBuffer commandBuffer,
15668 deUint32 pipelineStackSize);
15672 #define VK_KHR_ray_query 1
15673 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
15674 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
15675 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
15676 VkStructureType sType;
15679 } VkPhysicalDeviceRayQueryFeaturesKHR;