1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
4 #ifndef VULKAN_VIDEO_CODECS_COMMON_H_
5 #define VULKAN_VIDEO_CODECS_COMMON_H_ 1
8 ** Copyright 2015-2022 The Khronos Group Inc.
10 ** SPDX-License-Identifier: Apache-2.0
14 ** This header is generated from the Khronos Vulkan XML API Registry.
25 #define vulkan_video_codecs_common 1
26 #define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
27 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
35 #ifndef VULKAN_VIDEO_CODEC_H264STD_H_
36 #define VULKAN_VIDEO_CODEC_H264STD_H_ 1
39 ** Copyright 2015-2022 The Khronos Group Inc.
41 ** SPDX-License-Identifier: Apache-2.0
45 ** This header is generated from the Khronos Vulkan XML API Registry.
56 #define vulkan_video_codec_h264std 1
58 #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
59 #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6
60 #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16
61 #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 2
62 #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64
63 #define STD_VIDEO_H264_MAX_NUM_LIST_REF 32
64 #define STD_VIDEO_H264_MAX_CHROMA_PLANES 2
66 typedef enum StdVideoH264ChromaFormatIdc {
67 STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0,
68 STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1,
69 STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2,
70 STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3,
71 STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
72 STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
73 } StdVideoH264ChromaFormatIdc;
75 typedef enum StdVideoH264ProfileIdc {
76 STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66,
77 STD_VIDEO_H264_PROFILE_IDC_MAIN = 77,
78 STD_VIDEO_H264_PROFILE_IDC_HIGH = 100,
79 STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244,
80 STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF,
81 STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
82 } StdVideoH264ProfileIdc;
84 typedef enum StdVideoH264Level {
85 STD_VIDEO_H264_LEVEL_1_0 = 0,
86 STD_VIDEO_H264_LEVEL_1_1 = 1,
87 STD_VIDEO_H264_LEVEL_1_2 = 2,
88 STD_VIDEO_H264_LEVEL_1_3 = 3,
89 STD_VIDEO_H264_LEVEL_2_0 = 4,
90 STD_VIDEO_H264_LEVEL_2_1 = 5,
91 STD_VIDEO_H264_LEVEL_2_2 = 6,
92 STD_VIDEO_H264_LEVEL_3_0 = 7,
93 STD_VIDEO_H264_LEVEL_3_1 = 8,
94 STD_VIDEO_H264_LEVEL_3_2 = 9,
95 STD_VIDEO_H264_LEVEL_4_0 = 10,
96 STD_VIDEO_H264_LEVEL_4_1 = 11,
97 STD_VIDEO_H264_LEVEL_4_2 = 12,
98 STD_VIDEO_H264_LEVEL_5_0 = 13,
99 STD_VIDEO_H264_LEVEL_5_1 = 14,
100 STD_VIDEO_H264_LEVEL_5_2 = 15,
101 STD_VIDEO_H264_LEVEL_6_0 = 16,
102 STD_VIDEO_H264_LEVEL_6_1 = 17,
103 STD_VIDEO_H264_LEVEL_6_2 = 18,
104 STD_VIDEO_H264_LEVEL_INVALID = 0x7FFFFFFF,
105 STD_VIDEO_H264_LEVEL_MAX_ENUM = 0x7FFFFFFF
108 typedef enum StdVideoH264PocType {
109 STD_VIDEO_H264_POC_TYPE_0 = 0,
110 STD_VIDEO_H264_POC_TYPE_1 = 1,
111 STD_VIDEO_H264_POC_TYPE_2 = 2,
112 STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF,
113 STD_VIDEO_H264_POC_TYPE_MAX_ENUM = 0x7FFFFFFF
114 } StdVideoH264PocType;
116 typedef enum StdVideoH264AspectRatioIdc {
117 STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED = 0,
118 STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE = 1,
119 STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11 = 2,
120 STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11 = 3,
121 STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11 = 4,
122 STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33 = 5,
123 STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11 = 6,
124 STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11 = 7,
125 STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11 = 8,
126 STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33 = 9,
127 STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11 = 10,
128 STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11 = 11,
129 STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33 = 12,
130 STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99 = 13,
131 STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3 = 14,
132 STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15,
133 STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16,
134 STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255,
135 STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF,
136 STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF
137 } StdVideoH264AspectRatioIdc;
139 typedef enum StdVideoH264WeightedBipredIdc {
140 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0,
141 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1,
142 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2,
143 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF,
144 STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM = 0x7FFFFFFF
145 } StdVideoH264WeightedBipredIdc;
147 typedef enum StdVideoH264ModificationOfPicNumsIdc {
148 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT = 0,
149 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1,
150 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2,
151 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3,
152 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF,
153 STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM = 0x7FFFFFFF
154 } StdVideoH264ModificationOfPicNumsIdc;
156 typedef enum StdVideoH264MemMgmtControlOp {
157 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END = 0,
158 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM = 1,
159 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM = 2,
160 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM = 3,
161 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4,
162 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5,
163 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6,
164 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF,
165 STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM = 0x7FFFFFFF
166 } StdVideoH264MemMgmtControlOp;
168 typedef enum StdVideoH264CabacInitIdc {
169 STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0,
170 STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1,
171 STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2,
172 STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF,
173 STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM = 0x7FFFFFFF
174 } StdVideoH264CabacInitIdc;
176 typedef enum StdVideoH264DisableDeblockingFilterIdc {
177 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0,
178 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1,
179 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2,
180 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF,
181 STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM = 0x7FFFFFFF
182 } StdVideoH264DisableDeblockingFilterIdc;
184 typedef enum StdVideoH264SliceType {
185 STD_VIDEO_H264_SLICE_TYPE_P = 0,
186 STD_VIDEO_H264_SLICE_TYPE_B = 1,
187 STD_VIDEO_H264_SLICE_TYPE_I = 2,
188 STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF,
189 STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
190 } StdVideoH264SliceType;
192 typedef enum StdVideoH264PictureType {
193 STD_VIDEO_H264_PICTURE_TYPE_P = 0,
194 STD_VIDEO_H264_PICTURE_TYPE_B = 1,
195 STD_VIDEO_H264_PICTURE_TYPE_I = 2,
196 STD_VIDEO_H264_PICTURE_TYPE_IDR = 5,
197 STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
198 STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
199 } StdVideoH264PictureType;
201 typedef enum StdVideoH264NonVclNaluType {
202 STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS = 0,
203 STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS = 1,
204 STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD = 2,
205 STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX = 3,
206 STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4,
207 STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5,
208 STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6,
209 STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF,
210 STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM = 0x7FFFFFFF
211 } StdVideoH264NonVclNaluType;
212 typedef struct StdVideoH264SpsVuiFlags {
213 deUint32 aspect_ratio_info_present_flag : 1;
214 deUint32 overscan_info_present_flag : 1;
215 deUint32 overscan_appropriate_flag : 1;
216 deUint32 video_signal_type_present_flag : 1;
217 deUint32 video_full_range_flag : 1;
218 deUint32 color_description_present_flag : 1;
219 deUint32 chroma_loc_info_present_flag : 1;
220 deUint32 timing_info_present_flag : 1;
221 deUint32 fixed_frame_rate_flag : 1;
222 deUint32 bitstream_restriction_flag : 1;
223 deUint32 nal_hrd_parameters_present_flag : 1;
224 deUint32 vcl_hrd_parameters_present_flag : 1;
225 } StdVideoH264SpsVuiFlags;
227 typedef struct StdVideoH264HrdParameters {
228 deUint8 cpb_cnt_minus1;
229 deUint8 bit_rate_scale;
230 deUint8 cpb_size_scale;
231 deUint32 bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
232 deUint32 cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
233 deUint8 cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
234 deUint32 initial_cpb_removal_delay_length_minus1;
235 deUint32 cpb_removal_delay_length_minus1;
236 deUint32 dpb_output_delay_length_minus1;
237 deUint32 time_offset_length;
238 } StdVideoH264HrdParameters;
240 typedef struct StdVideoH264SequenceParameterSetVui {
241 StdVideoH264SpsVuiFlags flags;
242 StdVideoH264AspectRatioIdc aspect_ratio_idc;
245 deUint8 video_format;
246 deUint8 color_primaries;
247 deUint8 transfer_characteristics;
248 deUint8 matrix_coefficients;
249 deUint32 num_units_in_tick;
251 const StdVideoH264HrdParameters* pHrdParameters;
252 deUint8 max_num_reorder_frames;
253 deUint8 max_dec_frame_buffering;
254 } StdVideoH264SequenceParameterSetVui;
256 typedef struct StdVideoH264SpsFlags {
257 deUint32 constraint_set0_flag : 1;
258 deUint32 constraint_set1_flag : 1;
259 deUint32 constraint_set2_flag : 1;
260 deUint32 constraint_set3_flag : 1;
261 deUint32 constraint_set4_flag : 1;
262 deUint32 constraint_set5_flag : 1;
263 deUint32 direct_8x8_inference_flag : 1;
264 deUint32 mb_adaptive_frame_field_flag : 1;
265 deUint32 frame_mbs_only_flag : 1;
266 deUint32 delta_pic_order_always_zero_flag : 1;
267 deUint32 separate_colour_plane_flag : 1;
268 deUint32 gaps_in_frame_num_value_allowed_flag : 1;
269 deUint32 qpprime_y_zero_transform_bypass_flag : 1;
270 deUint32 frame_cropping_flag : 1;
271 deUint32 seq_scaling_matrix_present_flag : 1;
272 deUint32 vui_parameters_present_flag : 1;
273 } StdVideoH264SpsFlags;
275 typedef struct StdVideoH264ScalingLists {
276 deUint8 scaling_list_present_mask;
277 deUint8 use_default_scaling_matrix_mask;
278 deUint8 ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
279 deUint8 ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
280 } StdVideoH264ScalingLists;
282 typedef struct StdVideoH264SequenceParameterSet {
283 StdVideoH264SpsFlags flags;
284 StdVideoH264ProfileIdc profile_idc;
285 StdVideoH264Level level_idc;
286 deUint8 seq_parameter_set_id;
287 StdVideoH264ChromaFormatIdc chroma_format_idc;
288 deUint8 bit_depth_luma_minus8;
289 deUint8 bit_depth_chroma_minus8;
290 deUint8 log2_max_frame_num_minus4;
291 StdVideoH264PocType pic_order_cnt_type;
292 deUint8 log2_max_pic_order_cnt_lsb_minus4;
293 deInt32 offset_for_non_ref_pic;
294 deInt32 offset_for_top_to_bottom_field;
295 deUint8 num_ref_frames_in_pic_order_cnt_cycle;
296 deUint8 max_num_ref_frames;
297 deUint32 pic_width_in_mbs_minus1;
298 deUint32 pic_height_in_map_units_minus1;
299 deUint32 frame_crop_left_offset;
300 deUint32 frame_crop_right_offset;
301 deUint32 frame_crop_top_offset;
302 deUint32 frame_crop_bottom_offset;
303 const deInt32* pOffsetForRefFrame;
304 const StdVideoH264ScalingLists* pScalingLists;
305 const StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui;
306 } StdVideoH264SequenceParameterSet;
308 typedef struct StdVideoH264PpsFlags {
309 deUint32 transform_8x8_mode_flag : 1;
310 deUint32 redundant_pic_cnt_present_flag : 1;
311 deUint32 constrained_intra_pred_flag : 1;
312 deUint32 deblocking_filter_control_present_flag : 1;
313 deUint32 weighted_bipred_idc_flag : 1;
314 deUint32 weighted_pred_flag : 1;
315 deUint32 pic_order_present_flag : 1;
316 deUint32 entropy_coding_mode_flag : 1;
317 deUint32 pic_scaling_matrix_present_flag : 1;
318 } StdVideoH264PpsFlags;
320 typedef struct StdVideoH264PictureParameterSet {
321 StdVideoH264PpsFlags flags;
322 deUint8 seq_parameter_set_id;
323 deUint8 pic_parameter_set_id;
324 deUint8 num_ref_idx_l0_default_active_minus1;
325 deUint8 num_ref_idx_l1_default_active_minus1;
326 StdVideoH264WeightedBipredIdc weighted_bipred_idc;
327 deInt8 pic_init_qp_minus26;
328 deInt8 pic_init_qs_minus26;
329 deInt8 chroma_qp_index_offset;
330 deInt8 second_chroma_qp_index_offset;
331 const StdVideoH264ScalingLists* pScalingLists;
332 } StdVideoH264PictureParameterSet;
340 #ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
341 #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1
344 ** Copyright 2015-2022 The Khronos Group Inc.
346 ** SPDX-License-Identifier: Apache-2.0
350 ** This header is generated from the Khronos Vulkan XML API Registry.
361 #define vulkan_video_codec_h264std_encode 1
362 // Vulkan 0.9 provisional Vulkan video H.264 encode std specification version number
363 #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
365 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6
366 #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_encode"
367 typedef struct StdVideoEncodeH264WeightTableFlags {
368 deUint32 luma_weight_l0_flag;
369 deUint32 chroma_weight_l0_flag;
370 deUint32 luma_weight_l1_flag;
371 deUint32 chroma_weight_l1_flag;
372 } StdVideoEncodeH264WeightTableFlags;
374 typedef struct StdVideoEncodeH264WeightTable {
375 StdVideoEncodeH264WeightTableFlags flags;
376 deUint8 luma_log2_weight_denom;
377 deUint8 chroma_log2_weight_denom;
378 deInt8 luma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF];
379 deInt8 luma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF];
380 deInt8 chroma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
381 deInt8 chroma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
382 deInt8 luma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF];
383 deInt8 luma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF];
384 deInt8 chroma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
385 deInt8 chroma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES];
386 } StdVideoEncodeH264WeightTable;
388 typedef struct StdVideoEncodeH264SliceHeaderFlags {
389 deUint32 direct_spatial_mv_pred_flag : 1;
390 deUint32 num_ref_idx_active_override_flag : 1;
391 deUint32 no_output_of_prior_pics_flag : 1;
392 deUint32 adaptive_ref_pic_marking_mode_flag : 1;
393 deUint32 no_prior_references_available_flag : 1;
394 } StdVideoEncodeH264SliceHeaderFlags;
396 typedef struct StdVideoEncodeH264PictureInfoFlags {
397 deUint32 idr_flag : 1;
398 deUint32 is_reference_flag : 1;
399 deUint32 used_for_long_term_reference : 1;
400 } StdVideoEncodeH264PictureInfoFlags;
402 typedef struct StdVideoEncodeH264ReferenceInfoFlags {
403 deUint32 used_for_long_term_reference : 1;
404 } StdVideoEncodeH264ReferenceInfoFlags;
406 typedef struct StdVideoEncodeH264RefMgmtFlags {
407 deUint32 ref_pic_list_modification_l0_flag : 1;
408 deUint32 ref_pic_list_modification_l1_flag : 1;
409 } StdVideoEncodeH264RefMgmtFlags;
411 typedef struct StdVideoEncodeH264RefListModEntry {
412 StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
413 deUint16 abs_diff_pic_num_minus1;
414 deUint16 long_term_pic_num;
415 } StdVideoEncodeH264RefListModEntry;
417 typedef struct StdVideoEncodeH264RefPicMarkingEntry {
418 StdVideoH264MemMgmtControlOp operation;
419 deUint16 difference_of_pic_nums_minus1;
420 deUint16 long_term_pic_num;
421 deUint16 long_term_frame_idx;
422 deUint16 max_long_term_frame_idx_plus1;
423 } StdVideoEncodeH264RefPicMarkingEntry;
425 typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations {
426 StdVideoEncodeH264RefMgmtFlags flags;
427 deUint8 refList0ModOpCount;
428 const StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
429 deUint8 refList1ModOpCount;
430 const StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
431 deUint8 refPicMarkingOpCount;
432 const StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
433 } StdVideoEncodeH264RefMemMgmtCtrlOperations;
435 typedef struct StdVideoEncodeH264PictureInfo {
436 StdVideoEncodeH264PictureInfoFlags flags;
437 deUint8 seq_parameter_set_id;
438 deUint8 pic_parameter_set_id;
439 StdVideoH264PictureType pictureType;
442 } StdVideoEncodeH264PictureInfo;
444 typedef struct StdVideoEncodeH264ReferenceInfo {
445 StdVideoEncodeH264ReferenceInfoFlags flags;
448 deUint16 long_term_pic_num;
449 deUint16 long_term_frame_idx;
450 } StdVideoEncodeH264ReferenceInfo;
452 typedef struct StdVideoEncodeH264SliceHeader {
453 StdVideoEncodeH264SliceHeaderFlags flags;
454 deUint32 first_mb_in_slice;
455 StdVideoH264SliceType slice_type;
457 deUint8 num_ref_idx_l0_active_minus1;
458 deUint8 num_ref_idx_l1_active_minus1;
459 StdVideoH264CabacInitIdc cabac_init_idc;
460 StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
461 deInt8 slice_alpha_c0_offset_div2;
462 deInt8 slice_beta_offset_div2;
463 const StdVideoEncodeH264WeightTable* pWeightTable;
464 } StdVideoEncodeH264SliceHeader;
472 #ifndef VULKAN_VIDEO_CODEC_H265STD_H_
473 #define VULKAN_VIDEO_CODEC_H265STD_H_ 1
476 ** Copyright 2015-2022 The Khronos Group Inc.
478 ** SPDX-License-Identifier: Apache-2.0
482 ** This header is generated from the Khronos Vulkan XML API Registry.
493 #define vulkan_video_codec_h265std 1
494 #define STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE 7
495 #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
496 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6
497 #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16
498 #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6
499 #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64
500 #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6
501 #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64
502 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2
503 #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64
504 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3
505 #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
506 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
507 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
508 #define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
509 #define STD_VIDEO_H265_MAX_NUM_LIST_REF 15
510 #define STD_VIDEO_H265_MAX_CHROMA_PLANES 2
512 typedef enum StdVideoH265ChromaFormatIdc {
513 STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0,
514 STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1,
515 STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2,
516 STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3,
517 STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
518 STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
519 } StdVideoH265ChromaFormatIdc;
521 typedef enum StdVideoH265ProfileIdc {
522 STD_VIDEO_H265_PROFILE_IDC_MAIN = 1,
523 STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2,
524 STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3,
525 STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4,
526 STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9,
527 STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF,
528 STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
529 } StdVideoH265ProfileIdc;
531 typedef enum StdVideoH265Level {
532 STD_VIDEO_H265_LEVEL_1_0 = 0,
533 STD_VIDEO_H265_LEVEL_2_0 = 1,
534 STD_VIDEO_H265_LEVEL_2_1 = 2,
535 STD_VIDEO_H265_LEVEL_3_0 = 3,
536 STD_VIDEO_H265_LEVEL_3_1 = 4,
537 STD_VIDEO_H265_LEVEL_4_0 = 5,
538 STD_VIDEO_H265_LEVEL_4_1 = 6,
539 STD_VIDEO_H265_LEVEL_5_0 = 7,
540 STD_VIDEO_H265_LEVEL_5_1 = 8,
541 STD_VIDEO_H265_LEVEL_5_2 = 9,
542 STD_VIDEO_H265_LEVEL_6_0 = 10,
543 STD_VIDEO_H265_LEVEL_6_1 = 11,
544 STD_VIDEO_H265_LEVEL_6_2 = 12,
545 STD_VIDEO_H265_LEVEL_INVALID = 0x7FFFFFFF,
546 STD_VIDEO_H265_LEVEL_MAX_ENUM = 0x7FFFFFFF
549 typedef enum StdVideoH265SliceType {
550 STD_VIDEO_H265_SLICE_TYPE_B = 0,
551 STD_VIDEO_H265_SLICE_TYPE_P = 1,
552 STD_VIDEO_H265_SLICE_TYPE_I = 2,
553 STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF,
554 STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
555 } StdVideoH265SliceType;
557 typedef enum StdVideoH265PictureType {
558 STD_VIDEO_H265_PICTURE_TYPE_P = 0,
559 STD_VIDEO_H265_PICTURE_TYPE_B = 1,
560 STD_VIDEO_H265_PICTURE_TYPE_I = 2,
561 STD_VIDEO_H265_PICTURE_TYPE_IDR = 3,
562 STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
563 STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
564 } StdVideoH265PictureType;
565 typedef struct StdVideoH265DecPicBufMgr {
566 deUint32 max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
567 deUint8 max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
568 deUint8 max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
569 } StdVideoH265DecPicBufMgr;
571 typedef struct StdVideoH265SubLayerHrdParameters {
572 deUint32 bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
573 deUint32 cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
574 deUint32 cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
575 deUint32 bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
577 } StdVideoH265SubLayerHrdParameters;
579 typedef struct StdVideoH265HrdFlags {
580 deUint32 nal_hrd_parameters_present_flag : 1;
581 deUint32 vcl_hrd_parameters_present_flag : 1;
582 deUint32 sub_pic_hrd_params_present_flag : 1;
583 deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
584 deUint32 fixed_pic_rate_general_flag : 8;
585 deUint32 fixed_pic_rate_within_cvs_flag : 8;
586 deUint32 low_delay_hrd_flag : 8;
587 } StdVideoH265HrdFlags;
589 typedef struct StdVideoH265HrdParameters {
590 StdVideoH265HrdFlags flags;
591 deUint8 tick_divisor_minus2;
592 deUint8 du_cpb_removal_delay_increment_length_minus1;
593 deUint8 dpb_output_delay_du_length_minus1;
594 deUint8 bit_rate_scale;
595 deUint8 cpb_size_scale;
596 deUint8 cpb_size_du_scale;
597 deUint8 initial_cpb_removal_delay_length_minus1;
598 deUint8 au_cpb_removal_delay_length_minus1;
599 deUint8 dpb_output_delay_length_minus1;
600 deUint8 cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
601 deUint16 elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
602 const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
603 const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl[STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE];
604 } StdVideoH265HrdParameters;
606 typedef struct StdVideoH265VpsFlags {
607 deUint32 vps_temporal_id_nesting_flag : 1;
608 deUint32 vps_sub_layer_ordering_info_present_flag : 1;
609 deUint32 vps_timing_info_present_flag : 1;
610 deUint32 vps_poc_proportional_to_timing_flag : 1;
611 } StdVideoH265VpsFlags;
613 typedef struct StdVideoH265VideoParameterSet {
614 StdVideoH265VpsFlags flags;
615 deUint8 vps_video_parameter_set_id;
616 deUint8 vps_max_sub_layers_minus1;
617 deUint32 vps_num_units_in_tick;
618 deUint32 vps_time_scale;
619 deUint32 vps_num_ticks_poc_diff_one_minus1;
620 const StdVideoH265DecPicBufMgr* pDecPicBufMgr;
621 const StdVideoH265HrdParameters* pHrdParameters;
622 } StdVideoH265VideoParameterSet;
624 typedef struct StdVideoH265ScalingLists {
625 deUint8 ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS];
626 deUint8 ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS];
627 deUint8 ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS];
628 deUint8 ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS];
629 deUint8 ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS];
630 deUint8 ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS];
631 } StdVideoH265ScalingLists;
633 typedef struct StdVideoH265SpsVuiFlags {
634 deUint32 aspect_ratio_info_present_flag : 1;
635 deUint32 overscan_info_present_flag : 1;
636 deUint32 overscan_appropriate_flag : 1;
637 deUint32 video_signal_type_present_flag : 1;
638 deUint32 video_full_range_flag : 1;
639 deUint32 colour_description_present_flag : 1;
640 deUint32 chroma_loc_info_present_flag : 1;
641 deUint32 neutral_chroma_indication_flag : 1;
642 deUint32 field_seq_flag : 1;
643 deUint32 frame_field_info_present_flag : 1;
644 deUint32 default_display_window_flag : 1;
645 deUint32 vui_timing_info_present_flag : 1;
646 deUint32 vui_poc_proportional_to_timing_flag : 1;
647 deUint32 vui_hrd_parameters_present_flag : 1;
648 deUint32 bitstream_restriction_flag : 1;
649 deUint32 tiles_fixed_structure_flag : 1;
650 deUint32 motion_vectors_over_pic_boundaries_flag : 1;
651 deUint32 restricted_ref_pic_lists_flag : 1;
652 } StdVideoH265SpsVuiFlags;
654 typedef struct StdVideoH265SequenceParameterSetVui {
655 StdVideoH265SpsVuiFlags flags;
656 deUint8 aspect_ratio_idc;
659 deUint8 video_format;
660 deUint8 colour_primaries;
661 deUint8 transfer_characteristics;
662 deUint8 matrix_coeffs;
663 deUint8 chroma_sample_loc_type_top_field;
664 deUint8 chroma_sample_loc_type_bottom_field;
665 deUint16 def_disp_win_left_offset;
666 deUint16 def_disp_win_right_offset;
667 deUint16 def_disp_win_top_offset;
668 deUint16 def_disp_win_bottom_offset;
669 deUint32 vui_num_units_in_tick;
670 deUint32 vui_time_scale;
671 deUint32 vui_num_ticks_poc_diff_one_minus1;
672 const StdVideoH265HrdParameters* pHrdParameters;
673 deUint16 min_spatial_segmentation_idc;
674 deUint8 max_bytes_per_pic_denom;
675 deUint8 max_bits_per_min_cu_denom;
676 deUint8 log2_max_mv_length_horizontal;
677 deUint8 log2_max_mv_length_vertical;
678 } StdVideoH265SequenceParameterSetVui;
680 typedef struct StdVideoH265PredictorPaletteEntries {
681 deUint16 PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE];
682 } StdVideoH265PredictorPaletteEntries;
684 typedef struct StdVideoH265SpsFlags {
685 deUint32 sps_temporal_id_nesting_flag : 1;
686 deUint32 separate_colour_plane_flag : 1;
687 deUint32 scaling_list_enabled_flag : 1;
688 deUint32 sps_scaling_list_data_present_flag : 1;
689 deUint32 amp_enabled_flag : 1;
690 deUint32 sample_adaptive_offset_enabled_flag : 1;
691 deUint32 pcm_enabled_flag : 1;
692 deUint32 pcm_loop_filter_disabled_flag : 1;
693 deUint32 long_term_ref_pics_present_flag : 1;
694 deUint32 sps_temporal_mvp_enabled_flag : 1;
695 deUint32 strong_intra_smoothing_enabled_flag : 1;
696 deUint32 vui_parameters_present_flag : 1;
697 deUint32 sps_extension_present_flag : 1;
698 deUint32 sps_range_extension_flag : 1;
699 deUint32 transform_skip_rotation_enabled_flag : 1;
700 deUint32 transform_skip_context_enabled_flag : 1;
701 deUint32 implicit_rdpcm_enabled_flag : 1;
702 deUint32 explicit_rdpcm_enabled_flag : 1;
703 deUint32 extended_precision_processing_flag : 1;
704 deUint32 intra_smoothing_disabled_flag : 1;
705 deUint32 high_precision_offsets_enabled_flag : 1;
706 deUint32 persistent_rice_adaptation_enabled_flag : 1;
707 deUint32 cabac_bypass_alignment_enabled_flag : 1;
708 deUint32 sps_scc_extension_flag : 1;
709 deUint32 sps_curr_pic_ref_enabled_flag : 1;
710 deUint32 palette_mode_enabled_flag : 1;
711 deUint32 sps_palette_predictor_initializer_present_flag : 1;
712 deUint32 intra_boundary_filtering_disabled_flag : 1;
713 } StdVideoH265SpsFlags;
715 typedef struct StdVideoH265SequenceParameterSet {
716 StdVideoH265SpsFlags flags;
717 StdVideoH265ProfileIdc profile_idc;
718 StdVideoH265Level level_idc;
719 deUint32 pic_width_in_luma_samples;
720 deUint32 pic_height_in_luma_samples;
721 deUint8 sps_video_parameter_set_id;
722 deUint8 sps_max_sub_layers_minus1;
723 deUint8 sps_seq_parameter_set_id;
724 deUint8 chroma_format_idc;
725 deUint8 bit_depth_luma_minus8;
726 deUint8 bit_depth_chroma_minus8;
727 deUint8 log2_max_pic_order_cnt_lsb_minus4;
728 deUint8 log2_min_luma_coding_block_size_minus3;
729 deUint8 log2_diff_max_min_luma_coding_block_size;
730 deUint8 log2_min_luma_transform_block_size_minus2;
731 deUint8 log2_diff_max_min_luma_transform_block_size;
732 deUint8 max_transform_hierarchy_depth_inter;
733 deUint8 max_transform_hierarchy_depth_intra;
734 deUint8 num_short_term_ref_pic_sets;
735 deUint8 num_long_term_ref_pics_sps;
736 deUint8 pcm_sample_bit_depth_luma_minus1;
737 deUint8 pcm_sample_bit_depth_chroma_minus1;
738 deUint8 log2_min_pcm_luma_coding_block_size_minus3;
739 deUint8 log2_diff_max_min_pcm_luma_coding_block_size;
740 deUint32 conf_win_left_offset;
741 deUint32 conf_win_right_offset;
742 deUint32 conf_win_top_offset;
743 deUint32 conf_win_bottom_offset;
744 const StdVideoH265DecPicBufMgr* pDecPicBufMgr;
745 const StdVideoH265ScalingLists* pScalingLists;
746 const StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui;
747 deUint8 palette_max_size;
748 deUint8 delta_palette_max_predictor_size;
749 deUint8 motion_vector_resolution_control_idc;
750 deUint8 sps_num_palette_predictor_initializer_minus1;
751 const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
752 } StdVideoH265SequenceParameterSet;
754 typedef struct StdVideoH265PpsFlags {
755 deUint32 dependent_slice_segments_enabled_flag : 1;
756 deUint32 output_flag_present_flag : 1;
757 deUint32 sign_data_hiding_enabled_flag : 1;
758 deUint32 cabac_init_present_flag : 1;
759 deUint32 constrained_intra_pred_flag : 1;
760 deUint32 transform_skip_enabled_flag : 1;
761 deUint32 cu_qp_delta_enabled_flag : 1;
762 deUint32 pps_slice_chroma_qp_offsets_present_flag : 1;
763 deUint32 weighted_pred_flag : 1;
764 deUint32 weighted_bipred_flag : 1;
765 deUint32 transquant_bypass_enabled_flag : 1;
766 deUint32 tiles_enabled_flag : 1;
767 deUint32 entropy_coding_sync_enabled_flag : 1;
768 deUint32 uniform_spacing_flag : 1;
769 deUint32 loop_filter_across_tiles_enabled_flag : 1;
770 deUint32 pps_loop_filter_across_slices_enabled_flag : 1;
771 deUint32 deblocking_filter_control_present_flag : 1;
772 deUint32 deblocking_filter_override_enabled_flag : 1;
773 deUint32 pps_deblocking_filter_disabled_flag : 1;
774 deUint32 pps_scaling_list_data_present_flag : 1;
775 deUint32 lists_modification_present_flag : 1;
776 deUint32 slice_segment_header_extension_present_flag : 1;
777 deUint32 pps_extension_present_flag : 1;
778 deUint32 cross_component_prediction_enabled_flag : 1;
779 deUint32 chroma_qp_offset_list_enabled_flag : 1;
780 deUint32 pps_curr_pic_ref_enabled_flag : 1;
781 deUint32 residual_adaptive_colour_transform_enabled_flag : 1;
782 deUint32 pps_slice_act_qp_offsets_present_flag : 1;
783 deUint32 pps_palette_predictor_initializer_present_flag : 1;
784 deUint32 monochrome_palette_flag : 1;
785 deUint32 pps_range_extension_flag : 1;
786 } StdVideoH265PpsFlags;
788 typedef struct StdVideoH265PictureParameterSet {
789 StdVideoH265PpsFlags flags;
790 deUint8 pps_pic_parameter_set_id;
791 deUint8 pps_seq_parameter_set_id;
792 deUint8 num_extra_slice_header_bits;
793 deUint8 num_ref_idx_l0_default_active_minus1;
794 deUint8 num_ref_idx_l1_default_active_minus1;
795 deInt8 init_qp_minus26;
796 deUint8 diff_cu_qp_delta_depth;
797 deInt8 pps_cb_qp_offset;
798 deInt8 pps_cr_qp_offset;
799 deUint8 num_tile_columns_minus1;
800 deUint8 num_tile_rows_minus1;
801 deUint16 column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
802 deUint16 row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
803 deInt8 pps_beta_offset_div2;
804 deInt8 pps_tc_offset_div2;
805 deUint8 log2_parallel_merge_level_minus2;
806 const StdVideoH265ScalingLists* pScalingLists;
807 deUint8 log2_max_transform_skip_block_size_minus2;
808 deUint8 diff_cu_chroma_qp_offset_depth;
809 deUint8 chroma_qp_offset_list_len_minus1;
810 deInt8 cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
811 deInt8 cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
812 deUint8 log2_sao_offset_scale_luma;
813 deUint8 log2_sao_offset_scale_chroma;
814 deInt8 pps_act_y_qp_offset_plus5;
815 deInt8 pps_act_cb_qp_offset_plus5;
816 deInt8 pps_act_cr_qp_offset_plus5;
817 deUint8 pps_num_palette_predictor_initializer;
818 deUint8 luma_bit_depth_entry_minus8;
819 deUint8 chroma_bit_depth_entry_minus8;
820 const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
821 } StdVideoH265PictureParameterSet;
829 #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
830 #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
833 ** Copyright 2015-2022 The Khronos Group Inc.
835 ** SPDX-License-Identifier: Apache-2.0
839 ** This header is generated from the Khronos Vulkan XML API Registry.
850 #define vulkan_video_codec_h264std_decode 1
851 // Vulkan 0.9 provisional Vulkan video H.264 decode std specification version number
852 #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
854 #define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
855 #define STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE 15
856 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6
857 #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
859 typedef enum StdVideoDecodeH264FieldOrderCount {
860 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
861 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
862 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF,
863 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF
864 } StdVideoDecodeH264FieldOrderCount;
865 typedef struct StdVideoDecodeH264PictureInfoFlags {
866 deUint32 field_pic_flag : 1;
867 deUint32 is_intra : 1;
868 deUint32 IdrPicFlag : 1;
869 deUint32 bottom_field_flag : 1;
870 deUint32 is_reference : 1;
871 deUint32 complementary_field_pair : 1;
872 } StdVideoDecodeH264PictureInfoFlags;
874 typedef struct StdVideoDecodeH264PictureInfo {
875 StdVideoDecodeH264PictureInfoFlags flags;
876 deUint8 seq_parameter_set_id;
877 deUint8 pic_parameter_set_id;
881 deInt32 PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
882 } StdVideoDecodeH264PictureInfo;
884 typedef struct StdVideoDecodeH264ReferenceInfoFlags {
885 deUint32 top_field_flag : 1;
886 deUint32 bottom_field_flag : 1;
887 deUint32 used_for_long_term_reference : 1;
888 deUint32 is_non_existing : 1;
889 } StdVideoDecodeH264ReferenceInfoFlags;
891 typedef struct StdVideoDecodeH264ReferenceInfo {
892 StdVideoDecodeH264ReferenceInfoFlags flags;
895 deInt32 PicOrderCnt[2];
896 } StdVideoDecodeH264ReferenceInfo;
898 typedef struct StdVideoDecodeH264MvcElementFlags {
899 deUint32 non_idr : 1;
900 deUint32 anchor_pic : 1;
901 deUint32 inter_view : 1;
902 } StdVideoDecodeH264MvcElementFlags;
904 typedef struct StdVideoDecodeH264MvcElement {
905 StdVideoDecodeH264MvcElementFlags flags;
906 deUint16 viewOrderIndex;
910 deUint16 numOfAnchorRefsInL0;
911 deUint16 viewIdOfAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
912 deUint16 numOfAnchorRefsInL1;
913 deUint16 viewIdOfAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
914 deUint16 numOfNonAnchorRefsInL0;
915 deUint16 viewIdOfNonAnchorRefsInL0[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
916 deUint16 numOfNonAnchorRefsInL1;
917 deUint16 viewIdOfNonAnchorRefsInL1[STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE];
918 } StdVideoDecodeH264MvcElement;
920 typedef struct StdVideoDecodeH264Mvc {
922 deUint32 mvcElementCount;
923 const StdVideoDecodeH264MvcElement* pMvcElements;
924 } StdVideoDecodeH264Mvc;
932 #ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
933 #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
936 ** Copyright 2015-2022 The Khronos Group Inc.
938 ** SPDX-License-Identifier: Apache-2.0
942 ** This header is generated from the Khronos Vulkan XML API Registry.
953 #define vulkan_video_codec_h265std_decode 1
954 // Vulkan 0.9 provisional Vulkan video H.265 decode std specification version number
955 #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
957 #define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
958 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_7
959 #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode"
960 typedef struct StdVideoDecodeH265PictureInfoFlags {
961 deUint32 IrapPicFlag : 1;
962 deUint32 IdrPicFlag : 1;
963 deUint32 IsReference : 1;
964 deUint32 short_term_ref_pic_set_sps_flag : 1;
965 } StdVideoDecodeH265PictureInfoFlags;
967 typedef struct StdVideoDecodeH265PictureInfo {
968 StdVideoDecodeH265PictureInfoFlags flags;
969 deUint8 sps_video_parameter_set_id;
970 deUint8 pps_seq_parameter_set_id;
971 deUint8 pps_pic_parameter_set_id;
972 deUint8 num_short_term_ref_pic_sets;
973 deInt32 PicOrderCntVal;
974 deUint16 NumBitsForSTRefPicSetInSlice;
975 deUint8 NumDeltaPocsOfRefRpsIdx;
976 deUint8 RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
977 deUint8 RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
978 deUint8 RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
979 } StdVideoDecodeH265PictureInfo;
981 typedef struct StdVideoDecodeH265ReferenceInfoFlags {
982 deUint32 used_for_long_term_reference : 1;
983 deUint32 unused_for_reference : 1;
984 deUint32 is_non_existing : 1;
985 } StdVideoDecodeH265ReferenceInfoFlags;
987 typedef struct StdVideoDecodeH265ReferenceInfo {
988 StdVideoDecodeH265ReferenceInfoFlags flags;
989 deInt32 PicOrderCntVal;
990 } StdVideoDecodeH265ReferenceInfo;
998 #ifndef VULKAN_CORE_H_
999 #define VULKAN_CORE_H_ 1
1002 ** Copyright 2015-2022 The Khronos Group Inc.
1004 ** SPDX-License-Identifier: Apache-2.0
1008 ** This header is generated from the Khronos Vulkan XML API Registry.
1019 #define VK_VERSION_1_0 1
1022 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
1025 #ifndef VK_USE_64_BIT_PTR_DEFINES
1026 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
1027 #define VK_USE_64_BIT_PTR_DEFINES 1
1029 #define VK_USE_64_BIT_PTR_DEFINES 0
1034 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
1035 #if (VK_USE_64_BIT_PTR_DEFINES==1)
1036 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
1037 #define VK_NULL_HANDLE nullptr
1039 #define VK_NULL_HANDLE ((void*)0)
1042 #define VK_NULL_HANDLE 0ULL
1045 #ifndef VK_NULL_HANDLE
1046 #define VK_NULL_HANDLE 0
1050 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
1051 #if (VK_USE_64_BIT_PTR_DEFINES==1)
1052 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
1054 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
1058 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
1059 #define VK_MAKE_VERSION(major, minor, patch) \
1060 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
1062 // 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.
1063 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
1065 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
1066 ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
1068 // Vulkan 1.0 version number
1069 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
1071 // Version of this file
1072 #define VK_HEADER_VERSION 213
1074 // Complete version of this file
1075 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
1077 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
1078 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
1080 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
1081 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
1083 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
1084 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
1086 #define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29)
1087 #define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU)
1088 #define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
1089 #define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
1090 typedef deUint32 VkBool32;
1091 typedef deUint64 VkDeviceAddress;
1092 typedef deUint64 VkDeviceSize;
1093 typedef deUint32 VkFlags;
1094 typedef deUint32 VkSampleMask;
1095 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
1096 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
1097 VK_DEFINE_HANDLE(VkInstance)
1098 VK_DEFINE_HANDLE(VkPhysicalDevice)
1099 VK_DEFINE_HANDLE(VkDevice)
1100 VK_DEFINE_HANDLE(VkQueue)
1101 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
1102 VK_DEFINE_HANDLE(VkCommandBuffer)
1103 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
1104 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
1105 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
1106 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
1107 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
1108 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
1109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
1110 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
1111 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
1112 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
1113 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
1114 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
1115 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
1116 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
1117 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
1118 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
1119 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
1120 #define VK_UUID_SIZE 16U
1121 #define VK_ATTACHMENT_UNUSED (~0U)
1123 #define VK_LOD_CLAMP_NONE 1000.0F
1124 #define VK_QUEUE_FAMILY_IGNORED (~0U)
1125 #define VK_REMAINING_ARRAY_LAYERS (~0U)
1126 #define VK_REMAINING_MIP_LEVELS (~0U)
1127 #define VK_SUBPASS_EXTERNAL (~0U)
1129 #define VK_WHOLE_SIZE (~0ULL)
1130 #define VK_MAX_MEMORY_TYPES 32U
1131 #define VK_MAX_MEMORY_HEAPS 16U
1132 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
1133 #define VK_MAX_EXTENSION_NAME_SIZE 256U
1134 #define VK_MAX_DESCRIPTION_SIZE 256U
1136 typedef enum VkResult {
1143 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
1144 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
1145 VK_ERROR_INITIALIZATION_FAILED = -3,
1146 VK_ERROR_DEVICE_LOST = -4,
1147 VK_ERROR_MEMORY_MAP_FAILED = -5,
1148 VK_ERROR_LAYER_NOT_PRESENT = -6,
1149 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
1150 VK_ERROR_FEATURE_NOT_PRESENT = -8,
1151 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
1152 VK_ERROR_TOO_MANY_OBJECTS = -10,
1153 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
1154 VK_ERROR_FRAGMENTED_POOL = -12,
1155 VK_ERROR_UNKNOWN = -13,
1156 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
1157 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
1158 VK_ERROR_FRAGMENTATION = -1000161000,
1159 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
1160 VK_PIPELINE_COMPILE_REQUIRED = 1000297000,
1161 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
1162 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
1163 VK_SUBOPTIMAL_KHR = 1000001003,
1164 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
1165 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
1166 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
1167 VK_ERROR_INVALID_SHADER_NV = -1000012000,
1168 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
1169 VK_ERROR_NOT_PERMITTED_KHR = -1000174001,
1170 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
1171 VK_THREAD_IDLE_KHR = 1000268000,
1172 VK_THREAD_DONE_KHR = 1000268001,
1173 VK_OPERATION_DEFERRED_KHR = 1000268002,
1174 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
1175 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
1176 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
1177 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
1178 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
1179 VK_ERROR_NOT_PERMITTED_EXT = VK_ERROR_NOT_PERMITTED_KHR,
1180 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1181 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1182 VK_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
1183 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED,
1184 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
1187 typedef enum VkStructureType {
1188 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1189 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1190 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1191 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1192 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1193 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1194 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1195 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1196 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1197 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1198 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1199 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1200 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1201 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1202 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1203 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1204 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1205 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1206 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1207 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1208 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1209 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1210 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1211 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1212 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1213 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1214 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1215 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1216 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1217 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1218 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1219 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1220 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1221 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1222 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1223 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1224 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1225 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1226 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1227 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1228 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1229 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1230 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1231 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1232 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1233 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1234 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1235 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1236 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1237 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
1238 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
1239 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
1240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
1241 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
1242 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
1243 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
1244 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
1245 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
1246 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
1247 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
1248 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
1249 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
1250 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
1251 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
1252 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
1253 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
1254 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
1255 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
1256 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
1257 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
1258 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
1259 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
1260 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
1261 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
1262 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
1263 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
1264 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
1265 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
1266 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
1267 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
1268 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
1269 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
1270 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
1271 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
1272 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
1273 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
1274 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
1275 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
1276 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
1277 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
1278 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
1279 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
1280 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
1281 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
1282 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
1283 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
1284 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
1285 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
1286 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
1287 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
1288 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1289 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1290 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1291 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1292 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1293 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1294 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1295 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1296 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1297 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1298 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1299 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1300 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1301 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
1302 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
1303 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
1304 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
1305 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
1306 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
1307 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
1308 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
1309 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
1310 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
1311 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
1312 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
1313 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
1314 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
1315 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
1316 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
1317 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
1318 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
1319 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
1320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
1321 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
1322 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
1323 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
1324 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
1325 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
1326 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
1327 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
1328 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
1329 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
1330 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
1332 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
1333 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
1334 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
1335 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
1336 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
1337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
1338 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
1339 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
1340 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
1341 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
1342 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
1343 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
1344 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
1345 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
1346 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
1347 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
1348 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
1349 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
1350 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
1351 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
1352 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES = 53,
1353 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES = 54,
1354 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO = 1000192000,
1355 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES = 1000215000,
1356 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES = 1000245000,
1357 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES = 1000276000,
1358 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES = 1000295000,
1359 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO = 1000295001,
1360 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO = 1000295002,
1361 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES = 1000297000,
1362 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2 = 1000314000,
1363 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2 = 1000314001,
1364 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 = 1000314002,
1365 VK_STRUCTURE_TYPE_DEPENDENCY_INFO = 1000314003,
1366 VK_STRUCTURE_TYPE_SUBMIT_INFO_2 = 1000314004,
1367 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO = 1000314005,
1368 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO = 1000314006,
1369 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES = 1000314007,
1370 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES = 1000325000,
1371 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES = 1000335000,
1372 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2 = 1000337000,
1373 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2 = 1000337001,
1374 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2 = 1000337002,
1375 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2 = 1000337003,
1376 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2 = 1000337004,
1377 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2 = 1000337005,
1378 VK_STRUCTURE_TYPE_BUFFER_COPY_2 = 1000337006,
1379 VK_STRUCTURE_TYPE_IMAGE_COPY_2 = 1000337007,
1380 VK_STRUCTURE_TYPE_IMAGE_BLIT_2 = 1000337008,
1381 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2 = 1000337009,
1382 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2 = 1000337010,
1383 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES = 1000225000,
1384 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO = 1000225001,
1385 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES = 1000225002,
1386 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES = 1000138000,
1387 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES = 1000138001,
1388 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK = 1000138002,
1389 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO = 1000138003,
1390 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES = 1000066000,
1391 VK_STRUCTURE_TYPE_RENDERING_INFO = 1000044000,
1392 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO = 1000044001,
1393 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO = 1000044002,
1394 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES = 1000044003,
1395 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO = 1000044004,
1396 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES = 1000280000,
1397 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES = 1000280001,
1398 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES = 1000281001,
1399 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 = 1000360000,
1400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES = 1000413000,
1401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES = 1000413001,
1402 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS = 1000413002,
1403 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS = 1000413003,
1404 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1405 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1406 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1407 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1408 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1409 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1410 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1411 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1412 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
1413 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
1414 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
1415 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
1416 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
1417 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
1418 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
1419 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
1420 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
1421 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
1422 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
1423 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
1424 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
1425 #ifdef VK_ENABLE_BETA_EXTENSIONS
1426 VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
1428 #ifdef VK_ENABLE_BETA_EXTENSIONS
1429 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
1431 #ifdef VK_ENABLE_BETA_EXTENSIONS
1432 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
1434 #ifdef VK_ENABLE_BETA_EXTENSIONS
1435 VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
1437 #ifdef VK_ENABLE_BETA_EXTENSIONS
1438 VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
1440 #ifdef VK_ENABLE_BETA_EXTENSIONS
1441 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
1443 #ifdef VK_ENABLE_BETA_EXTENSIONS
1444 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
1446 #ifdef VK_ENABLE_BETA_EXTENSIONS
1447 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
1449 #ifdef VK_ENABLE_BETA_EXTENSIONS
1450 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
1452 #ifdef VK_ENABLE_BETA_EXTENSIONS
1453 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
1455 #ifdef VK_ENABLE_BETA_EXTENSIONS
1456 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
1458 #ifdef VK_ENABLE_BETA_EXTENSIONS
1459 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
1461 #ifdef VK_ENABLE_BETA_EXTENSIONS
1462 VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
1464 #ifdef VK_ENABLE_BETA_EXTENSIONS
1465 VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
1467 #ifdef VK_ENABLE_BETA_EXTENSIONS
1468 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
1470 #ifdef VK_ENABLE_BETA_EXTENSIONS
1471 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
1473 #ifdef VK_ENABLE_BETA_EXTENSIONS
1474 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR = 1000023016,
1476 #ifdef VK_ENABLE_BETA_EXTENSIONS
1477 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
1479 #ifdef VK_ENABLE_BETA_EXTENSIONS
1480 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001,
1482 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1483 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1484 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1485 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1486 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1487 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1488 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
1489 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
1490 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
1491 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
1492 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
1493 #ifdef VK_ENABLE_BETA_EXTENSIONS
1494 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
1496 #ifdef VK_ENABLE_BETA_EXTENSIONS
1497 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001,
1499 #ifdef VK_ENABLE_BETA_EXTENSIONS
1500 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002,
1502 #ifdef VK_ENABLE_BETA_EXTENSIONS
1503 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003,
1505 #ifdef VK_ENABLE_BETA_EXTENSIONS
1506 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004,
1508 #ifdef VK_ENABLE_BETA_EXTENSIONS
1509 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038005,
1511 #ifdef VK_ENABLE_BETA_EXTENSIONS
1512 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038006,
1514 #ifdef VK_ENABLE_BETA_EXTENSIONS
1515 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038007,
1517 #ifdef VK_ENABLE_BETA_EXTENSIONS
1518 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008,
1520 #ifdef VK_ENABLE_BETA_EXTENSIONS
1521 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009,
1523 #ifdef VK_ENABLE_BETA_EXTENSIONS
1524 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT = 1000038010,
1526 #ifdef VK_ENABLE_BETA_EXTENSIONS
1527 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
1529 #ifdef VK_ENABLE_BETA_EXTENSIONS
1530 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001,
1532 #ifdef VK_ENABLE_BETA_EXTENSIONS
1533 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002,
1535 #ifdef VK_ENABLE_BETA_EXTENSIONS
1536 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003,
1538 #ifdef VK_ENABLE_BETA_EXTENSIONS
1539 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004,
1541 #ifdef VK_ENABLE_BETA_EXTENSIONS
1542 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT = 1000039005,
1544 #ifdef VK_ENABLE_BETA_EXTENSIONS
1545 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039006,
1547 #ifdef VK_ENABLE_BETA_EXTENSIONS
1548 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT = 1000039007,
1550 #ifdef VK_ENABLE_BETA_EXTENSIONS
1551 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT = 1000039008,
1553 #ifdef VK_ENABLE_BETA_EXTENSIONS
1554 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009,
1556 #ifdef VK_ENABLE_BETA_EXTENSIONS
1557 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010,
1559 #ifdef VK_ENABLE_BETA_EXTENSIONS
1560 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
1562 #ifdef VK_ENABLE_BETA_EXTENSIONS
1563 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040001,
1565 #ifdef VK_ENABLE_BETA_EXTENSIONS
1566 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040002,
1568 #ifdef VK_ENABLE_BETA_EXTENSIONS
1569 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040003,
1571 #ifdef VK_ENABLE_BETA_EXTENSIONS
1572 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040004,
1574 #ifdef VK_ENABLE_BETA_EXTENSIONS
1575 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040005,
1577 #ifdef VK_ENABLE_BETA_EXTENSIONS
1578 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040006,
1580 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1581 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
1582 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
1583 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
1584 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
1585 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1586 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1587 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1588 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1589 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1590 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1591 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1592 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1593 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1594 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1595 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1596 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1597 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1598 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1599 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1600 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1601 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1602 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1603 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1604 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1605 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1606 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1607 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1608 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1609 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1611 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1613 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1614 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1615 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1616 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1617 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1618 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1619 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1620 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1621 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1622 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1623 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1625 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1626 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1627 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1629 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1630 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1631 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1632 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1633 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1634 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1635 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1636 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1637 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1639 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1640 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1641 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1642 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1643 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1644 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1645 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1646 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1647 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1648 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1649 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1650 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1651 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1652 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1653 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1654 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1655 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1656 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1657 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1658 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1659 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1660 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1661 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1662 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1663 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1664 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1665 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006,
1666 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1667 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1668 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1669 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1670 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1673 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1674 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1675 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1676 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1677 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1678 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1679 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1680 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1681 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1682 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1683 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1684 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1685 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1687 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1688 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1689 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1692 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1693 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1694 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1696 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1699 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1701 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1702 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1703 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1704 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = 1000158006,
1705 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1706 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1707 #ifdef VK_ENABLE_BETA_EXTENSIONS
1708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1710 #ifdef VK_ENABLE_BETA_EXTENSIONS
1711 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1713 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1714 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1715 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1716 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1717 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1718 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1719 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1720 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1721 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1722 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1723 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1724 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1726 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1727 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1729 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1731 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1732 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1733 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1734 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1736 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1737 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1739 #ifdef VK_ENABLE_BETA_EXTENSIONS
1740 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1742 #ifdef VK_ENABLE_BETA_EXTENSIONS
1743 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187001,
1745 #ifdef VK_ENABLE_BETA_EXTENSIONS
1746 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187002,
1748 #ifdef VK_ENABLE_BETA_EXTENSIONS
1749 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187003,
1751 #ifdef VK_ENABLE_BETA_EXTENSIONS
1752 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187004,
1754 #ifdef VK_ENABLE_BETA_EXTENSIONS
1755 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187005,
1757 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000,
1758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000,
1759 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001,
1760 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1761 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1762 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1763 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1764 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1765 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1766 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1768 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
1769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1770 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1772 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1773 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1775 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1776 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1777 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1778 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1779 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1780 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1781 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1782 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1783 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1784 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1785 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1786 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1788 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1789 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1790 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1795 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1797 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1798 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1799 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1800 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1803 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1804 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
1806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
1807 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
1808 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
1809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
1810 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
1811 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
1812 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
1813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
1814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
1815 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
1816 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
1817 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
1818 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
1819 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
1820 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
1821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
1822 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
1823 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
1824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
1825 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
1826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
1827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
1828 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
1829 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
1830 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
1831 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
1832 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
1833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
1834 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
1835 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
1836 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
1837 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
1838 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
1839 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
1840 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
1841 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
1842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
1843 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
1844 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
1845 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
1846 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
1847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
1848 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
1849 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
1850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
1851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
1852 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
1853 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
1854 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
1855 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
1856 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
1857 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
1858 #ifdef VK_ENABLE_BETA_EXTENSIONS
1859 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
1861 #ifdef VK_ENABLE_BETA_EXTENSIONS
1862 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
1864 #ifdef VK_ENABLE_BETA_EXTENSIONS
1865 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
1867 #ifdef VK_ENABLE_BETA_EXTENSIONS
1868 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
1870 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1871 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1872 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1873 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1874 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
1875 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
1876 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
1877 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
1878 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1880 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1881 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
1882 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
1883 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
1884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1885 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1887 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1888 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1889 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000,
1890 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001,
1891 VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002,
1892 VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003,
1893 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
1894 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1895 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000,
1896 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
1897 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1898 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1899 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1900 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1901 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1902 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1903 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
1904 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000,
1905 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001,
1906 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
1907 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1908 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1909 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1910 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1911 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1912 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA = 1000366000,
1913 VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA = 1000366001,
1914 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = 1000366002,
1915 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA = 1000366003,
1916 VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA = 1000366004,
1917 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = 1000366005,
1918 VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA = 1000366006,
1919 VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
1920 VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
1921 VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
1922 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
1923 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
1924 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
1925 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
1926 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
1927 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
1928 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
1929 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
1930 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1931 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1933 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1934 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT = 1000382000,
1935 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR = 1000386000,
1936 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT = 1000391000,
1937 VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001,
1938 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
1939 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
1940 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
1941 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000,
1942 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001,
1943 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000,
1944 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
1945 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
1946 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
1947 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
1948 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
1949 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
1950 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
1951 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
1952 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
1953 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
1954 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_INFO_EXT = 1000458002,
1955 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_INFO_EXT = 1000458003,
1956 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000,
1957 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001,
1958 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
1959 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
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_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
2066 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
2067 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
2068 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
2069 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
2070 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
2071 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
2072 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
2073 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
2074 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
2075 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES,
2076 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
2077 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
2078 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
2079 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
2080 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
2081 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
2082 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
2083 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES,
2084 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
2085 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
2086 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
2087 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
2088 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
2089 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
2090 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
2091 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
2092 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
2093 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
2094 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES,
2095 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
2096 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
2097 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO,
2098 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO,
2099 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
2100 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_MEMORY_BARRIER_2,
2101 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2,
2102 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2,
2103 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = VK_STRUCTURE_TYPE_DEPENDENCY_INFO,
2104 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = VK_STRUCTURE_TYPE_SUBMIT_INFO_2,
2105 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO,
2106 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO,
2107 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
2108 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
2109 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
2110 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2,
2111 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2,
2112 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2,
2113 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2,
2114 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2,
2115 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2,
2116 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2,
2117 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2,
2118 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2,
2119 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2,
2120 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2,
2121 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3,
2122 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR,
2123 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR,
2124 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR,
2125 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
2126 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
2127 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
2128 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
2129 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
2132 typedef enum VkImageLayout {
2133 VK_IMAGE_LAYOUT_UNDEFINED = 0,
2134 VK_IMAGE_LAYOUT_GENERAL = 1,
2135 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
2136 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
2137 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
2138 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
2139 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
2140 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
2141 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
2142 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
2143 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
2144 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
2145 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
2146 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
2147 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
2148 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000,
2149 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001,
2150 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
2151 #ifdef VK_ENABLE_BETA_EXTENSIONS
2152 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
2154 #ifdef VK_ENABLE_BETA_EXTENSIONS
2155 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
2157 #ifdef VK_ENABLE_BETA_EXTENSIONS
2158 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
2160 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
2161 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
2162 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
2163 #ifdef VK_ENABLE_BETA_EXTENSIONS
2164 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
2166 #ifdef VK_ENABLE_BETA_EXTENSIONS
2167 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
2169 #ifdef VK_ENABLE_BETA_EXTENSIONS
2170 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
2172 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
2173 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
2174 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
2175 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
2176 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
2177 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
2178 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
2179 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL,
2180 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL,
2181 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
2184 typedef enum VkObjectType {
2185 VK_OBJECT_TYPE_UNKNOWN = 0,
2186 VK_OBJECT_TYPE_INSTANCE = 1,
2187 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
2188 VK_OBJECT_TYPE_DEVICE = 3,
2189 VK_OBJECT_TYPE_QUEUE = 4,
2190 VK_OBJECT_TYPE_SEMAPHORE = 5,
2191 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
2192 VK_OBJECT_TYPE_FENCE = 7,
2193 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
2194 VK_OBJECT_TYPE_BUFFER = 9,
2195 VK_OBJECT_TYPE_IMAGE = 10,
2196 VK_OBJECT_TYPE_EVENT = 11,
2197 VK_OBJECT_TYPE_QUERY_POOL = 12,
2198 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
2199 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
2200 VK_OBJECT_TYPE_SHADER_MODULE = 15,
2201 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
2202 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
2203 VK_OBJECT_TYPE_RENDER_PASS = 18,
2204 VK_OBJECT_TYPE_PIPELINE = 19,
2205 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
2206 VK_OBJECT_TYPE_SAMPLER = 21,
2207 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
2208 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
2209 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
2210 VK_OBJECT_TYPE_COMMAND_POOL = 25,
2211 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
2212 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
2213 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT = 1000295000,
2214 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
2215 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
2216 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
2217 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
2218 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
2219 #ifdef VK_ENABLE_BETA_EXTENSIONS
2220 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
2222 #ifdef VK_ENABLE_BETA_EXTENSIONS
2223 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
2225 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
2226 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
2227 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
2228 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2229 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
2230 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2231 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
2232 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
2233 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
2234 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
2235 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
2236 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
2237 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
2238 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
2241 typedef enum VkPipelineCacheHeaderVersion {
2242 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
2243 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
2244 } VkPipelineCacheHeaderVersion;
2246 typedef enum VkVendorId {
2247 VK_VENDOR_ID_VIV = 0x10001,
2248 VK_VENDOR_ID_VSI = 0x10002,
2249 VK_VENDOR_ID_KAZAN = 0x10003,
2250 VK_VENDOR_ID_CODEPLAY = 0x10004,
2251 VK_VENDOR_ID_MESA = 0x10005,
2252 VK_VENDOR_ID_POCL = 0x10006,
2253 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
2256 typedef enum VkSystemAllocationScope {
2257 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
2258 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
2259 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
2260 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
2261 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
2262 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
2263 } VkSystemAllocationScope;
2265 typedef enum VkInternalAllocationType {
2266 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
2267 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
2268 } VkInternalAllocationType;
2270 typedef enum VkFormat {
2271 VK_FORMAT_UNDEFINED = 0,
2272 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
2273 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
2274 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
2275 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
2276 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
2277 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
2278 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
2279 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
2280 VK_FORMAT_R8_UNORM = 9,
2281 VK_FORMAT_R8_SNORM = 10,
2282 VK_FORMAT_R8_USCALED = 11,
2283 VK_FORMAT_R8_SSCALED = 12,
2284 VK_FORMAT_R8_UINT = 13,
2285 VK_FORMAT_R8_SINT = 14,
2286 VK_FORMAT_R8_SRGB = 15,
2287 VK_FORMAT_R8G8_UNORM = 16,
2288 VK_FORMAT_R8G8_SNORM = 17,
2289 VK_FORMAT_R8G8_USCALED = 18,
2290 VK_FORMAT_R8G8_SSCALED = 19,
2291 VK_FORMAT_R8G8_UINT = 20,
2292 VK_FORMAT_R8G8_SINT = 21,
2293 VK_FORMAT_R8G8_SRGB = 22,
2294 VK_FORMAT_R8G8B8_UNORM = 23,
2295 VK_FORMAT_R8G8B8_SNORM = 24,
2296 VK_FORMAT_R8G8B8_USCALED = 25,
2297 VK_FORMAT_R8G8B8_SSCALED = 26,
2298 VK_FORMAT_R8G8B8_UINT = 27,
2299 VK_FORMAT_R8G8B8_SINT = 28,
2300 VK_FORMAT_R8G8B8_SRGB = 29,
2301 VK_FORMAT_B8G8R8_UNORM = 30,
2302 VK_FORMAT_B8G8R8_SNORM = 31,
2303 VK_FORMAT_B8G8R8_USCALED = 32,
2304 VK_FORMAT_B8G8R8_SSCALED = 33,
2305 VK_FORMAT_B8G8R8_UINT = 34,
2306 VK_FORMAT_B8G8R8_SINT = 35,
2307 VK_FORMAT_B8G8R8_SRGB = 36,
2308 VK_FORMAT_R8G8B8A8_UNORM = 37,
2309 VK_FORMAT_R8G8B8A8_SNORM = 38,
2310 VK_FORMAT_R8G8B8A8_USCALED = 39,
2311 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2312 VK_FORMAT_R8G8B8A8_UINT = 41,
2313 VK_FORMAT_R8G8B8A8_SINT = 42,
2314 VK_FORMAT_R8G8B8A8_SRGB = 43,
2315 VK_FORMAT_B8G8R8A8_UNORM = 44,
2316 VK_FORMAT_B8G8R8A8_SNORM = 45,
2317 VK_FORMAT_B8G8R8A8_USCALED = 46,
2318 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2319 VK_FORMAT_B8G8R8A8_UINT = 48,
2320 VK_FORMAT_B8G8R8A8_SINT = 49,
2321 VK_FORMAT_B8G8R8A8_SRGB = 50,
2322 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2323 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2324 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2325 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2326 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2327 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2328 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2329 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2330 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2331 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2332 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2333 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2334 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2335 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2336 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2337 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2338 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2339 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2340 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2341 VK_FORMAT_R16_UNORM = 70,
2342 VK_FORMAT_R16_SNORM = 71,
2343 VK_FORMAT_R16_USCALED = 72,
2344 VK_FORMAT_R16_SSCALED = 73,
2345 VK_FORMAT_R16_UINT = 74,
2346 VK_FORMAT_R16_SINT = 75,
2347 VK_FORMAT_R16_SFLOAT = 76,
2348 VK_FORMAT_R16G16_UNORM = 77,
2349 VK_FORMAT_R16G16_SNORM = 78,
2350 VK_FORMAT_R16G16_USCALED = 79,
2351 VK_FORMAT_R16G16_SSCALED = 80,
2352 VK_FORMAT_R16G16_UINT = 81,
2353 VK_FORMAT_R16G16_SINT = 82,
2354 VK_FORMAT_R16G16_SFLOAT = 83,
2355 VK_FORMAT_R16G16B16_UNORM = 84,
2356 VK_FORMAT_R16G16B16_SNORM = 85,
2357 VK_FORMAT_R16G16B16_USCALED = 86,
2358 VK_FORMAT_R16G16B16_SSCALED = 87,
2359 VK_FORMAT_R16G16B16_UINT = 88,
2360 VK_FORMAT_R16G16B16_SINT = 89,
2361 VK_FORMAT_R16G16B16_SFLOAT = 90,
2362 VK_FORMAT_R16G16B16A16_UNORM = 91,
2363 VK_FORMAT_R16G16B16A16_SNORM = 92,
2364 VK_FORMAT_R16G16B16A16_USCALED = 93,
2365 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2366 VK_FORMAT_R16G16B16A16_UINT = 95,
2367 VK_FORMAT_R16G16B16A16_SINT = 96,
2368 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2369 VK_FORMAT_R32_UINT = 98,
2370 VK_FORMAT_R32_SINT = 99,
2371 VK_FORMAT_R32_SFLOAT = 100,
2372 VK_FORMAT_R32G32_UINT = 101,
2373 VK_FORMAT_R32G32_SINT = 102,
2374 VK_FORMAT_R32G32_SFLOAT = 103,
2375 VK_FORMAT_R32G32B32_UINT = 104,
2376 VK_FORMAT_R32G32B32_SINT = 105,
2377 VK_FORMAT_R32G32B32_SFLOAT = 106,
2378 VK_FORMAT_R32G32B32A32_UINT = 107,
2379 VK_FORMAT_R32G32B32A32_SINT = 108,
2380 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2381 VK_FORMAT_R64_UINT = 110,
2382 VK_FORMAT_R64_SINT = 111,
2383 VK_FORMAT_R64_SFLOAT = 112,
2384 VK_FORMAT_R64G64_UINT = 113,
2385 VK_FORMAT_R64G64_SINT = 114,
2386 VK_FORMAT_R64G64_SFLOAT = 115,
2387 VK_FORMAT_R64G64B64_UINT = 116,
2388 VK_FORMAT_R64G64B64_SINT = 117,
2389 VK_FORMAT_R64G64B64_SFLOAT = 118,
2390 VK_FORMAT_R64G64B64A64_UINT = 119,
2391 VK_FORMAT_R64G64B64A64_SINT = 120,
2392 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2393 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2394 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2395 VK_FORMAT_D16_UNORM = 124,
2396 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2397 VK_FORMAT_D32_SFLOAT = 126,
2398 VK_FORMAT_S8_UINT = 127,
2399 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2400 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2401 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2402 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2403 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2404 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2405 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2406 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2407 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2408 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2409 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2410 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2411 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2412 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2413 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2414 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2415 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2416 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2417 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2418 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2419 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2420 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2421 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2422 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2423 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2424 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2425 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2426 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2427 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2428 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2429 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2430 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2431 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2432 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2433 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2434 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2435 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2436 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2437 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2438 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2439 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2440 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2441 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2442 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2443 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2444 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2445 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2446 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2447 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2448 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2449 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2450 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2451 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2452 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2453 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2454 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2455 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2456 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2457 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2458 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2459 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2460 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2461 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2462 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2463 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2464 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2465 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2466 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2467 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2468 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2469 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2470 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2471 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2472 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2473 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2474 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2475 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2476 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2477 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2478 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2479 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2480 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2481 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2482 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2483 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2484 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2485 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2486 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2487 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2488 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2489 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2490 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM = 1000330000,
2491 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16 = 1000330001,
2492 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16 = 1000330002,
2493 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM = 1000330003,
2494 VK_FORMAT_A4R4G4B4_UNORM_PACK16 = 1000340000,
2495 VK_FORMAT_A4B4G4R4_UNORM_PACK16 = 1000340001,
2496 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK = 1000066000,
2497 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK = 1000066001,
2498 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK = 1000066002,
2499 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK = 1000066003,
2500 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK = 1000066004,
2501 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK = 1000066005,
2502 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK = 1000066006,
2503 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK = 1000066007,
2504 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK = 1000066008,
2505 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK = 1000066009,
2506 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK = 1000066010,
2507 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK = 1000066011,
2508 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK = 1000066012,
2509 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK = 1000066013,
2510 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2511 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2512 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2513 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2514 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2515 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2516 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2517 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2518 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK,
2519 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK,
2520 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK,
2521 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK,
2522 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK,
2523 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK,
2524 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK,
2525 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK,
2526 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK,
2527 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK,
2528 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK,
2529 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK,
2530 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK,
2531 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK,
2532 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2533 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2534 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2535 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2536 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2537 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2538 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2539 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2540 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2541 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2542 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2543 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2544 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2545 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2546 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2547 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2548 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2549 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2550 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2551 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2552 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2553 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2554 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2555 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2556 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2557 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2558 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2559 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2560 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2561 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2562 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2563 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2564 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2565 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2566 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = VK_FORMAT_G8_B8R8_2PLANE_444_UNORM,
2567 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
2568 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16,
2569 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = VK_FORMAT_G16_B16R16_2PLANE_444_UNORM,
2570 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = VK_FORMAT_A4R4G4B4_UNORM_PACK16,
2571 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = VK_FORMAT_A4B4G4R4_UNORM_PACK16,
2572 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2575 typedef enum VkImageTiling {
2576 VK_IMAGE_TILING_OPTIMAL = 0,
2577 VK_IMAGE_TILING_LINEAR = 1,
2578 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2579 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2582 typedef enum VkImageType {
2583 VK_IMAGE_TYPE_1D = 0,
2584 VK_IMAGE_TYPE_2D = 1,
2585 VK_IMAGE_TYPE_3D = 2,
2586 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2589 typedef enum VkPhysicalDeviceType {
2590 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2591 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2592 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2593 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2594 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2595 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2596 } VkPhysicalDeviceType;
2598 typedef enum VkQueryType {
2599 VK_QUERY_TYPE_OCCLUSION = 0,
2600 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2601 VK_QUERY_TYPE_TIMESTAMP = 2,
2602 #ifdef VK_ENABLE_BETA_EXTENSIONS
2603 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2605 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2606 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2607 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2608 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2609 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2610 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2611 #ifdef VK_ENABLE_BETA_EXTENSIONS
2612 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2614 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000,
2615 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000,
2616 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001,
2617 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2620 typedef enum VkSharingMode {
2621 VK_SHARING_MODE_EXCLUSIVE = 0,
2622 VK_SHARING_MODE_CONCURRENT = 1,
2623 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2626 typedef enum VkComponentSwizzle {
2627 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2628 VK_COMPONENT_SWIZZLE_ZERO = 1,
2629 VK_COMPONENT_SWIZZLE_ONE = 2,
2630 VK_COMPONENT_SWIZZLE_R = 3,
2631 VK_COMPONENT_SWIZZLE_G = 4,
2632 VK_COMPONENT_SWIZZLE_B = 5,
2633 VK_COMPONENT_SWIZZLE_A = 6,
2634 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2635 } VkComponentSwizzle;
2637 typedef enum VkImageViewType {
2638 VK_IMAGE_VIEW_TYPE_1D = 0,
2639 VK_IMAGE_VIEW_TYPE_2D = 1,
2640 VK_IMAGE_VIEW_TYPE_3D = 2,
2641 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2642 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2643 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2644 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2645 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2648 typedef enum VkBlendFactor {
2649 VK_BLEND_FACTOR_ZERO = 0,
2650 VK_BLEND_FACTOR_ONE = 1,
2651 VK_BLEND_FACTOR_SRC_COLOR = 2,
2652 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2653 VK_BLEND_FACTOR_DST_COLOR = 4,
2654 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2655 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2656 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2657 VK_BLEND_FACTOR_DST_ALPHA = 8,
2658 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2659 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2660 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2661 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2662 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2663 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2664 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2665 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2666 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2667 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2668 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2671 typedef enum VkBlendOp {
2672 VK_BLEND_OP_ADD = 0,
2673 VK_BLEND_OP_SUBTRACT = 1,
2674 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2675 VK_BLEND_OP_MIN = 3,
2676 VK_BLEND_OP_MAX = 4,
2677 VK_BLEND_OP_ZERO_EXT = 1000148000,
2678 VK_BLEND_OP_SRC_EXT = 1000148001,
2679 VK_BLEND_OP_DST_EXT = 1000148002,
2680 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2681 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2682 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2683 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2684 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2685 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2686 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2687 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2688 VK_BLEND_OP_XOR_EXT = 1000148011,
2689 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2690 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2691 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2692 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2693 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2694 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2695 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2696 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2697 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2698 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2699 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2700 VK_BLEND_OP_INVERT_EXT = 1000148023,
2701 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2702 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2703 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2704 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2705 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2706 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2707 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2708 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2709 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2710 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2711 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2712 VK_BLEND_OP_PLUS_EXT = 1000148035,
2713 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2714 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2715 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2716 VK_BLEND_OP_MINUS_EXT = 1000148039,
2717 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2718 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2719 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2720 VK_BLEND_OP_RED_EXT = 1000148043,
2721 VK_BLEND_OP_GREEN_EXT = 1000148044,
2722 VK_BLEND_OP_BLUE_EXT = 1000148045,
2723 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2726 typedef enum VkCompareOp {
2727 VK_COMPARE_OP_NEVER = 0,
2728 VK_COMPARE_OP_LESS = 1,
2729 VK_COMPARE_OP_EQUAL = 2,
2730 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2731 VK_COMPARE_OP_GREATER = 4,
2732 VK_COMPARE_OP_NOT_EQUAL = 5,
2733 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2734 VK_COMPARE_OP_ALWAYS = 7,
2735 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2738 typedef enum VkDynamicState {
2739 VK_DYNAMIC_STATE_VIEWPORT = 0,
2740 VK_DYNAMIC_STATE_SCISSOR = 1,
2741 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2742 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2743 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2744 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2745 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2746 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2747 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2748 VK_DYNAMIC_STATE_CULL_MODE = 1000267000,
2749 VK_DYNAMIC_STATE_FRONT_FACE = 1000267001,
2750 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY = 1000267002,
2751 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT = 1000267003,
2752 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT = 1000267004,
2753 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE = 1000267005,
2754 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE = 1000267006,
2755 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE = 1000267007,
2756 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP = 1000267008,
2757 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE = 1000267009,
2758 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE = 1000267010,
2759 VK_DYNAMIC_STATE_STENCIL_OP = 1000267011,
2760 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE = 1000377001,
2761 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE = 1000377002,
2762 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004,
2763 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2764 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2765 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2766 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2767 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2768 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2769 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2770 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2771 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2772 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2773 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2774 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2775 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2776 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE,
2777 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE,
2778 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY,
2779 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT,
2780 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT,
2781 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE,
2782 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE,
2783 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE,
2784 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = VK_DYNAMIC_STATE_DEPTH_COMPARE_OP,
2785 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE,
2786 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE,
2787 VK_DYNAMIC_STATE_STENCIL_OP_EXT = VK_DYNAMIC_STATE_STENCIL_OP,
2788 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE,
2789 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE,
2790 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE,
2791 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2794 typedef enum VkFrontFace {
2795 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2796 VK_FRONT_FACE_CLOCKWISE = 1,
2797 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2800 typedef enum VkVertexInputRate {
2801 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2802 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2803 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2804 } VkVertexInputRate;
2806 typedef enum VkPrimitiveTopology {
2807 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2808 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2809 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2810 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2811 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2812 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2813 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2814 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2815 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2816 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2817 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2818 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2819 } VkPrimitiveTopology;
2821 typedef enum VkPolygonMode {
2822 VK_POLYGON_MODE_FILL = 0,
2823 VK_POLYGON_MODE_LINE = 1,
2824 VK_POLYGON_MODE_POINT = 2,
2825 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2826 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2829 typedef enum VkStencilOp {
2830 VK_STENCIL_OP_KEEP = 0,
2831 VK_STENCIL_OP_ZERO = 1,
2832 VK_STENCIL_OP_REPLACE = 2,
2833 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2834 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2835 VK_STENCIL_OP_INVERT = 5,
2836 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2837 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2838 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2841 typedef enum VkLogicOp {
2842 VK_LOGIC_OP_CLEAR = 0,
2843 VK_LOGIC_OP_AND = 1,
2844 VK_LOGIC_OP_AND_REVERSE = 2,
2845 VK_LOGIC_OP_COPY = 3,
2846 VK_LOGIC_OP_AND_INVERTED = 4,
2847 VK_LOGIC_OP_NO_OP = 5,
2848 VK_LOGIC_OP_XOR = 6,
2850 VK_LOGIC_OP_NOR = 8,
2851 VK_LOGIC_OP_EQUIVALENT = 9,
2852 VK_LOGIC_OP_INVERT = 10,
2853 VK_LOGIC_OP_OR_REVERSE = 11,
2854 VK_LOGIC_OP_COPY_INVERTED = 12,
2855 VK_LOGIC_OP_OR_INVERTED = 13,
2856 VK_LOGIC_OP_NAND = 14,
2857 VK_LOGIC_OP_SET = 15,
2858 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2861 typedef enum VkBorderColor {
2862 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2863 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2864 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2865 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2866 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2867 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2868 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2869 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2870 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2873 typedef enum VkFilter {
2874 VK_FILTER_NEAREST = 0,
2875 VK_FILTER_LINEAR = 1,
2876 VK_FILTER_CUBIC_IMG = 1000015000,
2877 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2878 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2881 typedef enum VkSamplerAddressMode {
2882 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2883 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2884 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2885 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2886 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2887 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2888 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2889 } VkSamplerAddressMode;
2891 typedef enum VkSamplerMipmapMode {
2892 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2893 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2894 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2895 } VkSamplerMipmapMode;
2897 typedef enum VkDescriptorType {
2898 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2899 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2900 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2901 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2902 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2903 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2904 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2905 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2906 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2907 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2908 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2909 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000,
2910 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2911 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2912 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2913 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
2914 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2917 typedef enum VkAttachmentLoadOp {
2918 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2919 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2920 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2921 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
2922 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2923 } VkAttachmentLoadOp;
2925 typedef enum VkAttachmentStoreOp {
2926 VK_ATTACHMENT_STORE_OP_STORE = 0,
2927 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2928 VK_ATTACHMENT_STORE_OP_NONE = 1000301000,
2929 VK_ATTACHMENT_STORE_OP_NONE_KHR = VK_ATTACHMENT_STORE_OP_NONE,
2930 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE,
2931 VK_ATTACHMENT_STORE_OP_NONE_EXT = VK_ATTACHMENT_STORE_OP_NONE,
2932 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2933 } VkAttachmentStoreOp;
2935 typedef enum VkPipelineBindPoint {
2936 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2937 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2938 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2939 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
2940 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2941 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2942 } VkPipelineBindPoint;
2944 typedef enum VkCommandBufferLevel {
2945 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2946 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2947 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2948 } VkCommandBufferLevel;
2950 typedef enum VkIndexType {
2951 VK_INDEX_TYPE_UINT16 = 0,
2952 VK_INDEX_TYPE_UINT32 = 1,
2953 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2954 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2955 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2956 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2959 typedef enum VkSubpassContents {
2960 VK_SUBPASS_CONTENTS_INLINE = 0,
2961 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2962 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2963 } VkSubpassContents;
2965 typedef enum VkAccessFlagBits {
2966 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2967 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2968 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2969 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2970 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2971 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2972 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2973 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2974 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2975 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2976 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2977 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2978 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2979 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2980 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2981 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2982 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2984 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2985 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2986 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2987 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2988 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2989 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2990 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2991 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2992 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
2993 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2994 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2995 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2996 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2997 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2998 VK_ACCESS_NONE_KHR = VK_ACCESS_NONE,
2999 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3001 typedef VkFlags VkAccessFlags;
3003 typedef enum VkImageAspectFlagBits {
3004 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
3005 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
3006 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
3007 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
3008 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
3009 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
3010 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
3011 VK_IMAGE_ASPECT_NONE = 0,
3012 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
3013 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
3014 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
3015 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
3016 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
3017 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
3018 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
3019 VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE,
3020 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3021 } VkImageAspectFlagBits;
3022 typedef VkFlags VkImageAspectFlags;
3024 typedef enum VkFormatFeatureFlagBits {
3025 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
3026 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
3027 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
3028 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
3029 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
3030 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
3031 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
3032 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
3033 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
3034 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
3035 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
3036 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
3037 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
3038 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
3039 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
3040 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
3041 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
3042 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
3043 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
3044 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
3045 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
3046 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
3047 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
3048 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
3049 #ifdef VK_ENABLE_BETA_EXTENSIONS
3050 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
3052 #ifdef VK_ENABLE_BETA_EXTENSIONS
3053 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
3055 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
3056 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
3057 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
3058 #ifdef VK_ENABLE_BETA_EXTENSIONS
3059 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
3061 #ifdef VK_ENABLE_BETA_EXTENSIONS
3062 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
3064 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
3065 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
3066 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
3067 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
3068 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
3069 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
3070 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
3071 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,
3072 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
3073 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
3074 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
3075 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3076 } VkFormatFeatureFlagBits;
3077 typedef VkFlags VkFormatFeatureFlags;
3079 typedef enum VkImageCreateFlagBits {
3080 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
3081 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
3082 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
3083 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
3084 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
3085 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
3086 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
3087 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
3088 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
3089 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
3090 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
3091 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
3092 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
3093 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
3094 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
3095 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
3096 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
3097 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
3098 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
3099 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
3100 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
3101 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
3102 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
3103 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3104 } VkImageCreateFlagBits;
3105 typedef VkFlags VkImageCreateFlags;
3107 typedef enum VkSampleCountFlagBits {
3108 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
3109 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
3110 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
3111 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
3112 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
3113 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
3114 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
3115 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3116 } VkSampleCountFlagBits;
3117 typedef VkFlags VkSampleCountFlags;
3119 typedef enum VkImageUsageFlagBits {
3120 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
3121 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
3122 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
3123 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
3124 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
3125 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
3126 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
3127 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
3128 #ifdef VK_ENABLE_BETA_EXTENSIONS
3129 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
3131 #ifdef VK_ENABLE_BETA_EXTENSIONS
3132 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
3134 #ifdef VK_ENABLE_BETA_EXTENSIONS
3135 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
3137 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
3138 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
3139 #ifdef VK_ENABLE_BETA_EXTENSIONS
3140 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
3142 #ifdef VK_ENABLE_BETA_EXTENSIONS
3143 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
3145 #ifdef VK_ENABLE_BETA_EXTENSIONS
3146 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
3148 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
3149 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3150 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3151 } VkImageUsageFlagBits;
3152 typedef VkFlags VkImageUsageFlags;
3154 typedef enum VkInstanceCreateFlagBits {
3155 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR = 0x00000001,
3156 VK_INSTANCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3157 } VkInstanceCreateFlagBits;
3158 typedef VkFlags VkInstanceCreateFlags;
3160 typedef enum VkMemoryHeapFlagBits {
3161 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
3162 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
3163 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
3164 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3165 } VkMemoryHeapFlagBits;
3166 typedef VkFlags VkMemoryHeapFlags;
3168 typedef enum VkMemoryPropertyFlagBits {
3169 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
3170 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
3171 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
3172 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
3173 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
3174 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
3175 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
3176 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
3177 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
3178 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3179 } VkMemoryPropertyFlagBits;
3180 typedef VkFlags VkMemoryPropertyFlags;
3182 typedef enum VkQueueFlagBits {
3183 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
3184 VK_QUEUE_COMPUTE_BIT = 0x00000002,
3185 VK_QUEUE_TRANSFER_BIT = 0x00000004,
3186 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
3187 VK_QUEUE_PROTECTED_BIT = 0x00000010,
3188 #ifdef VK_ENABLE_BETA_EXTENSIONS
3189 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
3191 #ifdef VK_ENABLE_BETA_EXTENSIONS
3192 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
3194 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3196 typedef VkFlags VkQueueFlags;
3197 typedef VkFlags VkDeviceCreateFlags;
3199 typedef enum VkDeviceQueueCreateFlagBits {
3200 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
3201 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3202 } VkDeviceQueueCreateFlagBits;
3203 typedef VkFlags VkDeviceQueueCreateFlags;
3205 typedef enum VkPipelineStageFlagBits {
3206 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
3207 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
3208 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
3209 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
3210 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
3211 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
3212 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
3213 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
3214 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
3215 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
3216 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
3217 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
3218 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
3219 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
3220 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
3221 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
3222 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
3223 VK_PIPELINE_STAGE_NONE = 0,
3224 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
3225 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
3226 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
3227 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
3228 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
3229 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
3230 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
3231 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
3232 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
3233 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3234 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
3235 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
3236 VK_PIPELINE_STAGE_NONE_KHR = VK_PIPELINE_STAGE_NONE,
3237 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3238 } VkPipelineStageFlagBits;
3239 typedef VkFlags VkPipelineStageFlags;
3240 typedef VkFlags VkMemoryMapFlags;
3242 typedef enum VkSparseMemoryBindFlagBits {
3243 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
3244 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3245 } VkSparseMemoryBindFlagBits;
3246 typedef VkFlags VkSparseMemoryBindFlags;
3248 typedef enum VkSparseImageFormatFlagBits {
3249 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
3250 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
3251 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
3252 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3253 } VkSparseImageFormatFlagBits;
3254 typedef VkFlags VkSparseImageFormatFlags;
3256 typedef enum VkFenceCreateFlagBits {
3257 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
3258 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3259 } VkFenceCreateFlagBits;
3260 typedef VkFlags VkFenceCreateFlags;
3261 typedef VkFlags VkSemaphoreCreateFlags;
3263 typedef enum VkEventCreateFlagBits {
3264 VK_EVENT_CREATE_DEVICE_ONLY_BIT = 0x00000001,
3265 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = VK_EVENT_CREATE_DEVICE_ONLY_BIT,
3266 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3267 } VkEventCreateFlagBits;
3268 typedef VkFlags VkEventCreateFlags;
3270 typedef enum VkQueryPipelineStatisticFlagBits {
3271 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
3272 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
3273 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
3274 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
3275 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
3276 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
3277 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
3278 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
3279 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
3280 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
3281 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
3282 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3283 } VkQueryPipelineStatisticFlagBits;
3284 typedef VkFlags VkQueryPipelineStatisticFlags;
3285 typedef VkFlags VkQueryPoolCreateFlags;
3287 typedef enum VkQueryResultFlagBits {
3288 VK_QUERY_RESULT_64_BIT = 0x00000001,
3289 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
3290 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
3291 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
3292 #ifdef VK_ENABLE_BETA_EXTENSIONS
3293 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
3295 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3296 } VkQueryResultFlagBits;
3297 typedef VkFlags VkQueryResultFlags;
3299 typedef enum VkBufferCreateFlagBits {
3300 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
3301 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
3302 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
3303 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
3304 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
3305 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3306 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3307 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3308 } VkBufferCreateFlagBits;
3309 typedef VkFlags VkBufferCreateFlags;
3311 typedef enum VkBufferUsageFlagBits {
3312 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
3313 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
3314 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
3315 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
3316 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
3317 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
3318 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
3319 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
3320 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
3321 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
3322 #ifdef VK_ENABLE_BETA_EXTENSIONS
3323 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
3325 #ifdef VK_ENABLE_BETA_EXTENSIONS
3326 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
3328 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
3329 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
3330 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
3331 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
3332 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
3333 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
3334 #ifdef VK_ENABLE_BETA_EXTENSIONS
3335 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
3337 #ifdef VK_ENABLE_BETA_EXTENSIONS
3338 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
3340 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
3341 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3342 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3343 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3344 } VkBufferUsageFlagBits;
3345 typedef VkFlags VkBufferUsageFlags;
3346 typedef VkFlags VkBufferViewCreateFlags;
3348 typedef enum VkImageViewCreateFlagBits {
3349 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
3350 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
3351 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3352 } VkImageViewCreateFlagBits;
3353 typedef VkFlags VkImageViewCreateFlags;
3354 typedef VkFlags VkShaderModuleCreateFlags;
3356 typedef enum VkPipelineCacheCreateFlagBits {
3357 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001,
3358 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT,
3359 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3360 } VkPipelineCacheCreateFlagBits;
3361 typedef VkFlags VkPipelineCacheCreateFlags;
3363 typedef enum VkColorComponentFlagBits {
3364 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3365 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3366 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3367 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3368 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3369 } VkColorComponentFlagBits;
3370 typedef VkFlags VkColorComponentFlags;
3372 typedef enum VkPipelineCreateFlagBits {
3373 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3374 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3375 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3376 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3377 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3378 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = 0x00000100,
3379 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = 0x00000200,
3380 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000,
3381 VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000,
3382 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3383 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3384 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3385 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3386 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3387 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3388 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3389 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3390 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3391 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3392 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3393 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3394 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000,
3395 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400,
3396 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
3397 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3398 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
3399 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
3400 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3401 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3402 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT,
3403 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT,
3404 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3405 } VkPipelineCreateFlagBits;
3406 typedef VkFlags VkPipelineCreateFlags;
3408 typedef enum VkPipelineShaderStageCreateFlagBits {
3409 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT = 0x00000001,
3410 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT = 0x00000002,
3411 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT,
3412 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT,
3413 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3414 } VkPipelineShaderStageCreateFlagBits;
3415 typedef VkFlags VkPipelineShaderStageCreateFlags;
3417 typedef enum VkShaderStageFlagBits {
3418 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3419 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3420 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3421 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3422 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3423 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3424 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3425 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3426 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3427 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3428 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3429 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3430 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3431 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3432 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3433 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3434 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
3435 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3436 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3437 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3438 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3439 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3440 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3441 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3442 } VkShaderStageFlagBits;
3444 typedef enum VkCullModeFlagBits {
3445 VK_CULL_MODE_NONE = 0,
3446 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3447 VK_CULL_MODE_BACK_BIT = 0x00000002,
3448 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3449 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3450 } VkCullModeFlagBits;
3451 typedef VkFlags VkCullModeFlags;
3452 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3453 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3454 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3455 typedef VkFlags VkPipelineViewportStateCreateFlags;
3456 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3457 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3459 typedef enum VkPipelineDepthStencilStateCreateFlagBits {
3460 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000001,
3461 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000002,
3462 VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3463 } VkPipelineDepthStencilStateCreateFlagBits;
3464 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3466 typedef enum VkPipelineColorBlendStateCreateFlagBits {
3467 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 0x00000001,
3468 VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3469 } VkPipelineColorBlendStateCreateFlagBits;
3470 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3471 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3473 typedef enum VkPipelineLayoutCreateFlagBits {
3474 VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT = 0x00000002,
3475 VK_PIPELINE_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3476 } VkPipelineLayoutCreateFlagBits;
3477 typedef VkFlags VkPipelineLayoutCreateFlags;
3478 typedef VkFlags VkShaderStageFlags;
3480 typedef enum VkSamplerCreateFlagBits {
3481 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3482 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3483 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3484 } VkSamplerCreateFlagBits;
3485 typedef VkFlags VkSamplerCreateFlags;
3487 typedef enum VkDescriptorPoolCreateFlagBits {
3488 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3489 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3490 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3491 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3492 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3493 } VkDescriptorPoolCreateFlagBits;
3494 typedef VkFlags VkDescriptorPoolCreateFlags;
3495 typedef VkFlags VkDescriptorPoolResetFlags;
3497 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3498 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3499 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3500 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3501 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3502 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3503 } VkDescriptorSetLayoutCreateFlagBits;
3504 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3506 typedef enum VkAttachmentDescriptionFlagBits {
3507 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3508 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3509 } VkAttachmentDescriptionFlagBits;
3510 typedef VkFlags VkAttachmentDescriptionFlags;
3512 typedef enum VkDependencyFlagBits {
3513 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3514 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3515 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3516 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3517 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3518 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3519 } VkDependencyFlagBits;
3520 typedef VkFlags VkDependencyFlags;
3522 typedef enum VkFramebufferCreateFlagBits {
3523 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3524 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3525 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3526 } VkFramebufferCreateFlagBits;
3527 typedef VkFlags VkFramebufferCreateFlags;
3529 typedef enum VkRenderPassCreateFlagBits {
3530 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3531 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3532 } VkRenderPassCreateFlagBits;
3533 typedef VkFlags VkRenderPassCreateFlags;
3535 typedef enum VkSubpassDescriptionFlagBits {
3536 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3537 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3538 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3539 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3540 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 0x00000010,
3541 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000020,
3542 VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000040,
3543 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3544 } VkSubpassDescriptionFlagBits;
3545 typedef VkFlags VkSubpassDescriptionFlags;
3547 typedef enum VkCommandPoolCreateFlagBits {
3548 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3549 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3550 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3551 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3552 } VkCommandPoolCreateFlagBits;
3553 typedef VkFlags VkCommandPoolCreateFlags;
3555 typedef enum VkCommandPoolResetFlagBits {
3556 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3557 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3558 } VkCommandPoolResetFlagBits;
3559 typedef VkFlags VkCommandPoolResetFlags;
3561 typedef enum VkCommandBufferUsageFlagBits {
3562 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3563 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3564 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3565 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3566 } VkCommandBufferUsageFlagBits;
3567 typedef VkFlags VkCommandBufferUsageFlags;
3569 typedef enum VkQueryControlFlagBits {
3570 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3571 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3572 } VkQueryControlFlagBits;
3573 typedef VkFlags VkQueryControlFlags;
3575 typedef enum VkCommandBufferResetFlagBits {
3576 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3577 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3578 } VkCommandBufferResetFlagBits;
3579 typedef VkFlags VkCommandBufferResetFlags;
3581 typedef enum VkStencilFaceFlagBits {
3582 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3583 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3584 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3585 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3586 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3587 } VkStencilFaceFlagBits;
3588 typedef VkFlags VkStencilFaceFlags;
3589 typedef struct VkExtent2D {
3594 typedef struct VkExtent3D {
3600 typedef struct VkOffset2D {
3605 typedef struct VkOffset3D {
3611 typedef struct VkRect2D {
3616 typedef struct VkBaseInStructure {
3617 VkStructureType sType;
3618 const struct VkBaseInStructure* pNext;
3619 } VkBaseInStructure;
3621 typedef struct VkBaseOutStructure {
3622 VkStructureType sType;
3623 struct VkBaseOutStructure* pNext;
3624 } VkBaseOutStructure;
3626 typedef struct VkBufferMemoryBarrier {
3627 VkStructureType sType;
3629 VkAccessFlags srcAccessMask;
3630 VkAccessFlags dstAccessMask;
3631 deUint32 srcQueueFamilyIndex;
3632 deUint32 dstQueueFamilyIndex;
3634 VkDeviceSize offset;
3636 } VkBufferMemoryBarrier;
3638 typedef struct VkDispatchIndirectCommand {
3642 } VkDispatchIndirectCommand;
3644 typedef struct VkDrawIndexedIndirectCommand {
3645 deUint32 indexCount;
3646 deUint32 instanceCount;
3647 deUint32 firstIndex;
3648 deInt32 vertexOffset;
3649 deUint32 firstInstance;
3650 } VkDrawIndexedIndirectCommand;
3652 typedef struct VkDrawIndirectCommand {
3653 deUint32 vertexCount;
3654 deUint32 instanceCount;
3655 deUint32 firstVertex;
3656 deUint32 firstInstance;
3657 } VkDrawIndirectCommand;
3659 typedef struct VkImageSubresourceRange {
3660 VkImageAspectFlags aspectMask;
3661 deUint32 baseMipLevel;
3662 deUint32 levelCount;
3663 deUint32 baseArrayLayer;
3664 deUint32 layerCount;
3665 } VkImageSubresourceRange;
3667 typedef struct VkImageMemoryBarrier {
3668 VkStructureType sType;
3670 VkAccessFlags srcAccessMask;
3671 VkAccessFlags dstAccessMask;
3672 VkImageLayout oldLayout;
3673 VkImageLayout newLayout;
3674 deUint32 srcQueueFamilyIndex;
3675 deUint32 dstQueueFamilyIndex;
3677 VkImageSubresourceRange subresourceRange;
3678 } VkImageMemoryBarrier;
3680 typedef struct VkMemoryBarrier {
3681 VkStructureType sType;
3683 VkAccessFlags srcAccessMask;
3684 VkAccessFlags dstAccessMask;
3687 typedef struct VkPipelineCacheHeaderVersionOne {
3688 deUint32 headerSize;
3689 VkPipelineCacheHeaderVersion headerVersion;
3692 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3693 } VkPipelineCacheHeaderVersionOne;
3695 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3698 deUintptr alignment,
3699 VkSystemAllocationScope allocationScope);
3701 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3705 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3708 VkInternalAllocationType allocationType,
3709 VkSystemAllocationScope allocationScope);
3711 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3714 VkInternalAllocationType allocationType,
3715 VkSystemAllocationScope allocationScope);
3717 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3721 deUintptr alignment,
3722 VkSystemAllocationScope allocationScope);
3724 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3725 typedef struct VkAllocationCallbacks {
3727 PFN_vkAllocationFunction pfnAllocation;
3728 PFN_vkReallocationFunction pfnReallocation;
3729 PFN_vkFreeFunction pfnFree;
3730 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3731 PFN_vkInternalFreeNotification pfnInternalFree;
3732 } VkAllocationCallbacks;
3734 typedef struct VkApplicationInfo {
3735 VkStructureType sType;
3737 const char* pApplicationName;
3738 deUint32 applicationVersion;
3739 const char* pEngineName;
3740 deUint32 engineVersion;
3741 deUint32 apiVersion;
3742 } VkApplicationInfo;
3744 typedef struct VkFormatProperties {
3745 VkFormatFeatureFlags linearTilingFeatures;
3746 VkFormatFeatureFlags optimalTilingFeatures;
3747 VkFormatFeatureFlags bufferFeatures;
3748 } VkFormatProperties;
3750 typedef struct VkImageFormatProperties {
3751 VkExtent3D maxExtent;
3752 deUint32 maxMipLevels;
3753 deUint32 maxArrayLayers;
3754 VkSampleCountFlags sampleCounts;
3755 VkDeviceSize maxResourceSize;
3756 } VkImageFormatProperties;
3758 typedef struct VkInstanceCreateInfo {
3759 VkStructureType sType;
3761 VkInstanceCreateFlags flags;
3762 const VkApplicationInfo* pApplicationInfo;
3763 deUint32 enabledLayerCount;
3764 const char* const* ppEnabledLayerNames;
3765 deUint32 enabledExtensionCount;
3766 const char* const* ppEnabledExtensionNames;
3767 } VkInstanceCreateInfo;
3769 typedef struct VkMemoryHeap {
3771 VkMemoryHeapFlags flags;
3774 typedef struct VkMemoryType {
3775 VkMemoryPropertyFlags propertyFlags;
3779 typedef struct VkPhysicalDeviceFeatures {
3780 VkBool32 robustBufferAccess;
3781 VkBool32 fullDrawIndexUint32;
3782 VkBool32 imageCubeArray;
3783 VkBool32 independentBlend;
3784 VkBool32 geometryShader;
3785 VkBool32 tessellationShader;
3786 VkBool32 sampleRateShading;
3787 VkBool32 dualSrcBlend;
3789 VkBool32 multiDrawIndirect;
3790 VkBool32 drawIndirectFirstInstance;
3791 VkBool32 depthClamp;
3792 VkBool32 depthBiasClamp;
3793 VkBool32 fillModeNonSolid;
3794 VkBool32 depthBounds;
3796 VkBool32 largePoints;
3797 VkBool32 alphaToOne;
3798 VkBool32 multiViewport;
3799 VkBool32 samplerAnisotropy;
3800 VkBool32 textureCompressionETC2;
3801 VkBool32 textureCompressionASTC_LDR;
3802 VkBool32 textureCompressionBC;
3803 VkBool32 occlusionQueryPrecise;
3804 VkBool32 pipelineStatisticsQuery;
3805 VkBool32 vertexPipelineStoresAndAtomics;
3806 VkBool32 fragmentStoresAndAtomics;
3807 VkBool32 shaderTessellationAndGeometryPointSize;
3808 VkBool32 shaderImageGatherExtended;
3809 VkBool32 shaderStorageImageExtendedFormats;
3810 VkBool32 shaderStorageImageMultisample;
3811 VkBool32 shaderStorageImageReadWithoutFormat;
3812 VkBool32 shaderStorageImageWriteWithoutFormat;
3813 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3814 VkBool32 shaderSampledImageArrayDynamicIndexing;
3815 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3816 VkBool32 shaderStorageImageArrayDynamicIndexing;
3817 VkBool32 shaderClipDistance;
3818 VkBool32 shaderCullDistance;
3819 VkBool32 shaderFloat64;
3820 VkBool32 shaderInt64;
3821 VkBool32 shaderInt16;
3822 VkBool32 shaderResourceResidency;
3823 VkBool32 shaderResourceMinLod;
3824 VkBool32 sparseBinding;
3825 VkBool32 sparseResidencyBuffer;
3826 VkBool32 sparseResidencyImage2D;
3827 VkBool32 sparseResidencyImage3D;
3828 VkBool32 sparseResidency2Samples;
3829 VkBool32 sparseResidency4Samples;
3830 VkBool32 sparseResidency8Samples;
3831 VkBool32 sparseResidency16Samples;
3832 VkBool32 sparseResidencyAliased;
3833 VkBool32 variableMultisampleRate;
3834 VkBool32 inheritedQueries;
3835 } VkPhysicalDeviceFeatures;
3837 typedef struct VkPhysicalDeviceLimits {
3838 deUint32 maxImageDimension1D;
3839 deUint32 maxImageDimension2D;
3840 deUint32 maxImageDimension3D;
3841 deUint32 maxImageDimensionCube;
3842 deUint32 maxImageArrayLayers;
3843 deUint32 maxTexelBufferElements;
3844 deUint32 maxUniformBufferRange;
3845 deUint32 maxStorageBufferRange;
3846 deUint32 maxPushConstantsSize;
3847 deUint32 maxMemoryAllocationCount;
3848 deUint32 maxSamplerAllocationCount;
3849 VkDeviceSize bufferImageGranularity;
3850 VkDeviceSize sparseAddressSpaceSize;
3851 deUint32 maxBoundDescriptorSets;
3852 deUint32 maxPerStageDescriptorSamplers;
3853 deUint32 maxPerStageDescriptorUniformBuffers;
3854 deUint32 maxPerStageDescriptorStorageBuffers;
3855 deUint32 maxPerStageDescriptorSampledImages;
3856 deUint32 maxPerStageDescriptorStorageImages;
3857 deUint32 maxPerStageDescriptorInputAttachments;
3858 deUint32 maxPerStageResources;
3859 deUint32 maxDescriptorSetSamplers;
3860 deUint32 maxDescriptorSetUniformBuffers;
3861 deUint32 maxDescriptorSetUniformBuffersDynamic;
3862 deUint32 maxDescriptorSetStorageBuffers;
3863 deUint32 maxDescriptorSetStorageBuffersDynamic;
3864 deUint32 maxDescriptorSetSampledImages;
3865 deUint32 maxDescriptorSetStorageImages;
3866 deUint32 maxDescriptorSetInputAttachments;
3867 deUint32 maxVertexInputAttributes;
3868 deUint32 maxVertexInputBindings;
3869 deUint32 maxVertexInputAttributeOffset;
3870 deUint32 maxVertexInputBindingStride;
3871 deUint32 maxVertexOutputComponents;
3872 deUint32 maxTessellationGenerationLevel;
3873 deUint32 maxTessellationPatchSize;
3874 deUint32 maxTessellationControlPerVertexInputComponents;
3875 deUint32 maxTessellationControlPerVertexOutputComponents;
3876 deUint32 maxTessellationControlPerPatchOutputComponents;
3877 deUint32 maxTessellationControlTotalOutputComponents;
3878 deUint32 maxTessellationEvaluationInputComponents;
3879 deUint32 maxTessellationEvaluationOutputComponents;
3880 deUint32 maxGeometryShaderInvocations;
3881 deUint32 maxGeometryInputComponents;
3882 deUint32 maxGeometryOutputComponents;
3883 deUint32 maxGeometryOutputVertices;
3884 deUint32 maxGeometryTotalOutputComponents;
3885 deUint32 maxFragmentInputComponents;
3886 deUint32 maxFragmentOutputAttachments;
3887 deUint32 maxFragmentDualSrcAttachments;
3888 deUint32 maxFragmentCombinedOutputResources;
3889 deUint32 maxComputeSharedMemorySize;
3890 deUint32 maxComputeWorkGroupCount[3];
3891 deUint32 maxComputeWorkGroupInvocations;
3892 deUint32 maxComputeWorkGroupSize[3];
3893 deUint32 subPixelPrecisionBits;
3894 deUint32 subTexelPrecisionBits;
3895 deUint32 mipmapPrecisionBits;
3896 deUint32 maxDrawIndexedIndexValue;
3897 deUint32 maxDrawIndirectCount;
3898 float maxSamplerLodBias;
3899 float maxSamplerAnisotropy;
3900 deUint32 maxViewports;
3901 deUint32 maxViewportDimensions[2];
3902 float viewportBoundsRange[2];
3903 deUint32 viewportSubPixelBits;
3904 deUintptr minMemoryMapAlignment;
3905 VkDeviceSize minTexelBufferOffsetAlignment;
3906 VkDeviceSize minUniformBufferOffsetAlignment;
3907 VkDeviceSize minStorageBufferOffsetAlignment;
3908 deInt32 minTexelOffset;
3909 deUint32 maxTexelOffset;
3910 deInt32 minTexelGatherOffset;
3911 deUint32 maxTexelGatherOffset;
3912 float minInterpolationOffset;
3913 float maxInterpolationOffset;
3914 deUint32 subPixelInterpolationOffsetBits;
3915 deUint32 maxFramebufferWidth;
3916 deUint32 maxFramebufferHeight;
3917 deUint32 maxFramebufferLayers;
3918 VkSampleCountFlags framebufferColorSampleCounts;
3919 VkSampleCountFlags framebufferDepthSampleCounts;
3920 VkSampleCountFlags framebufferStencilSampleCounts;
3921 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3922 deUint32 maxColorAttachments;
3923 VkSampleCountFlags sampledImageColorSampleCounts;
3924 VkSampleCountFlags sampledImageIntegerSampleCounts;
3925 VkSampleCountFlags sampledImageDepthSampleCounts;
3926 VkSampleCountFlags sampledImageStencilSampleCounts;
3927 VkSampleCountFlags storageImageSampleCounts;
3928 deUint32 maxSampleMaskWords;
3929 VkBool32 timestampComputeAndGraphics;
3930 float timestampPeriod;
3931 deUint32 maxClipDistances;
3932 deUint32 maxCullDistances;
3933 deUint32 maxCombinedClipAndCullDistances;
3934 deUint32 discreteQueuePriorities;
3935 float pointSizeRange[2];
3936 float lineWidthRange[2];
3937 float pointSizeGranularity;
3938 float lineWidthGranularity;
3939 VkBool32 strictLines;
3940 VkBool32 standardSampleLocations;
3941 VkDeviceSize optimalBufferCopyOffsetAlignment;
3942 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3943 VkDeviceSize nonCoherentAtomSize;
3944 } VkPhysicalDeviceLimits;
3946 typedef struct VkPhysicalDeviceMemoryProperties {
3947 deUint32 memoryTypeCount;
3948 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3949 deUint32 memoryHeapCount;
3950 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3951 } VkPhysicalDeviceMemoryProperties;
3953 typedef struct VkPhysicalDeviceSparseProperties {
3954 VkBool32 residencyStandard2DBlockShape;
3955 VkBool32 residencyStandard2DMultisampleBlockShape;
3956 VkBool32 residencyStandard3DBlockShape;
3957 VkBool32 residencyAlignedMipSize;
3958 VkBool32 residencyNonResidentStrict;
3959 } VkPhysicalDeviceSparseProperties;
3961 typedef struct VkPhysicalDeviceProperties {
3962 deUint32 apiVersion;
3963 deUint32 driverVersion;
3966 VkPhysicalDeviceType deviceType;
3967 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3968 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3969 VkPhysicalDeviceLimits limits;
3970 VkPhysicalDeviceSparseProperties sparseProperties;
3971 } VkPhysicalDeviceProperties;
3973 typedef struct VkQueueFamilyProperties {
3974 VkQueueFlags queueFlags;
3975 deUint32 queueCount;
3976 deUint32 timestampValidBits;
3977 VkExtent3D minImageTransferGranularity;
3978 } VkQueueFamilyProperties;
3980 typedef struct VkDeviceQueueCreateInfo {
3981 VkStructureType sType;
3983 VkDeviceQueueCreateFlags flags;
3984 deUint32 queueFamilyIndex;
3985 deUint32 queueCount;
3986 const float* pQueuePriorities;
3987 } VkDeviceQueueCreateInfo;
3989 typedef struct VkDeviceCreateInfo {
3990 VkStructureType sType;
3992 VkDeviceCreateFlags flags;
3993 deUint32 queueCreateInfoCount;
3994 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3995 deUint32 enabledLayerCount;
3996 const char* const* ppEnabledLayerNames;
3997 deUint32 enabledExtensionCount;
3998 const char* const* ppEnabledExtensionNames;
3999 const VkPhysicalDeviceFeatures* pEnabledFeatures;
4000 } VkDeviceCreateInfo;
4002 typedef struct VkExtensionProperties {
4003 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
4004 deUint32 specVersion;
4005 } VkExtensionProperties;
4007 typedef struct VkLayerProperties {
4008 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
4009 deUint32 specVersion;
4010 deUint32 implementationVersion;
4011 char description[VK_MAX_DESCRIPTION_SIZE];
4012 } VkLayerProperties;
4014 typedef struct VkSubmitInfo {
4015 VkStructureType sType;
4017 deUint32 waitSemaphoreCount;
4018 const VkSemaphore* pWaitSemaphores;
4019 const VkPipelineStageFlags* pWaitDstStageMask;
4020 deUint32 commandBufferCount;
4021 const VkCommandBuffer* pCommandBuffers;
4022 deUint32 signalSemaphoreCount;
4023 const VkSemaphore* pSignalSemaphores;
4026 typedef struct VkMappedMemoryRange {
4027 VkStructureType sType;
4029 VkDeviceMemory memory;
4030 VkDeviceSize offset;
4032 } VkMappedMemoryRange;
4034 typedef struct VkMemoryAllocateInfo {
4035 VkStructureType sType;
4037 VkDeviceSize allocationSize;
4038 deUint32 memoryTypeIndex;
4039 } VkMemoryAllocateInfo;
4041 typedef struct VkMemoryRequirements {
4043 VkDeviceSize alignment;
4044 deUint32 memoryTypeBits;
4045 } VkMemoryRequirements;
4047 typedef struct VkSparseMemoryBind {
4048 VkDeviceSize resourceOffset;
4050 VkDeviceMemory memory;
4051 VkDeviceSize memoryOffset;
4052 VkSparseMemoryBindFlags flags;
4053 } VkSparseMemoryBind;
4055 typedef struct VkSparseBufferMemoryBindInfo {
4058 const VkSparseMemoryBind* pBinds;
4059 } VkSparseBufferMemoryBindInfo;
4061 typedef struct VkSparseImageOpaqueMemoryBindInfo {
4064 const VkSparseMemoryBind* pBinds;
4065 } VkSparseImageOpaqueMemoryBindInfo;
4067 typedef struct VkImageSubresource {
4068 VkImageAspectFlags aspectMask;
4070 deUint32 arrayLayer;
4071 } VkImageSubresource;
4073 typedef struct VkSparseImageMemoryBind {
4074 VkImageSubresource subresource;
4077 VkDeviceMemory memory;
4078 VkDeviceSize memoryOffset;
4079 VkSparseMemoryBindFlags flags;
4080 } VkSparseImageMemoryBind;
4082 typedef struct VkSparseImageMemoryBindInfo {
4085 const VkSparseImageMemoryBind* pBinds;
4086 } VkSparseImageMemoryBindInfo;
4088 typedef struct VkBindSparseInfo {
4089 VkStructureType sType;
4091 deUint32 waitSemaphoreCount;
4092 const VkSemaphore* pWaitSemaphores;
4093 deUint32 bufferBindCount;
4094 const VkSparseBufferMemoryBindInfo* pBufferBinds;
4095 deUint32 imageOpaqueBindCount;
4096 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
4097 deUint32 imageBindCount;
4098 const VkSparseImageMemoryBindInfo* pImageBinds;
4099 deUint32 signalSemaphoreCount;
4100 const VkSemaphore* pSignalSemaphores;
4103 typedef struct VkSparseImageFormatProperties {
4104 VkImageAspectFlags aspectMask;
4105 VkExtent3D imageGranularity;
4106 VkSparseImageFormatFlags flags;
4107 } VkSparseImageFormatProperties;
4109 typedef struct VkSparseImageMemoryRequirements {
4110 VkSparseImageFormatProperties formatProperties;
4111 deUint32 imageMipTailFirstLod;
4112 VkDeviceSize imageMipTailSize;
4113 VkDeviceSize imageMipTailOffset;
4114 VkDeviceSize imageMipTailStride;
4115 } VkSparseImageMemoryRequirements;
4117 typedef struct VkFenceCreateInfo {
4118 VkStructureType sType;
4120 VkFenceCreateFlags flags;
4121 } VkFenceCreateInfo;
4123 typedef struct VkSemaphoreCreateInfo {
4124 VkStructureType sType;
4126 VkSemaphoreCreateFlags flags;
4127 } VkSemaphoreCreateInfo;
4129 typedef struct VkEventCreateInfo {
4130 VkStructureType sType;
4132 VkEventCreateFlags flags;
4133 } VkEventCreateInfo;
4135 typedef struct VkQueryPoolCreateInfo {
4136 VkStructureType sType;
4138 VkQueryPoolCreateFlags flags;
4139 VkQueryType queryType;
4140 deUint32 queryCount;
4141 VkQueryPipelineStatisticFlags pipelineStatistics;
4142 } VkQueryPoolCreateInfo;
4144 typedef struct VkBufferCreateInfo {
4145 VkStructureType sType;
4147 VkBufferCreateFlags flags;
4149 VkBufferUsageFlags usage;
4150 VkSharingMode sharingMode;
4151 deUint32 queueFamilyIndexCount;
4152 const deUint32* pQueueFamilyIndices;
4153 } VkBufferCreateInfo;
4155 typedef struct VkBufferViewCreateInfo {
4156 VkStructureType sType;
4158 VkBufferViewCreateFlags flags;
4161 VkDeviceSize offset;
4163 } VkBufferViewCreateInfo;
4165 typedef struct VkImageCreateInfo {
4166 VkStructureType sType;
4168 VkImageCreateFlags flags;
4169 VkImageType imageType;
4173 deUint32 arrayLayers;
4174 VkSampleCountFlagBits samples;
4175 VkImageTiling tiling;
4176 VkImageUsageFlags usage;
4177 VkSharingMode sharingMode;
4178 deUint32 queueFamilyIndexCount;
4179 const deUint32* pQueueFamilyIndices;
4180 VkImageLayout initialLayout;
4181 } VkImageCreateInfo;
4183 typedef struct VkSubresourceLayout {
4184 VkDeviceSize offset;
4186 VkDeviceSize rowPitch;
4187 VkDeviceSize arrayPitch;
4188 VkDeviceSize depthPitch;
4189 } VkSubresourceLayout;
4191 typedef struct VkComponentMapping {
4192 VkComponentSwizzle r;
4193 VkComponentSwizzle g;
4194 VkComponentSwizzle b;
4195 VkComponentSwizzle a;
4196 } VkComponentMapping;
4198 typedef struct VkImageViewCreateInfo {
4199 VkStructureType sType;
4201 VkImageViewCreateFlags flags;
4203 VkImageViewType viewType;
4205 VkComponentMapping components;
4206 VkImageSubresourceRange subresourceRange;
4207 } VkImageViewCreateInfo;
4209 typedef struct VkShaderModuleCreateInfo {
4210 VkStructureType sType;
4212 VkShaderModuleCreateFlags flags;
4214 const deUint32* pCode;
4215 } VkShaderModuleCreateInfo;
4217 typedef struct VkPipelineCacheCreateInfo {
4218 VkStructureType sType;
4220 VkPipelineCacheCreateFlags flags;
4221 deUintptr initialDataSize;
4222 const void* pInitialData;
4223 } VkPipelineCacheCreateInfo;
4225 typedef struct VkSpecializationMapEntry {
4226 deUint32 constantID;
4229 } VkSpecializationMapEntry;
4231 typedef struct VkSpecializationInfo {
4232 deUint32 mapEntryCount;
4233 const VkSpecializationMapEntry* pMapEntries;
4236 } VkSpecializationInfo;
4238 typedef struct VkPipelineShaderStageCreateInfo {
4239 VkStructureType sType;
4241 VkPipelineShaderStageCreateFlags flags;
4242 VkShaderStageFlagBits stage;
4243 VkShaderModule module;
4245 const VkSpecializationInfo* pSpecializationInfo;
4246 } VkPipelineShaderStageCreateInfo;
4248 typedef struct VkComputePipelineCreateInfo {
4249 VkStructureType sType;
4251 VkPipelineCreateFlags flags;
4252 VkPipelineShaderStageCreateInfo stage;
4253 VkPipelineLayout layout;
4254 VkPipeline basePipelineHandle;
4255 deInt32 basePipelineIndex;
4256 } VkComputePipelineCreateInfo;
4258 typedef struct VkVertexInputBindingDescription {
4261 VkVertexInputRate inputRate;
4262 } VkVertexInputBindingDescription;
4264 typedef struct VkVertexInputAttributeDescription {
4269 } VkVertexInputAttributeDescription;
4271 typedef struct VkPipelineVertexInputStateCreateInfo {
4272 VkStructureType sType;
4274 VkPipelineVertexInputStateCreateFlags flags;
4275 deUint32 vertexBindingDescriptionCount;
4276 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
4277 deUint32 vertexAttributeDescriptionCount;
4278 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
4279 } VkPipelineVertexInputStateCreateInfo;
4281 typedef struct VkPipelineInputAssemblyStateCreateInfo {
4282 VkStructureType sType;
4284 VkPipelineInputAssemblyStateCreateFlags flags;
4285 VkPrimitiveTopology topology;
4286 VkBool32 primitiveRestartEnable;
4287 } VkPipelineInputAssemblyStateCreateInfo;
4289 typedef struct VkPipelineTessellationStateCreateInfo {
4290 VkStructureType sType;
4292 VkPipelineTessellationStateCreateFlags flags;
4293 deUint32 patchControlPoints;
4294 } VkPipelineTessellationStateCreateInfo;
4296 typedef struct VkViewport {
4305 typedef struct VkPipelineViewportStateCreateInfo {
4306 VkStructureType sType;
4308 VkPipelineViewportStateCreateFlags flags;
4309 deUint32 viewportCount;
4310 const VkViewport* pViewports;
4311 deUint32 scissorCount;
4312 const VkRect2D* pScissors;
4313 } VkPipelineViewportStateCreateInfo;
4315 typedef struct VkPipelineRasterizationStateCreateInfo {
4316 VkStructureType sType;
4318 VkPipelineRasterizationStateCreateFlags flags;
4319 VkBool32 depthClampEnable;
4320 VkBool32 rasterizerDiscardEnable;
4321 VkPolygonMode polygonMode;
4322 VkCullModeFlags cullMode;
4323 VkFrontFace frontFace;
4324 VkBool32 depthBiasEnable;
4325 float depthBiasConstantFactor;
4326 float depthBiasClamp;
4327 float depthBiasSlopeFactor;
4329 } VkPipelineRasterizationStateCreateInfo;
4331 typedef struct VkPipelineMultisampleStateCreateInfo {
4332 VkStructureType sType;
4334 VkPipelineMultisampleStateCreateFlags flags;
4335 VkSampleCountFlagBits rasterizationSamples;
4336 VkBool32 sampleShadingEnable;
4337 float minSampleShading;
4338 const VkSampleMask* pSampleMask;
4339 VkBool32 alphaToCoverageEnable;
4340 VkBool32 alphaToOneEnable;
4341 } VkPipelineMultisampleStateCreateInfo;
4343 typedef struct VkStencilOpState {
4346 VkStencilOp depthFailOp;
4347 VkCompareOp compareOp;
4348 deUint32 compareMask;
4353 typedef struct VkPipelineDepthStencilStateCreateInfo {
4354 VkStructureType sType;
4356 VkPipelineDepthStencilStateCreateFlags flags;
4357 VkBool32 depthTestEnable;
4358 VkBool32 depthWriteEnable;
4359 VkCompareOp depthCompareOp;
4360 VkBool32 depthBoundsTestEnable;
4361 VkBool32 stencilTestEnable;
4362 VkStencilOpState front;
4363 VkStencilOpState back;
4364 float minDepthBounds;
4365 float maxDepthBounds;
4366 } VkPipelineDepthStencilStateCreateInfo;
4368 typedef struct VkPipelineColorBlendAttachmentState {
4369 VkBool32 blendEnable;
4370 VkBlendFactor srcColorBlendFactor;
4371 VkBlendFactor dstColorBlendFactor;
4372 VkBlendOp colorBlendOp;
4373 VkBlendFactor srcAlphaBlendFactor;
4374 VkBlendFactor dstAlphaBlendFactor;
4375 VkBlendOp alphaBlendOp;
4376 VkColorComponentFlags colorWriteMask;
4377 } VkPipelineColorBlendAttachmentState;
4379 typedef struct VkPipelineColorBlendStateCreateInfo {
4380 VkStructureType sType;
4382 VkPipelineColorBlendStateCreateFlags flags;
4383 VkBool32 logicOpEnable;
4385 deUint32 attachmentCount;
4386 const VkPipelineColorBlendAttachmentState* pAttachments;
4387 float blendConstants[4];
4388 } VkPipelineColorBlendStateCreateInfo;
4390 typedef struct VkPipelineDynamicStateCreateInfo {
4391 VkStructureType sType;
4393 VkPipelineDynamicStateCreateFlags flags;
4394 deUint32 dynamicStateCount;
4395 const VkDynamicState* pDynamicStates;
4396 } VkPipelineDynamicStateCreateInfo;
4398 typedef struct VkGraphicsPipelineCreateInfo {
4399 VkStructureType sType;
4401 VkPipelineCreateFlags flags;
4402 deUint32 stageCount;
4403 const VkPipelineShaderStageCreateInfo* pStages;
4404 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4405 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4406 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4407 const VkPipelineViewportStateCreateInfo* pViewportState;
4408 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4409 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4410 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4411 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4412 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4413 VkPipelineLayout layout;
4414 VkRenderPass renderPass;
4416 VkPipeline basePipelineHandle;
4417 deInt32 basePipelineIndex;
4418 } VkGraphicsPipelineCreateInfo;
4420 typedef struct VkPushConstantRange {
4421 VkShaderStageFlags stageFlags;
4424 } VkPushConstantRange;
4426 typedef struct VkPipelineLayoutCreateInfo {
4427 VkStructureType sType;
4429 VkPipelineLayoutCreateFlags flags;
4430 deUint32 setLayoutCount;
4431 const VkDescriptorSetLayout* pSetLayouts;
4432 deUint32 pushConstantRangeCount;
4433 const VkPushConstantRange* pPushConstantRanges;
4434 } VkPipelineLayoutCreateInfo;
4436 typedef struct VkSamplerCreateInfo {
4437 VkStructureType sType;
4439 VkSamplerCreateFlags flags;
4442 VkSamplerMipmapMode mipmapMode;
4443 VkSamplerAddressMode addressModeU;
4444 VkSamplerAddressMode addressModeV;
4445 VkSamplerAddressMode addressModeW;
4447 VkBool32 anisotropyEnable;
4448 float maxAnisotropy;
4449 VkBool32 compareEnable;
4450 VkCompareOp compareOp;
4453 VkBorderColor borderColor;
4454 VkBool32 unnormalizedCoordinates;
4455 } VkSamplerCreateInfo;
4457 typedef struct VkCopyDescriptorSet {
4458 VkStructureType sType;
4460 VkDescriptorSet srcSet;
4461 deUint32 srcBinding;
4462 deUint32 srcArrayElement;
4463 VkDescriptorSet dstSet;
4464 deUint32 dstBinding;
4465 deUint32 dstArrayElement;
4466 deUint32 descriptorCount;
4467 } VkCopyDescriptorSet;
4469 typedef struct VkDescriptorBufferInfo {
4471 VkDeviceSize offset;
4473 } VkDescriptorBufferInfo;
4475 typedef struct VkDescriptorImageInfo {
4477 VkImageView imageView;
4478 VkImageLayout imageLayout;
4479 } VkDescriptorImageInfo;
4481 typedef struct VkDescriptorPoolSize {
4482 VkDescriptorType type;
4483 deUint32 descriptorCount;
4484 } VkDescriptorPoolSize;
4486 typedef struct VkDescriptorPoolCreateInfo {
4487 VkStructureType sType;
4489 VkDescriptorPoolCreateFlags flags;
4491 deUint32 poolSizeCount;
4492 const VkDescriptorPoolSize* pPoolSizes;
4493 } VkDescriptorPoolCreateInfo;
4495 typedef struct VkDescriptorSetAllocateInfo {
4496 VkStructureType sType;
4498 VkDescriptorPool descriptorPool;
4499 deUint32 descriptorSetCount;
4500 const VkDescriptorSetLayout* pSetLayouts;
4501 } VkDescriptorSetAllocateInfo;
4503 typedef struct VkDescriptorSetLayoutBinding {
4505 VkDescriptorType descriptorType;
4506 deUint32 descriptorCount;
4507 VkShaderStageFlags stageFlags;
4508 const VkSampler* pImmutableSamplers;
4509 } VkDescriptorSetLayoutBinding;
4511 typedef struct VkDescriptorSetLayoutCreateInfo {
4512 VkStructureType sType;
4514 VkDescriptorSetLayoutCreateFlags flags;
4515 deUint32 bindingCount;
4516 const VkDescriptorSetLayoutBinding* pBindings;
4517 } VkDescriptorSetLayoutCreateInfo;
4519 typedef struct VkWriteDescriptorSet {
4520 VkStructureType sType;
4522 VkDescriptorSet dstSet;
4523 deUint32 dstBinding;
4524 deUint32 dstArrayElement;
4525 deUint32 descriptorCount;
4526 VkDescriptorType descriptorType;
4527 const VkDescriptorImageInfo* pImageInfo;
4528 const VkDescriptorBufferInfo* pBufferInfo;
4529 const VkBufferView* pTexelBufferView;
4530 } VkWriteDescriptorSet;
4532 typedef struct VkAttachmentDescription {
4533 VkAttachmentDescriptionFlags flags;
4535 VkSampleCountFlagBits samples;
4536 VkAttachmentLoadOp loadOp;
4537 VkAttachmentStoreOp storeOp;
4538 VkAttachmentLoadOp stencilLoadOp;
4539 VkAttachmentStoreOp stencilStoreOp;
4540 VkImageLayout initialLayout;
4541 VkImageLayout finalLayout;
4542 } VkAttachmentDescription;
4544 typedef struct VkAttachmentReference {
4545 deUint32 attachment;
4546 VkImageLayout layout;
4547 } VkAttachmentReference;
4549 typedef struct VkFramebufferCreateInfo {
4550 VkStructureType sType;
4552 VkFramebufferCreateFlags flags;
4553 VkRenderPass renderPass;
4554 deUint32 attachmentCount;
4555 const VkImageView* pAttachments;
4559 } VkFramebufferCreateInfo;
4561 typedef struct VkSubpassDescription {
4562 VkSubpassDescriptionFlags flags;
4563 VkPipelineBindPoint pipelineBindPoint;
4564 deUint32 inputAttachmentCount;
4565 const VkAttachmentReference* pInputAttachments;
4566 deUint32 colorAttachmentCount;
4567 const VkAttachmentReference* pColorAttachments;
4568 const VkAttachmentReference* pResolveAttachments;
4569 const VkAttachmentReference* pDepthStencilAttachment;
4570 deUint32 preserveAttachmentCount;
4571 const deUint32* pPreserveAttachments;
4572 } VkSubpassDescription;
4574 typedef struct VkSubpassDependency {
4575 deUint32 srcSubpass;
4576 deUint32 dstSubpass;
4577 VkPipelineStageFlags srcStageMask;
4578 VkPipelineStageFlags dstStageMask;
4579 VkAccessFlags srcAccessMask;
4580 VkAccessFlags dstAccessMask;
4581 VkDependencyFlags dependencyFlags;
4582 } VkSubpassDependency;
4584 typedef struct VkRenderPassCreateInfo {
4585 VkStructureType sType;
4587 VkRenderPassCreateFlags flags;
4588 deUint32 attachmentCount;
4589 const VkAttachmentDescription* pAttachments;
4590 deUint32 subpassCount;
4591 const VkSubpassDescription* pSubpasses;
4592 deUint32 dependencyCount;
4593 const VkSubpassDependency* pDependencies;
4594 } VkRenderPassCreateInfo;
4596 typedef struct VkCommandPoolCreateInfo {
4597 VkStructureType sType;
4599 VkCommandPoolCreateFlags flags;
4600 deUint32 queueFamilyIndex;
4601 } VkCommandPoolCreateInfo;
4603 typedef struct VkCommandBufferAllocateInfo {
4604 VkStructureType sType;
4606 VkCommandPool commandPool;
4607 VkCommandBufferLevel level;
4608 deUint32 commandBufferCount;
4609 } VkCommandBufferAllocateInfo;
4611 typedef struct VkCommandBufferInheritanceInfo {
4612 VkStructureType sType;
4614 VkRenderPass renderPass;
4616 VkFramebuffer framebuffer;
4617 VkBool32 occlusionQueryEnable;
4618 VkQueryControlFlags queryFlags;
4619 VkQueryPipelineStatisticFlags pipelineStatistics;
4620 } VkCommandBufferInheritanceInfo;
4622 typedef struct VkCommandBufferBeginInfo {
4623 VkStructureType sType;
4625 VkCommandBufferUsageFlags flags;
4626 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4627 } VkCommandBufferBeginInfo;
4629 typedef struct VkBufferCopy {
4630 VkDeviceSize srcOffset;
4631 VkDeviceSize dstOffset;
4635 typedef struct VkImageSubresourceLayers {
4636 VkImageAspectFlags aspectMask;
4638 deUint32 baseArrayLayer;
4639 deUint32 layerCount;
4640 } VkImageSubresourceLayers;
4642 typedef struct VkBufferImageCopy {
4643 VkDeviceSize bufferOffset;
4644 deUint32 bufferRowLength;
4645 deUint32 bufferImageHeight;
4646 VkImageSubresourceLayers imageSubresource;
4647 VkOffset3D imageOffset;
4648 VkExtent3D imageExtent;
4649 } VkBufferImageCopy;
4651 typedef union VkClearColorValue {
4655 } VkClearColorValue;
4657 typedef struct VkClearDepthStencilValue {
4660 } VkClearDepthStencilValue;
4662 typedef union VkClearValue {
4663 VkClearColorValue color;
4664 VkClearDepthStencilValue depthStencil;
4667 typedef struct VkClearAttachment {
4668 VkImageAspectFlags aspectMask;
4669 deUint32 colorAttachment;
4670 VkClearValue clearValue;
4671 } VkClearAttachment;
4673 typedef struct VkClearRect {
4675 deUint32 baseArrayLayer;
4676 deUint32 layerCount;
4679 typedef struct VkImageBlit {
4680 VkImageSubresourceLayers srcSubresource;
4681 VkOffset3D srcOffsets[2];
4682 VkImageSubresourceLayers dstSubresource;
4683 VkOffset3D dstOffsets[2];
4686 typedef struct VkImageCopy {
4687 VkImageSubresourceLayers srcSubresource;
4688 VkOffset3D srcOffset;
4689 VkImageSubresourceLayers dstSubresource;
4690 VkOffset3D dstOffset;
4694 typedef struct VkImageResolve {
4695 VkImageSubresourceLayers srcSubresource;
4696 VkOffset3D srcOffset;
4697 VkImageSubresourceLayers dstSubresource;
4698 VkOffset3D dstOffset;
4702 typedef struct VkRenderPassBeginInfo {
4703 VkStructureType sType;
4705 VkRenderPass renderPass;
4706 VkFramebuffer framebuffer;
4707 VkRect2D renderArea;
4708 deUint32 clearValueCount;
4709 const VkClearValue* pClearValues;
4710 } VkRenderPassBeginInfo;
4712 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4713 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4714 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4715 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4716 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4717 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4718 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4719 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4720 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4721 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4722 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4723 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4724 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4725 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4726 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4727 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4728 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4729 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4730 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4731 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4732 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4733 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4734 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4735 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4736 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4737 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4738 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4739 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4740 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4741 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4742 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4743 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4744 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4745 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4746 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4747 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4748 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4749 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4750 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4751 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4752 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4753 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4754 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4755 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4756 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4757 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4758 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4759 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4760 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4761 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4762 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4763 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4764 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4765 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4766 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4767 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4768 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4769 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4770 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4771 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4772 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4773 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4774 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4775 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4776 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4777 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4778 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4779 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4780 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4781 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4782 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4783 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4784 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4785 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4786 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4787 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4788 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4789 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4790 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4791 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4792 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4793 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4794 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4795 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4796 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4797 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4798 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4799 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4800 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4801 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4802 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4803 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4804 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4805 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4806 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4807 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4808 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4809 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4810 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4811 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4812 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4813 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4814 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4815 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4816 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4817 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4818 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4819 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4820 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4821 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4822 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4823 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4824 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4825 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4826 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4827 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4828 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4829 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4830 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4831 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4832 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4833 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4834 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4835 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4836 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4837 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);
4838 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);
4839 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4840 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4841 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4842 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4843 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4844 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4845 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4846 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4847 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4848 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4850 #ifndef VK_NO_PROTOTYPES
4851 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4852 const VkInstanceCreateInfo* pCreateInfo,
4853 const VkAllocationCallbacks* pAllocator,
4854 VkInstance* pInstance);
4856 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4857 VkInstance instance,
4858 const VkAllocationCallbacks* pAllocator);
4860 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4861 VkInstance instance,
4862 deUint32* pPhysicalDeviceCount,
4863 VkPhysicalDevice* pPhysicalDevices);
4865 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4866 VkPhysicalDevice physicalDevice,
4867 VkPhysicalDeviceFeatures* pFeatures);
4869 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4870 VkPhysicalDevice physicalDevice,
4872 VkFormatProperties* pFormatProperties);
4874 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4875 VkPhysicalDevice physicalDevice,
4878 VkImageTiling tiling,
4879 VkImageUsageFlags usage,
4880 VkImageCreateFlags flags,
4881 VkImageFormatProperties* pImageFormatProperties);
4883 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4884 VkPhysicalDevice physicalDevice,
4885 VkPhysicalDeviceProperties* pProperties);
4887 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4888 VkPhysicalDevice physicalDevice,
4889 deUint32* pQueueFamilyPropertyCount,
4890 VkQueueFamilyProperties* pQueueFamilyProperties);
4892 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4893 VkPhysicalDevice physicalDevice,
4894 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4896 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4897 VkInstance instance,
4900 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4904 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4905 VkPhysicalDevice physicalDevice,
4906 const VkDeviceCreateInfo* pCreateInfo,
4907 const VkAllocationCallbacks* pAllocator,
4910 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4912 const VkAllocationCallbacks* pAllocator);
4914 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4915 const char* pLayerName,
4916 deUint32* pPropertyCount,
4917 VkExtensionProperties* pProperties);
4919 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4920 VkPhysicalDevice physicalDevice,
4921 const char* pLayerName,
4922 deUint32* pPropertyCount,
4923 VkExtensionProperties* pProperties);
4925 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4926 deUint32* pPropertyCount,
4927 VkLayerProperties* pProperties);
4929 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4930 VkPhysicalDevice physicalDevice,
4931 deUint32* pPropertyCount,
4932 VkLayerProperties* pProperties);
4934 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4936 deUint32 queueFamilyIndex,
4937 deUint32 queueIndex,
4940 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4942 deUint32 submitCount,
4943 const VkSubmitInfo* pSubmits,
4946 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4949 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4952 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4954 const VkMemoryAllocateInfo* pAllocateInfo,
4955 const VkAllocationCallbacks* pAllocator,
4956 VkDeviceMemory* pMemory);
4958 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4960 VkDeviceMemory memory,
4961 const VkAllocationCallbacks* pAllocator);
4963 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4965 VkDeviceMemory memory,
4966 VkDeviceSize offset,
4968 VkMemoryMapFlags flags,
4971 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4973 VkDeviceMemory memory);
4975 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4977 deUint32 memoryRangeCount,
4978 const VkMappedMemoryRange* pMemoryRanges);
4980 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4982 deUint32 memoryRangeCount,
4983 const VkMappedMemoryRange* pMemoryRanges);
4985 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4987 VkDeviceMemory memory,
4988 VkDeviceSize* pCommittedMemoryInBytes);
4990 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4993 VkDeviceMemory memory,
4994 VkDeviceSize memoryOffset);
4996 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4999 VkDeviceMemory memory,
5000 VkDeviceSize memoryOffset);
5002 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
5005 VkMemoryRequirements* pMemoryRequirements);
5007 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
5010 VkMemoryRequirements* pMemoryRequirements);
5012 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
5015 deUint32* pSparseMemoryRequirementCount,
5016 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
5018 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
5019 VkPhysicalDevice physicalDevice,
5022 VkSampleCountFlagBits samples,
5023 VkImageUsageFlags usage,
5024 VkImageTiling tiling,
5025 deUint32* pPropertyCount,
5026 VkSparseImageFormatProperties* pProperties);
5028 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
5030 deUint32 bindInfoCount,
5031 const VkBindSparseInfo* pBindInfo,
5034 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
5036 const VkFenceCreateInfo* pCreateInfo,
5037 const VkAllocationCallbacks* pAllocator,
5040 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
5043 const VkAllocationCallbacks* pAllocator);
5045 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
5047 deUint32 fenceCount,
5048 const VkFence* pFences);
5050 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
5054 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
5056 deUint32 fenceCount,
5057 const VkFence* pFences,
5061 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
5063 const VkSemaphoreCreateInfo* pCreateInfo,
5064 const VkAllocationCallbacks* pAllocator,
5065 VkSemaphore* pSemaphore);
5067 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
5069 VkSemaphore semaphore,
5070 const VkAllocationCallbacks* pAllocator);
5072 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
5074 const VkEventCreateInfo* pCreateInfo,
5075 const VkAllocationCallbacks* pAllocator,
5078 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
5081 const VkAllocationCallbacks* pAllocator);
5083 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
5087 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
5091 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
5095 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
5097 const VkQueryPoolCreateInfo* pCreateInfo,
5098 const VkAllocationCallbacks* pAllocator,
5099 VkQueryPool* pQueryPool);
5101 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
5103 VkQueryPool queryPool,
5104 const VkAllocationCallbacks* pAllocator);
5106 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
5108 VkQueryPool queryPool,
5109 deUint32 firstQuery,
5110 deUint32 queryCount,
5113 VkDeviceSize stride,
5114 VkQueryResultFlags flags);
5116 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
5118 const VkBufferCreateInfo* pCreateInfo,
5119 const VkAllocationCallbacks* pAllocator,
5122 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
5125 const VkAllocationCallbacks* pAllocator);
5127 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
5129 const VkBufferViewCreateInfo* pCreateInfo,
5130 const VkAllocationCallbacks* pAllocator,
5131 VkBufferView* pView);
5133 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
5135 VkBufferView bufferView,
5136 const VkAllocationCallbacks* pAllocator);
5138 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
5140 const VkImageCreateInfo* pCreateInfo,
5141 const VkAllocationCallbacks* pAllocator,
5144 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
5147 const VkAllocationCallbacks* pAllocator);
5149 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
5152 const VkImageSubresource* pSubresource,
5153 VkSubresourceLayout* pLayout);
5155 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
5157 const VkImageViewCreateInfo* pCreateInfo,
5158 const VkAllocationCallbacks* pAllocator,
5159 VkImageView* pView);
5161 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
5163 VkImageView imageView,
5164 const VkAllocationCallbacks* pAllocator);
5166 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
5168 const VkShaderModuleCreateInfo* pCreateInfo,
5169 const VkAllocationCallbacks* pAllocator,
5170 VkShaderModule* pShaderModule);
5172 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
5174 VkShaderModule shaderModule,
5175 const VkAllocationCallbacks* pAllocator);
5177 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
5179 const VkPipelineCacheCreateInfo* pCreateInfo,
5180 const VkAllocationCallbacks* pAllocator,
5181 VkPipelineCache* pPipelineCache);
5183 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
5185 VkPipelineCache pipelineCache,
5186 const VkAllocationCallbacks* pAllocator);
5188 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
5190 VkPipelineCache pipelineCache,
5191 deUintptr* pDataSize,
5194 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
5196 VkPipelineCache dstCache,
5197 deUint32 srcCacheCount,
5198 const VkPipelineCache* pSrcCaches);
5200 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
5202 VkPipelineCache pipelineCache,
5203 deUint32 createInfoCount,
5204 const VkGraphicsPipelineCreateInfo* pCreateInfos,
5205 const VkAllocationCallbacks* pAllocator,
5206 VkPipeline* pPipelines);
5208 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
5210 VkPipelineCache pipelineCache,
5211 deUint32 createInfoCount,
5212 const VkComputePipelineCreateInfo* pCreateInfos,
5213 const VkAllocationCallbacks* pAllocator,
5214 VkPipeline* pPipelines);
5216 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
5218 VkPipeline pipeline,
5219 const VkAllocationCallbacks* pAllocator);
5221 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
5223 const VkPipelineLayoutCreateInfo* pCreateInfo,
5224 const VkAllocationCallbacks* pAllocator,
5225 VkPipelineLayout* pPipelineLayout);
5227 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
5229 VkPipelineLayout pipelineLayout,
5230 const VkAllocationCallbacks* pAllocator);
5232 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
5234 const VkSamplerCreateInfo* pCreateInfo,
5235 const VkAllocationCallbacks* pAllocator,
5236 VkSampler* pSampler);
5238 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
5241 const VkAllocationCallbacks* pAllocator);
5243 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
5245 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
5246 const VkAllocationCallbacks* pAllocator,
5247 VkDescriptorSetLayout* pSetLayout);
5249 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
5251 VkDescriptorSetLayout descriptorSetLayout,
5252 const VkAllocationCallbacks* pAllocator);
5254 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
5256 const VkDescriptorPoolCreateInfo* pCreateInfo,
5257 const VkAllocationCallbacks* pAllocator,
5258 VkDescriptorPool* pDescriptorPool);
5260 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
5262 VkDescriptorPool descriptorPool,
5263 const VkAllocationCallbacks* pAllocator);
5265 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
5267 VkDescriptorPool descriptorPool,
5268 VkDescriptorPoolResetFlags flags);
5270 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
5272 const VkDescriptorSetAllocateInfo* pAllocateInfo,
5273 VkDescriptorSet* pDescriptorSets);
5275 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
5277 VkDescriptorPool descriptorPool,
5278 deUint32 descriptorSetCount,
5279 const VkDescriptorSet* pDescriptorSets);
5281 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
5283 deUint32 descriptorWriteCount,
5284 const VkWriteDescriptorSet* pDescriptorWrites,
5285 deUint32 descriptorCopyCount,
5286 const VkCopyDescriptorSet* pDescriptorCopies);
5288 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
5290 const VkFramebufferCreateInfo* pCreateInfo,
5291 const VkAllocationCallbacks* pAllocator,
5292 VkFramebuffer* pFramebuffer);
5294 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
5296 VkFramebuffer framebuffer,
5297 const VkAllocationCallbacks* pAllocator);
5299 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
5301 const VkRenderPassCreateInfo* pCreateInfo,
5302 const VkAllocationCallbacks* pAllocator,
5303 VkRenderPass* pRenderPass);
5305 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
5307 VkRenderPass renderPass,
5308 const VkAllocationCallbacks* pAllocator);
5310 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
5312 VkRenderPass renderPass,
5313 VkExtent2D* pGranularity);
5315 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
5317 const VkCommandPoolCreateInfo* pCreateInfo,
5318 const VkAllocationCallbacks* pAllocator,
5319 VkCommandPool* pCommandPool);
5321 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
5323 VkCommandPool commandPool,
5324 const VkAllocationCallbacks* pAllocator);
5326 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
5328 VkCommandPool commandPool,
5329 VkCommandPoolResetFlags flags);
5331 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
5333 const VkCommandBufferAllocateInfo* pAllocateInfo,
5334 VkCommandBuffer* pCommandBuffers);
5336 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
5338 VkCommandPool commandPool,
5339 deUint32 commandBufferCount,
5340 const VkCommandBuffer* pCommandBuffers);
5342 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
5343 VkCommandBuffer commandBuffer,
5344 const VkCommandBufferBeginInfo* pBeginInfo);
5346 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
5347 VkCommandBuffer commandBuffer);
5349 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
5350 VkCommandBuffer commandBuffer,
5351 VkCommandBufferResetFlags flags);
5353 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
5354 VkCommandBuffer commandBuffer,
5355 VkPipelineBindPoint pipelineBindPoint,
5356 VkPipeline pipeline);
5358 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
5359 VkCommandBuffer commandBuffer,
5360 deUint32 firstViewport,
5361 deUint32 viewportCount,
5362 const VkViewport* pViewports);
5364 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
5365 VkCommandBuffer commandBuffer,
5366 deUint32 firstScissor,
5367 deUint32 scissorCount,
5368 const VkRect2D* pScissors);
5370 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
5371 VkCommandBuffer commandBuffer,
5374 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
5375 VkCommandBuffer commandBuffer,
5376 float depthBiasConstantFactor,
5377 float depthBiasClamp,
5378 float depthBiasSlopeFactor);
5380 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
5381 VkCommandBuffer commandBuffer,
5382 const float blendConstants[4]);
5384 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
5385 VkCommandBuffer commandBuffer,
5386 float minDepthBounds,
5387 float maxDepthBounds);
5389 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5390 VkCommandBuffer commandBuffer,
5391 VkStencilFaceFlags faceMask,
5392 deUint32 compareMask);
5394 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5395 VkCommandBuffer commandBuffer,
5396 VkStencilFaceFlags faceMask,
5397 deUint32 writeMask);
5399 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5400 VkCommandBuffer commandBuffer,
5401 VkStencilFaceFlags faceMask,
5402 deUint32 reference);
5404 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5405 VkCommandBuffer commandBuffer,
5406 VkPipelineBindPoint pipelineBindPoint,
5407 VkPipelineLayout layout,
5409 deUint32 descriptorSetCount,
5410 const VkDescriptorSet* pDescriptorSets,
5411 deUint32 dynamicOffsetCount,
5412 const deUint32* pDynamicOffsets);
5414 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5415 VkCommandBuffer commandBuffer,
5417 VkDeviceSize offset,
5418 VkIndexType indexType);
5420 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5421 VkCommandBuffer commandBuffer,
5422 deUint32 firstBinding,
5423 deUint32 bindingCount,
5424 const VkBuffer* pBuffers,
5425 const VkDeviceSize* pOffsets);
5427 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5428 VkCommandBuffer commandBuffer,
5429 deUint32 vertexCount,
5430 deUint32 instanceCount,
5431 deUint32 firstVertex,
5432 deUint32 firstInstance);
5434 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5435 VkCommandBuffer commandBuffer,
5436 deUint32 indexCount,
5437 deUint32 instanceCount,
5438 deUint32 firstIndex,
5439 deInt32 vertexOffset,
5440 deUint32 firstInstance);
5442 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5443 VkCommandBuffer commandBuffer,
5445 VkDeviceSize offset,
5449 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5450 VkCommandBuffer commandBuffer,
5452 VkDeviceSize offset,
5456 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5457 VkCommandBuffer commandBuffer,
5458 deUint32 groupCountX,
5459 deUint32 groupCountY,
5460 deUint32 groupCountZ);
5462 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5463 VkCommandBuffer commandBuffer,
5465 VkDeviceSize offset);
5467 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5468 VkCommandBuffer commandBuffer,
5471 deUint32 regionCount,
5472 const VkBufferCopy* pRegions);
5474 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5475 VkCommandBuffer commandBuffer,
5477 VkImageLayout srcImageLayout,
5479 VkImageLayout dstImageLayout,
5480 deUint32 regionCount,
5481 const VkImageCopy* pRegions);
5483 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5484 VkCommandBuffer commandBuffer,
5486 VkImageLayout srcImageLayout,
5488 VkImageLayout dstImageLayout,
5489 deUint32 regionCount,
5490 const VkImageBlit* pRegions,
5493 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5494 VkCommandBuffer commandBuffer,
5497 VkImageLayout dstImageLayout,
5498 deUint32 regionCount,
5499 const VkBufferImageCopy* pRegions);
5501 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5502 VkCommandBuffer commandBuffer,
5504 VkImageLayout srcImageLayout,
5506 deUint32 regionCount,
5507 const VkBufferImageCopy* pRegions);
5509 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5510 VkCommandBuffer commandBuffer,
5512 VkDeviceSize dstOffset,
5513 VkDeviceSize dataSize,
5516 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5517 VkCommandBuffer commandBuffer,
5519 VkDeviceSize dstOffset,
5523 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5524 VkCommandBuffer commandBuffer,
5526 VkImageLayout imageLayout,
5527 const VkClearColorValue* pColor,
5528 deUint32 rangeCount,
5529 const VkImageSubresourceRange* pRanges);
5531 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5532 VkCommandBuffer commandBuffer,
5534 VkImageLayout imageLayout,
5535 const VkClearDepthStencilValue* pDepthStencil,
5536 deUint32 rangeCount,
5537 const VkImageSubresourceRange* pRanges);
5539 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5540 VkCommandBuffer commandBuffer,
5541 deUint32 attachmentCount,
5542 const VkClearAttachment* pAttachments,
5544 const VkClearRect* pRects);
5546 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5547 VkCommandBuffer commandBuffer,
5549 VkImageLayout srcImageLayout,
5551 VkImageLayout dstImageLayout,
5552 deUint32 regionCount,
5553 const VkImageResolve* pRegions);
5555 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5556 VkCommandBuffer commandBuffer,
5558 VkPipelineStageFlags stageMask);
5560 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5561 VkCommandBuffer commandBuffer,
5563 VkPipelineStageFlags stageMask);
5565 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5566 VkCommandBuffer commandBuffer,
5567 deUint32 eventCount,
5568 const VkEvent* pEvents,
5569 VkPipelineStageFlags srcStageMask,
5570 VkPipelineStageFlags dstStageMask,
5571 deUint32 memoryBarrierCount,
5572 const VkMemoryBarrier* pMemoryBarriers,
5573 deUint32 bufferMemoryBarrierCount,
5574 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5575 deUint32 imageMemoryBarrierCount,
5576 const VkImageMemoryBarrier* pImageMemoryBarriers);
5578 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5579 VkCommandBuffer commandBuffer,
5580 VkPipelineStageFlags srcStageMask,
5581 VkPipelineStageFlags dstStageMask,
5582 VkDependencyFlags dependencyFlags,
5583 deUint32 memoryBarrierCount,
5584 const VkMemoryBarrier* pMemoryBarriers,
5585 deUint32 bufferMemoryBarrierCount,
5586 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5587 deUint32 imageMemoryBarrierCount,
5588 const VkImageMemoryBarrier* pImageMemoryBarriers);
5590 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5591 VkCommandBuffer commandBuffer,
5592 VkQueryPool queryPool,
5594 VkQueryControlFlags flags);
5596 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5597 VkCommandBuffer commandBuffer,
5598 VkQueryPool queryPool,
5601 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5602 VkCommandBuffer commandBuffer,
5603 VkQueryPool queryPool,
5604 deUint32 firstQuery,
5605 deUint32 queryCount);
5607 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5608 VkCommandBuffer commandBuffer,
5609 VkPipelineStageFlagBits pipelineStage,
5610 VkQueryPool queryPool,
5613 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5614 VkCommandBuffer commandBuffer,
5615 VkQueryPool queryPool,
5616 deUint32 firstQuery,
5617 deUint32 queryCount,
5619 VkDeviceSize dstOffset,
5620 VkDeviceSize stride,
5621 VkQueryResultFlags flags);
5623 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5624 VkCommandBuffer commandBuffer,
5625 VkPipelineLayout layout,
5626 VkShaderStageFlags stageFlags,
5629 const void* pValues);
5631 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5632 VkCommandBuffer commandBuffer,
5633 const VkRenderPassBeginInfo* pRenderPassBegin,
5634 VkSubpassContents contents);
5636 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5637 VkCommandBuffer commandBuffer,
5638 VkSubpassContents contents);
5640 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5641 VkCommandBuffer commandBuffer);
5643 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5644 VkCommandBuffer commandBuffer,
5645 deUint32 commandBufferCount,
5646 const VkCommandBuffer* pCommandBuffers);
5650 #define VK_VERSION_1_1 1
5651 // Vulkan 1.1 version number
5652 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5654 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5655 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5656 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5657 #define VK_LUID_SIZE 8U
5658 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5660 typedef enum VkPointClippingBehavior {
5661 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5662 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5663 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5664 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5665 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5666 } VkPointClippingBehavior;
5668 typedef enum VkTessellationDomainOrigin {
5669 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5670 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5671 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5672 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5673 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5674 } VkTessellationDomainOrigin;
5676 typedef enum VkSamplerYcbcrModelConversion {
5677 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5678 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5679 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5680 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5681 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5682 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5683 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5684 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5685 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5686 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5687 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5688 } VkSamplerYcbcrModelConversion;
5690 typedef enum VkSamplerYcbcrRange {
5691 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5692 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5693 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5694 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5695 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5696 } VkSamplerYcbcrRange;
5698 typedef enum VkChromaLocation {
5699 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5700 VK_CHROMA_LOCATION_MIDPOINT = 1,
5701 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5702 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5703 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5706 typedef enum VkDescriptorUpdateTemplateType {
5707 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5708 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5709 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5710 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5711 } VkDescriptorUpdateTemplateType;
5713 typedef enum VkSubgroupFeatureFlagBits {
5714 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5715 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5716 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5717 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5718 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5719 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5720 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5721 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5722 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5723 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5724 } VkSubgroupFeatureFlagBits;
5725 typedef VkFlags VkSubgroupFeatureFlags;
5727 typedef enum VkPeerMemoryFeatureFlagBits {
5728 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5729 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5730 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5731 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5732 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5733 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5734 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5735 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5736 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5737 } VkPeerMemoryFeatureFlagBits;
5738 typedef VkFlags VkPeerMemoryFeatureFlags;
5740 typedef enum VkMemoryAllocateFlagBits {
5741 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5742 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5743 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5744 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5745 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5746 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5747 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5748 } VkMemoryAllocateFlagBits;
5749 typedef VkFlags VkMemoryAllocateFlags;
5750 typedef VkFlags VkCommandPoolTrimFlags;
5751 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5753 typedef enum VkExternalMemoryHandleTypeFlagBits {
5754 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5755 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5756 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5757 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5758 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5759 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5760 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5761 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5762 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5763 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5764 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5765 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5766 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
5767 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5768 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5769 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5770 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5771 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5772 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5773 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5774 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5775 } VkExternalMemoryHandleTypeFlagBits;
5776 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5778 typedef enum VkExternalMemoryFeatureFlagBits {
5779 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5780 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5781 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5782 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5783 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5784 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5785 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5786 } VkExternalMemoryFeatureFlagBits;
5787 typedef VkFlags VkExternalMemoryFeatureFlags;
5789 typedef enum VkExternalFenceHandleTypeFlagBits {
5790 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5791 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5792 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5793 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5794 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5795 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5796 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5797 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5798 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5799 } VkExternalFenceHandleTypeFlagBits;
5800 typedef VkFlags VkExternalFenceHandleTypeFlags;
5802 typedef enum VkExternalFenceFeatureFlagBits {
5803 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5804 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5805 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5806 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5807 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5808 } VkExternalFenceFeatureFlagBits;
5809 typedef VkFlags VkExternalFenceFeatureFlags;
5811 typedef enum VkFenceImportFlagBits {
5812 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5813 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5814 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5815 } VkFenceImportFlagBits;
5816 typedef VkFlags VkFenceImportFlags;
5818 typedef enum VkSemaphoreImportFlagBits {
5819 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5820 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5821 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5822 } VkSemaphoreImportFlagBits;
5823 typedef VkFlags VkSemaphoreImportFlags;
5825 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5826 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5827 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5828 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5829 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5830 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5831 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5832 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5833 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5834 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5835 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5836 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5837 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5838 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5839 } VkExternalSemaphoreHandleTypeFlagBits;
5840 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5842 typedef enum VkExternalSemaphoreFeatureFlagBits {
5843 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5844 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5845 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5846 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5847 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5848 } VkExternalSemaphoreFeatureFlagBits;
5849 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5850 typedef struct VkPhysicalDeviceSubgroupProperties {
5851 VkStructureType sType;
5853 deUint32 subgroupSize;
5854 VkShaderStageFlags supportedStages;
5855 VkSubgroupFeatureFlags supportedOperations;
5856 VkBool32 quadOperationsInAllStages;
5857 } VkPhysicalDeviceSubgroupProperties;
5859 typedef struct VkBindBufferMemoryInfo {
5860 VkStructureType sType;
5863 VkDeviceMemory memory;
5864 VkDeviceSize memoryOffset;
5865 } VkBindBufferMemoryInfo;
5867 typedef struct VkBindImageMemoryInfo {
5868 VkStructureType sType;
5871 VkDeviceMemory memory;
5872 VkDeviceSize memoryOffset;
5873 } VkBindImageMemoryInfo;
5875 typedef struct VkPhysicalDevice16BitStorageFeatures {
5876 VkStructureType sType;
5878 VkBool32 storageBuffer16BitAccess;
5879 VkBool32 uniformAndStorageBuffer16BitAccess;
5880 VkBool32 storagePushConstant16;
5881 VkBool32 storageInputOutput16;
5882 } VkPhysicalDevice16BitStorageFeatures;
5884 typedef struct VkMemoryDedicatedRequirements {
5885 VkStructureType sType;
5887 VkBool32 prefersDedicatedAllocation;
5888 VkBool32 requiresDedicatedAllocation;
5889 } VkMemoryDedicatedRequirements;
5891 typedef struct VkMemoryDedicatedAllocateInfo {
5892 VkStructureType sType;
5896 } VkMemoryDedicatedAllocateInfo;
5898 typedef struct VkMemoryAllocateFlagsInfo {
5899 VkStructureType sType;
5901 VkMemoryAllocateFlags flags;
5902 deUint32 deviceMask;
5903 } VkMemoryAllocateFlagsInfo;
5905 typedef struct VkDeviceGroupRenderPassBeginInfo {
5906 VkStructureType sType;
5908 deUint32 deviceMask;
5909 deUint32 deviceRenderAreaCount;
5910 const VkRect2D* pDeviceRenderAreas;
5911 } VkDeviceGroupRenderPassBeginInfo;
5913 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5914 VkStructureType sType;
5916 deUint32 deviceMask;
5917 } VkDeviceGroupCommandBufferBeginInfo;
5919 typedef struct VkDeviceGroupSubmitInfo {
5920 VkStructureType sType;
5922 deUint32 waitSemaphoreCount;
5923 const deUint32* pWaitSemaphoreDeviceIndices;
5924 deUint32 commandBufferCount;
5925 const deUint32* pCommandBufferDeviceMasks;
5926 deUint32 signalSemaphoreCount;
5927 const deUint32* pSignalSemaphoreDeviceIndices;
5928 } VkDeviceGroupSubmitInfo;
5930 typedef struct VkDeviceGroupBindSparseInfo {
5931 VkStructureType sType;
5933 deUint32 resourceDeviceIndex;
5934 deUint32 memoryDeviceIndex;
5935 } VkDeviceGroupBindSparseInfo;
5937 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5938 VkStructureType sType;
5940 deUint32 deviceIndexCount;
5941 const deUint32* pDeviceIndices;
5942 } VkBindBufferMemoryDeviceGroupInfo;
5944 typedef struct VkBindImageMemoryDeviceGroupInfo {
5945 VkStructureType sType;
5947 deUint32 deviceIndexCount;
5948 const deUint32* pDeviceIndices;
5949 deUint32 splitInstanceBindRegionCount;
5950 const VkRect2D* pSplitInstanceBindRegions;
5951 } VkBindImageMemoryDeviceGroupInfo;
5953 typedef struct VkPhysicalDeviceGroupProperties {
5954 VkStructureType sType;
5956 deUint32 physicalDeviceCount;
5957 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5958 VkBool32 subsetAllocation;
5959 } VkPhysicalDeviceGroupProperties;
5961 typedef struct VkDeviceGroupDeviceCreateInfo {
5962 VkStructureType sType;
5964 deUint32 physicalDeviceCount;
5965 const VkPhysicalDevice* pPhysicalDevices;
5966 } VkDeviceGroupDeviceCreateInfo;
5968 typedef struct VkBufferMemoryRequirementsInfo2 {
5969 VkStructureType sType;
5972 } VkBufferMemoryRequirementsInfo2;
5974 typedef struct VkImageMemoryRequirementsInfo2 {
5975 VkStructureType sType;
5978 } VkImageMemoryRequirementsInfo2;
5980 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5981 VkStructureType sType;
5984 } VkImageSparseMemoryRequirementsInfo2;
5986 typedef struct VkMemoryRequirements2 {
5987 VkStructureType sType;
5989 VkMemoryRequirements memoryRequirements;
5990 } VkMemoryRequirements2;
5992 typedef struct VkSparseImageMemoryRequirements2 {
5993 VkStructureType sType;
5995 VkSparseImageMemoryRequirements memoryRequirements;
5996 } VkSparseImageMemoryRequirements2;
5998 typedef struct VkPhysicalDeviceFeatures2 {
5999 VkStructureType sType;
6001 VkPhysicalDeviceFeatures features;
6002 } VkPhysicalDeviceFeatures2;
6004 typedef struct VkPhysicalDeviceProperties2 {
6005 VkStructureType sType;
6007 VkPhysicalDeviceProperties properties;
6008 } VkPhysicalDeviceProperties2;
6010 typedef struct VkFormatProperties2 {
6011 VkStructureType sType;
6013 VkFormatProperties formatProperties;
6014 } VkFormatProperties2;
6016 typedef struct VkImageFormatProperties2 {
6017 VkStructureType sType;
6019 VkImageFormatProperties imageFormatProperties;
6020 } VkImageFormatProperties2;
6022 typedef struct VkPhysicalDeviceImageFormatInfo2 {
6023 VkStructureType sType;
6027 VkImageTiling tiling;
6028 VkImageUsageFlags usage;
6029 VkImageCreateFlags flags;
6030 } VkPhysicalDeviceImageFormatInfo2;
6032 typedef struct VkQueueFamilyProperties2 {
6033 VkStructureType sType;
6035 VkQueueFamilyProperties queueFamilyProperties;
6036 } VkQueueFamilyProperties2;
6038 typedef struct VkPhysicalDeviceMemoryProperties2 {
6039 VkStructureType sType;
6041 VkPhysicalDeviceMemoryProperties memoryProperties;
6042 } VkPhysicalDeviceMemoryProperties2;
6044 typedef struct VkSparseImageFormatProperties2 {
6045 VkStructureType sType;
6047 VkSparseImageFormatProperties properties;
6048 } VkSparseImageFormatProperties2;
6050 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
6051 VkStructureType sType;
6055 VkSampleCountFlagBits samples;
6056 VkImageUsageFlags usage;
6057 VkImageTiling tiling;
6058 } VkPhysicalDeviceSparseImageFormatInfo2;
6060 typedef struct VkPhysicalDevicePointClippingProperties {
6061 VkStructureType sType;
6063 VkPointClippingBehavior pointClippingBehavior;
6064 } VkPhysicalDevicePointClippingProperties;
6066 typedef struct VkInputAttachmentAspectReference {
6068 deUint32 inputAttachmentIndex;
6069 VkImageAspectFlags aspectMask;
6070 } VkInputAttachmentAspectReference;
6072 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
6073 VkStructureType sType;
6075 deUint32 aspectReferenceCount;
6076 const VkInputAttachmentAspectReference* pAspectReferences;
6077 } VkRenderPassInputAttachmentAspectCreateInfo;
6079 typedef struct VkImageViewUsageCreateInfo {
6080 VkStructureType sType;
6082 VkImageUsageFlags usage;
6083 } VkImageViewUsageCreateInfo;
6085 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
6086 VkStructureType sType;
6088 VkTessellationDomainOrigin domainOrigin;
6089 } VkPipelineTessellationDomainOriginStateCreateInfo;
6091 typedef struct VkRenderPassMultiviewCreateInfo {
6092 VkStructureType sType;
6094 deUint32 subpassCount;
6095 const deUint32* pViewMasks;
6096 deUint32 dependencyCount;
6097 const deInt32* pViewOffsets;
6098 deUint32 correlationMaskCount;
6099 const deUint32* pCorrelationMasks;
6100 } VkRenderPassMultiviewCreateInfo;
6102 typedef struct VkPhysicalDeviceMultiviewFeatures {
6103 VkStructureType sType;
6106 VkBool32 multiviewGeometryShader;
6107 VkBool32 multiviewTessellationShader;
6108 } VkPhysicalDeviceMultiviewFeatures;
6110 typedef struct VkPhysicalDeviceMultiviewProperties {
6111 VkStructureType sType;
6113 deUint32 maxMultiviewViewCount;
6114 deUint32 maxMultiviewInstanceIndex;
6115 } VkPhysicalDeviceMultiviewProperties;
6117 typedef struct VkPhysicalDeviceVariablePointersFeatures {
6118 VkStructureType sType;
6120 VkBool32 variablePointersStorageBuffer;
6121 VkBool32 variablePointers;
6122 } VkPhysicalDeviceVariablePointersFeatures;
6124 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
6126 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
6127 VkStructureType sType;
6129 VkBool32 protectedMemory;
6130 } VkPhysicalDeviceProtectedMemoryFeatures;
6132 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
6133 VkStructureType sType;
6135 VkBool32 protectedNoFault;
6136 } VkPhysicalDeviceProtectedMemoryProperties;
6138 typedef struct VkDeviceQueueInfo2 {
6139 VkStructureType sType;
6141 VkDeviceQueueCreateFlags flags;
6142 deUint32 queueFamilyIndex;
6143 deUint32 queueIndex;
6144 } VkDeviceQueueInfo2;
6146 typedef struct VkProtectedSubmitInfo {
6147 VkStructureType sType;
6149 VkBool32 protectedSubmit;
6150 } VkProtectedSubmitInfo;
6152 typedef struct VkSamplerYcbcrConversionCreateInfo {
6153 VkStructureType sType;
6156 VkSamplerYcbcrModelConversion ycbcrModel;
6157 VkSamplerYcbcrRange ycbcrRange;
6158 VkComponentMapping components;
6159 VkChromaLocation xChromaOffset;
6160 VkChromaLocation yChromaOffset;
6161 VkFilter chromaFilter;
6162 VkBool32 forceExplicitReconstruction;
6163 } VkSamplerYcbcrConversionCreateInfo;
6165 typedef struct VkSamplerYcbcrConversionInfo {
6166 VkStructureType sType;
6168 VkSamplerYcbcrConversion conversion;
6169 } VkSamplerYcbcrConversionInfo;
6171 typedef struct VkBindImagePlaneMemoryInfo {
6172 VkStructureType sType;
6174 VkImageAspectFlagBits planeAspect;
6175 } VkBindImagePlaneMemoryInfo;
6177 typedef struct VkImagePlaneMemoryRequirementsInfo {
6178 VkStructureType sType;
6180 VkImageAspectFlagBits planeAspect;
6181 } VkImagePlaneMemoryRequirementsInfo;
6183 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
6184 VkStructureType sType;
6186 VkBool32 samplerYcbcrConversion;
6187 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
6189 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
6190 VkStructureType sType;
6192 deUint32 combinedImageSamplerDescriptorCount;
6193 } VkSamplerYcbcrConversionImageFormatProperties;
6195 typedef struct VkDescriptorUpdateTemplateEntry {
6196 deUint32 dstBinding;
6197 deUint32 dstArrayElement;
6198 deUint32 descriptorCount;
6199 VkDescriptorType descriptorType;
6202 } VkDescriptorUpdateTemplateEntry;
6204 typedef struct VkDescriptorUpdateTemplateCreateInfo {
6205 VkStructureType sType;
6207 VkDescriptorUpdateTemplateCreateFlags flags;
6208 deUint32 descriptorUpdateEntryCount;
6209 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
6210 VkDescriptorUpdateTemplateType templateType;
6211 VkDescriptorSetLayout descriptorSetLayout;
6212 VkPipelineBindPoint pipelineBindPoint;
6213 VkPipelineLayout pipelineLayout;
6215 } VkDescriptorUpdateTemplateCreateInfo;
6217 typedef struct VkExternalMemoryProperties {
6218 VkExternalMemoryFeatureFlags externalMemoryFeatures;
6219 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
6220 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
6221 } VkExternalMemoryProperties;
6223 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
6224 VkStructureType sType;
6226 VkExternalMemoryHandleTypeFlagBits handleType;
6227 } VkPhysicalDeviceExternalImageFormatInfo;
6229 typedef struct VkExternalImageFormatProperties {
6230 VkStructureType sType;
6232 VkExternalMemoryProperties externalMemoryProperties;
6233 } VkExternalImageFormatProperties;
6235 typedef struct VkPhysicalDeviceExternalBufferInfo {
6236 VkStructureType sType;
6238 VkBufferCreateFlags flags;
6239 VkBufferUsageFlags usage;
6240 VkExternalMemoryHandleTypeFlagBits handleType;
6241 } VkPhysicalDeviceExternalBufferInfo;
6243 typedef struct VkExternalBufferProperties {
6244 VkStructureType sType;
6246 VkExternalMemoryProperties externalMemoryProperties;
6247 } VkExternalBufferProperties;
6249 typedef struct VkPhysicalDeviceIDProperties {
6250 VkStructureType sType;
6252 deUint8 deviceUUID[VK_UUID_SIZE];
6253 deUint8 driverUUID[VK_UUID_SIZE];
6254 deUint8 deviceLUID[VK_LUID_SIZE];
6255 deUint32 deviceNodeMask;
6256 VkBool32 deviceLUIDValid;
6257 } VkPhysicalDeviceIDProperties;
6259 typedef struct VkExternalMemoryImageCreateInfo {
6260 VkStructureType sType;
6262 VkExternalMemoryHandleTypeFlags handleTypes;
6263 } VkExternalMemoryImageCreateInfo;
6265 typedef struct VkExternalMemoryBufferCreateInfo {
6266 VkStructureType sType;
6268 VkExternalMemoryHandleTypeFlags handleTypes;
6269 } VkExternalMemoryBufferCreateInfo;
6271 typedef struct VkExportMemoryAllocateInfo {
6272 VkStructureType sType;
6274 VkExternalMemoryHandleTypeFlags handleTypes;
6275 } VkExportMemoryAllocateInfo;
6277 typedef struct VkPhysicalDeviceExternalFenceInfo {
6278 VkStructureType sType;
6280 VkExternalFenceHandleTypeFlagBits handleType;
6281 } VkPhysicalDeviceExternalFenceInfo;
6283 typedef struct VkExternalFenceProperties {
6284 VkStructureType sType;
6286 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
6287 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
6288 VkExternalFenceFeatureFlags externalFenceFeatures;
6289 } VkExternalFenceProperties;
6291 typedef struct VkExportFenceCreateInfo {
6292 VkStructureType sType;
6294 VkExternalFenceHandleTypeFlags handleTypes;
6295 } VkExportFenceCreateInfo;
6297 typedef struct VkExportSemaphoreCreateInfo {
6298 VkStructureType sType;
6300 VkExternalSemaphoreHandleTypeFlags handleTypes;
6301 } VkExportSemaphoreCreateInfo;
6303 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
6304 VkStructureType sType;
6306 VkExternalSemaphoreHandleTypeFlagBits handleType;
6307 } VkPhysicalDeviceExternalSemaphoreInfo;
6309 typedef struct VkExternalSemaphoreProperties {
6310 VkStructureType sType;
6312 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
6313 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
6314 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
6315 } VkExternalSemaphoreProperties;
6317 typedef struct VkPhysicalDeviceMaintenance3Properties {
6318 VkStructureType sType;
6320 deUint32 maxPerSetDescriptors;
6321 VkDeviceSize maxMemoryAllocationSize;
6322 } VkPhysicalDeviceMaintenance3Properties;
6324 typedef struct VkDescriptorSetLayoutSupport {
6325 VkStructureType sType;
6328 } VkDescriptorSetLayoutSupport;
6330 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
6331 VkStructureType sType;
6333 VkBool32 shaderDrawParameters;
6334 } VkPhysicalDeviceShaderDrawParametersFeatures;
6336 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
6338 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
6339 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
6340 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
6341 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6342 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
6343 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
6344 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6345 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6346 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6347 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6348 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6349 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6350 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6351 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6352 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6353 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6354 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6355 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6356 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
6357 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6358 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6359 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6360 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6361 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6362 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6363 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6364 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6365 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
6367 #ifndef VK_NO_PROTOTYPES
6368 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
6369 deUint32* pApiVersion);
6371 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
6373 deUint32 bindInfoCount,
6374 const VkBindBufferMemoryInfo* pBindInfos);
6376 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
6378 deUint32 bindInfoCount,
6379 const VkBindImageMemoryInfo* pBindInfos);
6381 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
6384 deUint32 localDeviceIndex,
6385 deUint32 remoteDeviceIndex,
6386 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6388 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6389 VkCommandBuffer commandBuffer,
6390 deUint32 deviceMask);
6392 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6393 VkCommandBuffer commandBuffer,
6394 deUint32 baseGroupX,
6395 deUint32 baseGroupY,
6396 deUint32 baseGroupZ,
6397 deUint32 groupCountX,
6398 deUint32 groupCountY,
6399 deUint32 groupCountZ);
6401 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6402 VkInstance instance,
6403 deUint32* pPhysicalDeviceGroupCount,
6404 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6406 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6408 const VkImageMemoryRequirementsInfo2* pInfo,
6409 VkMemoryRequirements2* pMemoryRequirements);
6411 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6413 const VkBufferMemoryRequirementsInfo2* pInfo,
6414 VkMemoryRequirements2* pMemoryRequirements);
6416 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6418 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6419 deUint32* pSparseMemoryRequirementCount,
6420 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6422 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6423 VkPhysicalDevice physicalDevice,
6424 VkPhysicalDeviceFeatures2* pFeatures);
6426 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6427 VkPhysicalDevice physicalDevice,
6428 VkPhysicalDeviceProperties2* pProperties);
6430 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6431 VkPhysicalDevice physicalDevice,
6433 VkFormatProperties2* pFormatProperties);
6435 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6436 VkPhysicalDevice physicalDevice,
6437 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6438 VkImageFormatProperties2* pImageFormatProperties);
6440 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6441 VkPhysicalDevice physicalDevice,
6442 deUint32* pQueueFamilyPropertyCount,
6443 VkQueueFamilyProperties2* pQueueFamilyProperties);
6445 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6446 VkPhysicalDevice physicalDevice,
6447 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6449 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6450 VkPhysicalDevice physicalDevice,
6451 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6452 deUint32* pPropertyCount,
6453 VkSparseImageFormatProperties2* pProperties);
6455 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6457 VkCommandPool commandPool,
6458 VkCommandPoolTrimFlags flags);
6460 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6462 const VkDeviceQueueInfo2* pQueueInfo,
6465 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6467 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6468 const VkAllocationCallbacks* pAllocator,
6469 VkSamplerYcbcrConversion* pYcbcrConversion);
6471 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6473 VkSamplerYcbcrConversion ycbcrConversion,
6474 const VkAllocationCallbacks* pAllocator);
6476 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6478 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6479 const VkAllocationCallbacks* pAllocator,
6480 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6482 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6484 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6485 const VkAllocationCallbacks* pAllocator);
6487 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6489 VkDescriptorSet descriptorSet,
6490 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6493 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6494 VkPhysicalDevice physicalDevice,
6495 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6496 VkExternalBufferProperties* pExternalBufferProperties);
6498 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6499 VkPhysicalDevice physicalDevice,
6500 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6501 VkExternalFenceProperties* pExternalFenceProperties);
6503 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6504 VkPhysicalDevice physicalDevice,
6505 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6506 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6508 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6510 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6511 VkDescriptorSetLayoutSupport* pSupport);
6515 #define VK_VERSION_1_2 1
6516 // Vulkan 1.2 version number
6517 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6519 #define VK_MAX_DRIVER_NAME_SIZE 256U
6520 #define VK_MAX_DRIVER_INFO_SIZE 256U
6522 typedef enum VkDriverId {
6523 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6524 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6525 VK_DRIVER_ID_MESA_RADV = 3,
6526 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6527 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6528 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6529 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6530 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6531 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6532 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6533 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6534 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6535 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6536 VK_DRIVER_ID_MOLTENVK = 14,
6537 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6538 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
6539 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
6540 VK_DRIVER_ID_MESA_TURNIP = 18,
6541 VK_DRIVER_ID_MESA_V3DV = 19,
6542 VK_DRIVER_ID_MESA_PANVK = 20,
6543 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
6544 VK_DRIVER_ID_MESA_VENUS = 22,
6545 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6546 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6547 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6548 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6549 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6550 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6551 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6552 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6553 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6554 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6555 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6556 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6557 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6560 typedef enum VkShaderFloatControlsIndependence {
6561 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6562 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6563 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6564 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6565 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6566 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6567 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6568 } VkShaderFloatControlsIndependence;
6570 typedef enum VkSamplerReductionMode {
6571 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6572 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6573 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6574 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6575 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6576 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6577 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6578 } VkSamplerReductionMode;
6580 typedef enum VkSemaphoreType {
6581 VK_SEMAPHORE_TYPE_BINARY = 0,
6582 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6583 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6584 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6585 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6588 typedef enum VkResolveModeFlagBits {
6589 VK_RESOLVE_MODE_NONE = 0,
6590 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6591 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6592 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6593 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6594 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6595 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6596 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6597 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6598 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6599 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6600 } VkResolveModeFlagBits;
6601 typedef VkFlags VkResolveModeFlags;
6603 typedef enum VkDescriptorBindingFlagBits {
6604 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6605 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6606 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6607 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6608 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6609 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6610 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6611 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6612 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6613 } VkDescriptorBindingFlagBits;
6614 typedef VkFlags VkDescriptorBindingFlags;
6616 typedef enum VkSemaphoreWaitFlagBits {
6617 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6618 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6619 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6620 } VkSemaphoreWaitFlagBits;
6621 typedef VkFlags VkSemaphoreWaitFlags;
6622 typedef struct VkPhysicalDeviceVulkan11Features {
6623 VkStructureType sType;
6625 VkBool32 storageBuffer16BitAccess;
6626 VkBool32 uniformAndStorageBuffer16BitAccess;
6627 VkBool32 storagePushConstant16;
6628 VkBool32 storageInputOutput16;
6630 VkBool32 multiviewGeometryShader;
6631 VkBool32 multiviewTessellationShader;
6632 VkBool32 variablePointersStorageBuffer;
6633 VkBool32 variablePointers;
6634 VkBool32 protectedMemory;
6635 VkBool32 samplerYcbcrConversion;
6636 VkBool32 shaderDrawParameters;
6637 } VkPhysicalDeviceVulkan11Features;
6639 typedef struct VkPhysicalDeviceVulkan11Properties {
6640 VkStructureType sType;
6642 deUint8 deviceUUID[VK_UUID_SIZE];
6643 deUint8 driverUUID[VK_UUID_SIZE];
6644 deUint8 deviceLUID[VK_LUID_SIZE];
6645 deUint32 deviceNodeMask;
6646 VkBool32 deviceLUIDValid;
6647 deUint32 subgroupSize;
6648 VkShaderStageFlags subgroupSupportedStages;
6649 VkSubgroupFeatureFlags subgroupSupportedOperations;
6650 VkBool32 subgroupQuadOperationsInAllStages;
6651 VkPointClippingBehavior pointClippingBehavior;
6652 deUint32 maxMultiviewViewCount;
6653 deUint32 maxMultiviewInstanceIndex;
6654 VkBool32 protectedNoFault;
6655 deUint32 maxPerSetDescriptors;
6656 VkDeviceSize maxMemoryAllocationSize;
6657 } VkPhysicalDeviceVulkan11Properties;
6659 typedef struct VkPhysicalDeviceVulkan12Features {
6660 VkStructureType sType;
6662 VkBool32 samplerMirrorClampToEdge;
6663 VkBool32 drawIndirectCount;
6664 VkBool32 storageBuffer8BitAccess;
6665 VkBool32 uniformAndStorageBuffer8BitAccess;
6666 VkBool32 storagePushConstant8;
6667 VkBool32 shaderBufferInt64Atomics;
6668 VkBool32 shaderSharedInt64Atomics;
6669 VkBool32 shaderFloat16;
6670 VkBool32 shaderInt8;
6671 VkBool32 descriptorIndexing;
6672 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6673 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6674 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6675 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6676 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6677 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6678 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6679 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6680 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6681 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6682 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6683 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6684 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6685 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6686 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6687 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6688 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6689 VkBool32 descriptorBindingPartiallyBound;
6690 VkBool32 descriptorBindingVariableDescriptorCount;
6691 VkBool32 runtimeDescriptorArray;
6692 VkBool32 samplerFilterMinmax;
6693 VkBool32 scalarBlockLayout;
6694 VkBool32 imagelessFramebuffer;
6695 VkBool32 uniformBufferStandardLayout;
6696 VkBool32 shaderSubgroupExtendedTypes;
6697 VkBool32 separateDepthStencilLayouts;
6698 VkBool32 hostQueryReset;
6699 VkBool32 timelineSemaphore;
6700 VkBool32 bufferDeviceAddress;
6701 VkBool32 bufferDeviceAddressCaptureReplay;
6702 VkBool32 bufferDeviceAddressMultiDevice;
6703 VkBool32 vulkanMemoryModel;
6704 VkBool32 vulkanMemoryModelDeviceScope;
6705 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6706 VkBool32 shaderOutputViewportIndex;
6707 VkBool32 shaderOutputLayer;
6708 VkBool32 subgroupBroadcastDynamicId;
6709 } VkPhysicalDeviceVulkan12Features;
6711 typedef struct VkConformanceVersion {
6716 } VkConformanceVersion;
6718 typedef struct VkPhysicalDeviceVulkan12Properties {
6719 VkStructureType sType;
6721 VkDriverId driverID;
6722 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6723 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6724 VkConformanceVersion conformanceVersion;
6725 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6726 VkShaderFloatControlsIndependence roundingModeIndependence;
6727 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6728 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6729 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6730 VkBool32 shaderDenormPreserveFloat16;
6731 VkBool32 shaderDenormPreserveFloat32;
6732 VkBool32 shaderDenormPreserveFloat64;
6733 VkBool32 shaderDenormFlushToZeroFloat16;
6734 VkBool32 shaderDenormFlushToZeroFloat32;
6735 VkBool32 shaderDenormFlushToZeroFloat64;
6736 VkBool32 shaderRoundingModeRTEFloat16;
6737 VkBool32 shaderRoundingModeRTEFloat32;
6738 VkBool32 shaderRoundingModeRTEFloat64;
6739 VkBool32 shaderRoundingModeRTZFloat16;
6740 VkBool32 shaderRoundingModeRTZFloat32;
6741 VkBool32 shaderRoundingModeRTZFloat64;
6742 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6743 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6744 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6745 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6746 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6747 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6748 VkBool32 robustBufferAccessUpdateAfterBind;
6749 VkBool32 quadDivergentImplicitLod;
6750 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6751 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6752 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6753 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6754 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6755 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6756 deUint32 maxPerStageUpdateAfterBindResources;
6757 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6758 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6759 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6760 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6761 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6762 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6763 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6764 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6765 VkResolveModeFlags supportedDepthResolveModes;
6766 VkResolveModeFlags supportedStencilResolveModes;
6767 VkBool32 independentResolveNone;
6768 VkBool32 independentResolve;
6769 VkBool32 filterMinmaxSingleComponentFormats;
6770 VkBool32 filterMinmaxImageComponentMapping;
6771 deUint64 maxTimelineSemaphoreValueDifference;
6772 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6773 } VkPhysicalDeviceVulkan12Properties;
6775 typedef struct VkImageFormatListCreateInfo {
6776 VkStructureType sType;
6778 deUint32 viewFormatCount;
6779 const VkFormat* pViewFormats;
6780 } VkImageFormatListCreateInfo;
6782 typedef struct VkAttachmentDescription2 {
6783 VkStructureType sType;
6785 VkAttachmentDescriptionFlags flags;
6787 VkSampleCountFlagBits samples;
6788 VkAttachmentLoadOp loadOp;
6789 VkAttachmentStoreOp storeOp;
6790 VkAttachmentLoadOp stencilLoadOp;
6791 VkAttachmentStoreOp stencilStoreOp;
6792 VkImageLayout initialLayout;
6793 VkImageLayout finalLayout;
6794 } VkAttachmentDescription2;
6796 typedef struct VkAttachmentReference2 {
6797 VkStructureType sType;
6799 deUint32 attachment;
6800 VkImageLayout layout;
6801 VkImageAspectFlags aspectMask;
6802 } VkAttachmentReference2;
6804 typedef struct VkSubpassDescription2 {
6805 VkStructureType sType;
6807 VkSubpassDescriptionFlags flags;
6808 VkPipelineBindPoint pipelineBindPoint;
6810 deUint32 inputAttachmentCount;
6811 const VkAttachmentReference2* pInputAttachments;
6812 deUint32 colorAttachmentCount;
6813 const VkAttachmentReference2* pColorAttachments;
6814 const VkAttachmentReference2* pResolveAttachments;
6815 const VkAttachmentReference2* pDepthStencilAttachment;
6816 deUint32 preserveAttachmentCount;
6817 const deUint32* pPreserveAttachments;
6818 } VkSubpassDescription2;
6820 typedef struct VkSubpassDependency2 {
6821 VkStructureType sType;
6823 deUint32 srcSubpass;
6824 deUint32 dstSubpass;
6825 VkPipelineStageFlags srcStageMask;
6826 VkPipelineStageFlags dstStageMask;
6827 VkAccessFlags srcAccessMask;
6828 VkAccessFlags dstAccessMask;
6829 VkDependencyFlags dependencyFlags;
6831 } VkSubpassDependency2;
6833 typedef struct VkRenderPassCreateInfo2 {
6834 VkStructureType sType;
6836 VkRenderPassCreateFlags flags;
6837 deUint32 attachmentCount;
6838 const VkAttachmentDescription2* pAttachments;
6839 deUint32 subpassCount;
6840 const VkSubpassDescription2* pSubpasses;
6841 deUint32 dependencyCount;
6842 const VkSubpassDependency2* pDependencies;
6843 deUint32 correlatedViewMaskCount;
6844 const deUint32* pCorrelatedViewMasks;
6845 } VkRenderPassCreateInfo2;
6847 typedef struct VkSubpassBeginInfo {
6848 VkStructureType sType;
6850 VkSubpassContents contents;
6851 } VkSubpassBeginInfo;
6853 typedef struct VkSubpassEndInfo {
6854 VkStructureType sType;
6858 typedef struct VkPhysicalDevice8BitStorageFeatures {
6859 VkStructureType sType;
6861 VkBool32 storageBuffer8BitAccess;
6862 VkBool32 uniformAndStorageBuffer8BitAccess;
6863 VkBool32 storagePushConstant8;
6864 } VkPhysicalDevice8BitStorageFeatures;
6866 typedef struct VkPhysicalDeviceDriverProperties {
6867 VkStructureType sType;
6869 VkDriverId driverID;
6870 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6871 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6872 VkConformanceVersion conformanceVersion;
6873 } VkPhysicalDeviceDriverProperties;
6875 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6876 VkStructureType sType;
6878 VkBool32 shaderBufferInt64Atomics;
6879 VkBool32 shaderSharedInt64Atomics;
6880 } VkPhysicalDeviceShaderAtomicInt64Features;
6882 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6883 VkStructureType sType;
6885 VkBool32 shaderFloat16;
6886 VkBool32 shaderInt8;
6887 } VkPhysicalDeviceShaderFloat16Int8Features;
6889 typedef struct VkPhysicalDeviceFloatControlsProperties {
6890 VkStructureType sType;
6892 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6893 VkShaderFloatControlsIndependence roundingModeIndependence;
6894 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6895 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6896 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6897 VkBool32 shaderDenormPreserveFloat16;
6898 VkBool32 shaderDenormPreserveFloat32;
6899 VkBool32 shaderDenormPreserveFloat64;
6900 VkBool32 shaderDenormFlushToZeroFloat16;
6901 VkBool32 shaderDenormFlushToZeroFloat32;
6902 VkBool32 shaderDenormFlushToZeroFloat64;
6903 VkBool32 shaderRoundingModeRTEFloat16;
6904 VkBool32 shaderRoundingModeRTEFloat32;
6905 VkBool32 shaderRoundingModeRTEFloat64;
6906 VkBool32 shaderRoundingModeRTZFloat16;
6907 VkBool32 shaderRoundingModeRTZFloat32;
6908 VkBool32 shaderRoundingModeRTZFloat64;
6909 } VkPhysicalDeviceFloatControlsProperties;
6911 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6912 VkStructureType sType;
6914 deUint32 bindingCount;
6915 const VkDescriptorBindingFlags* pBindingFlags;
6916 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6918 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6919 VkStructureType sType;
6921 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6922 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6923 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6924 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6925 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6926 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6927 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6928 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6929 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6930 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6931 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6932 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6933 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6934 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6935 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6936 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6937 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6938 VkBool32 descriptorBindingPartiallyBound;
6939 VkBool32 descriptorBindingVariableDescriptorCount;
6940 VkBool32 runtimeDescriptorArray;
6941 } VkPhysicalDeviceDescriptorIndexingFeatures;
6943 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6944 VkStructureType sType;
6946 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6947 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6948 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6949 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6950 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6951 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6952 VkBool32 robustBufferAccessUpdateAfterBind;
6953 VkBool32 quadDivergentImplicitLod;
6954 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6955 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6956 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6957 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6958 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6959 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6960 deUint32 maxPerStageUpdateAfterBindResources;
6961 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6962 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6963 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6964 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6965 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6966 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6967 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6968 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6969 } VkPhysicalDeviceDescriptorIndexingProperties;
6971 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6972 VkStructureType sType;
6974 deUint32 descriptorSetCount;
6975 const deUint32* pDescriptorCounts;
6976 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6978 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6979 VkStructureType sType;
6981 deUint32 maxVariableDescriptorCount;
6982 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6984 typedef struct VkSubpassDescriptionDepthStencilResolve {
6985 VkStructureType sType;
6987 VkResolveModeFlagBits depthResolveMode;
6988 VkResolveModeFlagBits stencilResolveMode;
6989 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6990 } VkSubpassDescriptionDepthStencilResolve;
6992 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6993 VkStructureType sType;
6995 VkResolveModeFlags supportedDepthResolveModes;
6996 VkResolveModeFlags supportedStencilResolveModes;
6997 VkBool32 independentResolveNone;
6998 VkBool32 independentResolve;
6999 } VkPhysicalDeviceDepthStencilResolveProperties;
7001 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
7002 VkStructureType sType;
7004 VkBool32 scalarBlockLayout;
7005 } VkPhysicalDeviceScalarBlockLayoutFeatures;
7007 typedef struct VkImageStencilUsageCreateInfo {
7008 VkStructureType sType;
7010 VkImageUsageFlags stencilUsage;
7011 } VkImageStencilUsageCreateInfo;
7013 typedef struct VkSamplerReductionModeCreateInfo {
7014 VkStructureType sType;
7016 VkSamplerReductionMode reductionMode;
7017 } VkSamplerReductionModeCreateInfo;
7019 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
7020 VkStructureType sType;
7022 VkBool32 filterMinmaxSingleComponentFormats;
7023 VkBool32 filterMinmaxImageComponentMapping;
7024 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
7026 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
7027 VkStructureType sType;
7029 VkBool32 vulkanMemoryModel;
7030 VkBool32 vulkanMemoryModelDeviceScope;
7031 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
7032 } VkPhysicalDeviceVulkanMemoryModelFeatures;
7034 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
7035 VkStructureType sType;
7037 VkBool32 imagelessFramebuffer;
7038 } VkPhysicalDeviceImagelessFramebufferFeatures;
7040 typedef struct VkFramebufferAttachmentImageInfo {
7041 VkStructureType sType;
7043 VkImageCreateFlags flags;
7044 VkImageUsageFlags usage;
7047 deUint32 layerCount;
7048 deUint32 viewFormatCount;
7049 const VkFormat* pViewFormats;
7050 } VkFramebufferAttachmentImageInfo;
7052 typedef struct VkFramebufferAttachmentsCreateInfo {
7053 VkStructureType sType;
7055 deUint32 attachmentImageInfoCount;
7056 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
7057 } VkFramebufferAttachmentsCreateInfo;
7059 typedef struct VkRenderPassAttachmentBeginInfo {
7060 VkStructureType sType;
7062 deUint32 attachmentCount;
7063 const VkImageView* pAttachments;
7064 } VkRenderPassAttachmentBeginInfo;
7066 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
7067 VkStructureType sType;
7069 VkBool32 uniformBufferStandardLayout;
7070 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
7072 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
7073 VkStructureType sType;
7075 VkBool32 shaderSubgroupExtendedTypes;
7076 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
7078 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
7079 VkStructureType sType;
7081 VkBool32 separateDepthStencilLayouts;
7082 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
7084 typedef struct VkAttachmentReferenceStencilLayout {
7085 VkStructureType sType;
7087 VkImageLayout stencilLayout;
7088 } VkAttachmentReferenceStencilLayout;
7090 typedef struct VkAttachmentDescriptionStencilLayout {
7091 VkStructureType sType;
7093 VkImageLayout stencilInitialLayout;
7094 VkImageLayout stencilFinalLayout;
7095 } VkAttachmentDescriptionStencilLayout;
7097 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
7098 VkStructureType sType;
7100 VkBool32 hostQueryReset;
7101 } VkPhysicalDeviceHostQueryResetFeatures;
7103 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
7104 VkStructureType sType;
7106 VkBool32 timelineSemaphore;
7107 } VkPhysicalDeviceTimelineSemaphoreFeatures;
7109 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
7110 VkStructureType sType;
7112 deUint64 maxTimelineSemaphoreValueDifference;
7113 } VkPhysicalDeviceTimelineSemaphoreProperties;
7115 typedef struct VkSemaphoreTypeCreateInfo {
7116 VkStructureType sType;
7118 VkSemaphoreType semaphoreType;
7119 deUint64 initialValue;
7120 } VkSemaphoreTypeCreateInfo;
7122 typedef struct VkTimelineSemaphoreSubmitInfo {
7123 VkStructureType sType;
7125 deUint32 waitSemaphoreValueCount;
7126 const deUint64* pWaitSemaphoreValues;
7127 deUint32 signalSemaphoreValueCount;
7128 const deUint64* pSignalSemaphoreValues;
7129 } VkTimelineSemaphoreSubmitInfo;
7131 typedef struct VkSemaphoreWaitInfo {
7132 VkStructureType sType;
7134 VkSemaphoreWaitFlags flags;
7135 deUint32 semaphoreCount;
7136 const VkSemaphore* pSemaphores;
7137 const deUint64* pValues;
7138 } VkSemaphoreWaitInfo;
7140 typedef struct VkSemaphoreSignalInfo {
7141 VkStructureType sType;
7143 VkSemaphore semaphore;
7145 } VkSemaphoreSignalInfo;
7147 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
7148 VkStructureType sType;
7150 VkBool32 bufferDeviceAddress;
7151 VkBool32 bufferDeviceAddressCaptureReplay;
7152 VkBool32 bufferDeviceAddressMultiDevice;
7153 } VkPhysicalDeviceBufferDeviceAddressFeatures;
7155 typedef struct VkBufferDeviceAddressInfo {
7156 VkStructureType sType;
7159 } VkBufferDeviceAddressInfo;
7161 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
7162 VkStructureType sType;
7164 deUint64 opaqueCaptureAddress;
7165 } VkBufferOpaqueCaptureAddressCreateInfo;
7167 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
7168 VkStructureType sType;
7170 deUint64 opaqueCaptureAddress;
7171 } VkMemoryOpaqueCaptureAddressAllocateInfo;
7173 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
7174 VkStructureType sType;
7176 VkDeviceMemory memory;
7177 } VkDeviceMemoryOpaqueCaptureAddressInfo;
7179 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7180 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
7181 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7182 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7183 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7184 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7185 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
7186 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
7187 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
7188 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
7189 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7190 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
7191 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7193 #ifndef VK_NO_PROTOTYPES
7194 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
7195 VkCommandBuffer commandBuffer,
7197 VkDeviceSize offset,
7198 VkBuffer countBuffer,
7199 VkDeviceSize countBufferOffset,
7200 deUint32 maxDrawCount,
7203 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
7204 VkCommandBuffer commandBuffer,
7206 VkDeviceSize offset,
7207 VkBuffer countBuffer,
7208 VkDeviceSize countBufferOffset,
7209 deUint32 maxDrawCount,
7212 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
7214 const VkRenderPassCreateInfo2* pCreateInfo,
7215 const VkAllocationCallbacks* pAllocator,
7216 VkRenderPass* pRenderPass);
7218 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
7219 VkCommandBuffer commandBuffer,
7220 const VkRenderPassBeginInfo* pRenderPassBegin,
7221 const VkSubpassBeginInfo* pSubpassBeginInfo);
7223 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
7224 VkCommandBuffer commandBuffer,
7225 const VkSubpassBeginInfo* pSubpassBeginInfo,
7226 const VkSubpassEndInfo* pSubpassEndInfo);
7228 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
7229 VkCommandBuffer commandBuffer,
7230 const VkSubpassEndInfo* pSubpassEndInfo);
7232 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
7234 VkQueryPool queryPool,
7235 deUint32 firstQuery,
7236 deUint32 queryCount);
7238 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
7240 VkSemaphore semaphore,
7243 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
7245 const VkSemaphoreWaitInfo* pWaitInfo,
7248 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
7250 const VkSemaphoreSignalInfo* pSignalInfo);
7252 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
7254 const VkBufferDeviceAddressInfo* pInfo);
7256 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
7258 const VkBufferDeviceAddressInfo* pInfo);
7260 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
7262 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
7266 #define VK_VERSION_1_3 1
7267 // Vulkan 1.3 version number
7268 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0
7270 typedef deUint64 VkFlags64;
7271 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlot)
7273 typedef enum VkPipelineCreationFeedbackFlagBits {
7274 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT = 0x00000001,
7275 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT = 0x00000002,
7276 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT = 0x00000004,
7277 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT,
7278 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT,
7279 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT,
7280 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7281 } VkPipelineCreationFeedbackFlagBits;
7282 typedef VkFlags VkPipelineCreationFeedbackFlags;
7284 typedef enum VkToolPurposeFlagBits {
7285 VK_TOOL_PURPOSE_VALIDATION_BIT = 0x00000001,
7286 VK_TOOL_PURPOSE_PROFILING_BIT = 0x00000002,
7287 VK_TOOL_PURPOSE_TRACING_BIT = 0x00000004,
7288 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT = 0x00000008,
7289 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT = 0x00000010,
7290 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
7291 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
7292 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = VK_TOOL_PURPOSE_VALIDATION_BIT,
7293 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = VK_TOOL_PURPOSE_PROFILING_BIT,
7294 VK_TOOL_PURPOSE_TRACING_BIT_EXT = VK_TOOL_PURPOSE_TRACING_BIT,
7295 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT,
7296 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT,
7297 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7298 } VkToolPurposeFlagBits;
7299 typedef VkFlags VkToolPurposeFlags;
7300 typedef VkFlags VkPrivateDataSlotCreateFlags;
7301 typedef VkFlags64 VkPipelineStageFlags2;
7303 // Flag bits for VkPipelineStageFlagBits2
7304 typedef VkFlags64 VkPipelineStageFlagBits2;
7305 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE = 0ULL;
7306 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
7307 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL;
7308 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
7309 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL;
7310 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
7311 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL;
7312 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
7313 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL;
7314 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
7315 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL;
7316 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
7317 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL;
7318 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
7319 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL;
7320 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
7321 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL;
7322 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
7323 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL;
7324 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
7325 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL;
7326 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
7327 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL;
7328 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
7329 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL;
7330 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
7331 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL;
7332 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
7333 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT = 0x00001000ULL;
7334 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
7335 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL;
7336 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
7337 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL;
7338 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
7339 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL;
7340 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
7341 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL;
7342 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
7343 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL;
7344 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
7345 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL;
7346 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
7347 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL;
7348 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
7349 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL;
7350 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
7351 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL;
7352 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
7353 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL;
7354 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
7355 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL;
7356 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
7357 #ifdef VK_ENABLE_BETA_EXTENSIONS
7358 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
7360 #ifdef VK_ENABLE_BETA_EXTENSIONS
7361 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
7363 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
7364 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
7365 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
7366 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
7367 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
7368 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
7369 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
7370 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
7371 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
7372 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
7373 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
7374 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
7375 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
7376 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
7377 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL;
7379 typedef VkFlags64 VkAccessFlags2;
7381 // Flag bits for VkAccessFlagBits2
7382 typedef VkFlags64 VkAccessFlagBits2;
7383 static const VkAccessFlagBits2 VK_ACCESS_2_NONE = 0ULL;
7384 static const VkAccessFlagBits2 VK_ACCESS_2_NONE_KHR = 0ULL;
7385 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT = 0x00000001ULL;
7386 static const VkAccessFlagBits2 VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
7387 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT = 0x00000002ULL;
7388 static const VkAccessFlagBits2 VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
7389 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004ULL;
7390 static const VkAccessFlagBits2 VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
7391 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT = 0x00000008ULL;
7392 static const VkAccessFlagBits2 VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
7393 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT = 0x00000010ULL;
7394 static const VkAccessFlagBits2 VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
7395 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT = 0x00000020ULL;
7396 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
7397 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT = 0x00000040ULL;
7398 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
7399 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT = 0x00000080ULL;
7400 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
7401 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100ULL;
7402 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
7403 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200ULL;
7404 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
7405 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400ULL;
7406 static const VkAccessFlagBits2 VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
7407 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT = 0x00000800ULL;
7408 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
7409 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT = 0x00001000ULL;
7410 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
7411 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT = 0x00002000ULL;
7412 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
7413 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT = 0x00004000ULL;
7414 static const VkAccessFlagBits2 VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
7415 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT = 0x00008000ULL;
7416 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
7417 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT = 0x00010000ULL;
7418 static const VkAccessFlagBits2 VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
7419 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT = 0x100000000ULL;
7420 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
7421 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT = 0x200000000ULL;
7422 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
7423 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL;
7424 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
7425 #ifdef VK_ENABLE_BETA_EXTENSIONS
7426 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
7428 #ifdef VK_ENABLE_BETA_EXTENSIONS
7429 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
7431 #ifdef VK_ENABLE_BETA_EXTENSIONS
7432 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
7434 #ifdef VK_ENABLE_BETA_EXTENSIONS
7435 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
7437 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
7438 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
7439 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
7440 static const VkAccessFlagBits2 VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
7441 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
7442 static const VkAccessFlagBits2 VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
7443 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
7444 static const VkAccessFlagBits2 VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
7445 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
7446 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
7447 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
7448 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
7449 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
7450 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
7451 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
7452 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL;
7455 typedef enum VkSubmitFlagBits {
7456 VK_SUBMIT_PROTECTED_BIT = 0x00000001,
7457 VK_SUBMIT_PROTECTED_BIT_KHR = VK_SUBMIT_PROTECTED_BIT,
7458 VK_SUBMIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7460 typedef VkFlags VkSubmitFlags;
7462 typedef enum VkRenderingFlagBits {
7463 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001,
7464 VK_RENDERING_SUSPENDING_BIT = 0x00000002,
7465 VK_RENDERING_RESUMING_BIT = 0x00000004,
7466 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT,
7467 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT,
7468 VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT,
7469 VK_RENDERING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
7470 } VkRenderingFlagBits;
7471 typedef VkFlags VkRenderingFlags;
7472 typedef VkFlags64 VkFormatFeatureFlags2;
7474 // Flag bits for VkFormatFeatureFlagBits2
7475 typedef VkFlags64 VkFormatFeatureFlagBits2;
7476 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT = 0x00000001ULL;
7477 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL;
7478 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT = 0x00000002ULL;
7479 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL;
7480 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004ULL;
7481 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL;
7482 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008ULL;
7483 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
7484 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT = 0x00000010ULL;
7485 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL;
7486 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020ULL;
7487 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL;
7488 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT = 0x00000040ULL;
7489 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL;
7490 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT = 0x00000080ULL;
7491 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL;
7492 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100ULL;
7493 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL;
7494 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200ULL;
7495 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL;
7496 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT = 0x00000400ULL;
7497 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL;
7498 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT = 0x00000800ULL;
7499 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL;
7500 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000ULL;
7501 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL;
7502 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT = 0x00002000ULL;
7503 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000ULL;
7504 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT = 0x00004000ULL;
7505 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL;
7506 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT = 0x00008000ULL;
7507 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL;
7508 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000ULL;
7509 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL;
7510 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000ULL;
7511 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL;
7512 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000ULL;
7513 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL;
7514 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000ULL;
7515 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL;
7516 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000ULL;
7517 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL;
7518 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000ULL;
7519 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL;
7520 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT = 0x00400000ULL;
7521 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL;
7522 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT = 0x00800000ULL;
7523 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL;
7524 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT = 0x80000000ULL;
7525 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL;
7526 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT = 0x100000000ULL;
7527 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL;
7528 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL;
7529 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL;
7530 #ifdef VK_ENABLE_BETA_EXTENSIONS
7531 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL;
7533 #ifdef VK_ENABLE_BETA_EXTENSIONS
7534 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL;
7536 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL;
7537 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL;
7538 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL;
7539 #ifdef VK_ENABLE_BETA_EXTENSIONS
7540 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
7542 #ifdef VK_ENABLE_BETA_EXTENSIONS
7543 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
7545 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
7547 typedef struct VkPhysicalDeviceVulkan13Features {
7548 VkStructureType sType;
7550 VkBool32 robustImageAccess;
7551 VkBool32 inlineUniformBlock;
7552 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7553 VkBool32 pipelineCreationCacheControl;
7554 VkBool32 privateData;
7555 VkBool32 shaderDemoteToHelperInvocation;
7556 VkBool32 shaderTerminateInvocation;
7557 VkBool32 subgroupSizeControl;
7558 VkBool32 computeFullSubgroups;
7559 VkBool32 synchronization2;
7560 VkBool32 textureCompressionASTC_HDR;
7561 VkBool32 shaderZeroInitializeWorkgroupMemory;
7562 VkBool32 dynamicRendering;
7563 VkBool32 shaderIntegerDotProduct;
7564 VkBool32 maintenance4;
7565 } VkPhysicalDeviceVulkan13Features;
7567 typedef struct VkPhysicalDeviceVulkan13Properties {
7568 VkStructureType sType;
7570 deUint32 minSubgroupSize;
7571 deUint32 maxSubgroupSize;
7572 deUint32 maxComputeWorkgroupSubgroups;
7573 VkShaderStageFlags requiredSubgroupSizeStages;
7574 deUint32 maxInlineUniformBlockSize;
7575 deUint32 maxPerStageDescriptorInlineUniformBlocks;
7576 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7577 deUint32 maxDescriptorSetInlineUniformBlocks;
7578 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7579 deUint32 maxInlineUniformTotalSize;
7580 VkBool32 integerDotProduct8BitUnsignedAccelerated;
7581 VkBool32 integerDotProduct8BitSignedAccelerated;
7582 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
7583 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
7584 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
7585 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
7586 VkBool32 integerDotProduct16BitUnsignedAccelerated;
7587 VkBool32 integerDotProduct16BitSignedAccelerated;
7588 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
7589 VkBool32 integerDotProduct32BitUnsignedAccelerated;
7590 VkBool32 integerDotProduct32BitSignedAccelerated;
7591 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
7592 VkBool32 integerDotProduct64BitUnsignedAccelerated;
7593 VkBool32 integerDotProduct64BitSignedAccelerated;
7594 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
7595 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
7596 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
7597 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
7598 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
7599 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
7600 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
7601 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
7602 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
7603 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
7604 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
7605 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
7606 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
7607 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
7608 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
7609 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
7610 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
7611 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
7612 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
7613 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
7614 VkDeviceSize maxBufferSize;
7615 } VkPhysicalDeviceVulkan13Properties;
7617 typedef struct VkPipelineCreationFeedback {
7618 VkPipelineCreationFeedbackFlags flags;
7620 } VkPipelineCreationFeedback;
7622 typedef struct VkPipelineCreationFeedbackCreateInfo {
7623 VkStructureType sType;
7625 VkPipelineCreationFeedback* pPipelineCreationFeedback;
7626 deUint32 pipelineStageCreationFeedbackCount;
7627 VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks;
7628 } VkPipelineCreationFeedbackCreateInfo;
7630 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures {
7631 VkStructureType sType;
7633 VkBool32 shaderTerminateInvocation;
7634 } VkPhysicalDeviceShaderTerminateInvocationFeatures;
7636 typedef struct VkPhysicalDeviceToolProperties {
7637 VkStructureType sType;
7639 char name[VK_MAX_EXTENSION_NAME_SIZE];
7640 char version[VK_MAX_EXTENSION_NAME_SIZE];
7641 VkToolPurposeFlags purposes;
7642 char description[VK_MAX_DESCRIPTION_SIZE];
7643 char layer[VK_MAX_EXTENSION_NAME_SIZE];
7644 } VkPhysicalDeviceToolProperties;
7646 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures {
7647 VkStructureType sType;
7649 VkBool32 shaderDemoteToHelperInvocation;
7650 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures;
7652 typedef struct VkPhysicalDevicePrivateDataFeatures {
7653 VkStructureType sType;
7655 VkBool32 privateData;
7656 } VkPhysicalDevicePrivateDataFeatures;
7658 typedef struct VkDevicePrivateDataCreateInfo {
7659 VkStructureType sType;
7661 deUint32 privateDataSlotRequestCount;
7662 } VkDevicePrivateDataCreateInfo;
7664 typedef struct VkPrivateDataSlotCreateInfo {
7665 VkStructureType sType;
7667 VkPrivateDataSlotCreateFlags flags;
7668 } VkPrivateDataSlotCreateInfo;
7670 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures {
7671 VkStructureType sType;
7673 VkBool32 pipelineCreationCacheControl;
7674 } VkPhysicalDevicePipelineCreationCacheControlFeatures;
7676 typedef struct VkMemoryBarrier2 {
7677 VkStructureType sType;
7679 VkPipelineStageFlags2 srcStageMask;
7680 VkAccessFlags2 srcAccessMask;
7681 VkPipelineStageFlags2 dstStageMask;
7682 VkAccessFlags2 dstAccessMask;
7685 typedef struct VkBufferMemoryBarrier2 {
7686 VkStructureType sType;
7688 VkPipelineStageFlags2 srcStageMask;
7689 VkAccessFlags2 srcAccessMask;
7690 VkPipelineStageFlags2 dstStageMask;
7691 VkAccessFlags2 dstAccessMask;
7692 deUint32 srcQueueFamilyIndex;
7693 deUint32 dstQueueFamilyIndex;
7695 VkDeviceSize offset;
7697 } VkBufferMemoryBarrier2;
7699 typedef struct VkImageMemoryBarrier2 {
7700 VkStructureType sType;
7702 VkPipelineStageFlags2 srcStageMask;
7703 VkAccessFlags2 srcAccessMask;
7704 VkPipelineStageFlags2 dstStageMask;
7705 VkAccessFlags2 dstAccessMask;
7706 VkImageLayout oldLayout;
7707 VkImageLayout newLayout;
7708 deUint32 srcQueueFamilyIndex;
7709 deUint32 dstQueueFamilyIndex;
7711 VkImageSubresourceRange subresourceRange;
7712 } VkImageMemoryBarrier2;
7714 typedef struct VkDependencyInfo {
7715 VkStructureType sType;
7717 VkDependencyFlags dependencyFlags;
7718 deUint32 memoryBarrierCount;
7719 const VkMemoryBarrier2* pMemoryBarriers;
7720 deUint32 bufferMemoryBarrierCount;
7721 const VkBufferMemoryBarrier2* pBufferMemoryBarriers;
7722 deUint32 imageMemoryBarrierCount;
7723 const VkImageMemoryBarrier2* pImageMemoryBarriers;
7726 typedef struct VkSemaphoreSubmitInfo {
7727 VkStructureType sType;
7729 VkSemaphore semaphore;
7731 VkPipelineStageFlags2 stageMask;
7732 deUint32 deviceIndex;
7733 } VkSemaphoreSubmitInfo;
7735 typedef struct VkCommandBufferSubmitInfo {
7736 VkStructureType sType;
7738 VkCommandBuffer commandBuffer;
7739 deUint32 deviceMask;
7740 } VkCommandBufferSubmitInfo;
7742 typedef struct VkSubmitInfo2 {
7743 VkStructureType sType;
7745 VkSubmitFlags flags;
7746 deUint32 waitSemaphoreInfoCount;
7747 const VkSemaphoreSubmitInfo* pWaitSemaphoreInfos;
7748 deUint32 commandBufferInfoCount;
7749 const VkCommandBufferSubmitInfo* pCommandBufferInfos;
7750 deUint32 signalSemaphoreInfoCount;
7751 const VkSemaphoreSubmitInfo* pSignalSemaphoreInfos;
7754 typedef struct VkPhysicalDeviceSynchronization2Features {
7755 VkStructureType sType;
7757 VkBool32 synchronization2;
7758 } VkPhysicalDeviceSynchronization2Features;
7760 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
7761 VkStructureType sType;
7763 VkBool32 shaderZeroInitializeWorkgroupMemory;
7764 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
7766 typedef struct VkPhysicalDeviceImageRobustnessFeatures {
7767 VkStructureType sType;
7769 VkBool32 robustImageAccess;
7770 } VkPhysicalDeviceImageRobustnessFeatures;
7772 typedef struct VkBufferCopy2 {
7773 VkStructureType sType;
7775 VkDeviceSize srcOffset;
7776 VkDeviceSize dstOffset;
7780 typedef struct VkCopyBufferInfo2 {
7781 VkStructureType sType;
7785 deUint32 regionCount;
7786 const VkBufferCopy2* pRegions;
7787 } VkCopyBufferInfo2;
7789 typedef struct VkImageCopy2 {
7790 VkStructureType sType;
7792 VkImageSubresourceLayers srcSubresource;
7793 VkOffset3D srcOffset;
7794 VkImageSubresourceLayers dstSubresource;
7795 VkOffset3D dstOffset;
7799 typedef struct VkCopyImageInfo2 {
7800 VkStructureType sType;
7803 VkImageLayout srcImageLayout;
7805 VkImageLayout dstImageLayout;
7806 deUint32 regionCount;
7807 const VkImageCopy2* pRegions;
7810 typedef struct VkBufferImageCopy2 {
7811 VkStructureType sType;
7813 VkDeviceSize bufferOffset;
7814 deUint32 bufferRowLength;
7815 deUint32 bufferImageHeight;
7816 VkImageSubresourceLayers imageSubresource;
7817 VkOffset3D imageOffset;
7818 VkExtent3D imageExtent;
7819 } VkBufferImageCopy2;
7821 typedef struct VkCopyBufferToImageInfo2 {
7822 VkStructureType sType;
7826 VkImageLayout dstImageLayout;
7827 deUint32 regionCount;
7828 const VkBufferImageCopy2* pRegions;
7829 } VkCopyBufferToImageInfo2;
7831 typedef struct VkCopyImageToBufferInfo2 {
7832 VkStructureType sType;
7835 VkImageLayout srcImageLayout;
7837 deUint32 regionCount;
7838 const VkBufferImageCopy2* pRegions;
7839 } VkCopyImageToBufferInfo2;
7841 typedef struct VkImageBlit2 {
7842 VkStructureType sType;
7844 VkImageSubresourceLayers srcSubresource;
7845 VkOffset3D srcOffsets[2];
7846 VkImageSubresourceLayers dstSubresource;
7847 VkOffset3D dstOffsets[2];
7850 typedef struct VkBlitImageInfo2 {
7851 VkStructureType sType;
7854 VkImageLayout srcImageLayout;
7856 VkImageLayout dstImageLayout;
7857 deUint32 regionCount;
7858 const VkImageBlit2* pRegions;
7862 typedef struct VkImageResolve2 {
7863 VkStructureType sType;
7865 VkImageSubresourceLayers srcSubresource;
7866 VkOffset3D srcOffset;
7867 VkImageSubresourceLayers dstSubresource;
7868 VkOffset3D dstOffset;
7872 typedef struct VkResolveImageInfo2 {
7873 VkStructureType sType;
7876 VkImageLayout srcImageLayout;
7878 VkImageLayout dstImageLayout;
7879 deUint32 regionCount;
7880 const VkImageResolve2* pRegions;
7881 } VkResolveImageInfo2;
7883 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures {
7884 VkStructureType sType;
7886 VkBool32 subgroupSizeControl;
7887 VkBool32 computeFullSubgroups;
7888 } VkPhysicalDeviceSubgroupSizeControlFeatures;
7890 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties {
7891 VkStructureType sType;
7893 deUint32 minSubgroupSize;
7894 deUint32 maxSubgroupSize;
7895 deUint32 maxComputeWorkgroupSubgroups;
7896 VkShaderStageFlags requiredSubgroupSizeStages;
7897 } VkPhysicalDeviceSubgroupSizeControlProperties;
7899 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo {
7900 VkStructureType sType;
7902 deUint32 requiredSubgroupSize;
7903 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo;
7905 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures {
7906 VkStructureType sType;
7908 VkBool32 inlineUniformBlock;
7909 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
7910 } VkPhysicalDeviceInlineUniformBlockFeatures;
7912 typedef struct VkPhysicalDeviceInlineUniformBlockProperties {
7913 VkStructureType sType;
7915 deUint32 maxInlineUniformBlockSize;
7916 deUint32 maxPerStageDescriptorInlineUniformBlocks;
7917 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
7918 deUint32 maxDescriptorSetInlineUniformBlocks;
7919 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
7920 } VkPhysicalDeviceInlineUniformBlockProperties;
7922 typedef struct VkWriteDescriptorSetInlineUniformBlock {
7923 VkStructureType sType;
7927 } VkWriteDescriptorSetInlineUniformBlock;
7929 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo {
7930 VkStructureType sType;
7932 deUint32 maxInlineUniformBlockBindings;
7933 } VkDescriptorPoolInlineUniformBlockCreateInfo;
7935 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures {
7936 VkStructureType sType;
7938 VkBool32 textureCompressionASTC_HDR;
7939 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures;
7941 typedef struct VkRenderingAttachmentInfo {
7942 VkStructureType sType;
7944 VkImageView imageView;
7945 VkImageLayout imageLayout;
7946 VkResolveModeFlagBits resolveMode;
7947 VkImageView resolveImageView;
7948 VkImageLayout resolveImageLayout;
7949 VkAttachmentLoadOp loadOp;
7950 VkAttachmentStoreOp storeOp;
7951 VkClearValue clearValue;
7952 } VkRenderingAttachmentInfo;
7954 typedef struct VkRenderingInfo {
7955 VkStructureType sType;
7957 VkRenderingFlags flags;
7958 VkRect2D renderArea;
7959 deUint32 layerCount;
7961 deUint32 colorAttachmentCount;
7962 const VkRenderingAttachmentInfo* pColorAttachments;
7963 const VkRenderingAttachmentInfo* pDepthAttachment;
7964 const VkRenderingAttachmentInfo* pStencilAttachment;
7967 typedef struct VkPipelineRenderingCreateInfo {
7968 VkStructureType sType;
7971 deUint32 colorAttachmentCount;
7972 const VkFormat* pColorAttachmentFormats;
7973 VkFormat depthAttachmentFormat;
7974 VkFormat stencilAttachmentFormat;
7975 } VkPipelineRenderingCreateInfo;
7977 typedef struct VkPhysicalDeviceDynamicRenderingFeatures {
7978 VkStructureType sType;
7980 VkBool32 dynamicRendering;
7981 } VkPhysicalDeviceDynamicRenderingFeatures;
7983 typedef struct VkCommandBufferInheritanceRenderingInfo {
7984 VkStructureType sType;
7986 VkRenderingFlags flags;
7988 deUint32 colorAttachmentCount;
7989 const VkFormat* pColorAttachmentFormats;
7990 VkFormat depthAttachmentFormat;
7991 VkFormat stencilAttachmentFormat;
7992 VkSampleCountFlagBits rasterizationSamples;
7993 } VkCommandBufferInheritanceRenderingInfo;
7995 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures {
7996 VkStructureType sType;
7998 VkBool32 shaderIntegerDotProduct;
7999 } VkPhysicalDeviceShaderIntegerDotProductFeatures;
8001 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties {
8002 VkStructureType sType;
8004 VkBool32 integerDotProduct8BitUnsignedAccelerated;
8005 VkBool32 integerDotProduct8BitSignedAccelerated;
8006 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
8007 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
8008 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
8009 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
8010 VkBool32 integerDotProduct16BitUnsignedAccelerated;
8011 VkBool32 integerDotProduct16BitSignedAccelerated;
8012 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
8013 VkBool32 integerDotProduct32BitUnsignedAccelerated;
8014 VkBool32 integerDotProduct32BitSignedAccelerated;
8015 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
8016 VkBool32 integerDotProduct64BitUnsignedAccelerated;
8017 VkBool32 integerDotProduct64BitSignedAccelerated;
8018 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
8019 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
8020 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
8021 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
8022 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
8023 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
8024 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
8025 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
8026 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
8027 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
8028 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
8029 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
8030 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
8031 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
8032 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
8033 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
8034 } VkPhysicalDeviceShaderIntegerDotProductProperties;
8036 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties {
8037 VkStructureType sType;
8039 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
8040 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
8041 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
8042 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
8043 } VkPhysicalDeviceTexelBufferAlignmentProperties;
8045 typedef struct VkFormatProperties3 {
8046 VkStructureType sType;
8048 VkFormatFeatureFlags2 linearTilingFeatures;
8049 VkFormatFeatureFlags2 optimalTilingFeatures;
8050 VkFormatFeatureFlags2 bufferFeatures;
8051 } VkFormatProperties3;
8053 typedef struct VkPhysicalDeviceMaintenance4Features {
8054 VkStructureType sType;
8056 VkBool32 maintenance4;
8057 } VkPhysicalDeviceMaintenance4Features;
8059 typedef struct VkPhysicalDeviceMaintenance4Properties {
8060 VkStructureType sType;
8062 VkDeviceSize maxBufferSize;
8063 } VkPhysicalDeviceMaintenance4Properties;
8065 typedef struct VkDeviceBufferMemoryRequirements {
8066 VkStructureType sType;
8068 const VkBufferCreateInfo* pCreateInfo;
8069 } VkDeviceBufferMemoryRequirements;
8071 typedef struct VkDeviceImageMemoryRequirements {
8072 VkStructureType sType;
8074 const VkImageCreateInfo* pCreateInfo;
8075 VkImageAspectFlagBits planeAspect;
8076 } VkDeviceImageMemoryRequirements;
8078 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolProperties)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
8079 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlot)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
8080 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlot)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
8081 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data);
8082 typedef void (VKAPI_PTR *PFN_vkGetPrivateData)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData);
8083 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
8084 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
8085 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
8086 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
8087 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query);
8088 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
8089 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
8090 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
8091 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
8092 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
8093 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
8094 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
8095 typedef void (VKAPI_PTR *PFN_vkCmdBeginRendering)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
8096 typedef void (VKAPI_PTR *PFN_vkCmdEndRendering)(VkCommandBuffer commandBuffer);
8097 typedef void (VKAPI_PTR *PFN_vkCmdSetCullMode)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
8098 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFace)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
8099 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopology)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
8100 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCount)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
8101 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCount)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
8102 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
8103 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
8104 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnable)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
8105 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOp)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
8106 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
8107 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnable)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
8108 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOp)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
8109 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnable)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
8110 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnable)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
8111 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnable)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
8112 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirements)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8113 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8114 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirements)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8116 #ifndef VK_NO_PROTOTYPES
8117 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolProperties(
8118 VkPhysicalDevice physicalDevice,
8119 deUint32* pToolCount,
8120 VkPhysicalDeviceToolProperties* pToolProperties);
8122 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlot(
8124 const VkPrivateDataSlotCreateInfo* pCreateInfo,
8125 const VkAllocationCallbacks* pAllocator,
8126 VkPrivateDataSlot* pPrivateDataSlot);
8128 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlot(
8130 VkPrivateDataSlot privateDataSlot,
8131 const VkAllocationCallbacks* pAllocator);
8133 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateData(
8135 VkObjectType objectType,
8136 deUint64 objectHandle,
8137 VkPrivateDataSlot privateDataSlot,
8140 VKAPI_ATTR void VKAPI_CALL vkGetPrivateData(
8142 VkObjectType objectType,
8143 deUint64 objectHandle,
8144 VkPrivateDataSlot privateDataSlot,
8147 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2(
8148 VkCommandBuffer commandBuffer,
8150 const VkDependencyInfo* pDependencyInfo);
8152 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2(
8153 VkCommandBuffer commandBuffer,
8155 VkPipelineStageFlags2 stageMask);
8157 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2(
8158 VkCommandBuffer commandBuffer,
8159 deUint32 eventCount,
8160 const VkEvent* pEvents,
8161 const VkDependencyInfo* pDependencyInfos);
8163 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2(
8164 VkCommandBuffer commandBuffer,
8165 const VkDependencyInfo* pDependencyInfo);
8167 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2(
8168 VkCommandBuffer commandBuffer,
8169 VkPipelineStageFlags2 stage,
8170 VkQueryPool queryPool,
8173 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2(
8175 deUint32 submitCount,
8176 const VkSubmitInfo2* pSubmits,
8179 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2(
8180 VkCommandBuffer commandBuffer,
8181 const VkCopyBufferInfo2* pCopyBufferInfo);
8183 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2(
8184 VkCommandBuffer commandBuffer,
8185 const VkCopyImageInfo2* pCopyImageInfo);
8187 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2(
8188 VkCommandBuffer commandBuffer,
8189 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
8191 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2(
8192 VkCommandBuffer commandBuffer,
8193 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
8195 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2(
8196 VkCommandBuffer commandBuffer,
8197 const VkBlitImageInfo2* pBlitImageInfo);
8199 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2(
8200 VkCommandBuffer commandBuffer,
8201 const VkResolveImageInfo2* pResolveImageInfo);
8203 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRendering(
8204 VkCommandBuffer commandBuffer,
8205 const VkRenderingInfo* pRenderingInfo);
8207 VKAPI_ATTR void VKAPI_CALL vkCmdEndRendering(
8208 VkCommandBuffer commandBuffer);
8210 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullMode(
8211 VkCommandBuffer commandBuffer,
8212 VkCullModeFlags cullMode);
8214 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFace(
8215 VkCommandBuffer commandBuffer,
8216 VkFrontFace frontFace);
8218 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopology(
8219 VkCommandBuffer commandBuffer,
8220 VkPrimitiveTopology primitiveTopology);
8222 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCount(
8223 VkCommandBuffer commandBuffer,
8224 deUint32 viewportCount,
8225 const VkViewport* pViewports);
8227 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCount(
8228 VkCommandBuffer commandBuffer,
8229 deUint32 scissorCount,
8230 const VkRect2D* pScissors);
8232 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2(
8233 VkCommandBuffer commandBuffer,
8234 deUint32 firstBinding,
8235 deUint32 bindingCount,
8236 const VkBuffer* pBuffers,
8237 const VkDeviceSize* pOffsets,
8238 const VkDeviceSize* pSizes,
8239 const VkDeviceSize* pStrides);
8241 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnable(
8242 VkCommandBuffer commandBuffer,
8243 VkBool32 depthTestEnable);
8245 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnable(
8246 VkCommandBuffer commandBuffer,
8247 VkBool32 depthWriteEnable);
8249 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOp(
8250 VkCommandBuffer commandBuffer,
8251 VkCompareOp depthCompareOp);
8253 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnable(
8254 VkCommandBuffer commandBuffer,
8255 VkBool32 depthBoundsTestEnable);
8257 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnable(
8258 VkCommandBuffer commandBuffer,
8259 VkBool32 stencilTestEnable);
8261 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOp(
8262 VkCommandBuffer commandBuffer,
8263 VkStencilFaceFlags faceMask,
8266 VkStencilOp depthFailOp,
8267 VkCompareOp compareOp);
8269 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnable(
8270 VkCommandBuffer commandBuffer,
8271 VkBool32 rasterizerDiscardEnable);
8273 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnable(
8274 VkCommandBuffer commandBuffer,
8275 VkBool32 depthBiasEnable);
8277 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnable(
8278 VkCommandBuffer commandBuffer,
8279 VkBool32 primitiveRestartEnable);
8281 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirements(
8283 const VkDeviceBufferMemoryRequirements* pInfo,
8284 VkMemoryRequirements2* pMemoryRequirements);
8286 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirements(
8288 const VkDeviceImageMemoryRequirements* pInfo,
8289 VkMemoryRequirements2* pMemoryRequirements);
8291 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirements(
8293 const VkDeviceImageMemoryRequirements* pInfo,
8294 deUint32* pSparseMemoryRequirementCount,
8295 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8299 #define VK_KHR_surface 1
8300 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
8301 #define VK_KHR_SURFACE_SPEC_VERSION 25
8302 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
8304 typedef enum VkPresentModeKHR {
8305 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
8306 VK_PRESENT_MODE_MAILBOX_KHR = 1,
8307 VK_PRESENT_MODE_FIFO_KHR = 2,
8308 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
8309 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
8310 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
8311 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
8314 typedef enum VkColorSpaceKHR {
8315 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
8316 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
8317 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
8318 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
8319 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
8320 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
8321 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
8322 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
8323 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
8324 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
8325 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
8326 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
8327 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
8328 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
8329 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
8330 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
8331 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
8332 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
8333 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
8336 typedef enum VkSurfaceTransformFlagBitsKHR {
8337 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
8338 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
8339 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
8340 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
8341 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
8342 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
8343 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
8344 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
8345 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
8346 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8347 } VkSurfaceTransformFlagBitsKHR;
8349 typedef enum VkCompositeAlphaFlagBitsKHR {
8350 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
8351 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
8352 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
8353 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
8354 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8355 } VkCompositeAlphaFlagBitsKHR;
8356 typedef VkFlags VkCompositeAlphaFlagsKHR;
8357 typedef VkFlags VkSurfaceTransformFlagsKHR;
8358 typedef struct VkSurfaceCapabilitiesKHR {
8359 deUint32 minImageCount;
8360 deUint32 maxImageCount;
8361 VkExtent2D currentExtent;
8362 VkExtent2D minImageExtent;
8363 VkExtent2D maxImageExtent;
8364 deUint32 maxImageArrayLayers;
8365 VkSurfaceTransformFlagsKHR supportedTransforms;
8366 VkSurfaceTransformFlagBitsKHR currentTransform;
8367 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
8368 VkImageUsageFlags supportedUsageFlags;
8369 } VkSurfaceCapabilitiesKHR;
8371 typedef struct VkSurfaceFormatKHR {
8373 VkColorSpaceKHR colorSpace;
8374 } VkSurfaceFormatKHR;
8376 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
8377 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
8378 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
8379 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
8380 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
8382 #ifndef VK_NO_PROTOTYPES
8383 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
8384 VkInstance instance,
8385 VkSurfaceKHR surface,
8386 const VkAllocationCallbacks* pAllocator);
8388 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
8389 VkPhysicalDevice physicalDevice,
8390 deUint32 queueFamilyIndex,
8391 VkSurfaceKHR surface,
8392 VkBool32* pSupported);
8394 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
8395 VkPhysicalDevice physicalDevice,
8396 VkSurfaceKHR surface,
8397 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
8399 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
8400 VkPhysicalDevice physicalDevice,
8401 VkSurfaceKHR surface,
8402 deUint32* pSurfaceFormatCount,
8403 VkSurfaceFormatKHR* pSurfaceFormats);
8405 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
8406 VkPhysicalDevice physicalDevice,
8407 VkSurfaceKHR surface,
8408 deUint32* pPresentModeCount,
8409 VkPresentModeKHR* pPresentModes);
8413 #define VK_KHR_swapchain 1
8414 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
8415 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
8416 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
8418 typedef enum VkSwapchainCreateFlagBitsKHR {
8419 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
8420 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
8421 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
8422 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8423 } VkSwapchainCreateFlagBitsKHR;
8424 typedef VkFlags VkSwapchainCreateFlagsKHR;
8426 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
8427 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
8428 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
8429 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
8430 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
8431 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8432 } VkDeviceGroupPresentModeFlagBitsKHR;
8433 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
8434 typedef struct VkSwapchainCreateInfoKHR {
8435 VkStructureType sType;
8437 VkSwapchainCreateFlagsKHR flags;
8438 VkSurfaceKHR surface;
8439 deUint32 minImageCount;
8440 VkFormat imageFormat;
8441 VkColorSpaceKHR imageColorSpace;
8442 VkExtent2D imageExtent;
8443 deUint32 imageArrayLayers;
8444 VkImageUsageFlags imageUsage;
8445 VkSharingMode imageSharingMode;
8446 deUint32 queueFamilyIndexCount;
8447 const deUint32* pQueueFamilyIndices;
8448 VkSurfaceTransformFlagBitsKHR preTransform;
8449 VkCompositeAlphaFlagBitsKHR compositeAlpha;
8450 VkPresentModeKHR presentMode;
8452 VkSwapchainKHR oldSwapchain;
8453 } VkSwapchainCreateInfoKHR;
8455 typedef struct VkPresentInfoKHR {
8456 VkStructureType sType;
8458 deUint32 waitSemaphoreCount;
8459 const VkSemaphore* pWaitSemaphores;
8460 deUint32 swapchainCount;
8461 const VkSwapchainKHR* pSwapchains;
8462 const deUint32* pImageIndices;
8466 typedef struct VkImageSwapchainCreateInfoKHR {
8467 VkStructureType sType;
8469 VkSwapchainKHR swapchain;
8470 } VkImageSwapchainCreateInfoKHR;
8472 typedef struct VkBindImageMemorySwapchainInfoKHR {
8473 VkStructureType sType;
8475 VkSwapchainKHR swapchain;
8476 deUint32 imageIndex;
8477 } VkBindImageMemorySwapchainInfoKHR;
8479 typedef struct VkAcquireNextImageInfoKHR {
8480 VkStructureType sType;
8482 VkSwapchainKHR swapchain;
8484 VkSemaphore semaphore;
8486 deUint32 deviceMask;
8487 } VkAcquireNextImageInfoKHR;
8489 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
8490 VkStructureType sType;
8492 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
8493 VkDeviceGroupPresentModeFlagsKHR modes;
8494 } VkDeviceGroupPresentCapabilitiesKHR;
8496 typedef struct VkDeviceGroupPresentInfoKHR {
8497 VkStructureType sType;
8499 deUint32 swapchainCount;
8500 const deUint32* pDeviceMasks;
8501 VkDeviceGroupPresentModeFlagBitsKHR mode;
8502 } VkDeviceGroupPresentInfoKHR;
8504 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
8505 VkStructureType sType;
8507 VkDeviceGroupPresentModeFlagsKHR modes;
8508 } VkDeviceGroupSwapchainCreateInfoKHR;
8510 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
8511 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
8512 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
8513 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
8514 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
8515 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
8516 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
8517 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
8518 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
8520 #ifndef VK_NO_PROTOTYPES
8521 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
8523 const VkSwapchainCreateInfoKHR* pCreateInfo,
8524 const VkAllocationCallbacks* pAllocator,
8525 VkSwapchainKHR* pSwapchain);
8527 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
8529 VkSwapchainKHR swapchain,
8530 const VkAllocationCallbacks* pAllocator);
8532 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
8534 VkSwapchainKHR swapchain,
8535 deUint32* pSwapchainImageCount,
8536 VkImage* pSwapchainImages);
8538 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
8540 VkSwapchainKHR swapchain,
8542 VkSemaphore semaphore,
8544 deUint32* pImageIndex);
8546 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
8548 const VkPresentInfoKHR* pPresentInfo);
8550 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
8552 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
8554 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
8556 VkSurfaceKHR surface,
8557 VkDeviceGroupPresentModeFlagsKHR* pModes);
8559 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
8560 VkPhysicalDevice physicalDevice,
8561 VkSurfaceKHR surface,
8562 deUint32* pRectCount,
8565 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
8567 const VkAcquireNextImageInfoKHR* pAcquireInfo,
8568 deUint32* pImageIndex);
8572 #define VK_KHR_display 1
8573 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
8574 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
8575 #define VK_KHR_DISPLAY_SPEC_VERSION 23
8576 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
8577 typedef VkFlags VkDisplayModeCreateFlagsKHR;
8579 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
8580 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
8581 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
8582 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
8583 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
8584 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8585 } VkDisplayPlaneAlphaFlagBitsKHR;
8586 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
8587 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
8588 typedef struct VkDisplayModeParametersKHR {
8589 VkExtent2D visibleRegion;
8590 deUint32 refreshRate;
8591 } VkDisplayModeParametersKHR;
8593 typedef struct VkDisplayModeCreateInfoKHR {
8594 VkStructureType sType;
8596 VkDisplayModeCreateFlagsKHR flags;
8597 VkDisplayModeParametersKHR parameters;
8598 } VkDisplayModeCreateInfoKHR;
8600 typedef struct VkDisplayModePropertiesKHR {
8601 VkDisplayModeKHR displayMode;
8602 VkDisplayModeParametersKHR parameters;
8603 } VkDisplayModePropertiesKHR;
8605 typedef struct VkDisplayPlaneCapabilitiesKHR {
8606 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
8607 VkOffset2D minSrcPosition;
8608 VkOffset2D maxSrcPosition;
8609 VkExtent2D minSrcExtent;
8610 VkExtent2D maxSrcExtent;
8611 VkOffset2D minDstPosition;
8612 VkOffset2D maxDstPosition;
8613 VkExtent2D minDstExtent;
8614 VkExtent2D maxDstExtent;
8615 } VkDisplayPlaneCapabilitiesKHR;
8617 typedef struct VkDisplayPlanePropertiesKHR {
8618 VkDisplayKHR currentDisplay;
8619 deUint32 currentStackIndex;
8620 } VkDisplayPlanePropertiesKHR;
8622 typedef struct VkDisplayPropertiesKHR {
8623 VkDisplayKHR display;
8624 const char* displayName;
8625 VkExtent2D physicalDimensions;
8626 VkExtent2D physicalResolution;
8627 VkSurfaceTransformFlagsKHR supportedTransforms;
8628 VkBool32 planeReorderPossible;
8629 VkBool32 persistentContent;
8630 } VkDisplayPropertiesKHR;
8632 typedef struct VkDisplaySurfaceCreateInfoKHR {
8633 VkStructureType sType;
8635 VkDisplaySurfaceCreateFlagsKHR flags;
8636 VkDisplayModeKHR displayMode;
8637 deUint32 planeIndex;
8638 deUint32 planeStackIndex;
8639 VkSurfaceTransformFlagBitsKHR transform;
8641 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
8642 VkExtent2D imageExtent;
8643 } VkDisplaySurfaceCreateInfoKHR;
8645 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
8646 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
8647 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
8648 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
8649 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
8650 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
8651 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
8653 #ifndef VK_NO_PROTOTYPES
8654 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
8655 VkPhysicalDevice physicalDevice,
8656 deUint32* pPropertyCount,
8657 VkDisplayPropertiesKHR* pProperties);
8659 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
8660 VkPhysicalDevice physicalDevice,
8661 deUint32* pPropertyCount,
8662 VkDisplayPlanePropertiesKHR* pProperties);
8664 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
8665 VkPhysicalDevice physicalDevice,
8666 deUint32 planeIndex,
8667 deUint32* pDisplayCount,
8668 VkDisplayKHR* pDisplays);
8670 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
8671 VkPhysicalDevice physicalDevice,
8672 VkDisplayKHR display,
8673 deUint32* pPropertyCount,
8674 VkDisplayModePropertiesKHR* pProperties);
8676 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
8677 VkPhysicalDevice physicalDevice,
8678 VkDisplayKHR display,
8679 const VkDisplayModeCreateInfoKHR* pCreateInfo,
8680 const VkAllocationCallbacks* pAllocator,
8681 VkDisplayModeKHR* pMode);
8683 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
8684 VkPhysicalDevice physicalDevice,
8685 VkDisplayModeKHR mode,
8686 deUint32 planeIndex,
8687 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
8689 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
8690 VkInstance instance,
8691 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
8692 const VkAllocationCallbacks* pAllocator,
8693 VkSurfaceKHR* pSurface);
8697 #define VK_KHR_display_swapchain 1
8698 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
8699 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
8700 typedef struct VkDisplayPresentInfoKHR {
8701 VkStructureType sType;
8705 VkBool32 persistent;
8706 } VkDisplayPresentInfoKHR;
8708 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
8710 #ifndef VK_NO_PROTOTYPES
8711 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
8713 deUint32 swapchainCount,
8714 const VkSwapchainCreateInfoKHR* pCreateInfos,
8715 const VkAllocationCallbacks* pAllocator,
8716 VkSwapchainKHR* pSwapchains);
8720 #define VK_KHR_sampler_mirror_clamp_to_edge 1
8721 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
8722 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
8725 #define VK_KHR_dynamic_rendering 1
8726 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
8727 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
8728 typedef VkRenderingFlags VkRenderingFlagsKHR;
8730 typedef VkRenderingFlagBits VkRenderingFlagBitsKHR;
8732 typedef VkRenderingInfo VkRenderingInfoKHR;
8734 typedef VkRenderingAttachmentInfo VkRenderingAttachmentInfoKHR;
8736 typedef VkPipelineRenderingCreateInfo VkPipelineRenderingCreateInfoKHR;
8738 typedef VkPhysicalDeviceDynamicRenderingFeatures VkPhysicalDeviceDynamicRenderingFeaturesKHR;
8740 typedef VkCommandBufferInheritanceRenderingInfo VkCommandBufferInheritanceRenderingInfoKHR;
8742 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
8743 VkStructureType sType;
8745 VkImageView imageView;
8746 VkImageLayout imageLayout;
8747 VkExtent2D shadingRateAttachmentTexelSize;
8748 } VkRenderingFragmentShadingRateAttachmentInfoKHR;
8750 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
8751 VkStructureType sType;
8753 VkImageView imageView;
8754 VkImageLayout imageLayout;
8755 } VkRenderingFragmentDensityMapAttachmentInfoEXT;
8757 typedef struct VkAttachmentSampleCountInfoAMD {
8758 VkStructureType sType;
8760 deUint32 colorAttachmentCount;
8761 const VkSampleCountFlagBits* pColorAttachmentSamples;
8762 VkSampleCountFlagBits depthStencilAttachmentSamples;
8763 } VkAttachmentSampleCountInfoAMD;
8765 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
8767 typedef struct VkMultiviewPerViewAttributesInfoNVX {
8768 VkStructureType sType;
8770 VkBool32 perViewAttributes;
8771 VkBool32 perViewAttributesPositionXOnly;
8772 } VkMultiviewPerViewAttributesInfoNVX;
8774 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfo* pRenderingInfo);
8775 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
8777 #ifndef VK_NO_PROTOTYPES
8778 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
8779 VkCommandBuffer commandBuffer,
8780 const VkRenderingInfo* pRenderingInfo);
8782 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
8783 VkCommandBuffer commandBuffer);
8787 #define VK_KHR_multiview 1
8788 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
8789 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
8790 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
8792 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
8794 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
8798 #define VK_KHR_get_physical_device_properties2 1
8799 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
8800 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
8801 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
8803 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
8805 typedef VkFormatProperties2 VkFormatProperties2KHR;
8807 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
8809 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
8811 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
8813 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
8815 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
8817 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
8819 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
8820 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
8821 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
8822 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
8823 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
8824 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8825 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
8827 #ifndef VK_NO_PROTOTYPES
8828 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
8829 VkPhysicalDevice physicalDevice,
8830 VkPhysicalDeviceFeatures2* pFeatures);
8832 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
8833 VkPhysicalDevice physicalDevice,
8834 VkPhysicalDeviceProperties2* pProperties);
8836 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
8837 VkPhysicalDevice physicalDevice,
8839 VkFormatProperties2* pFormatProperties);
8841 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
8842 VkPhysicalDevice physicalDevice,
8843 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
8844 VkImageFormatProperties2* pImageFormatProperties);
8846 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
8847 VkPhysicalDevice physicalDevice,
8848 deUint32* pQueueFamilyPropertyCount,
8849 VkQueueFamilyProperties2* pQueueFamilyProperties);
8851 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
8852 VkPhysicalDevice physicalDevice,
8853 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
8855 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
8856 VkPhysicalDevice physicalDevice,
8857 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
8858 deUint32* pPropertyCount,
8859 VkSparseImageFormatProperties2* pProperties);
8863 #define VK_KHR_device_group 1
8864 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
8865 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
8866 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
8868 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
8870 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
8872 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
8874 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
8876 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
8878 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
8880 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
8882 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
8884 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
8886 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
8888 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8889 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
8890 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
8892 #ifndef VK_NO_PROTOTYPES
8893 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
8896 deUint32 localDeviceIndex,
8897 deUint32 remoteDeviceIndex,
8898 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
8900 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
8901 VkCommandBuffer commandBuffer,
8902 deUint32 deviceMask);
8904 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
8905 VkCommandBuffer commandBuffer,
8906 deUint32 baseGroupX,
8907 deUint32 baseGroupY,
8908 deUint32 baseGroupZ,
8909 deUint32 groupCountX,
8910 deUint32 groupCountY,
8911 deUint32 groupCountZ);
8915 #define VK_KHR_shader_draw_parameters 1
8916 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
8917 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
8920 #define VK_KHR_maintenance1 1
8921 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2
8922 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1"
8923 #define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION
8924 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME
8925 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
8927 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
8929 #ifndef VK_NO_PROTOTYPES
8930 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
8932 VkCommandPool commandPool,
8933 VkCommandPoolTrimFlags flags);
8937 #define VK_KHR_device_group_creation 1
8938 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
8939 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
8940 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
8941 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
8943 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
8945 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
8947 #ifndef VK_NO_PROTOTYPES
8948 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
8949 VkInstance instance,
8950 deUint32* pPhysicalDeviceGroupCount,
8951 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
8955 #define VK_KHR_external_memory_capabilities 1
8956 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
8957 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
8958 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
8959 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
8961 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
8963 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
8965 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
8967 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
8969 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
8971 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
8973 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
8975 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
8977 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
8979 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
8981 #ifndef VK_NO_PROTOTYPES
8982 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
8983 VkPhysicalDevice physicalDevice,
8984 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
8985 VkExternalBufferProperties* pExternalBufferProperties);
8989 #define VK_KHR_external_memory 1
8990 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
8991 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
8992 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
8993 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
8995 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
8997 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
9001 #define VK_KHR_external_memory_fd 1
9002 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
9003 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
9004 typedef struct VkImportMemoryFdInfoKHR {
9005 VkStructureType sType;
9007 VkExternalMemoryHandleTypeFlagBits handleType;
9009 } VkImportMemoryFdInfoKHR;
9011 typedef struct VkMemoryFdPropertiesKHR {
9012 VkStructureType sType;
9014 deUint32 memoryTypeBits;
9015 } VkMemoryFdPropertiesKHR;
9017 typedef struct VkMemoryGetFdInfoKHR {
9018 VkStructureType sType;
9020 VkDeviceMemory memory;
9021 VkExternalMemoryHandleTypeFlagBits handleType;
9022 } VkMemoryGetFdInfoKHR;
9024 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
9025 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
9027 #ifndef VK_NO_PROTOTYPES
9028 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
9030 const VkMemoryGetFdInfoKHR* pGetFdInfo,
9033 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
9035 VkExternalMemoryHandleTypeFlagBits handleType,
9037 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
9041 #define VK_KHR_external_semaphore_capabilities 1
9042 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
9043 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
9044 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
9046 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
9048 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
9050 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
9052 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
9054 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
9056 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
9058 #ifndef VK_NO_PROTOTYPES
9059 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
9060 VkPhysicalDevice physicalDevice,
9061 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
9062 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
9066 #define VK_KHR_external_semaphore 1
9067 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
9068 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
9069 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
9071 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
9073 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
9077 #define VK_KHR_external_semaphore_fd 1
9078 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
9079 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
9080 typedef struct VkImportSemaphoreFdInfoKHR {
9081 VkStructureType sType;
9083 VkSemaphore semaphore;
9084 VkSemaphoreImportFlags flags;
9085 VkExternalSemaphoreHandleTypeFlagBits handleType;
9087 } VkImportSemaphoreFdInfoKHR;
9089 typedef struct VkSemaphoreGetFdInfoKHR {
9090 VkStructureType sType;
9092 VkSemaphore semaphore;
9093 VkExternalSemaphoreHandleTypeFlagBits handleType;
9094 } VkSemaphoreGetFdInfoKHR;
9096 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
9097 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
9099 #ifndef VK_NO_PROTOTYPES
9100 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
9102 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
9104 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
9106 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
9111 #define VK_KHR_push_descriptor 1
9112 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
9113 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
9114 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
9115 VkStructureType sType;
9117 deUint32 maxPushDescriptors;
9118 } VkPhysicalDevicePushDescriptorPropertiesKHR;
9120 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
9121 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
9123 #ifndef VK_NO_PROTOTYPES
9124 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
9125 VkCommandBuffer commandBuffer,
9126 VkPipelineBindPoint pipelineBindPoint,
9127 VkPipelineLayout layout,
9129 deUint32 descriptorWriteCount,
9130 const VkWriteDescriptorSet* pDescriptorWrites);
9132 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
9133 VkCommandBuffer commandBuffer,
9134 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9135 VkPipelineLayout layout,
9141 #define VK_KHR_shader_float16_int8 1
9142 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
9143 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
9144 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
9146 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
9150 #define VK_KHR_16bit_storage 1
9151 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
9152 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
9153 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
9157 #define VK_KHR_incremental_present 1
9158 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
9159 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
9160 typedef struct VkRectLayerKHR {
9166 typedef struct VkPresentRegionKHR {
9167 deUint32 rectangleCount;
9168 const VkRectLayerKHR* pRectangles;
9169 } VkPresentRegionKHR;
9171 typedef struct VkPresentRegionsKHR {
9172 VkStructureType sType;
9174 deUint32 swapchainCount;
9175 const VkPresentRegionKHR* pRegions;
9176 } VkPresentRegionsKHR;
9180 #define VK_KHR_descriptor_update_template 1
9181 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
9183 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
9184 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
9185 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
9187 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
9189 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
9191 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
9193 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
9194 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
9195 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
9197 #ifndef VK_NO_PROTOTYPES
9198 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
9200 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
9201 const VkAllocationCallbacks* pAllocator,
9202 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
9204 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
9206 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9207 const VkAllocationCallbacks* pAllocator);
9209 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
9211 VkDescriptorSet descriptorSet,
9212 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
9217 #define VK_KHR_imageless_framebuffer 1
9218 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
9219 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
9220 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
9222 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
9224 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
9226 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
9230 #define VK_KHR_create_renderpass2 1
9231 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
9232 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
9233 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
9235 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
9237 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
9239 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
9241 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
9243 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
9245 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
9247 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
9248 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
9249 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
9250 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
9252 #ifndef VK_NO_PROTOTYPES
9253 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
9255 const VkRenderPassCreateInfo2* pCreateInfo,
9256 const VkAllocationCallbacks* pAllocator,
9257 VkRenderPass* pRenderPass);
9259 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
9260 VkCommandBuffer commandBuffer,
9261 const VkRenderPassBeginInfo* pRenderPassBegin,
9262 const VkSubpassBeginInfo* pSubpassBeginInfo);
9264 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
9265 VkCommandBuffer commandBuffer,
9266 const VkSubpassBeginInfo* pSubpassBeginInfo,
9267 const VkSubpassEndInfo* pSubpassEndInfo);
9269 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
9270 VkCommandBuffer commandBuffer,
9271 const VkSubpassEndInfo* pSubpassEndInfo);
9275 #define VK_KHR_shared_presentable_image 1
9276 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
9277 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
9278 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
9279 VkStructureType sType;
9281 VkImageUsageFlags sharedPresentSupportedUsageFlags;
9282 } VkSharedPresentSurfaceCapabilitiesKHR;
9284 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
9286 #ifndef VK_NO_PROTOTYPES
9287 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
9289 VkSwapchainKHR swapchain);
9293 #define VK_KHR_external_fence_capabilities 1
9294 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
9295 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
9296 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
9298 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
9300 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
9302 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
9304 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
9306 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
9308 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
9310 #ifndef VK_NO_PROTOTYPES
9311 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
9312 VkPhysicalDevice physicalDevice,
9313 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
9314 VkExternalFenceProperties* pExternalFenceProperties);
9318 #define VK_KHR_external_fence 1
9319 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
9320 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
9321 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
9323 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
9325 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
9329 #define VK_KHR_external_fence_fd 1
9330 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
9331 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
9332 typedef struct VkImportFenceFdInfoKHR {
9333 VkStructureType sType;
9336 VkFenceImportFlags flags;
9337 VkExternalFenceHandleTypeFlagBits handleType;
9339 } VkImportFenceFdInfoKHR;
9341 typedef struct VkFenceGetFdInfoKHR {
9342 VkStructureType sType;
9345 VkExternalFenceHandleTypeFlagBits handleType;
9346 } VkFenceGetFdInfoKHR;
9348 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9349 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
9351 #ifndef VK_NO_PROTOTYPES
9352 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
9354 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
9356 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
9358 const VkFenceGetFdInfoKHR* pGetFdInfo,
9363 #define VK_KHR_performance_query 1
9364 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
9365 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
9367 typedef enum VkPerformanceCounterUnitKHR {
9368 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
9369 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
9370 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
9371 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
9372 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
9373 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
9374 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
9375 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
9376 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
9377 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
9378 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
9379 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
9380 } VkPerformanceCounterUnitKHR;
9382 typedef enum VkPerformanceCounterScopeKHR {
9383 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
9384 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
9385 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
9386 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
9387 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
9388 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
9389 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
9390 } VkPerformanceCounterScopeKHR;
9392 typedef enum VkPerformanceCounterStorageKHR {
9393 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
9394 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
9395 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
9396 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
9397 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
9398 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
9399 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
9400 } VkPerformanceCounterStorageKHR;
9402 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
9403 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
9404 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
9405 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
9406 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
9407 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9408 } VkPerformanceCounterDescriptionFlagBitsKHR;
9409 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
9411 typedef enum VkAcquireProfilingLockFlagBitsKHR {
9412 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9413 } VkAcquireProfilingLockFlagBitsKHR;
9414 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
9415 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
9416 VkStructureType sType;
9418 VkBool32 performanceCounterQueryPools;
9419 VkBool32 performanceCounterMultipleQueryPools;
9420 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
9422 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
9423 VkStructureType sType;
9425 VkBool32 allowCommandBufferQueryCopies;
9426 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
9428 typedef struct VkPerformanceCounterKHR {
9429 VkStructureType sType;
9431 VkPerformanceCounterUnitKHR unit;
9432 VkPerformanceCounterScopeKHR scope;
9433 VkPerformanceCounterStorageKHR storage;
9434 deUint8 uuid[VK_UUID_SIZE];
9435 } VkPerformanceCounterKHR;
9437 typedef struct VkPerformanceCounterDescriptionKHR {
9438 VkStructureType sType;
9440 VkPerformanceCounterDescriptionFlagsKHR flags;
9441 char name[VK_MAX_DESCRIPTION_SIZE];
9442 char category[VK_MAX_DESCRIPTION_SIZE];
9443 char description[VK_MAX_DESCRIPTION_SIZE];
9444 } VkPerformanceCounterDescriptionKHR;
9446 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
9447 VkStructureType sType;
9449 deUint32 queueFamilyIndex;
9450 deUint32 counterIndexCount;
9451 const deUint32* pCounterIndices;
9452 } VkQueryPoolPerformanceCreateInfoKHR;
9454 typedef union VkPerformanceCounterResultKHR {
9461 } VkPerformanceCounterResultKHR;
9463 typedef struct VkAcquireProfilingLockInfoKHR {
9464 VkStructureType sType;
9466 VkAcquireProfilingLockFlagsKHR flags;
9468 } VkAcquireProfilingLockInfoKHR;
9470 typedef struct VkPerformanceQuerySubmitInfoKHR {
9471 VkStructureType sType;
9473 deUint32 counterPassIndex;
9474 } VkPerformanceQuerySubmitInfoKHR;
9476 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9477 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
9478 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
9479 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
9481 #ifndef VK_NO_PROTOTYPES
9482 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
9483 VkPhysicalDevice physicalDevice,
9484 deUint32 queueFamilyIndex,
9485 deUint32* pCounterCount,
9486 VkPerformanceCounterKHR* pCounters,
9487 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
9489 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
9490 VkPhysicalDevice physicalDevice,
9491 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
9492 deUint32* pNumPasses);
9494 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
9496 const VkAcquireProfilingLockInfoKHR* pInfo);
9498 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
9503 #define VK_KHR_maintenance2 1
9504 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1
9505 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2"
9506 #define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION
9507 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME
9508 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
9510 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
9512 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
9514 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
9516 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
9518 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
9520 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
9524 #define VK_KHR_get_surface_capabilities2 1
9525 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
9526 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
9527 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
9528 VkStructureType sType;
9530 VkSurfaceKHR surface;
9531 } VkPhysicalDeviceSurfaceInfo2KHR;
9533 typedef struct VkSurfaceCapabilities2KHR {
9534 VkStructureType sType;
9536 VkSurfaceCapabilitiesKHR surfaceCapabilities;
9537 } VkSurfaceCapabilities2KHR;
9539 typedef struct VkSurfaceFormat2KHR {
9540 VkStructureType sType;
9542 VkSurfaceFormatKHR surfaceFormat;
9543 } VkSurfaceFormat2KHR;
9545 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9546 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
9548 #ifndef VK_NO_PROTOTYPES
9549 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
9550 VkPhysicalDevice physicalDevice,
9551 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9552 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
9554 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
9555 VkPhysicalDevice physicalDevice,
9556 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
9557 deUint32* pSurfaceFormatCount,
9558 VkSurfaceFormat2KHR* pSurfaceFormats);
9562 #define VK_KHR_variable_pointers 1
9563 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
9564 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
9565 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
9567 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
9571 #define VK_KHR_get_display_properties2 1
9572 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
9573 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
9574 typedef struct VkDisplayProperties2KHR {
9575 VkStructureType sType;
9577 VkDisplayPropertiesKHR displayProperties;
9578 } VkDisplayProperties2KHR;
9580 typedef struct VkDisplayPlaneProperties2KHR {
9581 VkStructureType sType;
9583 VkDisplayPlanePropertiesKHR displayPlaneProperties;
9584 } VkDisplayPlaneProperties2KHR;
9586 typedef struct VkDisplayModeProperties2KHR {
9587 VkStructureType sType;
9589 VkDisplayModePropertiesKHR displayModeProperties;
9590 } VkDisplayModeProperties2KHR;
9592 typedef struct VkDisplayPlaneInfo2KHR {
9593 VkStructureType sType;
9595 VkDisplayModeKHR mode;
9596 deUint32 planeIndex;
9597 } VkDisplayPlaneInfo2KHR;
9599 typedef struct VkDisplayPlaneCapabilities2KHR {
9600 VkStructureType sType;
9602 VkDisplayPlaneCapabilitiesKHR capabilities;
9603 } VkDisplayPlaneCapabilities2KHR;
9605 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
9606 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
9607 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
9608 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
9610 #ifndef VK_NO_PROTOTYPES
9611 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
9612 VkPhysicalDevice physicalDevice,
9613 deUint32* pPropertyCount,
9614 VkDisplayProperties2KHR* pProperties);
9616 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
9617 VkPhysicalDevice physicalDevice,
9618 deUint32* pPropertyCount,
9619 VkDisplayPlaneProperties2KHR* pProperties);
9621 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
9622 VkPhysicalDevice physicalDevice,
9623 VkDisplayKHR display,
9624 deUint32* pPropertyCount,
9625 VkDisplayModeProperties2KHR* pProperties);
9627 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
9628 VkPhysicalDevice physicalDevice,
9629 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
9630 VkDisplayPlaneCapabilities2KHR* pCapabilities);
9634 #define VK_KHR_dedicated_allocation 1
9635 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
9636 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
9637 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
9639 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
9643 #define VK_KHR_storage_buffer_storage_class 1
9644 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
9645 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
9648 #define VK_KHR_relaxed_block_layout 1
9649 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
9650 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
9653 #define VK_KHR_get_memory_requirements2 1
9654 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
9655 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
9656 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
9658 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
9660 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
9662 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
9664 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
9666 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9667 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
9668 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9670 #ifndef VK_NO_PROTOTYPES
9671 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
9673 const VkImageMemoryRequirementsInfo2* pInfo,
9674 VkMemoryRequirements2* pMemoryRequirements);
9676 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
9678 const VkBufferMemoryRequirementsInfo2* pInfo,
9679 VkMemoryRequirements2* pMemoryRequirements);
9681 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
9683 const VkImageSparseMemoryRequirementsInfo2* pInfo,
9684 deUint32* pSparseMemoryRequirementCount,
9685 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9689 #define VK_KHR_image_format_list 1
9690 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
9691 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
9692 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
9696 #define VK_KHR_sampler_ycbcr_conversion 1
9697 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
9699 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
9700 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
9701 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
9703 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
9705 typedef VkChromaLocation VkChromaLocationKHR;
9707 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
9709 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
9711 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
9713 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
9715 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
9717 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
9719 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
9720 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
9722 #ifndef VK_NO_PROTOTYPES
9723 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
9725 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
9726 const VkAllocationCallbacks* pAllocator,
9727 VkSamplerYcbcrConversion* pYcbcrConversion);
9729 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
9731 VkSamplerYcbcrConversion ycbcrConversion,
9732 const VkAllocationCallbacks* pAllocator);
9736 #define VK_KHR_bind_memory2 1
9737 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
9738 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
9739 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
9741 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
9743 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
9744 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
9746 #ifndef VK_NO_PROTOTYPES
9747 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
9749 deUint32 bindInfoCount,
9750 const VkBindBufferMemoryInfo* pBindInfos);
9752 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
9754 deUint32 bindInfoCount,
9755 const VkBindImageMemoryInfo* pBindInfos);
9759 #define VK_KHR_maintenance3 1
9760 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1
9761 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3"
9762 #define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION
9763 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME
9764 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
9766 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
9768 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
9770 #ifndef VK_NO_PROTOTYPES
9771 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
9773 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
9774 VkDescriptorSetLayoutSupport* pSupport);
9778 #define VK_KHR_draw_indirect_count 1
9779 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
9780 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
9781 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9782 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9784 #ifndef VK_NO_PROTOTYPES
9785 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
9786 VkCommandBuffer commandBuffer,
9788 VkDeviceSize offset,
9789 VkBuffer countBuffer,
9790 VkDeviceSize countBufferOffset,
9791 deUint32 maxDrawCount,
9794 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
9795 VkCommandBuffer commandBuffer,
9797 VkDeviceSize offset,
9798 VkBuffer countBuffer,
9799 VkDeviceSize countBufferOffset,
9800 deUint32 maxDrawCount,
9805 #define VK_KHR_shader_subgroup_extended_types 1
9806 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
9807 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
9808 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
9812 #define VK_KHR_8bit_storage 1
9813 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
9814 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
9815 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
9819 #define VK_KHR_shader_atomic_int64 1
9820 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
9821 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
9822 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
9826 #define VK_KHR_shader_clock 1
9827 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
9828 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
9829 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
9830 VkStructureType sType;
9832 VkBool32 shaderSubgroupClock;
9833 VkBool32 shaderDeviceClock;
9834 } VkPhysicalDeviceShaderClockFeaturesKHR;
9838 #define VK_KHR_global_priority 1
9839 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U
9840 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1
9841 #define VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME "VK_KHR_global_priority"
9843 typedef enum VkQueueGlobalPriorityKHR {
9844 VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR = 128,
9845 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR = 256,
9846 VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR = 512,
9847 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR = 1024,
9848 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR,
9849 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR,
9850 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR,
9851 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR,
9852 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_KHR = 0x7FFFFFFF
9853 } VkQueueGlobalPriorityKHR;
9854 typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR {
9855 VkStructureType sType;
9857 VkQueueGlobalPriorityKHR globalPriority;
9858 } VkDeviceQueueGlobalPriorityCreateInfoKHR;
9860 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR {
9861 VkStructureType sType;
9863 VkBool32 globalPriorityQuery;
9864 } VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR;
9866 typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR {
9867 VkStructureType sType;
9869 deUint32 priorityCount;
9870 VkQueueGlobalPriorityKHR priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR];
9871 } VkQueueFamilyGlobalPriorityPropertiesKHR;
9875 #define VK_KHR_driver_properties 1
9876 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
9877 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
9878 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
9879 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
9880 typedef VkDriverId VkDriverIdKHR;
9882 typedef VkConformanceVersion VkConformanceVersionKHR;
9884 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
9888 #define VK_KHR_shader_float_controls 1
9889 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
9890 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
9891 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
9893 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
9897 #define VK_KHR_depth_stencil_resolve 1
9898 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
9899 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
9900 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
9902 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
9904 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
9906 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
9910 #define VK_KHR_swapchain_mutable_format 1
9911 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
9912 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
9915 #define VK_KHR_timeline_semaphore 1
9916 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
9917 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
9918 typedef VkSemaphoreType VkSemaphoreTypeKHR;
9920 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
9922 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
9924 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
9926 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
9928 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
9930 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
9932 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
9934 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
9936 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
9937 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
9938 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
9940 #ifndef VK_NO_PROTOTYPES
9941 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
9943 VkSemaphore semaphore,
9946 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
9948 const VkSemaphoreWaitInfo* pWaitInfo,
9951 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
9953 const VkSemaphoreSignalInfo* pSignalInfo);
9957 #define VK_KHR_vulkan_memory_model 1
9958 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
9959 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
9960 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
9964 #define VK_KHR_shader_terminate_invocation 1
9965 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
9966 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
9967 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
9971 #define VK_KHR_fragment_shading_rate 1
9972 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2
9973 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
9975 typedef enum VkFragmentShadingRateCombinerOpKHR {
9976 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
9977 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
9978 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
9979 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
9980 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
9981 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
9982 } VkFragmentShadingRateCombinerOpKHR;
9983 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
9984 VkStructureType sType;
9986 const VkAttachmentReference2* pFragmentShadingRateAttachment;
9987 VkExtent2D shadingRateAttachmentTexelSize;
9988 } VkFragmentShadingRateAttachmentInfoKHR;
9990 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
9991 VkStructureType sType;
9993 VkExtent2D fragmentSize;
9994 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
9995 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
9997 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
9998 VkStructureType sType;
10000 VkBool32 pipelineFragmentShadingRate;
10001 VkBool32 primitiveFragmentShadingRate;
10002 VkBool32 attachmentFragmentShadingRate;
10003 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
10005 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
10006 VkStructureType sType;
10008 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
10009 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
10010 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
10011 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
10012 VkBool32 layeredShadingRateAttachments;
10013 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
10014 VkExtent2D maxFragmentSize;
10015 deUint32 maxFragmentSizeAspectRatio;
10016 deUint32 maxFragmentShadingRateCoverageSamples;
10017 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
10018 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
10019 VkBool32 fragmentShadingRateWithSampleMask;
10020 VkBool32 fragmentShadingRateWithShaderSampleMask;
10021 VkBool32 fragmentShadingRateWithConservativeRasterization;
10022 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
10023 VkBool32 fragmentShadingRateWithCustomSampleLocations;
10024 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
10025 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
10027 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
10028 VkStructureType sType;
10030 VkSampleCountFlags sampleCounts;
10031 VkExtent2D fragmentSize;
10032 } VkPhysicalDeviceFragmentShadingRateKHR;
10034 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
10035 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
10037 #ifndef VK_NO_PROTOTYPES
10038 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
10039 VkPhysicalDevice physicalDevice,
10040 deUint32* pFragmentShadingRateCount,
10041 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
10043 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
10044 VkCommandBuffer commandBuffer,
10045 const VkExtent2D* pFragmentSize,
10046 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
10050 #define VK_KHR_spirv_1_4 1
10051 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
10052 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
10055 #define VK_KHR_surface_protected_capabilities 1
10056 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
10057 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
10058 typedef struct VkSurfaceProtectedCapabilitiesKHR {
10059 VkStructureType sType;
10061 VkBool32 supportsProtected;
10062 } VkSurfaceProtectedCapabilitiesKHR;
10066 #define VK_KHR_separate_depth_stencil_layouts 1
10067 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
10068 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
10069 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
10071 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
10073 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
10077 #define VK_KHR_present_wait 1
10078 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
10079 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
10080 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
10081 VkStructureType sType;
10083 VkBool32 presentWait;
10084 } VkPhysicalDevicePresentWaitFeaturesKHR;
10086 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 presentId, deUint64 timeout);
10088 #ifndef VK_NO_PROTOTYPES
10089 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
10091 VkSwapchainKHR swapchain,
10092 deUint64 presentId,
10097 #define VK_KHR_uniform_buffer_standard_layout 1
10098 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
10099 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
10100 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
10104 #define VK_KHR_buffer_device_address 1
10105 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
10106 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
10107 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
10109 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
10111 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
10113 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
10115 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
10117 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10118 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
10119 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
10121 #ifndef VK_NO_PROTOTYPES
10122 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
10124 const VkBufferDeviceAddressInfo* pInfo);
10126 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
10128 const VkBufferDeviceAddressInfo* pInfo);
10130 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
10132 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
10136 #define VK_KHR_deferred_host_operations 1
10137 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
10138 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
10139 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
10140 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
10141 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
10142 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
10143 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
10144 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
10146 #ifndef VK_NO_PROTOTYPES
10147 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
10149 const VkAllocationCallbacks* pAllocator,
10150 VkDeferredOperationKHR* pDeferredOperation);
10152 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
10154 VkDeferredOperationKHR operation,
10155 const VkAllocationCallbacks* pAllocator);
10157 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
10159 VkDeferredOperationKHR operation);
10161 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
10163 VkDeferredOperationKHR operation);
10165 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
10167 VkDeferredOperationKHR operation);
10171 #define VK_KHR_pipeline_executable_properties 1
10172 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
10173 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
10175 typedef enum VkPipelineExecutableStatisticFormatKHR {
10176 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
10177 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
10178 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
10179 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
10180 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
10181 } VkPipelineExecutableStatisticFormatKHR;
10182 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
10183 VkStructureType sType;
10185 VkBool32 pipelineExecutableInfo;
10186 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
10188 typedef struct VkPipelineInfoKHR {
10189 VkStructureType sType;
10191 VkPipeline pipeline;
10192 } VkPipelineInfoKHR;
10194 typedef struct VkPipelineExecutablePropertiesKHR {
10195 VkStructureType sType;
10197 VkShaderStageFlags stages;
10198 char name[VK_MAX_DESCRIPTION_SIZE];
10199 char description[VK_MAX_DESCRIPTION_SIZE];
10200 deUint32 subgroupSize;
10201 } VkPipelineExecutablePropertiesKHR;
10203 typedef struct VkPipelineExecutableInfoKHR {
10204 VkStructureType sType;
10206 VkPipeline pipeline;
10207 deUint32 executableIndex;
10208 } VkPipelineExecutableInfoKHR;
10210 typedef union VkPipelineExecutableStatisticValueKHR {
10215 } VkPipelineExecutableStatisticValueKHR;
10217 typedef struct VkPipelineExecutableStatisticKHR {
10218 VkStructureType sType;
10220 char name[VK_MAX_DESCRIPTION_SIZE];
10221 char description[VK_MAX_DESCRIPTION_SIZE];
10222 VkPipelineExecutableStatisticFormatKHR format;
10223 VkPipelineExecutableStatisticValueKHR value;
10224 } VkPipelineExecutableStatisticKHR;
10226 typedef struct VkPipelineExecutableInternalRepresentationKHR {
10227 VkStructureType sType;
10229 char name[VK_MAX_DESCRIPTION_SIZE];
10230 char description[VK_MAX_DESCRIPTION_SIZE];
10232 deUintptr dataSize;
10234 } VkPipelineExecutableInternalRepresentationKHR;
10236 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
10237 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
10238 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10240 #ifndef VK_NO_PROTOTYPES
10241 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
10243 const VkPipelineInfoKHR* pPipelineInfo,
10244 deUint32* pExecutableCount,
10245 VkPipelineExecutablePropertiesKHR* pProperties);
10247 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
10249 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10250 deUint32* pStatisticCount,
10251 VkPipelineExecutableStatisticKHR* pStatistics);
10253 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
10255 const VkPipelineExecutableInfoKHR* pExecutableInfo,
10256 deUint32* pInternalRepresentationCount,
10257 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
10261 #define VK_KHR_shader_integer_dot_product 1
10262 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
10263 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
10264 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
10266 typedef VkPhysicalDeviceShaderIntegerDotProductProperties VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
10270 #define VK_KHR_pipeline_library 1
10271 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
10272 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
10273 typedef struct VkPipelineLibraryCreateInfoKHR {
10274 VkStructureType sType;
10276 deUint32 libraryCount;
10277 const VkPipeline* pLibraries;
10278 } VkPipelineLibraryCreateInfoKHR;
10282 #define VK_KHR_shader_non_semantic_info 1
10283 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
10284 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
10287 #define VK_KHR_present_id 1
10288 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
10289 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
10290 typedef struct VkPresentIdKHR {
10291 VkStructureType sType;
10293 deUint32 swapchainCount;
10294 const deUint64* pPresentIds;
10297 typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
10298 VkStructureType sType;
10300 VkBool32 presentId;
10301 } VkPhysicalDevicePresentIdFeaturesKHR;
10305 #define VK_KHR_synchronization2 1
10306 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
10307 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
10308 typedef VkPipelineStageFlags2 VkPipelineStageFlags2KHR;
10310 typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR;
10312 typedef VkAccessFlags2 VkAccessFlags2KHR;
10314 typedef VkAccessFlagBits2 VkAccessFlagBits2KHR;
10316 typedef VkSubmitFlagBits VkSubmitFlagBitsKHR;
10318 typedef VkSubmitFlags VkSubmitFlagsKHR;
10320 typedef VkMemoryBarrier2 VkMemoryBarrier2KHR;
10322 typedef VkBufferMemoryBarrier2 VkBufferMemoryBarrier2KHR;
10324 typedef VkImageMemoryBarrier2 VkImageMemoryBarrier2KHR;
10326 typedef VkDependencyInfo VkDependencyInfoKHR;
10328 typedef VkSubmitInfo2 VkSubmitInfo2KHR;
10330 typedef VkSemaphoreSubmitInfo VkSemaphoreSubmitInfoKHR;
10332 typedef VkCommandBufferSubmitInfo VkCommandBufferSubmitInfoKHR;
10334 typedef VkPhysicalDeviceSynchronization2Features VkPhysicalDeviceSynchronization2FeaturesKHR;
10336 typedef struct VkQueueFamilyCheckpointProperties2NV {
10337 VkStructureType sType;
10339 VkPipelineStageFlags2 checkpointExecutionStageMask;
10340 } VkQueueFamilyCheckpointProperties2NV;
10342 typedef struct VkCheckpointData2NV {
10343 VkStructureType sType;
10345 VkPipelineStageFlags2 stage;
10346 void* pCheckpointMarker;
10347 } VkCheckpointData2NV;
10349 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo* pDependencyInfo);
10350 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask);
10351 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfo* pDependencyInfos);
10352 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfo* pDependencyInfo);
10353 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, deUint32 query);
10354 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2* pSubmits, VkFence fence);
10355 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
10356 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
10358 #ifndef VK_NO_PROTOTYPES
10359 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
10360 VkCommandBuffer commandBuffer,
10362 const VkDependencyInfo* pDependencyInfo);
10364 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
10365 VkCommandBuffer commandBuffer,
10367 VkPipelineStageFlags2 stageMask);
10369 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
10370 VkCommandBuffer commandBuffer,
10371 deUint32 eventCount,
10372 const VkEvent* pEvents,
10373 const VkDependencyInfo* pDependencyInfos);
10375 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
10376 VkCommandBuffer commandBuffer,
10377 const VkDependencyInfo* pDependencyInfo);
10379 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
10380 VkCommandBuffer commandBuffer,
10381 VkPipelineStageFlags2 stage,
10382 VkQueryPool queryPool,
10385 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
10387 deUint32 submitCount,
10388 const VkSubmitInfo2* pSubmits,
10391 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
10392 VkCommandBuffer commandBuffer,
10393 VkPipelineStageFlags2 stage,
10394 VkBuffer dstBuffer,
10395 VkDeviceSize dstOffset,
10398 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
10400 deUint32* pCheckpointDataCount,
10401 VkCheckpointData2NV* pCheckpointData);
10405 #define VK_KHR_shader_subgroup_uniform_control_flow 1
10406 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
10407 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
10408 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
10409 VkStructureType sType;
10411 VkBool32 shaderSubgroupUniformControlFlow;
10412 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
10416 #define VK_KHR_zero_initialize_workgroup_memory 1
10417 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
10418 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
10419 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
10423 #define VK_KHR_workgroup_memory_explicit_layout 1
10424 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
10425 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
10426 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
10427 VkStructureType sType;
10429 VkBool32 workgroupMemoryExplicitLayout;
10430 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
10431 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
10432 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
10433 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
10437 #define VK_KHR_copy_commands2 1
10438 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
10439 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
10440 typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR;
10442 typedef VkCopyImageInfo2 VkCopyImageInfo2KHR;
10444 typedef VkCopyBufferToImageInfo2 VkCopyBufferToImageInfo2KHR;
10446 typedef VkCopyImageToBufferInfo2 VkCopyImageToBufferInfo2KHR;
10448 typedef VkBlitImageInfo2 VkBlitImageInfo2KHR;
10450 typedef VkResolveImageInfo2 VkResolveImageInfo2KHR;
10452 typedef VkBufferCopy2 VkBufferCopy2KHR;
10454 typedef VkImageCopy2 VkImageCopy2KHR;
10456 typedef VkImageBlit2 VkImageBlit2KHR;
10458 typedef VkBufferImageCopy2 VkBufferImageCopy2KHR;
10460 typedef VkImageResolve2 VkImageResolve2KHR;
10462 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2* pCopyBufferInfo);
10463 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2* pCopyImageInfo);
10464 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10465 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10466 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2* pBlitImageInfo);
10467 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2* pResolveImageInfo);
10469 #ifndef VK_NO_PROTOTYPES
10470 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
10471 VkCommandBuffer commandBuffer,
10472 const VkCopyBufferInfo2* pCopyBufferInfo);
10474 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
10475 VkCommandBuffer commandBuffer,
10476 const VkCopyImageInfo2* pCopyImageInfo);
10478 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
10479 VkCommandBuffer commandBuffer,
10480 const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
10482 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
10483 VkCommandBuffer commandBuffer,
10484 const VkCopyImageToBufferInfo2* pCopyImageToBufferInfo);
10486 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
10487 VkCommandBuffer commandBuffer,
10488 const VkBlitImageInfo2* pBlitImageInfo);
10490 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
10491 VkCommandBuffer commandBuffer,
10492 const VkResolveImageInfo2* pResolveImageInfo);
10496 #define VK_KHR_format_feature_flags2 1
10497 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 1
10498 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
10499 typedef VkFormatFeatureFlags2 VkFormatFeatureFlags2KHR;
10501 typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR;
10503 typedef VkFormatProperties3 VkFormatProperties3KHR;
10507 #define VK_KHR_ray_tracing_maintenance1 1
10508 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1
10509 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1"
10510 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR {
10511 VkStructureType sType;
10513 VkBool32 rayTracingMaintenance1;
10514 VkBool32 rayTracingPipelineTraceRaysIndirect2;
10515 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR;
10517 typedef struct VkTraceRaysIndirectCommand2KHR {
10518 VkDeviceAddress raygenShaderRecordAddress;
10519 VkDeviceSize raygenShaderRecordSize;
10520 VkDeviceAddress missShaderBindingTableAddress;
10521 VkDeviceSize missShaderBindingTableSize;
10522 VkDeviceSize missShaderBindingTableStride;
10523 VkDeviceAddress hitShaderBindingTableAddress;
10524 VkDeviceSize hitShaderBindingTableSize;
10525 VkDeviceSize hitShaderBindingTableStride;
10526 VkDeviceAddress callableShaderBindingTableAddress;
10527 VkDeviceSize callableShaderBindingTableSize;
10528 VkDeviceSize callableShaderBindingTableStride;
10532 } VkTraceRaysIndirectCommand2KHR;
10534 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirect2KHR)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress);
10536 #ifndef VK_NO_PROTOTYPES
10537 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirect2KHR(
10538 VkCommandBuffer commandBuffer,
10539 VkDeviceAddress indirectDeviceAddress);
10543 #define VK_KHR_portability_enumeration 1
10544 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1
10545 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration"
10548 #define VK_KHR_maintenance4 1
10549 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2
10550 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4"
10551 typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR;
10553 typedef VkPhysicalDeviceMaintenance4Properties VkPhysicalDeviceMaintenance4PropertiesKHR;
10555 typedef VkDeviceBufferMemoryRequirements VkDeviceBufferMemoryRequirementsKHR;
10557 typedef VkDeviceImageMemoryRequirements VkDeviceImageMemoryRequirementsKHR;
10559 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10560 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, VkMemoryRequirements2* pMemoryRequirements);
10561 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirements* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
10563 #ifndef VK_NO_PROTOTYPES
10564 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR(
10566 const VkDeviceBufferMemoryRequirements* pInfo,
10567 VkMemoryRequirements2* pMemoryRequirements);
10569 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR(
10571 const VkDeviceImageMemoryRequirements* pInfo,
10572 VkMemoryRequirements2* pMemoryRequirements);
10574 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
10576 const VkDeviceImageMemoryRequirements* pInfo,
10577 deUint32* pSparseMemoryRequirementCount,
10578 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
10582 #define VK_EXT_debug_report 1
10583 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
10584 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
10585 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
10587 typedef enum VkDebugReportObjectTypeEXT {
10588 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
10589 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
10590 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
10591 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
10592 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
10593 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
10594 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
10595 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
10596 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
10597 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
10598 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
10599 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
10600 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
10601 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
10602 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
10603 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
10604 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
10605 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
10606 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
10607 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
10608 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
10609 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
10610 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
10611 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
10612 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
10613 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
10614 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
10615 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
10616 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
10617 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
10618 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
10619 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
10620 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
10621 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
10622 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
10623 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
10624 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
10625 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
10626 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000,
10627 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
10628 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
10629 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
10630 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
10631 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10632 } VkDebugReportObjectTypeEXT;
10634 typedef enum VkDebugReportFlagBitsEXT {
10635 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
10636 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
10637 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
10638 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
10639 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
10640 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10641 } VkDebugReportFlagBitsEXT;
10642 typedef VkFlags VkDebugReportFlagsEXT;
10643 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
10644 VkDebugReportFlagsEXT flags,
10645 VkDebugReportObjectTypeEXT objectType,
10647 deUintptr location,
10648 deInt32 messageCode,
10649 const char* pLayerPrefix,
10650 const char* pMessage,
10653 typedef struct VkDebugReportCallbackCreateInfoEXT {
10654 VkStructureType sType;
10656 VkDebugReportFlagsEXT flags;
10657 PFN_vkDebugReportCallbackEXT pfnCallback;
10659 } VkDebugReportCallbackCreateInfoEXT;
10661 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
10662 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
10663 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
10665 #ifndef VK_NO_PROTOTYPES
10666 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
10667 VkInstance instance,
10668 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
10669 const VkAllocationCallbacks* pAllocator,
10670 VkDebugReportCallbackEXT* pCallback);
10672 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
10673 VkInstance instance,
10674 VkDebugReportCallbackEXT callback,
10675 const VkAllocationCallbacks* pAllocator);
10677 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
10678 VkInstance instance,
10679 VkDebugReportFlagsEXT flags,
10680 VkDebugReportObjectTypeEXT objectType,
10682 deUintptr location,
10683 deInt32 messageCode,
10684 const char* pLayerPrefix,
10685 const char* pMessage);
10689 #define VK_NV_glsl_shader 1
10690 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
10691 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
10694 #define VK_EXT_depth_range_unrestricted 1
10695 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
10696 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
10699 #define VK_IMG_filter_cubic 1
10700 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
10701 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
10704 #define VK_AMD_rasterization_order 1
10705 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
10706 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
10708 typedef enum VkRasterizationOrderAMD {
10709 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
10710 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
10711 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
10712 } VkRasterizationOrderAMD;
10713 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
10714 VkStructureType sType;
10716 VkRasterizationOrderAMD rasterizationOrder;
10717 } VkPipelineRasterizationStateRasterizationOrderAMD;
10721 #define VK_AMD_shader_trinary_minmax 1
10722 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
10723 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
10726 #define VK_AMD_shader_explicit_vertex_parameter 1
10727 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
10728 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
10731 #define VK_EXT_debug_marker 1
10732 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
10733 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
10734 typedef struct VkDebugMarkerObjectNameInfoEXT {
10735 VkStructureType sType;
10737 VkDebugReportObjectTypeEXT objectType;
10739 const char* pObjectName;
10740 } VkDebugMarkerObjectNameInfoEXT;
10742 typedef struct VkDebugMarkerObjectTagInfoEXT {
10743 VkStructureType sType;
10745 VkDebugReportObjectTypeEXT objectType;
10750 } VkDebugMarkerObjectTagInfoEXT;
10752 typedef struct VkDebugMarkerMarkerInfoEXT {
10753 VkStructureType sType;
10755 const char* pMarkerName;
10757 } VkDebugMarkerMarkerInfoEXT;
10759 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
10760 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
10761 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10762 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
10763 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10765 #ifndef VK_NO_PROTOTYPES
10766 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
10768 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
10770 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
10772 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
10774 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
10775 VkCommandBuffer commandBuffer,
10776 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10778 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
10779 VkCommandBuffer commandBuffer);
10781 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
10782 VkCommandBuffer commandBuffer,
10783 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
10787 #define VK_AMD_gcn_shader 1
10788 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
10789 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
10792 #define VK_NV_dedicated_allocation 1
10793 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
10794 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
10795 typedef struct VkDedicatedAllocationImageCreateInfoNV {
10796 VkStructureType sType;
10798 VkBool32 dedicatedAllocation;
10799 } VkDedicatedAllocationImageCreateInfoNV;
10801 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
10802 VkStructureType sType;
10804 VkBool32 dedicatedAllocation;
10805 } VkDedicatedAllocationBufferCreateInfoNV;
10807 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
10808 VkStructureType sType;
10812 } VkDedicatedAllocationMemoryAllocateInfoNV;
10816 #define VK_EXT_transform_feedback 1
10817 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
10818 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
10819 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
10820 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
10821 VkStructureType sType;
10823 VkBool32 transformFeedback;
10824 VkBool32 geometryStreams;
10825 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
10827 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
10828 VkStructureType sType;
10830 deUint32 maxTransformFeedbackStreams;
10831 deUint32 maxTransformFeedbackBuffers;
10832 VkDeviceSize maxTransformFeedbackBufferSize;
10833 deUint32 maxTransformFeedbackStreamDataSize;
10834 deUint32 maxTransformFeedbackBufferDataSize;
10835 deUint32 maxTransformFeedbackBufferDataStride;
10836 VkBool32 transformFeedbackQueries;
10837 VkBool32 transformFeedbackStreamsLinesTriangles;
10838 VkBool32 transformFeedbackRasterizationStreamSelect;
10839 VkBool32 transformFeedbackDraw;
10840 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
10842 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
10843 VkStructureType sType;
10845 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
10846 deUint32 rasterizationStream;
10847 } VkPipelineRasterizationStateStreamCreateInfoEXT;
10849 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
10850 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
10851 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
10852 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
10853 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
10854 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
10856 #ifndef VK_NO_PROTOTYPES
10857 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
10858 VkCommandBuffer commandBuffer,
10859 deUint32 firstBinding,
10860 deUint32 bindingCount,
10861 const VkBuffer* pBuffers,
10862 const VkDeviceSize* pOffsets,
10863 const VkDeviceSize* pSizes);
10865 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
10866 VkCommandBuffer commandBuffer,
10867 deUint32 firstCounterBuffer,
10868 deUint32 counterBufferCount,
10869 const VkBuffer* pCounterBuffers,
10870 const VkDeviceSize* pCounterBufferOffsets);
10872 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
10873 VkCommandBuffer commandBuffer,
10874 deUint32 firstCounterBuffer,
10875 deUint32 counterBufferCount,
10876 const VkBuffer* pCounterBuffers,
10877 const VkDeviceSize* pCounterBufferOffsets);
10879 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
10880 VkCommandBuffer commandBuffer,
10881 VkQueryPool queryPool,
10883 VkQueryControlFlags flags,
10886 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
10887 VkCommandBuffer commandBuffer,
10888 VkQueryPool queryPool,
10892 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
10893 VkCommandBuffer commandBuffer,
10894 deUint32 instanceCount,
10895 deUint32 firstInstance,
10896 VkBuffer counterBuffer,
10897 VkDeviceSize counterBufferOffset,
10898 deUint32 counterOffset,
10899 deUint32 vertexStride);
10903 #define VK_NVX_binary_import 1
10904 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
10905 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
10906 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
10907 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
10908 typedef struct VkCuModuleCreateInfoNVX {
10909 VkStructureType sType;
10911 deUintptr dataSize;
10913 } VkCuModuleCreateInfoNVX;
10915 typedef struct VkCuFunctionCreateInfoNVX {
10916 VkStructureType sType;
10918 VkCuModuleNVX module;
10920 } VkCuFunctionCreateInfoNVX;
10922 typedef struct VkCuLaunchInfoNVX {
10923 VkStructureType sType;
10925 VkCuFunctionNVX function;
10929 deUint32 blockDimX;
10930 deUint32 blockDimY;
10931 deUint32 blockDimZ;
10932 deUint32 sharedMemBytes;
10933 deUintptr paramCount;
10934 const void* const * pParams;
10935 deUintptr extraCount;
10936 const void* const * pExtras;
10937 } VkCuLaunchInfoNVX;
10939 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
10940 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
10941 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
10942 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
10943 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
10945 #ifndef VK_NO_PROTOTYPES
10946 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
10948 const VkCuModuleCreateInfoNVX* pCreateInfo,
10949 const VkAllocationCallbacks* pAllocator,
10950 VkCuModuleNVX* pModule);
10952 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
10954 const VkCuFunctionCreateInfoNVX* pCreateInfo,
10955 const VkAllocationCallbacks* pAllocator,
10956 VkCuFunctionNVX* pFunction);
10958 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
10960 VkCuModuleNVX module,
10961 const VkAllocationCallbacks* pAllocator);
10963 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
10965 VkCuFunctionNVX function,
10966 const VkAllocationCallbacks* pAllocator);
10968 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
10969 VkCommandBuffer commandBuffer,
10970 const VkCuLaunchInfoNVX* pLaunchInfo);
10974 #define VK_NVX_image_view_handle 1
10975 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
10976 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
10977 typedef struct VkImageViewHandleInfoNVX {
10978 VkStructureType sType;
10980 VkImageView imageView;
10981 VkDescriptorType descriptorType;
10983 } VkImageViewHandleInfoNVX;
10985 typedef struct VkImageViewAddressPropertiesNVX {
10986 VkStructureType sType;
10988 VkDeviceAddress deviceAddress;
10990 } VkImageViewAddressPropertiesNVX;
10992 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
10993 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
10995 #ifndef VK_NO_PROTOTYPES
10996 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
10998 const VkImageViewHandleInfoNVX* pInfo);
11000 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
11002 VkImageView imageView,
11003 VkImageViewAddressPropertiesNVX* pProperties);
11007 #define VK_AMD_draw_indirect_count 1
11008 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
11009 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
11010 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11011 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11013 #ifndef VK_NO_PROTOTYPES
11014 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
11015 VkCommandBuffer commandBuffer,
11017 VkDeviceSize offset,
11018 VkBuffer countBuffer,
11019 VkDeviceSize countBufferOffset,
11020 deUint32 maxDrawCount,
11023 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
11024 VkCommandBuffer commandBuffer,
11026 VkDeviceSize offset,
11027 VkBuffer countBuffer,
11028 VkDeviceSize countBufferOffset,
11029 deUint32 maxDrawCount,
11034 #define VK_AMD_negative_viewport_height 1
11035 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
11036 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
11039 #define VK_AMD_gpu_shader_half_float 1
11040 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
11041 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
11044 #define VK_AMD_shader_ballot 1
11045 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
11046 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
11049 #define VK_AMD_texture_gather_bias_lod 1
11050 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
11051 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
11052 typedef struct VkTextureLODGatherFormatPropertiesAMD {
11053 VkStructureType sType;
11055 VkBool32 supportsTextureGatherLODBiasAMD;
11056 } VkTextureLODGatherFormatPropertiesAMD;
11060 #define VK_AMD_shader_info 1
11061 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
11062 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
11064 typedef enum VkShaderInfoTypeAMD {
11065 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
11066 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
11067 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
11068 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
11069 } VkShaderInfoTypeAMD;
11070 typedef struct VkShaderResourceUsageAMD {
11071 deUint32 numUsedVgprs;
11072 deUint32 numUsedSgprs;
11073 deUint32 ldsSizePerLocalWorkGroup;
11074 deUintptr ldsUsageSizeInBytes;
11075 deUintptr scratchMemUsageInBytes;
11076 } VkShaderResourceUsageAMD;
11078 typedef struct VkShaderStatisticsInfoAMD {
11079 VkShaderStageFlags shaderStageMask;
11080 VkShaderResourceUsageAMD resourceUsage;
11081 deUint32 numPhysicalVgprs;
11082 deUint32 numPhysicalSgprs;
11083 deUint32 numAvailableVgprs;
11084 deUint32 numAvailableSgprs;
11085 deUint32 computeWorkGroupSize[3];
11086 } VkShaderStatisticsInfoAMD;
11088 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
11090 #ifndef VK_NO_PROTOTYPES
11091 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
11093 VkPipeline pipeline,
11094 VkShaderStageFlagBits shaderStage,
11095 VkShaderInfoTypeAMD infoType,
11096 deUintptr* pInfoSize,
11101 #define VK_AMD_shader_image_load_store_lod 1
11102 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
11103 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
11106 #define VK_NV_corner_sampled_image 1
11107 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
11108 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
11109 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
11110 VkStructureType sType;
11112 VkBool32 cornerSampledImage;
11113 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
11117 #define VK_IMG_format_pvrtc 1
11118 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
11119 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
11122 #define VK_NV_external_memory_capabilities 1
11123 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
11124 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
11126 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
11127 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
11128 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
11129 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
11130 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
11131 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11132 } VkExternalMemoryHandleTypeFlagBitsNV;
11133 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
11135 typedef enum VkExternalMemoryFeatureFlagBitsNV {
11136 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
11137 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
11138 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
11139 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
11140 } VkExternalMemoryFeatureFlagBitsNV;
11141 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
11142 typedef struct VkExternalImageFormatPropertiesNV {
11143 VkImageFormatProperties imageFormatProperties;
11144 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
11145 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
11146 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
11147 } VkExternalImageFormatPropertiesNV;
11149 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
11151 #ifndef VK_NO_PROTOTYPES
11152 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
11153 VkPhysicalDevice physicalDevice,
11156 VkImageTiling tiling,
11157 VkImageUsageFlags usage,
11158 VkImageCreateFlags flags,
11159 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
11160 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
11164 #define VK_NV_external_memory 1
11165 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
11166 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
11167 typedef struct VkExternalMemoryImageCreateInfoNV {
11168 VkStructureType sType;
11170 VkExternalMemoryHandleTypeFlagsNV handleTypes;
11171 } VkExternalMemoryImageCreateInfoNV;
11173 typedef struct VkExportMemoryAllocateInfoNV {
11174 VkStructureType sType;
11176 VkExternalMemoryHandleTypeFlagsNV handleTypes;
11177 } VkExportMemoryAllocateInfoNV;
11181 #define VK_EXT_validation_flags 1
11182 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
11183 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
11185 typedef enum VkValidationCheckEXT {
11186 VK_VALIDATION_CHECK_ALL_EXT = 0,
11187 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
11188 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
11189 } VkValidationCheckEXT;
11190 typedef struct VkValidationFlagsEXT {
11191 VkStructureType sType;
11193 deUint32 disabledValidationCheckCount;
11194 const VkValidationCheckEXT* pDisabledValidationChecks;
11195 } VkValidationFlagsEXT;
11199 #define VK_EXT_shader_subgroup_ballot 1
11200 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
11201 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
11204 #define VK_EXT_shader_subgroup_vote 1
11205 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
11206 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
11209 #define VK_EXT_texture_compression_astc_hdr 1
11210 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
11211 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
11212 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
11216 #define VK_EXT_astc_decode_mode 1
11217 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
11218 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
11219 typedef struct VkImageViewASTCDecodeModeEXT {
11220 VkStructureType sType;
11222 VkFormat decodeMode;
11223 } VkImageViewASTCDecodeModeEXT;
11225 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
11226 VkStructureType sType;
11228 VkBool32 decodeModeSharedExponent;
11229 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
11233 #define VK_EXT_conditional_rendering 1
11234 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
11235 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
11237 typedef enum VkConditionalRenderingFlagBitsEXT {
11238 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
11239 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11240 } VkConditionalRenderingFlagBitsEXT;
11241 typedef VkFlags VkConditionalRenderingFlagsEXT;
11242 typedef struct VkConditionalRenderingBeginInfoEXT {
11243 VkStructureType sType;
11246 VkDeviceSize offset;
11247 VkConditionalRenderingFlagsEXT flags;
11248 } VkConditionalRenderingBeginInfoEXT;
11250 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
11251 VkStructureType sType;
11253 VkBool32 conditionalRendering;
11254 VkBool32 inheritedConditionalRendering;
11255 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
11257 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
11258 VkStructureType sType;
11260 VkBool32 conditionalRenderingEnable;
11261 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
11263 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
11264 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
11266 #ifndef VK_NO_PROTOTYPES
11267 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
11268 VkCommandBuffer commandBuffer,
11269 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
11271 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
11272 VkCommandBuffer commandBuffer);
11276 #define VK_NV_clip_space_w_scaling 1
11277 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
11278 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
11279 typedef struct VkViewportWScalingNV {
11282 } VkViewportWScalingNV;
11284 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
11285 VkStructureType sType;
11287 VkBool32 viewportWScalingEnable;
11288 deUint32 viewportCount;
11289 const VkViewportWScalingNV* pViewportWScalings;
11290 } VkPipelineViewportWScalingStateCreateInfoNV;
11292 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
11294 #ifndef VK_NO_PROTOTYPES
11295 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
11296 VkCommandBuffer commandBuffer,
11297 deUint32 firstViewport,
11298 deUint32 viewportCount,
11299 const VkViewportWScalingNV* pViewportWScalings);
11303 #define VK_EXT_direct_mode_display 1
11304 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
11305 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
11306 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
11308 #ifndef VK_NO_PROTOTYPES
11309 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
11310 VkPhysicalDevice physicalDevice,
11311 VkDisplayKHR display);
11315 #define VK_EXT_display_surface_counter 1
11316 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
11317 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
11319 typedef enum VkSurfaceCounterFlagBitsEXT {
11320 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
11321 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
11322 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11323 } VkSurfaceCounterFlagBitsEXT;
11324 typedef VkFlags VkSurfaceCounterFlagsEXT;
11325 typedef struct VkSurfaceCapabilities2EXT {
11326 VkStructureType sType;
11328 deUint32 minImageCount;
11329 deUint32 maxImageCount;
11330 VkExtent2D currentExtent;
11331 VkExtent2D minImageExtent;
11332 VkExtent2D maxImageExtent;
11333 deUint32 maxImageArrayLayers;
11334 VkSurfaceTransformFlagsKHR supportedTransforms;
11335 VkSurfaceTransformFlagBitsKHR currentTransform;
11336 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
11337 VkImageUsageFlags supportedUsageFlags;
11338 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
11339 } VkSurfaceCapabilities2EXT;
11341 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
11343 #ifndef VK_NO_PROTOTYPES
11344 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
11345 VkPhysicalDevice physicalDevice,
11346 VkSurfaceKHR surface,
11347 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
11351 #define VK_EXT_display_control 1
11352 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
11353 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
11355 typedef enum VkDisplayPowerStateEXT {
11356 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
11357 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
11358 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
11359 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
11360 } VkDisplayPowerStateEXT;
11362 typedef enum VkDeviceEventTypeEXT {
11363 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
11364 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11365 } VkDeviceEventTypeEXT;
11367 typedef enum VkDisplayEventTypeEXT {
11368 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
11369 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
11370 } VkDisplayEventTypeEXT;
11371 typedef struct VkDisplayPowerInfoEXT {
11372 VkStructureType sType;
11374 VkDisplayPowerStateEXT powerState;
11375 } VkDisplayPowerInfoEXT;
11377 typedef struct VkDeviceEventInfoEXT {
11378 VkStructureType sType;
11380 VkDeviceEventTypeEXT deviceEvent;
11381 } VkDeviceEventInfoEXT;
11383 typedef struct VkDisplayEventInfoEXT {
11384 VkStructureType sType;
11386 VkDisplayEventTypeEXT displayEvent;
11387 } VkDisplayEventInfoEXT;
11389 typedef struct VkSwapchainCounterCreateInfoEXT {
11390 VkStructureType sType;
11392 VkSurfaceCounterFlagsEXT surfaceCounters;
11393 } VkSwapchainCounterCreateInfoEXT;
11395 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
11396 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
11397 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
11398 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
11400 #ifndef VK_NO_PROTOTYPES
11401 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
11403 VkDisplayKHR display,
11404 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
11406 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
11408 const VkDeviceEventInfoEXT* pDeviceEventInfo,
11409 const VkAllocationCallbacks* pAllocator,
11412 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
11414 VkDisplayKHR display,
11415 const VkDisplayEventInfoEXT* pDisplayEventInfo,
11416 const VkAllocationCallbacks* pAllocator,
11419 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
11421 VkSwapchainKHR swapchain,
11422 VkSurfaceCounterFlagBitsEXT counter,
11423 deUint64* pCounterValue);
11427 #define VK_GOOGLE_display_timing 1
11428 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
11429 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
11430 typedef struct VkRefreshCycleDurationGOOGLE {
11431 deUint64 refreshDuration;
11432 } VkRefreshCycleDurationGOOGLE;
11434 typedef struct VkPastPresentationTimingGOOGLE {
11435 deUint32 presentID;
11436 deUint64 desiredPresentTime;
11437 deUint64 actualPresentTime;
11438 deUint64 earliestPresentTime;
11439 deUint64 presentMargin;
11440 } VkPastPresentationTimingGOOGLE;
11442 typedef struct VkPresentTimeGOOGLE {
11443 deUint32 presentID;
11444 deUint64 desiredPresentTime;
11445 } VkPresentTimeGOOGLE;
11447 typedef struct VkPresentTimesInfoGOOGLE {
11448 VkStructureType sType;
11450 deUint32 swapchainCount;
11451 const VkPresentTimeGOOGLE* pTimes;
11452 } VkPresentTimesInfoGOOGLE;
11454 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
11455 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
11457 #ifndef VK_NO_PROTOTYPES
11458 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
11460 VkSwapchainKHR swapchain,
11461 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
11463 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
11465 VkSwapchainKHR swapchain,
11466 deUint32* pPresentationTimingCount,
11467 VkPastPresentationTimingGOOGLE* pPresentationTimings);
11471 #define VK_NV_sample_mask_override_coverage 1
11472 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
11473 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
11476 #define VK_NV_geometry_shader_passthrough 1
11477 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
11478 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
11481 #define VK_NV_viewport_array2 1
11482 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1
11483 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2"
11484 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
11485 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
11488 #define VK_NVX_multiview_per_view_attributes 1
11489 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
11490 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
11491 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
11492 VkStructureType sType;
11494 VkBool32 perViewPositionAllComponents;
11495 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
11499 #define VK_NV_viewport_swizzle 1
11500 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
11501 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
11503 typedef enum VkViewportCoordinateSwizzleNV {
11504 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
11505 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
11506 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
11507 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
11508 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
11509 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
11510 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
11511 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
11512 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
11513 } VkViewportCoordinateSwizzleNV;
11514 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
11515 typedef struct VkViewportSwizzleNV {
11516 VkViewportCoordinateSwizzleNV x;
11517 VkViewportCoordinateSwizzleNV y;
11518 VkViewportCoordinateSwizzleNV z;
11519 VkViewportCoordinateSwizzleNV w;
11520 } VkViewportSwizzleNV;
11522 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
11523 VkStructureType sType;
11525 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
11526 deUint32 viewportCount;
11527 const VkViewportSwizzleNV* pViewportSwizzles;
11528 } VkPipelineViewportSwizzleStateCreateInfoNV;
11532 #define VK_EXT_discard_rectangles 1
11533 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
11534 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
11536 typedef enum VkDiscardRectangleModeEXT {
11537 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
11538 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
11539 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11540 } VkDiscardRectangleModeEXT;
11541 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
11542 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
11543 VkStructureType sType;
11545 deUint32 maxDiscardRectangles;
11546 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
11548 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
11549 VkStructureType sType;
11551 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
11552 VkDiscardRectangleModeEXT discardRectangleMode;
11553 deUint32 discardRectangleCount;
11554 const VkRect2D* pDiscardRectangles;
11555 } VkPipelineDiscardRectangleStateCreateInfoEXT;
11557 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
11559 #ifndef VK_NO_PROTOTYPES
11560 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
11561 VkCommandBuffer commandBuffer,
11562 deUint32 firstDiscardRectangle,
11563 deUint32 discardRectangleCount,
11564 const VkRect2D* pDiscardRectangles);
11568 #define VK_EXT_conservative_rasterization 1
11569 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
11570 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
11572 typedef enum VkConservativeRasterizationModeEXT {
11573 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
11574 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
11575 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
11576 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
11577 } VkConservativeRasterizationModeEXT;
11578 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
11579 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
11580 VkStructureType sType;
11582 float primitiveOverestimationSize;
11583 float maxExtraPrimitiveOverestimationSize;
11584 float extraPrimitiveOverestimationSizeGranularity;
11585 VkBool32 primitiveUnderestimation;
11586 VkBool32 conservativePointAndLineRasterization;
11587 VkBool32 degenerateTrianglesRasterized;
11588 VkBool32 degenerateLinesRasterized;
11589 VkBool32 fullyCoveredFragmentShaderInputVariable;
11590 VkBool32 conservativeRasterizationPostDepthCoverage;
11591 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
11593 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
11594 VkStructureType sType;
11596 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
11597 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
11598 float extraPrimitiveOverestimationSize;
11599 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
11603 #define VK_EXT_depth_clip_enable 1
11604 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
11605 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
11606 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
11607 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
11608 VkStructureType sType;
11610 VkBool32 depthClipEnable;
11611 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
11613 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
11614 VkStructureType sType;
11616 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
11617 VkBool32 depthClipEnable;
11618 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
11622 #define VK_EXT_swapchain_colorspace 1
11623 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
11624 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
11627 #define VK_EXT_hdr_metadata 1
11628 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
11629 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
11630 typedef struct VkXYColorEXT {
11635 typedef struct VkHdrMetadataEXT {
11636 VkStructureType sType;
11638 VkXYColorEXT displayPrimaryRed;
11639 VkXYColorEXT displayPrimaryGreen;
11640 VkXYColorEXT displayPrimaryBlue;
11641 VkXYColorEXT whitePoint;
11642 float maxLuminance;
11643 float minLuminance;
11644 float maxContentLightLevel;
11645 float maxFrameAverageLightLevel;
11646 } VkHdrMetadataEXT;
11648 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
11650 #ifndef VK_NO_PROTOTYPES
11651 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
11653 deUint32 swapchainCount,
11654 const VkSwapchainKHR* pSwapchains,
11655 const VkHdrMetadataEXT* pMetadata);
11659 #define VK_EXT_external_memory_dma_buf 1
11660 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
11661 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
11664 #define VK_EXT_queue_family_foreign 1
11665 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
11666 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
11667 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
11670 #define VK_EXT_debug_utils 1
11671 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
11672 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
11673 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
11674 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
11676 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
11677 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
11678 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
11679 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
11680 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
11681 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11682 } VkDebugUtilsMessageSeverityFlagBitsEXT;
11684 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
11685 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
11686 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
11687 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
11688 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11689 } VkDebugUtilsMessageTypeFlagBitsEXT;
11690 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
11691 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
11692 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
11693 typedef struct VkDebugUtilsLabelEXT {
11694 VkStructureType sType;
11696 const char* pLabelName;
11698 } VkDebugUtilsLabelEXT;
11700 typedef struct VkDebugUtilsObjectNameInfoEXT {
11701 VkStructureType sType;
11703 VkObjectType objectType;
11704 deUint64 objectHandle;
11705 const char* pObjectName;
11706 } VkDebugUtilsObjectNameInfoEXT;
11708 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
11709 VkStructureType sType;
11711 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
11712 const char* pMessageIdName;
11713 deInt32 messageIdNumber;
11714 const char* pMessage;
11715 deUint32 queueLabelCount;
11716 const VkDebugUtilsLabelEXT* pQueueLabels;
11717 deUint32 cmdBufLabelCount;
11718 const VkDebugUtilsLabelEXT* pCmdBufLabels;
11719 deUint32 objectCount;
11720 const VkDebugUtilsObjectNameInfoEXT* pObjects;
11721 } VkDebugUtilsMessengerCallbackDataEXT;
11723 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
11724 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
11725 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
11726 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
11729 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
11730 VkStructureType sType;
11732 VkDebugUtilsMessengerCreateFlagsEXT flags;
11733 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
11734 VkDebugUtilsMessageTypeFlagsEXT messageType;
11735 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
11737 } VkDebugUtilsMessengerCreateInfoEXT;
11739 typedef struct VkDebugUtilsObjectTagInfoEXT {
11740 VkStructureType sType;
11742 VkObjectType objectType;
11743 deUint64 objectHandle;
11747 } VkDebugUtilsObjectTagInfoEXT;
11749 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
11750 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
11751 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
11752 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
11753 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
11754 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
11755 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
11756 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
11757 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
11758 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
11759 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
11761 #ifndef VK_NO_PROTOTYPES
11762 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
11764 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
11766 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
11768 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
11770 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
11772 const VkDebugUtilsLabelEXT* pLabelInfo);
11774 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
11777 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
11779 const VkDebugUtilsLabelEXT* pLabelInfo);
11781 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
11782 VkCommandBuffer commandBuffer,
11783 const VkDebugUtilsLabelEXT* pLabelInfo);
11785 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
11786 VkCommandBuffer commandBuffer);
11788 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
11789 VkCommandBuffer commandBuffer,
11790 const VkDebugUtilsLabelEXT* pLabelInfo);
11792 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
11793 VkInstance instance,
11794 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
11795 const VkAllocationCallbacks* pAllocator,
11796 VkDebugUtilsMessengerEXT* pMessenger);
11798 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
11799 VkInstance instance,
11800 VkDebugUtilsMessengerEXT messenger,
11801 const VkAllocationCallbacks* pAllocator);
11803 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
11804 VkInstance instance,
11805 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
11806 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
11807 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
11811 #define VK_EXT_sampler_filter_minmax 1
11812 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
11813 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
11814 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
11816 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
11818 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
11822 #define VK_AMD_gpu_shader_int16 1
11823 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
11824 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
11827 #define VK_AMD_mixed_attachment_samples 1
11828 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
11829 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
11832 #define VK_AMD_shader_fragment_mask 1
11833 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
11834 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
11837 #define VK_EXT_inline_uniform_block 1
11838 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
11839 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
11840 typedef VkPhysicalDeviceInlineUniformBlockFeatures VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
11842 typedef VkPhysicalDeviceInlineUniformBlockProperties VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
11844 typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT;
11846 typedef VkDescriptorPoolInlineUniformBlockCreateInfo VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
11850 #define VK_EXT_shader_stencil_export 1
11851 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
11852 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
11855 #define VK_EXT_sample_locations 1
11856 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
11857 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
11858 typedef struct VkSampleLocationEXT {
11861 } VkSampleLocationEXT;
11863 typedef struct VkSampleLocationsInfoEXT {
11864 VkStructureType sType;
11866 VkSampleCountFlagBits sampleLocationsPerPixel;
11867 VkExtent2D sampleLocationGridSize;
11868 deUint32 sampleLocationsCount;
11869 const VkSampleLocationEXT* pSampleLocations;
11870 } VkSampleLocationsInfoEXT;
11872 typedef struct VkAttachmentSampleLocationsEXT {
11873 deUint32 attachmentIndex;
11874 VkSampleLocationsInfoEXT sampleLocationsInfo;
11875 } VkAttachmentSampleLocationsEXT;
11877 typedef struct VkSubpassSampleLocationsEXT {
11878 deUint32 subpassIndex;
11879 VkSampleLocationsInfoEXT sampleLocationsInfo;
11880 } VkSubpassSampleLocationsEXT;
11882 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
11883 VkStructureType sType;
11885 deUint32 attachmentInitialSampleLocationsCount;
11886 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
11887 deUint32 postSubpassSampleLocationsCount;
11888 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
11889 } VkRenderPassSampleLocationsBeginInfoEXT;
11891 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
11892 VkStructureType sType;
11894 VkBool32 sampleLocationsEnable;
11895 VkSampleLocationsInfoEXT sampleLocationsInfo;
11896 } VkPipelineSampleLocationsStateCreateInfoEXT;
11898 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
11899 VkStructureType sType;
11901 VkSampleCountFlags sampleLocationSampleCounts;
11902 VkExtent2D maxSampleLocationGridSize;
11903 float sampleLocationCoordinateRange[2];
11904 deUint32 sampleLocationSubPixelBits;
11905 VkBool32 variableSampleLocations;
11906 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
11908 typedef struct VkMultisamplePropertiesEXT {
11909 VkStructureType sType;
11911 VkExtent2D maxSampleLocationGridSize;
11912 } VkMultisamplePropertiesEXT;
11914 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
11915 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
11917 #ifndef VK_NO_PROTOTYPES
11918 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
11919 VkCommandBuffer commandBuffer,
11920 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
11922 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
11923 VkPhysicalDevice physicalDevice,
11924 VkSampleCountFlagBits samples,
11925 VkMultisamplePropertiesEXT* pMultisampleProperties);
11929 #define VK_EXT_blend_operation_advanced 1
11930 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
11931 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
11933 typedef enum VkBlendOverlapEXT {
11934 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
11935 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
11936 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
11937 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
11938 } VkBlendOverlapEXT;
11939 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
11940 VkStructureType sType;
11942 VkBool32 advancedBlendCoherentOperations;
11943 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
11945 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
11946 VkStructureType sType;
11948 deUint32 advancedBlendMaxColorAttachments;
11949 VkBool32 advancedBlendIndependentBlend;
11950 VkBool32 advancedBlendNonPremultipliedSrcColor;
11951 VkBool32 advancedBlendNonPremultipliedDstColor;
11952 VkBool32 advancedBlendCorrelatedOverlap;
11953 VkBool32 advancedBlendAllOperations;
11954 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
11956 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
11957 VkStructureType sType;
11959 VkBool32 srcPremultiplied;
11960 VkBool32 dstPremultiplied;
11961 VkBlendOverlapEXT blendOverlap;
11962 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
11966 #define VK_NV_fragment_coverage_to_color 1
11967 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
11968 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
11969 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
11970 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
11971 VkStructureType sType;
11973 VkPipelineCoverageToColorStateCreateFlagsNV flags;
11974 VkBool32 coverageToColorEnable;
11975 deUint32 coverageToColorLocation;
11976 } VkPipelineCoverageToColorStateCreateInfoNV;
11980 #define VK_NV_framebuffer_mixed_samples 1
11981 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
11982 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
11984 typedef enum VkCoverageModulationModeNV {
11985 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
11986 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
11987 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
11988 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
11989 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
11990 } VkCoverageModulationModeNV;
11991 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
11992 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
11993 VkStructureType sType;
11995 VkPipelineCoverageModulationStateCreateFlagsNV flags;
11996 VkCoverageModulationModeNV coverageModulationMode;
11997 VkBool32 coverageModulationTableEnable;
11998 deUint32 coverageModulationTableCount;
11999 const float* pCoverageModulationTable;
12000 } VkPipelineCoverageModulationStateCreateInfoNV;
12004 #define VK_NV_fill_rectangle 1
12005 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
12006 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
12009 #define VK_NV_shader_sm_builtins 1
12010 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
12011 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
12012 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
12013 VkStructureType sType;
12015 deUint32 shaderSMCount;
12016 deUint32 shaderWarpsPerSM;
12017 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
12019 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
12020 VkStructureType sType;
12022 VkBool32 shaderSMBuiltins;
12023 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
12027 #define VK_EXT_post_depth_coverage 1
12028 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
12029 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
12032 #define VK_EXT_image_drm_format_modifier 1
12033 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2
12034 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
12035 typedef struct VkDrmFormatModifierPropertiesEXT {
12036 deUint64 drmFormatModifier;
12037 deUint32 drmFormatModifierPlaneCount;
12038 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
12039 } VkDrmFormatModifierPropertiesEXT;
12041 typedef struct VkDrmFormatModifierPropertiesListEXT {
12042 VkStructureType sType;
12044 deUint32 drmFormatModifierCount;
12045 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
12046 } VkDrmFormatModifierPropertiesListEXT;
12048 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
12049 VkStructureType sType;
12051 deUint64 drmFormatModifier;
12052 VkSharingMode sharingMode;
12053 deUint32 queueFamilyIndexCount;
12054 const deUint32* pQueueFamilyIndices;
12055 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
12057 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
12058 VkStructureType sType;
12060 deUint32 drmFormatModifierCount;
12061 const deUint64* pDrmFormatModifiers;
12062 } VkImageDrmFormatModifierListCreateInfoEXT;
12064 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
12065 VkStructureType sType;
12067 deUint64 drmFormatModifier;
12068 deUint32 drmFormatModifierPlaneCount;
12069 const VkSubresourceLayout* pPlaneLayouts;
12070 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
12072 typedef struct VkImageDrmFormatModifierPropertiesEXT {
12073 VkStructureType sType;
12075 deUint64 drmFormatModifier;
12076 } VkImageDrmFormatModifierPropertiesEXT;
12078 typedef struct VkDrmFormatModifierProperties2EXT {
12079 deUint64 drmFormatModifier;
12080 deUint32 drmFormatModifierPlaneCount;
12081 VkFormatFeatureFlags2 drmFormatModifierTilingFeatures;
12082 } VkDrmFormatModifierProperties2EXT;
12084 typedef struct VkDrmFormatModifierPropertiesList2EXT {
12085 VkStructureType sType;
12087 deUint32 drmFormatModifierCount;
12088 VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties;
12089 } VkDrmFormatModifierPropertiesList2EXT;
12091 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
12093 #ifndef VK_NO_PROTOTYPES
12094 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
12097 VkImageDrmFormatModifierPropertiesEXT* pProperties);
12101 #define VK_EXT_validation_cache 1
12102 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
12103 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
12104 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
12106 typedef enum VkValidationCacheHeaderVersionEXT {
12107 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
12108 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
12109 } VkValidationCacheHeaderVersionEXT;
12110 typedef VkFlags VkValidationCacheCreateFlagsEXT;
12111 typedef struct VkValidationCacheCreateInfoEXT {
12112 VkStructureType sType;
12114 VkValidationCacheCreateFlagsEXT flags;
12115 deUintptr initialDataSize;
12116 const void* pInitialData;
12117 } VkValidationCacheCreateInfoEXT;
12119 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
12120 VkStructureType sType;
12122 VkValidationCacheEXT validationCache;
12123 } VkShaderModuleValidationCacheCreateInfoEXT;
12125 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
12126 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
12127 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
12128 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
12130 #ifndef VK_NO_PROTOTYPES
12131 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
12133 const VkValidationCacheCreateInfoEXT* pCreateInfo,
12134 const VkAllocationCallbacks* pAllocator,
12135 VkValidationCacheEXT* pValidationCache);
12137 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
12139 VkValidationCacheEXT validationCache,
12140 const VkAllocationCallbacks* pAllocator);
12142 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
12144 VkValidationCacheEXT dstCache,
12145 deUint32 srcCacheCount,
12146 const VkValidationCacheEXT* pSrcCaches);
12148 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
12150 VkValidationCacheEXT validationCache,
12151 deUintptr* pDataSize,
12156 #define VK_EXT_descriptor_indexing 1
12157 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
12158 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
12159 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
12161 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
12163 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
12165 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
12167 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
12169 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
12171 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
12175 #define VK_EXT_shader_viewport_index_layer 1
12176 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
12177 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
12180 #define VK_NV_shading_rate_image 1
12181 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
12182 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
12184 typedef enum VkShadingRatePaletteEntryNV {
12185 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
12186 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
12187 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
12188 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
12189 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
12190 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
12191 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
12192 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
12193 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
12194 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12195 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
12196 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
12197 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
12198 } VkShadingRatePaletteEntryNV;
12200 typedef enum VkCoarseSampleOrderTypeNV {
12201 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
12202 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
12203 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
12204 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
12205 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12206 } VkCoarseSampleOrderTypeNV;
12207 typedef struct VkShadingRatePaletteNV {
12208 deUint32 shadingRatePaletteEntryCount;
12209 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
12210 } VkShadingRatePaletteNV;
12212 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
12213 VkStructureType sType;
12215 VkBool32 shadingRateImageEnable;
12216 deUint32 viewportCount;
12217 const VkShadingRatePaletteNV* pShadingRatePalettes;
12218 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
12220 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
12221 VkStructureType sType;
12223 VkBool32 shadingRateImage;
12224 VkBool32 shadingRateCoarseSampleOrder;
12225 } VkPhysicalDeviceShadingRateImageFeaturesNV;
12227 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
12228 VkStructureType sType;
12230 VkExtent2D shadingRateTexelSize;
12231 deUint32 shadingRatePaletteSize;
12232 deUint32 shadingRateMaxCoarseSamples;
12233 } VkPhysicalDeviceShadingRateImagePropertiesNV;
12235 typedef struct VkCoarseSampleLocationNV {
12239 } VkCoarseSampleLocationNV;
12241 typedef struct VkCoarseSampleOrderCustomNV {
12242 VkShadingRatePaletteEntryNV shadingRate;
12243 deUint32 sampleCount;
12244 deUint32 sampleLocationCount;
12245 const VkCoarseSampleLocationNV* pSampleLocations;
12246 } VkCoarseSampleOrderCustomNV;
12248 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
12249 VkStructureType sType;
12251 VkCoarseSampleOrderTypeNV sampleOrderType;
12252 deUint32 customSampleOrderCount;
12253 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
12254 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
12256 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
12257 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
12258 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
12260 #ifndef VK_NO_PROTOTYPES
12261 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
12262 VkCommandBuffer commandBuffer,
12263 VkImageView imageView,
12264 VkImageLayout imageLayout);
12266 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
12267 VkCommandBuffer commandBuffer,
12268 deUint32 firstViewport,
12269 deUint32 viewportCount,
12270 const VkShadingRatePaletteNV* pShadingRatePalettes);
12272 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
12273 VkCommandBuffer commandBuffer,
12274 VkCoarseSampleOrderTypeNV sampleOrderType,
12275 deUint32 customSampleOrderCount,
12276 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
12280 #define VK_NV_ray_tracing 1
12281 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
12282 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
12283 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
12284 #define VK_SHADER_UNUSED_KHR (~0U)
12285 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
12287 typedef enum VkRayTracingShaderGroupTypeKHR {
12288 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
12289 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
12290 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
12291 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
12292 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
12293 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
12294 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12295 } VkRayTracingShaderGroupTypeKHR;
12296 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
12299 typedef enum VkGeometryTypeKHR {
12300 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
12301 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
12302 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
12303 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
12304 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
12305 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12306 } VkGeometryTypeKHR;
12307 typedef VkGeometryTypeKHR VkGeometryTypeNV;
12310 typedef enum VkAccelerationStructureTypeKHR {
12311 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
12312 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
12313 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
12314 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
12315 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
12316 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
12317 } VkAccelerationStructureTypeKHR;
12318 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
12321 typedef enum VkCopyAccelerationStructureModeKHR {
12322 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
12323 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
12324 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
12325 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
12326 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
12327 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
12328 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
12329 } VkCopyAccelerationStructureModeKHR;
12330 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
12333 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
12334 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
12335 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
12336 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
12337 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12338 } VkAccelerationStructureMemoryRequirementsTypeNV;
12340 typedef enum VkGeometryFlagBitsKHR {
12341 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
12342 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
12343 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
12344 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
12345 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12346 } VkGeometryFlagBitsKHR;
12347 typedef VkFlags VkGeometryFlagsKHR;
12348 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
12350 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
12353 typedef enum VkGeometryInstanceFlagBitsKHR {
12354 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
12355 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
12356 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
12357 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
12358 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
12359 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
12360 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
12361 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
12362 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
12363 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12364 } VkGeometryInstanceFlagBitsKHR;
12365 typedef VkFlags VkGeometryInstanceFlagsKHR;
12366 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
12368 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
12371 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
12372 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
12373 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
12374 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
12375 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
12376 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
12377 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
12378 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
12379 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
12380 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
12381 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
12382 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
12383 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
12384 } VkBuildAccelerationStructureFlagBitsKHR;
12385 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
12386 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
12388 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
12390 typedef struct VkRayTracingShaderGroupCreateInfoNV {
12391 VkStructureType sType;
12393 VkRayTracingShaderGroupTypeKHR type;
12394 deUint32 generalShader;
12395 deUint32 closestHitShader;
12396 deUint32 anyHitShader;
12397 deUint32 intersectionShader;
12398 } VkRayTracingShaderGroupCreateInfoNV;
12400 typedef struct VkRayTracingPipelineCreateInfoNV {
12401 VkStructureType sType;
12403 VkPipelineCreateFlags flags;
12404 deUint32 stageCount;
12405 const VkPipelineShaderStageCreateInfo* pStages;
12406 deUint32 groupCount;
12407 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
12408 deUint32 maxRecursionDepth;
12409 VkPipelineLayout layout;
12410 VkPipeline basePipelineHandle;
12411 deInt32 basePipelineIndex;
12412 } VkRayTracingPipelineCreateInfoNV;
12414 typedef struct VkGeometryTrianglesNV {
12415 VkStructureType sType;
12417 VkBuffer vertexData;
12418 VkDeviceSize vertexOffset;
12419 deUint32 vertexCount;
12420 VkDeviceSize vertexStride;
12421 VkFormat vertexFormat;
12422 VkBuffer indexData;
12423 VkDeviceSize indexOffset;
12424 deUint32 indexCount;
12425 VkIndexType indexType;
12426 VkBuffer transformData;
12427 VkDeviceSize transformOffset;
12428 } VkGeometryTrianglesNV;
12430 typedef struct VkGeometryAABBNV {
12431 VkStructureType sType;
12436 VkDeviceSize offset;
12437 } VkGeometryAABBNV;
12439 typedef struct VkGeometryDataNV {
12440 VkGeometryTrianglesNV triangles;
12441 VkGeometryAABBNV aabbs;
12442 } VkGeometryDataNV;
12444 typedef struct VkGeometryNV {
12445 VkStructureType sType;
12447 VkGeometryTypeKHR geometryType;
12448 VkGeometryDataNV geometry;
12449 VkGeometryFlagsKHR flags;
12452 typedef struct VkAccelerationStructureInfoNV {
12453 VkStructureType sType;
12455 VkAccelerationStructureTypeNV type;
12456 VkBuildAccelerationStructureFlagsNV flags;
12457 deUint32 instanceCount;
12458 deUint32 geometryCount;
12459 const VkGeometryNV* pGeometries;
12460 } VkAccelerationStructureInfoNV;
12462 typedef struct VkAccelerationStructureCreateInfoNV {
12463 VkStructureType sType;
12465 VkDeviceSize compactedSize;
12466 VkAccelerationStructureInfoNV info;
12467 } VkAccelerationStructureCreateInfoNV;
12469 typedef struct VkBindAccelerationStructureMemoryInfoNV {
12470 VkStructureType sType;
12472 VkAccelerationStructureNV accelerationStructure;
12473 VkDeviceMemory memory;
12474 VkDeviceSize memoryOffset;
12475 deUint32 deviceIndexCount;
12476 const deUint32* pDeviceIndices;
12477 } VkBindAccelerationStructureMemoryInfoNV;
12479 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
12480 VkStructureType sType;
12482 deUint32 accelerationStructureCount;
12483 const VkAccelerationStructureNV* pAccelerationStructures;
12484 } VkWriteDescriptorSetAccelerationStructureNV;
12486 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
12487 VkStructureType sType;
12489 VkAccelerationStructureMemoryRequirementsTypeNV type;
12490 VkAccelerationStructureNV accelerationStructure;
12491 } VkAccelerationStructureMemoryRequirementsInfoNV;
12493 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
12494 VkStructureType sType;
12496 deUint32 shaderGroupHandleSize;
12497 deUint32 maxRecursionDepth;
12498 deUint32 maxShaderGroupStride;
12499 deUint32 shaderGroupBaseAlignment;
12500 deUint64 maxGeometryCount;
12501 deUint64 maxInstanceCount;
12502 deUint64 maxTriangleCount;
12503 deUint32 maxDescriptorSetAccelerationStructures;
12504 } VkPhysicalDeviceRayTracingPropertiesNV;
12506 typedef struct VkTransformMatrixKHR {
12507 float matrix[3][4];
12508 } VkTransformMatrixKHR;
12510 typedef VkTransformMatrixKHR VkTransformMatrixNV;
12512 typedef struct VkAabbPositionsKHR {
12519 } VkAabbPositionsKHR;
12521 typedef VkAabbPositionsKHR VkAabbPositionsNV;
12523 typedef struct VkAccelerationStructureInstanceKHR {
12524 VkTransformMatrixKHR transform;
12525 deUint32 instanceCustomIndex:24;
12527 deUint32 instanceShaderBindingTableRecordOffset:24;
12528 VkGeometryInstanceFlagsKHR flags:8;
12529 deUint64 accelerationStructureReference;
12530 } VkAccelerationStructureInstanceKHR;
12532 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
12534 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
12535 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
12536 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
12537 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
12538 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);
12539 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
12540 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);
12541 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
12542 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
12543 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
12544 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
12545 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
12546 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
12548 #ifndef VK_NO_PROTOTYPES
12549 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
12551 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
12552 const VkAllocationCallbacks* pAllocator,
12553 VkAccelerationStructureNV* pAccelerationStructure);
12555 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
12557 VkAccelerationStructureNV accelerationStructure,
12558 const VkAllocationCallbacks* pAllocator);
12560 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
12562 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
12563 VkMemoryRequirements2KHR* pMemoryRequirements);
12565 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
12567 deUint32 bindInfoCount,
12568 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
12570 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
12571 VkCommandBuffer commandBuffer,
12572 const VkAccelerationStructureInfoNV* pInfo,
12573 VkBuffer instanceData,
12574 VkDeviceSize instanceOffset,
12576 VkAccelerationStructureNV dst,
12577 VkAccelerationStructureNV src,
12579 VkDeviceSize scratchOffset);
12581 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
12582 VkCommandBuffer commandBuffer,
12583 VkAccelerationStructureNV dst,
12584 VkAccelerationStructureNV src,
12585 VkCopyAccelerationStructureModeKHR mode);
12587 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
12588 VkCommandBuffer commandBuffer,
12589 VkBuffer raygenShaderBindingTableBuffer,
12590 VkDeviceSize raygenShaderBindingOffset,
12591 VkBuffer missShaderBindingTableBuffer,
12592 VkDeviceSize missShaderBindingOffset,
12593 VkDeviceSize missShaderBindingStride,
12594 VkBuffer hitShaderBindingTableBuffer,
12595 VkDeviceSize hitShaderBindingOffset,
12596 VkDeviceSize hitShaderBindingStride,
12597 VkBuffer callableShaderBindingTableBuffer,
12598 VkDeviceSize callableShaderBindingOffset,
12599 VkDeviceSize callableShaderBindingStride,
12604 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
12606 VkPipelineCache pipelineCache,
12607 deUint32 createInfoCount,
12608 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
12609 const VkAllocationCallbacks* pAllocator,
12610 VkPipeline* pPipelines);
12612 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
12614 VkPipeline pipeline,
12615 deUint32 firstGroup,
12616 deUint32 groupCount,
12617 deUintptr dataSize,
12620 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
12622 VkPipeline pipeline,
12623 deUint32 firstGroup,
12624 deUint32 groupCount,
12625 deUintptr dataSize,
12628 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
12630 VkAccelerationStructureNV accelerationStructure,
12631 deUintptr dataSize,
12634 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
12635 VkCommandBuffer commandBuffer,
12636 deUint32 accelerationStructureCount,
12637 const VkAccelerationStructureNV* pAccelerationStructures,
12638 VkQueryType queryType,
12639 VkQueryPool queryPool,
12640 deUint32 firstQuery);
12642 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
12644 VkPipeline pipeline,
12649 #define VK_NV_representative_fragment_test 1
12650 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
12651 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
12652 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
12653 VkStructureType sType;
12655 VkBool32 representativeFragmentTest;
12656 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
12658 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
12659 VkStructureType sType;
12661 VkBool32 representativeFragmentTestEnable;
12662 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
12666 #define VK_EXT_filter_cubic 1
12667 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
12668 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
12669 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
12670 VkStructureType sType;
12672 VkImageViewType imageViewType;
12673 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
12675 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
12676 VkStructureType sType;
12678 VkBool32 filterCubic;
12679 VkBool32 filterCubicMinmax;
12680 } VkFilterCubicImageViewImageFormatPropertiesEXT;
12684 #define VK_QCOM_render_pass_shader_resolve 1
12685 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
12686 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
12689 #define VK_EXT_global_priority 1
12690 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
12691 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
12692 typedef VkQueueGlobalPriorityKHR VkQueueGlobalPriorityEXT;
12694 typedef VkDeviceQueueGlobalPriorityCreateInfoKHR VkDeviceQueueGlobalPriorityCreateInfoEXT;
12698 #define VK_EXT_external_memory_host 1
12699 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
12700 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
12701 typedef struct VkImportMemoryHostPointerInfoEXT {
12702 VkStructureType sType;
12704 VkExternalMemoryHandleTypeFlagBits handleType;
12705 void* pHostPointer;
12706 } VkImportMemoryHostPointerInfoEXT;
12708 typedef struct VkMemoryHostPointerPropertiesEXT {
12709 VkStructureType sType;
12711 deUint32 memoryTypeBits;
12712 } VkMemoryHostPointerPropertiesEXT;
12714 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
12715 VkStructureType sType;
12717 VkDeviceSize minImportedHostPointerAlignment;
12718 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
12720 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
12722 #ifndef VK_NO_PROTOTYPES
12723 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
12725 VkExternalMemoryHandleTypeFlagBits handleType,
12726 const void* pHostPointer,
12727 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
12731 #define VK_AMD_buffer_marker 1
12732 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
12733 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
12734 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
12736 #ifndef VK_NO_PROTOTYPES
12737 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
12738 VkCommandBuffer commandBuffer,
12739 VkPipelineStageFlagBits pipelineStage,
12740 VkBuffer dstBuffer,
12741 VkDeviceSize dstOffset,
12746 #define VK_AMD_pipeline_compiler_control 1
12747 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
12748 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
12750 typedef enum VkPipelineCompilerControlFlagBitsAMD {
12751 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
12752 } VkPipelineCompilerControlFlagBitsAMD;
12753 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
12754 typedef struct VkPipelineCompilerControlCreateInfoAMD {
12755 VkStructureType sType;
12757 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
12758 } VkPipelineCompilerControlCreateInfoAMD;
12762 #define VK_EXT_calibrated_timestamps 1
12763 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
12764 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
12766 typedef enum VkTimeDomainEXT {
12767 VK_TIME_DOMAIN_DEVICE_EXT = 0,
12768 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
12769 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
12770 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
12771 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
12773 typedef struct VkCalibratedTimestampInfoEXT {
12774 VkStructureType sType;
12776 VkTimeDomainEXT timeDomain;
12777 } VkCalibratedTimestampInfoEXT;
12779 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
12780 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
12782 #ifndef VK_NO_PROTOTYPES
12783 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
12784 VkPhysicalDevice physicalDevice,
12785 deUint32* pTimeDomainCount,
12786 VkTimeDomainEXT* pTimeDomains);
12788 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
12790 deUint32 timestampCount,
12791 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
12792 deUint64* pTimestamps,
12793 deUint64* pMaxDeviation);
12797 #define VK_AMD_shader_core_properties 1
12798 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
12799 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
12800 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
12801 VkStructureType sType;
12803 deUint32 shaderEngineCount;
12804 deUint32 shaderArraysPerEngineCount;
12805 deUint32 computeUnitsPerShaderArray;
12806 deUint32 simdPerComputeUnit;
12807 deUint32 wavefrontsPerSimd;
12808 deUint32 wavefrontSize;
12809 deUint32 sgprsPerSimd;
12810 deUint32 minSgprAllocation;
12811 deUint32 maxSgprAllocation;
12812 deUint32 sgprAllocationGranularity;
12813 deUint32 vgprsPerSimd;
12814 deUint32 minVgprAllocation;
12815 deUint32 maxVgprAllocation;
12816 deUint32 vgprAllocationGranularity;
12817 } VkPhysicalDeviceShaderCorePropertiesAMD;
12821 #define VK_AMD_memory_overallocation_behavior 1
12822 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
12823 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
12825 typedef enum VkMemoryOverallocationBehaviorAMD {
12826 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
12827 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
12828 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
12829 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
12830 } VkMemoryOverallocationBehaviorAMD;
12831 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
12832 VkStructureType sType;
12834 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
12835 } VkDeviceMemoryOverallocationCreateInfoAMD;
12839 #define VK_EXT_vertex_attribute_divisor 1
12840 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
12841 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
12842 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
12843 VkStructureType sType;
12845 deUint32 maxVertexAttribDivisor;
12846 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
12848 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
12851 } VkVertexInputBindingDivisorDescriptionEXT;
12853 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
12854 VkStructureType sType;
12856 deUint32 vertexBindingDivisorCount;
12857 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
12858 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
12860 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
12861 VkStructureType sType;
12863 VkBool32 vertexAttributeInstanceRateDivisor;
12864 VkBool32 vertexAttributeInstanceRateZeroDivisor;
12865 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
12869 #define VK_EXT_pipeline_creation_feedback 1
12870 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
12871 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
12872 typedef VkPipelineCreationFeedbackFlagBits VkPipelineCreationFeedbackFlagBitsEXT;
12874 typedef VkPipelineCreationFeedbackFlags VkPipelineCreationFeedbackFlagsEXT;
12876 typedef VkPipelineCreationFeedbackCreateInfo VkPipelineCreationFeedbackCreateInfoEXT;
12878 typedef VkPipelineCreationFeedback VkPipelineCreationFeedbackEXT;
12882 #define VK_NV_shader_subgroup_partitioned 1
12883 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
12884 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
12887 #define VK_NV_compute_shader_derivatives 1
12888 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
12889 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
12890 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
12891 VkStructureType sType;
12893 VkBool32 computeDerivativeGroupQuads;
12894 VkBool32 computeDerivativeGroupLinear;
12895 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
12899 #define VK_NV_mesh_shader 1
12900 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
12901 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
12902 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
12903 VkStructureType sType;
12905 VkBool32 taskShader;
12906 VkBool32 meshShader;
12907 } VkPhysicalDeviceMeshShaderFeaturesNV;
12909 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
12910 VkStructureType sType;
12912 deUint32 maxDrawMeshTasksCount;
12913 deUint32 maxTaskWorkGroupInvocations;
12914 deUint32 maxTaskWorkGroupSize[3];
12915 deUint32 maxTaskTotalMemorySize;
12916 deUint32 maxTaskOutputCount;
12917 deUint32 maxMeshWorkGroupInvocations;
12918 deUint32 maxMeshWorkGroupSize[3];
12919 deUint32 maxMeshTotalMemorySize;
12920 deUint32 maxMeshOutputVertices;
12921 deUint32 maxMeshOutputPrimitives;
12922 deUint32 maxMeshMultiviewViewCount;
12923 deUint32 meshOutputPerVertexGranularity;
12924 deUint32 meshOutputPerPrimitiveGranularity;
12925 } VkPhysicalDeviceMeshShaderPropertiesNV;
12927 typedef struct VkDrawMeshTasksIndirectCommandNV {
12928 deUint32 taskCount;
12929 deUint32 firstTask;
12930 } VkDrawMeshTasksIndirectCommandNV;
12932 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
12933 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
12934 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
12936 #ifndef VK_NO_PROTOTYPES
12937 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
12938 VkCommandBuffer commandBuffer,
12939 deUint32 taskCount,
12940 deUint32 firstTask);
12942 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
12943 VkCommandBuffer commandBuffer,
12945 VkDeviceSize offset,
12946 deUint32 drawCount,
12949 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
12950 VkCommandBuffer commandBuffer,
12952 VkDeviceSize offset,
12953 VkBuffer countBuffer,
12954 VkDeviceSize countBufferOffset,
12955 deUint32 maxDrawCount,
12960 #define VK_NV_fragment_shader_barycentric 1
12961 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
12962 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
12963 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
12964 VkStructureType sType;
12966 VkBool32 fragmentShaderBarycentric;
12967 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
12971 #define VK_NV_shader_image_footprint 1
12972 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
12973 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
12974 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
12975 VkStructureType sType;
12977 VkBool32 imageFootprint;
12978 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
12982 #define VK_NV_scissor_exclusive 1
12983 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
12984 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
12985 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
12986 VkStructureType sType;
12988 deUint32 exclusiveScissorCount;
12989 const VkRect2D* pExclusiveScissors;
12990 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
12992 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
12993 VkStructureType sType;
12995 VkBool32 exclusiveScissor;
12996 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
12998 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
13000 #ifndef VK_NO_PROTOTYPES
13001 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
13002 VkCommandBuffer commandBuffer,
13003 deUint32 firstExclusiveScissor,
13004 deUint32 exclusiveScissorCount,
13005 const VkRect2D* pExclusiveScissors);
13009 #define VK_NV_device_diagnostic_checkpoints 1
13010 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
13011 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
13012 typedef struct VkQueueFamilyCheckpointPropertiesNV {
13013 VkStructureType sType;
13015 VkPipelineStageFlags checkpointExecutionStageMask;
13016 } VkQueueFamilyCheckpointPropertiesNV;
13018 typedef struct VkCheckpointDataNV {
13019 VkStructureType sType;
13021 VkPipelineStageFlagBits stage;
13022 void* pCheckpointMarker;
13023 } VkCheckpointDataNV;
13025 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
13026 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
13028 #ifndef VK_NO_PROTOTYPES
13029 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
13030 VkCommandBuffer commandBuffer,
13031 const void* pCheckpointMarker);
13033 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
13035 deUint32* pCheckpointDataCount,
13036 VkCheckpointDataNV* pCheckpointData);
13040 #define VK_INTEL_shader_integer_functions2 1
13041 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
13042 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
13043 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
13044 VkStructureType sType;
13046 VkBool32 shaderIntegerFunctions2;
13047 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
13051 #define VK_INTEL_performance_query 1
13052 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
13053 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
13054 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
13056 typedef enum VkPerformanceConfigurationTypeINTEL {
13057 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
13058 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13059 } VkPerformanceConfigurationTypeINTEL;
13061 typedef enum VkQueryPoolSamplingModeINTEL {
13062 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
13063 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
13064 } VkQueryPoolSamplingModeINTEL;
13066 typedef enum VkPerformanceOverrideTypeINTEL {
13067 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
13068 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
13069 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13070 } VkPerformanceOverrideTypeINTEL;
13072 typedef enum VkPerformanceParameterTypeINTEL {
13073 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
13074 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
13075 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13076 } VkPerformanceParameterTypeINTEL;
13078 typedef enum VkPerformanceValueTypeINTEL {
13079 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
13080 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
13081 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
13082 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
13083 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
13084 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
13085 } VkPerformanceValueTypeINTEL;
13086 typedef union VkPerformanceValueDataINTEL {
13090 VkBool32 valueBool;
13091 const char* valueString;
13092 } VkPerformanceValueDataINTEL;
13094 typedef struct VkPerformanceValueINTEL {
13095 VkPerformanceValueTypeINTEL type;
13096 VkPerformanceValueDataINTEL data;
13097 } VkPerformanceValueINTEL;
13099 typedef struct VkInitializePerformanceApiInfoINTEL {
13100 VkStructureType sType;
13103 } VkInitializePerformanceApiInfoINTEL;
13105 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
13106 VkStructureType sType;
13108 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
13109 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
13111 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
13113 typedef struct VkPerformanceMarkerInfoINTEL {
13114 VkStructureType sType;
13117 } VkPerformanceMarkerInfoINTEL;
13119 typedef struct VkPerformanceStreamMarkerInfoINTEL {
13120 VkStructureType sType;
13123 } VkPerformanceStreamMarkerInfoINTEL;
13125 typedef struct VkPerformanceOverrideInfoINTEL {
13126 VkStructureType sType;
13128 VkPerformanceOverrideTypeINTEL type;
13130 deUint64 parameter;
13131 } VkPerformanceOverrideInfoINTEL;
13133 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
13134 VkStructureType sType;
13136 VkPerformanceConfigurationTypeINTEL type;
13137 } VkPerformanceConfigurationAcquireInfoINTEL;
13139 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
13140 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
13141 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
13142 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
13143 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
13144 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
13145 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
13146 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
13147 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
13149 #ifndef VK_NO_PROTOTYPES
13150 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
13152 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
13154 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
13157 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
13158 VkCommandBuffer commandBuffer,
13159 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
13161 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
13162 VkCommandBuffer commandBuffer,
13163 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
13165 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
13166 VkCommandBuffer commandBuffer,
13167 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
13169 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
13171 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
13172 VkPerformanceConfigurationINTEL* pConfiguration);
13174 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
13176 VkPerformanceConfigurationINTEL configuration);
13178 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
13180 VkPerformanceConfigurationINTEL configuration);
13182 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
13184 VkPerformanceParameterTypeINTEL parameter,
13185 VkPerformanceValueINTEL* pValue);
13189 #define VK_EXT_pci_bus_info 1
13190 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
13191 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
13192 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
13193 VkStructureType sType;
13195 deUint32 pciDomain;
13197 deUint32 pciDevice;
13198 deUint32 pciFunction;
13199 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
13203 #define VK_AMD_display_native_hdr 1
13204 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
13205 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
13206 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
13207 VkStructureType sType;
13209 VkBool32 localDimmingSupport;
13210 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
13212 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
13213 VkStructureType sType;
13215 VkBool32 localDimmingEnable;
13216 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
13218 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
13220 #ifndef VK_NO_PROTOTYPES
13221 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
13223 VkSwapchainKHR swapChain,
13224 VkBool32 localDimmingEnable);
13228 #define VK_EXT_fragment_density_map 1
13229 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2
13230 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
13231 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
13232 VkStructureType sType;
13234 VkBool32 fragmentDensityMap;
13235 VkBool32 fragmentDensityMapDynamic;
13236 VkBool32 fragmentDensityMapNonSubsampledImages;
13237 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
13239 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
13240 VkStructureType sType;
13242 VkExtent2D minFragmentDensityTexelSize;
13243 VkExtent2D maxFragmentDensityTexelSize;
13244 VkBool32 fragmentDensityInvocations;
13245 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
13247 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
13248 VkStructureType sType;
13250 VkAttachmentReference fragmentDensityMapAttachment;
13251 } VkRenderPassFragmentDensityMapCreateInfoEXT;
13255 #define VK_EXT_scalar_block_layout 1
13256 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
13257 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
13258 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
13262 #define VK_GOOGLE_hlsl_functionality1 1
13263 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1
13264 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
13265 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
13266 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
13269 #define VK_GOOGLE_decorate_string 1
13270 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
13271 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
13274 #define VK_EXT_subgroup_size_control 1
13275 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
13276 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
13277 typedef VkPhysicalDeviceSubgroupSizeControlFeatures VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
13279 typedef VkPhysicalDeviceSubgroupSizeControlProperties VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
13281 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
13285 #define VK_AMD_shader_core_properties2 1
13286 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
13287 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
13289 typedef enum VkShaderCorePropertiesFlagBitsAMD {
13290 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
13291 } VkShaderCorePropertiesFlagBitsAMD;
13292 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
13293 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
13294 VkStructureType sType;
13296 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
13297 deUint32 activeComputeUnitCount;
13298 } VkPhysicalDeviceShaderCoreProperties2AMD;
13302 #define VK_AMD_device_coherent_memory 1
13303 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
13304 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
13305 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
13306 VkStructureType sType;
13308 VkBool32 deviceCoherentMemory;
13309 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
13313 #define VK_EXT_shader_image_atomic_int64 1
13314 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
13315 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
13316 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
13317 VkStructureType sType;
13319 VkBool32 shaderImageInt64Atomics;
13320 VkBool32 sparseImageInt64Atomics;
13321 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
13325 #define VK_EXT_memory_budget 1
13326 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
13327 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
13328 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
13329 VkStructureType sType;
13331 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
13332 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
13333 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
13337 #define VK_EXT_memory_priority 1
13338 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
13339 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
13340 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
13341 VkStructureType sType;
13343 VkBool32 memoryPriority;
13344 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
13346 typedef struct VkMemoryPriorityAllocateInfoEXT {
13347 VkStructureType sType;
13350 } VkMemoryPriorityAllocateInfoEXT;
13354 #define VK_NV_dedicated_allocation_image_aliasing 1
13355 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
13356 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
13357 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
13358 VkStructureType sType;
13360 VkBool32 dedicatedAllocationImageAliasing;
13361 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
13365 #define VK_EXT_buffer_device_address 1
13366 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
13367 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
13368 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
13369 VkStructureType sType;
13371 VkBool32 bufferDeviceAddress;
13372 VkBool32 bufferDeviceAddressCaptureReplay;
13373 VkBool32 bufferDeviceAddressMultiDevice;
13374 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
13376 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
13378 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
13380 typedef struct VkBufferDeviceAddressCreateInfoEXT {
13381 VkStructureType sType;
13383 VkDeviceAddress deviceAddress;
13384 } VkBufferDeviceAddressCreateInfoEXT;
13386 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
13388 #ifndef VK_NO_PROTOTYPES
13389 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
13391 const VkBufferDeviceAddressInfo* pInfo);
13395 #define VK_EXT_tooling_info 1
13396 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
13397 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
13398 typedef VkToolPurposeFlagBits VkToolPurposeFlagBitsEXT;
13400 typedef VkToolPurposeFlags VkToolPurposeFlagsEXT;
13402 typedef VkPhysicalDeviceToolProperties VkPhysicalDeviceToolPropertiesEXT;
13404 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolProperties* pToolProperties);
13406 #ifndef VK_NO_PROTOTYPES
13407 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
13408 VkPhysicalDevice physicalDevice,
13409 deUint32* pToolCount,
13410 VkPhysicalDeviceToolProperties* pToolProperties);
13414 #define VK_EXT_separate_stencil_usage 1
13415 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
13416 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
13417 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
13421 #define VK_EXT_validation_features 1
13422 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
13423 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
13425 typedef enum VkValidationFeatureEnableEXT {
13426 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
13427 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
13428 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
13429 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
13430 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
13431 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
13432 } VkValidationFeatureEnableEXT;
13434 typedef enum VkValidationFeatureDisableEXT {
13435 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
13436 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
13437 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
13438 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
13439 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
13440 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
13441 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
13442 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
13443 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
13444 } VkValidationFeatureDisableEXT;
13445 typedef struct VkValidationFeaturesEXT {
13446 VkStructureType sType;
13448 deUint32 enabledValidationFeatureCount;
13449 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
13450 deUint32 disabledValidationFeatureCount;
13451 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
13452 } VkValidationFeaturesEXT;
13456 #define VK_NV_cooperative_matrix 1
13457 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
13458 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
13460 typedef enum VkComponentTypeNV {
13461 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
13462 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
13463 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
13464 VK_COMPONENT_TYPE_SINT8_NV = 3,
13465 VK_COMPONENT_TYPE_SINT16_NV = 4,
13466 VK_COMPONENT_TYPE_SINT32_NV = 5,
13467 VK_COMPONENT_TYPE_SINT64_NV = 6,
13468 VK_COMPONENT_TYPE_UINT8_NV = 7,
13469 VK_COMPONENT_TYPE_UINT16_NV = 8,
13470 VK_COMPONENT_TYPE_UINT32_NV = 9,
13471 VK_COMPONENT_TYPE_UINT64_NV = 10,
13472 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13473 } VkComponentTypeNV;
13475 typedef enum VkScopeNV {
13476 VK_SCOPE_DEVICE_NV = 1,
13477 VK_SCOPE_WORKGROUP_NV = 2,
13478 VK_SCOPE_SUBGROUP_NV = 3,
13479 VK_SCOPE_QUEUE_FAMILY_NV = 5,
13480 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
13482 typedef struct VkCooperativeMatrixPropertiesNV {
13483 VkStructureType sType;
13488 VkComponentTypeNV AType;
13489 VkComponentTypeNV BType;
13490 VkComponentTypeNV CType;
13491 VkComponentTypeNV DType;
13493 } VkCooperativeMatrixPropertiesNV;
13495 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
13496 VkStructureType sType;
13498 VkBool32 cooperativeMatrix;
13499 VkBool32 cooperativeMatrixRobustBufferAccess;
13500 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
13502 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
13503 VkStructureType sType;
13505 VkShaderStageFlags cooperativeMatrixSupportedStages;
13506 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
13508 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
13510 #ifndef VK_NO_PROTOTYPES
13511 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
13512 VkPhysicalDevice physicalDevice,
13513 deUint32* pPropertyCount,
13514 VkCooperativeMatrixPropertiesNV* pProperties);
13518 #define VK_NV_coverage_reduction_mode 1
13519 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
13520 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
13522 typedef enum VkCoverageReductionModeNV {
13523 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
13524 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
13525 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
13526 } VkCoverageReductionModeNV;
13527 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
13528 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
13529 VkStructureType sType;
13531 VkBool32 coverageReductionMode;
13532 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
13534 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
13535 VkStructureType sType;
13537 VkPipelineCoverageReductionStateCreateFlagsNV flags;
13538 VkCoverageReductionModeNV coverageReductionMode;
13539 } VkPipelineCoverageReductionStateCreateInfoNV;
13541 typedef struct VkFramebufferMixedSamplesCombinationNV {
13542 VkStructureType sType;
13544 VkCoverageReductionModeNV coverageReductionMode;
13545 VkSampleCountFlagBits rasterizationSamples;
13546 VkSampleCountFlags depthStencilSamples;
13547 VkSampleCountFlags colorSamples;
13548 } VkFramebufferMixedSamplesCombinationNV;
13550 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
13552 #ifndef VK_NO_PROTOTYPES
13553 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
13554 VkPhysicalDevice physicalDevice,
13555 deUint32* pCombinationCount,
13556 VkFramebufferMixedSamplesCombinationNV* pCombinations);
13560 #define VK_EXT_fragment_shader_interlock 1
13561 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
13562 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
13563 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
13564 VkStructureType sType;
13566 VkBool32 fragmentShaderSampleInterlock;
13567 VkBool32 fragmentShaderPixelInterlock;
13568 VkBool32 fragmentShaderShadingRateInterlock;
13569 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
13573 #define VK_EXT_ycbcr_image_arrays 1
13574 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
13575 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
13576 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
13577 VkStructureType sType;
13579 VkBool32 ycbcrImageArrays;
13580 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
13584 #define VK_EXT_provoking_vertex 1
13585 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
13586 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
13588 typedef enum VkProvokingVertexModeEXT {
13589 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
13590 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
13591 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
13592 } VkProvokingVertexModeEXT;
13593 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
13594 VkStructureType sType;
13596 VkBool32 provokingVertexLast;
13597 VkBool32 transformFeedbackPreservesProvokingVertex;
13598 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
13600 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
13601 VkStructureType sType;
13603 VkBool32 provokingVertexModePerPipeline;
13604 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
13605 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
13607 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
13608 VkStructureType sType;
13610 VkProvokingVertexModeEXT provokingVertexMode;
13611 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
13615 #define VK_EXT_headless_surface 1
13616 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
13617 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
13618 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
13619 typedef struct VkHeadlessSurfaceCreateInfoEXT {
13620 VkStructureType sType;
13622 VkHeadlessSurfaceCreateFlagsEXT flags;
13623 } VkHeadlessSurfaceCreateInfoEXT;
13625 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
13627 #ifndef VK_NO_PROTOTYPES
13628 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
13629 VkInstance instance,
13630 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
13631 const VkAllocationCallbacks* pAllocator,
13632 VkSurfaceKHR* pSurface);
13636 #define VK_EXT_line_rasterization 1
13637 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
13638 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
13640 typedef enum VkLineRasterizationModeEXT {
13641 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
13642 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
13643 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
13644 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
13645 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
13646 } VkLineRasterizationModeEXT;
13647 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
13648 VkStructureType sType;
13650 VkBool32 rectangularLines;
13651 VkBool32 bresenhamLines;
13652 VkBool32 smoothLines;
13653 VkBool32 stippledRectangularLines;
13654 VkBool32 stippledBresenhamLines;
13655 VkBool32 stippledSmoothLines;
13656 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
13658 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
13659 VkStructureType sType;
13661 deUint32 lineSubPixelPrecisionBits;
13662 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
13664 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
13665 VkStructureType sType;
13667 VkLineRasterizationModeEXT lineRasterizationMode;
13668 VkBool32 stippledLineEnable;
13669 deUint32 lineStippleFactor;
13670 deUint16 lineStipplePattern;
13671 } VkPipelineRasterizationLineStateCreateInfoEXT;
13673 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
13675 #ifndef VK_NO_PROTOTYPES
13676 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
13677 VkCommandBuffer commandBuffer,
13678 deUint32 lineStippleFactor,
13679 deUint16 lineStipplePattern);
13683 #define VK_EXT_shader_atomic_float 1
13684 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
13685 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
13686 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
13687 VkStructureType sType;
13689 VkBool32 shaderBufferFloat32Atomics;
13690 VkBool32 shaderBufferFloat32AtomicAdd;
13691 VkBool32 shaderBufferFloat64Atomics;
13692 VkBool32 shaderBufferFloat64AtomicAdd;
13693 VkBool32 shaderSharedFloat32Atomics;
13694 VkBool32 shaderSharedFloat32AtomicAdd;
13695 VkBool32 shaderSharedFloat64Atomics;
13696 VkBool32 shaderSharedFloat64AtomicAdd;
13697 VkBool32 shaderImageFloat32Atomics;
13698 VkBool32 shaderImageFloat32AtomicAdd;
13699 VkBool32 sparseImageFloat32Atomics;
13700 VkBool32 sparseImageFloat32AtomicAdd;
13701 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
13705 #define VK_EXT_host_query_reset 1
13706 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
13707 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
13708 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
13710 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
13712 #ifndef VK_NO_PROTOTYPES
13713 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
13715 VkQueryPool queryPool,
13716 deUint32 firstQuery,
13717 deUint32 queryCount);
13721 #define VK_EXT_index_type_uint8 1
13722 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
13723 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
13724 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
13725 VkStructureType sType;
13727 VkBool32 indexTypeUint8;
13728 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
13732 #define VK_EXT_extended_dynamic_state 1
13733 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
13734 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
13735 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
13736 VkStructureType sType;
13738 VkBool32 extendedDynamicState;
13739 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
13741 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
13742 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
13743 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
13744 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
13745 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
13746 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
13747 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
13748 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
13749 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
13750 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
13751 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
13752 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
13754 #ifndef VK_NO_PROTOTYPES
13755 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
13756 VkCommandBuffer commandBuffer,
13757 VkCullModeFlags cullMode);
13759 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
13760 VkCommandBuffer commandBuffer,
13761 VkFrontFace frontFace);
13763 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
13764 VkCommandBuffer commandBuffer,
13765 VkPrimitiveTopology primitiveTopology);
13767 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
13768 VkCommandBuffer commandBuffer,
13769 deUint32 viewportCount,
13770 const VkViewport* pViewports);
13772 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
13773 VkCommandBuffer commandBuffer,
13774 deUint32 scissorCount,
13775 const VkRect2D* pScissors);
13777 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
13778 VkCommandBuffer commandBuffer,
13779 deUint32 firstBinding,
13780 deUint32 bindingCount,
13781 const VkBuffer* pBuffers,
13782 const VkDeviceSize* pOffsets,
13783 const VkDeviceSize* pSizes,
13784 const VkDeviceSize* pStrides);
13786 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
13787 VkCommandBuffer commandBuffer,
13788 VkBool32 depthTestEnable);
13790 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
13791 VkCommandBuffer commandBuffer,
13792 VkBool32 depthWriteEnable);
13794 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
13795 VkCommandBuffer commandBuffer,
13796 VkCompareOp depthCompareOp);
13798 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
13799 VkCommandBuffer commandBuffer,
13800 VkBool32 depthBoundsTestEnable);
13802 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
13803 VkCommandBuffer commandBuffer,
13804 VkBool32 stencilTestEnable);
13806 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
13807 VkCommandBuffer commandBuffer,
13808 VkStencilFaceFlags faceMask,
13809 VkStencilOp failOp,
13810 VkStencilOp passOp,
13811 VkStencilOp depthFailOp,
13812 VkCompareOp compareOp);
13816 #define VK_EXT_shader_atomic_float2 1
13817 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
13818 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
13819 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
13820 VkStructureType sType;
13822 VkBool32 shaderBufferFloat16Atomics;
13823 VkBool32 shaderBufferFloat16AtomicAdd;
13824 VkBool32 shaderBufferFloat16AtomicMinMax;
13825 VkBool32 shaderBufferFloat32AtomicMinMax;
13826 VkBool32 shaderBufferFloat64AtomicMinMax;
13827 VkBool32 shaderSharedFloat16Atomics;
13828 VkBool32 shaderSharedFloat16AtomicAdd;
13829 VkBool32 shaderSharedFloat16AtomicMinMax;
13830 VkBool32 shaderSharedFloat32AtomicMinMax;
13831 VkBool32 shaderSharedFloat64AtomicMinMax;
13832 VkBool32 shaderImageFloat32AtomicMinMax;
13833 VkBool32 sparseImageFloat32AtomicMinMax;
13834 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
13838 #define VK_EXT_shader_demote_to_helper_invocation 1
13839 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
13840 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
13841 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
13845 #define VK_NV_device_generated_commands 1
13846 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
13847 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
13848 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
13850 typedef enum VkIndirectCommandsTokenTypeNV {
13851 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
13852 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
13853 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
13854 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
13855 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
13856 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
13857 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
13858 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
13859 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13860 } VkIndirectCommandsTokenTypeNV;
13862 typedef enum VkIndirectStateFlagBitsNV {
13863 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
13864 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
13865 } VkIndirectStateFlagBitsNV;
13866 typedef VkFlags VkIndirectStateFlagsNV;
13868 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
13869 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
13870 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
13871 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
13872 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
13873 } VkIndirectCommandsLayoutUsageFlagBitsNV;
13874 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
13875 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
13876 VkStructureType sType;
13878 deUint32 maxGraphicsShaderGroupCount;
13879 deUint32 maxIndirectSequenceCount;
13880 deUint32 maxIndirectCommandsTokenCount;
13881 deUint32 maxIndirectCommandsStreamCount;
13882 deUint32 maxIndirectCommandsTokenOffset;
13883 deUint32 maxIndirectCommandsStreamStride;
13884 deUint32 minSequencesCountBufferOffsetAlignment;
13885 deUint32 minSequencesIndexBufferOffsetAlignment;
13886 deUint32 minIndirectCommandsBufferOffsetAlignment;
13887 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
13889 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
13890 VkStructureType sType;
13892 VkBool32 deviceGeneratedCommands;
13893 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
13895 typedef struct VkGraphicsShaderGroupCreateInfoNV {
13896 VkStructureType sType;
13898 deUint32 stageCount;
13899 const VkPipelineShaderStageCreateInfo* pStages;
13900 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
13901 const VkPipelineTessellationStateCreateInfo* pTessellationState;
13902 } VkGraphicsShaderGroupCreateInfoNV;
13904 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
13905 VkStructureType sType;
13907 deUint32 groupCount;
13908 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
13909 deUint32 pipelineCount;
13910 const VkPipeline* pPipelines;
13911 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
13913 typedef struct VkBindShaderGroupIndirectCommandNV {
13914 deUint32 groupIndex;
13915 } VkBindShaderGroupIndirectCommandNV;
13917 typedef struct VkBindIndexBufferIndirectCommandNV {
13918 VkDeviceAddress bufferAddress;
13920 VkIndexType indexType;
13921 } VkBindIndexBufferIndirectCommandNV;
13923 typedef struct VkBindVertexBufferIndirectCommandNV {
13924 VkDeviceAddress bufferAddress;
13927 } VkBindVertexBufferIndirectCommandNV;
13929 typedef struct VkSetStateFlagsIndirectCommandNV {
13931 } VkSetStateFlagsIndirectCommandNV;
13933 typedef struct VkIndirectCommandsStreamNV {
13935 VkDeviceSize offset;
13936 } VkIndirectCommandsStreamNV;
13938 typedef struct VkIndirectCommandsLayoutTokenNV {
13939 VkStructureType sType;
13941 VkIndirectCommandsTokenTypeNV tokenType;
13944 deUint32 vertexBindingUnit;
13945 VkBool32 vertexDynamicStride;
13946 VkPipelineLayout pushconstantPipelineLayout;
13947 VkShaderStageFlags pushconstantShaderStageFlags;
13948 deUint32 pushconstantOffset;
13949 deUint32 pushconstantSize;
13950 VkIndirectStateFlagsNV indirectStateFlags;
13951 deUint32 indexTypeCount;
13952 const VkIndexType* pIndexTypes;
13953 const deUint32* pIndexTypeValues;
13954 } VkIndirectCommandsLayoutTokenNV;
13956 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
13957 VkStructureType sType;
13959 VkIndirectCommandsLayoutUsageFlagsNV flags;
13960 VkPipelineBindPoint pipelineBindPoint;
13961 deUint32 tokenCount;
13962 const VkIndirectCommandsLayoutTokenNV* pTokens;
13963 deUint32 streamCount;
13964 const deUint32* pStreamStrides;
13965 } VkIndirectCommandsLayoutCreateInfoNV;
13967 typedef struct VkGeneratedCommandsInfoNV {
13968 VkStructureType sType;
13970 VkPipelineBindPoint pipelineBindPoint;
13971 VkPipeline pipeline;
13972 VkIndirectCommandsLayoutNV indirectCommandsLayout;
13973 deUint32 streamCount;
13974 const VkIndirectCommandsStreamNV* pStreams;
13975 deUint32 sequencesCount;
13976 VkBuffer preprocessBuffer;
13977 VkDeviceSize preprocessOffset;
13978 VkDeviceSize preprocessSize;
13979 VkBuffer sequencesCountBuffer;
13980 VkDeviceSize sequencesCountOffset;
13981 VkBuffer sequencesIndexBuffer;
13982 VkDeviceSize sequencesIndexOffset;
13983 } VkGeneratedCommandsInfoNV;
13985 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
13986 VkStructureType sType;
13988 VkPipelineBindPoint pipelineBindPoint;
13989 VkPipeline pipeline;
13990 VkIndirectCommandsLayoutNV indirectCommandsLayout;
13991 deUint32 maxSequencesCount;
13992 } VkGeneratedCommandsMemoryRequirementsInfoNV;
13994 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
13995 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
13996 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
13997 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
13998 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
13999 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
14001 #ifndef VK_NO_PROTOTYPES
14002 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
14004 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
14005 VkMemoryRequirements2* pMemoryRequirements);
14007 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
14008 VkCommandBuffer commandBuffer,
14009 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
14011 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
14012 VkCommandBuffer commandBuffer,
14013 VkBool32 isPreprocessed,
14014 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
14016 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
14017 VkCommandBuffer commandBuffer,
14018 VkPipelineBindPoint pipelineBindPoint,
14019 VkPipeline pipeline,
14020 deUint32 groupIndex);
14022 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
14024 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
14025 const VkAllocationCallbacks* pAllocator,
14026 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
14028 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
14030 VkIndirectCommandsLayoutNV indirectCommandsLayout,
14031 const VkAllocationCallbacks* pAllocator);
14035 #define VK_NV_inherited_viewport_scissor 1
14036 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
14037 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
14038 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
14039 VkStructureType sType;
14041 VkBool32 inheritedViewportScissor2D;
14042 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
14044 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
14045 VkStructureType sType;
14047 VkBool32 viewportScissor2D;
14048 deUint32 viewportDepthCount;
14049 const VkViewport* pViewportDepths;
14050 } VkCommandBufferInheritanceViewportScissorInfoNV;
14054 #define VK_EXT_texel_buffer_alignment 1
14055 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
14056 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
14057 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
14058 VkStructureType sType;
14060 VkBool32 texelBufferAlignment;
14061 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
14063 typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
14067 #define VK_QCOM_render_pass_transform 1
14068 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
14069 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
14070 typedef struct VkRenderPassTransformBeginInfoQCOM {
14071 VkStructureType sType;
14073 VkSurfaceTransformFlagBitsKHR transform;
14074 } VkRenderPassTransformBeginInfoQCOM;
14076 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
14077 VkStructureType sType;
14079 VkSurfaceTransformFlagBitsKHR transform;
14080 VkRect2D renderArea;
14081 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
14085 #define VK_EXT_device_memory_report 1
14086 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
14087 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
14089 typedef enum VkDeviceMemoryReportEventTypeEXT {
14090 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
14091 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
14092 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
14093 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
14094 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
14095 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
14096 } VkDeviceMemoryReportEventTypeEXT;
14097 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
14098 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
14099 VkStructureType sType;
14101 VkBool32 deviceMemoryReport;
14102 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
14104 typedef struct VkDeviceMemoryReportCallbackDataEXT {
14105 VkStructureType sType;
14107 VkDeviceMemoryReportFlagsEXT flags;
14108 VkDeviceMemoryReportEventTypeEXT type;
14109 deUint64 memoryObjectId;
14111 VkObjectType objectType;
14112 deUint64 objectHandle;
14113 deUint32 heapIndex;
14114 } VkDeviceMemoryReportCallbackDataEXT;
14116 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
14117 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
14120 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
14121 VkStructureType sType;
14123 VkDeviceMemoryReportFlagsEXT flags;
14124 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
14126 } VkDeviceDeviceMemoryReportCreateInfoEXT;
14130 #define VK_EXT_acquire_drm_display 1
14131 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
14132 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
14133 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, VkDisplayKHR display);
14134 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, deUint32 connectorId, VkDisplayKHR* display);
14136 #ifndef VK_NO_PROTOTYPES
14137 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
14138 VkPhysicalDevice physicalDevice,
14140 VkDisplayKHR display);
14142 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
14143 VkPhysicalDevice physicalDevice,
14145 deUint32 connectorId,
14146 VkDisplayKHR* display);
14150 #define VK_EXT_robustness2 1
14151 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
14152 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
14153 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
14154 VkStructureType sType;
14156 VkBool32 robustBufferAccess2;
14157 VkBool32 robustImageAccess2;
14158 VkBool32 nullDescriptor;
14159 } VkPhysicalDeviceRobustness2FeaturesEXT;
14161 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
14162 VkStructureType sType;
14164 VkDeviceSize robustStorageBufferAccessSizeAlignment;
14165 VkDeviceSize robustUniformBufferAccessSizeAlignment;
14166 } VkPhysicalDeviceRobustness2PropertiesEXT;
14170 #define VK_EXT_custom_border_color 1
14171 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
14172 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
14173 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
14174 VkStructureType sType;
14176 VkClearColorValue customBorderColor;
14178 } VkSamplerCustomBorderColorCreateInfoEXT;
14180 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
14181 VkStructureType sType;
14183 deUint32 maxCustomBorderColorSamplers;
14184 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
14186 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
14187 VkStructureType sType;
14189 VkBool32 customBorderColors;
14190 VkBool32 customBorderColorWithoutFormat;
14191 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
14195 #define VK_GOOGLE_user_type 1
14196 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
14197 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
14200 #define VK_EXT_private_data 1
14201 typedef VkPrivateDataSlot VkPrivateDataSlotEXT;
14203 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
14204 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
14205 typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT;
14207 typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT;
14209 typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT;
14211 typedef VkPrivateDataSlotCreateInfo VkPrivateDataSlotCreateInfoEXT;
14213 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlot* pPrivateDataSlot);
14214 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks* pAllocator);
14215 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64 data);
14216 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlot privateDataSlot, deUint64* pData);
14218 #ifndef VK_NO_PROTOTYPES
14219 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
14221 const VkPrivateDataSlotCreateInfo* pCreateInfo,
14222 const VkAllocationCallbacks* pAllocator,
14223 VkPrivateDataSlot* pPrivateDataSlot);
14225 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
14227 VkPrivateDataSlot privateDataSlot,
14228 const VkAllocationCallbacks* pAllocator);
14230 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
14232 VkObjectType objectType,
14233 deUint64 objectHandle,
14234 VkPrivateDataSlot privateDataSlot,
14237 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
14239 VkObjectType objectType,
14240 deUint64 objectHandle,
14241 VkPrivateDataSlot privateDataSlot,
14246 #define VK_EXT_pipeline_creation_cache_control 1
14247 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
14248 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
14249 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
14253 #define VK_NV_device_diagnostics_config 1
14254 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
14255 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
14257 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
14258 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
14259 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
14260 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
14261 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
14262 } VkDeviceDiagnosticsConfigFlagBitsNV;
14263 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
14264 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
14265 VkStructureType sType;
14267 VkBool32 diagnosticsConfig;
14268 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
14270 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
14271 VkStructureType sType;
14273 VkDeviceDiagnosticsConfigFlagsNV flags;
14274 } VkDeviceDiagnosticsConfigCreateInfoNV;
14278 #define VK_QCOM_render_pass_store_ops 1
14279 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
14280 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
14283 #define VK_EXT_graphics_pipeline_library 1
14284 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
14285 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
14287 typedef enum VkGraphicsPipelineLibraryFlagBitsEXT {
14288 VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT = 0x00000001,
14289 VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT = 0x00000002,
14290 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT = 0x00000004,
14291 VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT = 0x00000008,
14292 VK_GRAPHICS_PIPELINE_LIBRARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14293 } VkGraphicsPipelineLibraryFlagBitsEXT;
14294 typedef VkFlags VkGraphicsPipelineLibraryFlagsEXT;
14295 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
14296 VkStructureType sType;
14298 VkBool32 graphicsPipelineLibrary;
14299 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
14301 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
14302 VkStructureType sType;
14304 VkBool32 graphicsPipelineLibraryFastLinking;
14305 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration;
14306 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
14308 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT {
14309 VkStructureType sType;
14311 VkGraphicsPipelineLibraryFlagsEXT flags;
14312 } VkGraphicsPipelineLibraryCreateInfoEXT;
14316 #define VK_NV_fragment_shading_rate_enums 1
14317 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
14318 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
14320 typedef enum VkFragmentShadingRateTypeNV {
14321 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
14322 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
14323 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
14324 } VkFragmentShadingRateTypeNV;
14326 typedef enum VkFragmentShadingRateNV {
14327 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
14328 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
14329 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
14330 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
14331 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
14332 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
14333 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
14334 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
14335 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
14336 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
14337 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
14338 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
14339 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
14340 } VkFragmentShadingRateNV;
14341 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
14342 VkStructureType sType;
14344 VkBool32 fragmentShadingRateEnums;
14345 VkBool32 supersampleFragmentShadingRates;
14346 VkBool32 noInvocationFragmentShadingRates;
14347 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
14349 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
14350 VkStructureType sType;
14352 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
14353 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
14355 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
14356 VkStructureType sType;
14358 VkFragmentShadingRateTypeNV shadingRateType;
14359 VkFragmentShadingRateNV shadingRate;
14360 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
14361 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
14363 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
14365 #ifndef VK_NO_PROTOTYPES
14366 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
14367 VkCommandBuffer commandBuffer,
14368 VkFragmentShadingRateNV shadingRate,
14369 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
14373 #define VK_NV_ray_tracing_motion_blur 1
14374 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
14375 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
14377 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
14378 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
14379 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
14380 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
14381 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
14382 } VkAccelerationStructureMotionInstanceTypeNV;
14383 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
14384 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
14385 typedef union VkDeviceOrHostAddressConstKHR {
14386 VkDeviceAddress deviceAddress;
14387 const void* hostAddress;
14388 } VkDeviceOrHostAddressConstKHR;
14390 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
14391 VkStructureType sType;
14393 VkDeviceOrHostAddressConstKHR vertexData;
14394 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
14396 typedef struct VkAccelerationStructureMotionInfoNV {
14397 VkStructureType sType;
14399 deUint32 maxInstances;
14400 VkAccelerationStructureMotionInfoFlagsNV flags;
14401 } VkAccelerationStructureMotionInfoNV;
14403 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
14404 VkTransformMatrixKHR transformT0;
14405 VkTransformMatrixKHR transformT1;
14406 deUint32 instanceCustomIndex:24;
14408 deUint32 instanceShaderBindingTableRecordOffset:24;
14409 VkGeometryInstanceFlagsKHR flags:8;
14410 deUint64 accelerationStructureReference;
14411 } VkAccelerationStructureMatrixMotionInstanceNV;
14413 typedef struct VkSRTDataNV {
14432 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
14433 VkSRTDataNV transformT0;
14434 VkSRTDataNV transformT1;
14435 deUint32 instanceCustomIndex:24;
14437 deUint32 instanceShaderBindingTableRecordOffset:24;
14438 VkGeometryInstanceFlagsKHR flags:8;
14439 deUint64 accelerationStructureReference;
14440 } VkAccelerationStructureSRTMotionInstanceNV;
14442 typedef union VkAccelerationStructureMotionInstanceDataNV {
14443 VkAccelerationStructureInstanceKHR staticInstance;
14444 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
14445 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
14446 } VkAccelerationStructureMotionInstanceDataNV;
14448 typedef struct VkAccelerationStructureMotionInstanceNV {
14449 VkAccelerationStructureMotionInstanceTypeNV type;
14450 VkAccelerationStructureMotionInstanceFlagsNV flags;
14451 VkAccelerationStructureMotionInstanceDataNV data;
14452 } VkAccelerationStructureMotionInstanceNV;
14454 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
14455 VkStructureType sType;
14457 VkBool32 rayTracingMotionBlur;
14458 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
14459 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
14463 #define VK_EXT_ycbcr_2plane_444_formats 1
14464 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
14465 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
14466 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
14467 VkStructureType sType;
14469 VkBool32 ycbcr2plane444Formats;
14470 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
14474 #define VK_EXT_fragment_density_map2 1
14475 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
14476 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
14477 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
14478 VkStructureType sType;
14480 VkBool32 fragmentDensityMapDeferred;
14481 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
14483 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
14484 VkStructureType sType;
14486 VkBool32 subsampledLoads;
14487 VkBool32 subsampledCoarseReconstructionEarlyAccess;
14488 deUint32 maxSubsampledArrayLayers;
14489 deUint32 maxDescriptorSetSubsampledSamplers;
14490 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
14494 #define VK_QCOM_rotated_copy_commands 1
14495 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
14496 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
14497 typedef struct VkCopyCommandTransformInfoQCOM {
14498 VkStructureType sType;
14500 VkSurfaceTransformFlagBitsKHR transform;
14501 } VkCopyCommandTransformInfoQCOM;
14505 #define VK_EXT_image_robustness 1
14506 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
14507 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
14508 typedef VkPhysicalDeviceImageRobustnessFeatures VkPhysicalDeviceImageRobustnessFeaturesEXT;
14512 #define VK_EXT_image_compression_control 1
14513 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1
14514 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control"
14516 typedef enum VkImageCompressionFlagBitsEXT {
14517 VK_IMAGE_COMPRESSION_DEFAULT_EXT = 0,
14518 VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT = 0x00000001,
14519 VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT = 0x00000002,
14520 VK_IMAGE_COMPRESSION_DISABLED_EXT = 0x00000004,
14521 VK_IMAGE_COMPRESSION_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14522 } VkImageCompressionFlagBitsEXT;
14523 typedef VkFlags VkImageCompressionFlagsEXT;
14525 typedef enum VkImageCompressionFixedRateFlagBitsEXT {
14526 VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT = 0,
14527 VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT = 0x00000001,
14528 VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT = 0x00000002,
14529 VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT = 0x00000004,
14530 VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT = 0x00000008,
14531 VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT = 0x00000010,
14532 VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT = 0x00000020,
14533 VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT = 0x00000040,
14534 VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT = 0x00000080,
14535 VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT = 0x00000100,
14536 VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT = 0x00000200,
14537 VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT = 0x00000400,
14538 VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT = 0x00000800,
14539 VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT = 0x00001000,
14540 VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT = 0x00002000,
14541 VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT = 0x00004000,
14542 VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT = 0x00008000,
14543 VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT = 0x00010000,
14544 VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT = 0x00020000,
14545 VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT = 0x00040000,
14546 VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT = 0x00080000,
14547 VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT = 0x00100000,
14548 VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT = 0x00200000,
14549 VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT = 0x00400000,
14550 VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT = 0x00800000,
14551 VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
14552 } VkImageCompressionFixedRateFlagBitsEXT;
14553 typedef VkFlags VkImageCompressionFixedRateFlagsEXT;
14554 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT {
14555 VkStructureType sType;
14557 VkBool32 imageCompressionControl;
14558 } VkPhysicalDeviceImageCompressionControlFeaturesEXT;
14560 typedef struct VkImageCompressionControlEXT {
14561 VkStructureType sType;
14563 VkImageCompressionFlagsEXT flags;
14564 deUint32 compressionControlPlaneCount;
14565 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags;
14566 } VkImageCompressionControlEXT;
14568 typedef struct VkSubresourceLayout2EXT {
14569 VkStructureType sType;
14571 VkSubresourceLayout subresourceLayout;
14572 } VkSubresourceLayout2EXT;
14574 typedef struct VkImageSubresource2EXT {
14575 VkStructureType sType;
14577 VkImageSubresource imageSubresource;
14578 } VkImageSubresource2EXT;
14580 typedef struct VkImageCompressionPropertiesEXT {
14581 VkStructureType sType;
14583 VkImageCompressionFlagsEXT imageCompressionFlags;
14584 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags;
14585 } VkImageCompressionPropertiesEXT;
14587 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout);
14589 #ifndef VK_NO_PROTOTYPES
14590 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT(
14593 const VkImageSubresource2EXT* pSubresource,
14594 VkSubresourceLayout2EXT* pLayout);
14598 #define VK_EXT_4444_formats 1
14599 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
14600 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
14601 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
14602 VkStructureType sType;
14604 VkBool32 formatA4R4G4B4;
14605 VkBool32 formatA4B4G4R4;
14606 } VkPhysicalDevice4444FormatsFeaturesEXT;
14610 #define VK_ARM_rasterization_order_attachment_access 1
14611 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1
14612 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access"
14613 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM {
14614 VkStructureType sType;
14616 VkBool32 rasterizationOrderColorAttachmentAccess;
14617 VkBool32 rasterizationOrderDepthAttachmentAccess;
14618 VkBool32 rasterizationOrderStencilAttachmentAccess;
14619 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM;
14623 #define VK_EXT_rgba10x6_formats 1
14624 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1
14625 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats"
14626 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT {
14627 VkStructureType sType;
14629 VkBool32 formatRgba10x6WithoutYCbCrSampler;
14630 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT;
14634 #define VK_NV_acquire_winrt_display 1
14635 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
14636 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
14637 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
14638 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
14640 #ifndef VK_NO_PROTOTYPES
14641 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
14642 VkPhysicalDevice physicalDevice,
14643 VkDisplayKHR display);
14645 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
14646 VkPhysicalDevice physicalDevice,
14647 deUint32 deviceRelativeId,
14648 VkDisplayKHR* pDisplay);
14652 #define VK_VALVE_mutable_descriptor_type 1
14653 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
14654 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
14655 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
14656 VkStructureType sType;
14658 VkBool32 mutableDescriptorType;
14659 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
14661 typedef struct VkMutableDescriptorTypeListVALVE {
14662 deUint32 descriptorTypeCount;
14663 const VkDescriptorType* pDescriptorTypes;
14664 } VkMutableDescriptorTypeListVALVE;
14666 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
14667 VkStructureType sType;
14669 deUint32 mutableDescriptorTypeListCount;
14670 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
14671 } VkMutableDescriptorTypeCreateInfoVALVE;
14675 #define VK_EXT_vertex_input_dynamic_state 1
14676 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
14677 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
14678 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
14679 VkStructureType sType;
14681 VkBool32 vertexInputDynamicState;
14682 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
14684 typedef struct VkVertexInputBindingDescription2EXT {
14685 VkStructureType sType;
14689 VkVertexInputRate inputRate;
14691 } VkVertexInputBindingDescription2EXT;
14693 typedef struct VkVertexInputAttributeDescription2EXT {
14694 VkStructureType sType;
14700 } VkVertexInputAttributeDescription2EXT;
14702 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
14704 #ifndef VK_NO_PROTOTYPES
14705 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
14706 VkCommandBuffer commandBuffer,
14707 deUint32 vertexBindingDescriptionCount,
14708 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
14709 deUint32 vertexAttributeDescriptionCount,
14710 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
14714 #define VK_EXT_physical_device_drm 1
14715 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
14716 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
14717 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
14718 VkStructureType sType;
14720 VkBool32 hasPrimary;
14721 VkBool32 hasRender;
14722 deInt64 primaryMajor;
14723 deInt64 primaryMinor;
14724 deInt64 renderMajor;
14725 deInt64 renderMinor;
14726 } VkPhysicalDeviceDrmPropertiesEXT;
14730 #define VK_EXT_depth_clip_control 1
14731 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1
14732 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control"
14733 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT {
14734 VkStructureType sType;
14736 VkBool32 depthClipControl;
14737 } VkPhysicalDeviceDepthClipControlFeaturesEXT;
14739 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT {
14740 VkStructureType sType;
14742 VkBool32 negativeOneToOne;
14743 } VkPipelineViewportDepthClipControlCreateInfoEXT;
14747 #define VK_EXT_primitive_topology_list_restart 1
14748 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1
14749 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart"
14750 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
14751 VkStructureType sType;
14753 VkBool32 primitiveTopologyListRestart;
14754 VkBool32 primitiveTopologyPatchListRestart;
14755 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT;
14759 #define VK_HUAWEI_subpass_shading 1
14760 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
14761 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
14762 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
14763 VkStructureType sType;
14765 VkRenderPass renderPass;
14767 } VkSubpassShadingPipelineCreateInfoHUAWEI;
14769 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
14770 VkStructureType sType;
14772 VkBool32 subpassShading;
14773 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
14775 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
14776 VkStructureType sType;
14778 deUint32 maxSubpassShadingWorkgroupSizeAspectRatio;
14779 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
14781 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
14782 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
14784 #ifndef VK_NO_PROTOTYPES
14785 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
14787 VkRenderPass renderpass,
14788 VkExtent2D* pMaxWorkgroupSize);
14790 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
14791 VkCommandBuffer commandBuffer);
14795 #define VK_HUAWEI_invocation_mask 1
14796 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
14797 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
14798 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
14799 VkStructureType sType;
14801 VkBool32 invocationMask;
14802 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
14804 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
14806 #ifndef VK_NO_PROTOTYPES
14807 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
14808 VkCommandBuffer commandBuffer,
14809 VkImageView imageView,
14810 VkImageLayout imageLayout);
14814 #define VK_NV_external_memory_rdma 1
14815 typedef void* VkRemoteAddressNV;
14816 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
14817 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
14818 typedef struct VkMemoryGetRemoteAddressInfoNV {
14819 VkStructureType sType;
14821 VkDeviceMemory memory;
14822 VkExternalMemoryHandleTypeFlagBits handleType;
14823 } VkMemoryGetRemoteAddressInfoNV;
14825 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
14826 VkStructureType sType;
14828 VkBool32 externalMemoryRDMA;
14829 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
14831 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
14833 #ifndef VK_NO_PROTOTYPES
14834 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
14836 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
14837 VkRemoteAddressNV* pAddress);
14841 #define VK_EXT_pipeline_properties 1
14842 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1
14843 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties"
14844 typedef VkPipelineInfoKHR VkPipelineInfoEXT;
14846 typedef struct VkPipelinePropertiesIdentifierEXT {
14847 VkStructureType sType;
14849 deUint8 pipelineIdentifier[VK_UUID_SIZE];
14850 } VkPipelinePropertiesIdentifierEXT;
14852 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT {
14853 VkStructureType sType;
14855 VkBool32 pipelinePropertiesIdentifier;
14856 } VkPhysicalDevicePipelinePropertiesFeaturesEXT;
14858 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelinePropertiesEXT)(VkDevice device, const VkPipelineInfoEXT* pPipelineInfo, VkBaseOutStructure* pPipelineProperties);
14860 #ifndef VK_NO_PROTOTYPES
14861 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(
14863 const VkPipelineInfoEXT* pPipelineInfo,
14864 VkBaseOutStructure* pPipelineProperties);
14868 #define VK_EXT_extended_dynamic_state2 1
14869 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
14870 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
14871 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
14872 VkStructureType sType;
14874 VkBool32 extendedDynamicState2;
14875 VkBool32 extendedDynamicState2LogicOp;
14876 VkBool32 extendedDynamicState2PatchControlPoints;
14877 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
14879 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
14880 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
14881 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
14882 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
14883 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
14885 #ifndef VK_NO_PROTOTYPES
14886 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
14887 VkCommandBuffer commandBuffer,
14888 deUint32 patchControlPoints);
14890 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
14891 VkCommandBuffer commandBuffer,
14892 VkBool32 rasterizerDiscardEnable);
14894 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
14895 VkCommandBuffer commandBuffer,
14896 VkBool32 depthBiasEnable);
14898 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
14899 VkCommandBuffer commandBuffer,
14900 VkLogicOp logicOp);
14902 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
14903 VkCommandBuffer commandBuffer,
14904 VkBool32 primitiveRestartEnable);
14908 #define VK_EXT_color_write_enable 1
14909 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
14910 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
14911 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
14912 VkStructureType sType;
14914 VkBool32 colorWriteEnable;
14915 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
14917 typedef struct VkPipelineColorWriteCreateInfoEXT {
14918 VkStructureType sType;
14920 deUint32 attachmentCount;
14921 const VkBool32* pColorWriteEnables;
14922 } VkPipelineColorWriteCreateInfoEXT;
14924 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
14926 #ifndef VK_NO_PROTOTYPES
14927 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
14928 VkCommandBuffer commandBuffer,
14929 deUint32 attachmentCount,
14930 const VkBool32* pColorWriteEnables);
14934 #define VK_EXT_primitives_generated_query 1
14935 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1
14936 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query"
14937 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
14938 VkStructureType sType;
14940 VkBool32 primitivesGeneratedQuery;
14941 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard;
14942 VkBool32 primitivesGeneratedQueryWithNonZeroStreams;
14943 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT;
14947 #define VK_EXT_global_priority_query 1
14948 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
14949 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
14950 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
14951 typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
14953 typedef VkQueueFamilyGlobalPriorityPropertiesKHR VkQueueFamilyGlobalPriorityPropertiesEXT;
14957 #define VK_EXT_image_view_min_lod 1
14958 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1
14959 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod"
14960 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT {
14961 VkStructureType sType;
14964 } VkPhysicalDeviceImageViewMinLodFeaturesEXT;
14966 typedef struct VkImageViewMinLodCreateInfoEXT {
14967 VkStructureType sType;
14970 } VkImageViewMinLodCreateInfoEXT;
14974 #define VK_EXT_multi_draw 1
14975 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
14976 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
14977 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
14978 VkStructureType sType;
14980 VkBool32 multiDraw;
14981 } VkPhysicalDeviceMultiDrawFeaturesEXT;
14983 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
14984 VkStructureType sType;
14986 deUint32 maxMultiDrawCount;
14987 } VkPhysicalDeviceMultiDrawPropertiesEXT;
14989 typedef struct VkMultiDrawInfoEXT {
14990 deUint32 firstVertex;
14991 deUint32 vertexCount;
14992 } VkMultiDrawInfoEXT;
14994 typedef struct VkMultiDrawIndexedInfoEXT {
14995 deUint32 firstIndex;
14996 deUint32 indexCount;
14997 deInt32 vertexOffset;
14998 } VkMultiDrawIndexedInfoEXT;
15000 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawInfoEXT* pVertexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride);
15001 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride, const deInt32* pVertexOffset);
15003 #ifndef VK_NO_PROTOTYPES
15004 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
15005 VkCommandBuffer commandBuffer,
15006 deUint32 drawCount,
15007 const VkMultiDrawInfoEXT* pVertexInfo,
15008 deUint32 instanceCount,
15009 deUint32 firstInstance,
15012 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
15013 VkCommandBuffer commandBuffer,
15014 deUint32 drawCount,
15015 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
15016 deUint32 instanceCount,
15017 deUint32 firstInstance,
15019 const deInt32* pVertexOffset);
15023 #define VK_EXT_image_2d_view_of_3d 1
15024 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1
15025 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d"
15026 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
15027 VkStructureType sType;
15029 VkBool32 image2DViewOf3D;
15030 VkBool32 sampler2DViewOf3D;
15031 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT;
15035 #define VK_EXT_load_store_op_none 1
15036 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
15037 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
15040 #define VK_EXT_border_color_swizzle 1
15041 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1
15042 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle"
15043 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT {
15044 VkStructureType sType;
15046 VkBool32 borderColorSwizzle;
15047 VkBool32 borderColorSwizzleFromImage;
15048 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT;
15050 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT {
15051 VkStructureType sType;
15053 VkComponentMapping components;
15055 } VkSamplerBorderColorComponentMappingCreateInfoEXT;
15059 #define VK_EXT_pageable_device_local_memory 1
15060 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1
15061 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory"
15062 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
15063 VkStructureType sType;
15065 VkBool32 pageableDeviceLocalMemory;
15066 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
15068 typedef void (VKAPI_PTR *PFN_vkSetDeviceMemoryPriorityEXT)(VkDevice device, VkDeviceMemory memory, float priority);
15070 #ifndef VK_NO_PROTOTYPES
15071 VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT(
15073 VkDeviceMemory memory,
15078 #define VK_VALVE_descriptor_set_host_mapping 1
15079 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1
15080 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping"
15081 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
15082 VkStructureType sType;
15084 VkBool32 descriptorSetHostMapping;
15085 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE;
15087 typedef struct VkDescriptorSetBindingReferenceVALVE {
15088 VkStructureType sType;
15090 VkDescriptorSetLayout descriptorSetLayout;
15092 } VkDescriptorSetBindingReferenceVALVE;
15094 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE {
15095 VkStructureType sType;
15097 deUintptr descriptorOffset;
15098 deUint32 descriptorSize;
15099 } VkDescriptorSetLayoutHostMappingInfoVALVE;
15101 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
15102 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData);
15104 #ifndef VK_NO_PROTOTYPES
15105 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE(
15107 const VkDescriptorSetBindingReferenceVALVE* pBindingReference,
15108 VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping);
15110 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(
15112 VkDescriptorSet descriptorSet,
15117 #define VK_QCOM_fragment_density_map_offset 1
15118 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
15119 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
15120 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
15121 VkStructureType sType;
15123 VkBool32 fragmentDensityMapOffset;
15124 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
15126 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
15127 VkStructureType sType;
15129 VkExtent2D fragmentDensityOffsetGranularity;
15130 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
15132 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM {
15133 VkStructureType sType;
15135 deUint32 fragmentDensityOffsetCount;
15136 const VkOffset2D* pFragmentDensityOffsets;
15137 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM;
15141 #define VK_NV_linear_color_attachment 1
15142 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1
15143 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment"
15144 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV {
15145 VkStructureType sType;
15147 VkBool32 linearColorAttachment;
15148 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV;
15152 #define VK_GOOGLE_surfaceless_query 1
15153 #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1
15154 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query"
15157 #define VK_EXT_image_compression_control_swapchain 1
15158 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1
15159 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain"
15160 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
15161 VkStructureType sType;
15163 VkBool32 imageCompressionControlSwapchain;
15164 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
15168 #define VK_EXT_subpass_merge_feedback 1
15169 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 1
15170 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
15172 typedef enum VkSubpassMergeStatusEXT {
15173 VK_SUBPASS_MERGE_STATUS_MERGED_EXT = 0,
15174 VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT = 1,
15175 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT = 2,
15176 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT = 3,
15177 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT = 4,
15178 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT = 5,
15179 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT = 6,
15180 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT = 7,
15181 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT = 8,
15182 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT = 9,
15183 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT = 10,
15184 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT = 11,
15185 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT = 12,
15186 VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT = 13,
15187 VK_SUBPASS_MERGE_STATUS_MAX_ENUM_EXT = 0x7FFFFFFF
15188 } VkSubpassMergeStatusEXT;
15189 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
15190 VkStructureType sType;
15192 VkBool32 subpassMergeFeedback;
15193 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
15195 typedef struct VkRenderPassCreationControlEXT {
15196 VkStructureType sType;
15198 VkBool32 disallowMerging;
15199 } VkRenderPassCreationControlEXT;
15201 typedef struct VkRenderPassCreationFeedbackInfoEXT {
15202 VkStructureType sType;
15204 deUint32 postMergeSubpassCount;
15205 } VkRenderPassCreationFeedbackInfoEXT;
15207 typedef struct VkRenderPassSubpassFeedbackInfoEXT {
15208 VkStructureType sType;
15210 VkSubpassMergeStatusEXT subpassMergeStatus;
15211 char description[VK_MAX_DESCRIPTION_SIZE];
15212 deUint32 postMergeIndex;
15213 } VkRenderPassSubpassFeedbackInfoEXT;
15217 #define VK_EXT_shader_module_identifier 1
15218 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U
15219 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1
15220 #define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier"
15221 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT {
15222 VkStructureType sType;
15224 VkBool32 shaderModuleIdentifier;
15225 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT;
15227 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT {
15228 VkStructureType sType;
15230 deUint8 shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE];
15231 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT;
15233 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {
15234 VkStructureType sType;
15236 deUint32 identifierSize;
15237 const deUint8* pIdentifier;
15238 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT;
15240 typedef struct VkShaderModuleIdentifierEXT {
15241 VkStructureType sType;
15243 deUint32 identifierSize;
15244 deUint8 identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT];
15245 } VkShaderModuleIdentifierEXT;
15247 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier);
15248 typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier);
15250 #ifndef VK_NO_PROTOTYPES
15251 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT(
15253 VkShaderModule shaderModule,
15254 VkShaderModuleIdentifierEXT* pIdentifier);
15256 VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT(
15258 const VkShaderModuleCreateInfo* pCreateInfo,
15259 VkShaderModuleIdentifierEXT* pIdentifier);
15263 #define VK_KHR_acceleration_structure 1
15264 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
15265 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
15266 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
15268 typedef enum VkBuildAccelerationStructureModeKHR {
15269 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
15270 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
15271 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
15272 } VkBuildAccelerationStructureModeKHR;
15274 typedef enum VkAccelerationStructureBuildTypeKHR {
15275 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
15276 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
15277 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
15278 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
15279 } VkAccelerationStructureBuildTypeKHR;
15281 typedef enum VkAccelerationStructureCompatibilityKHR {
15282 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
15283 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
15284 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
15285 } VkAccelerationStructureCompatibilityKHR;
15287 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
15288 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
15289 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
15290 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
15291 } VkAccelerationStructureCreateFlagBitsKHR;
15292 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
15293 typedef union VkDeviceOrHostAddressKHR {
15294 VkDeviceAddress deviceAddress;
15296 } VkDeviceOrHostAddressKHR;
15298 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
15299 deUint32 primitiveCount;
15300 deUint32 primitiveOffset;
15301 deUint32 firstVertex;
15302 deUint32 transformOffset;
15303 } VkAccelerationStructureBuildRangeInfoKHR;
15305 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
15306 VkStructureType sType;
15308 VkFormat vertexFormat;
15309 VkDeviceOrHostAddressConstKHR vertexData;
15310 VkDeviceSize vertexStride;
15311 deUint32 maxVertex;
15312 VkIndexType indexType;
15313 VkDeviceOrHostAddressConstKHR indexData;
15314 VkDeviceOrHostAddressConstKHR transformData;
15315 } VkAccelerationStructureGeometryTrianglesDataKHR;
15317 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
15318 VkStructureType sType;
15320 VkDeviceOrHostAddressConstKHR data;
15321 VkDeviceSize stride;
15322 } VkAccelerationStructureGeometryAabbsDataKHR;
15324 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
15325 VkStructureType sType;
15327 VkBool32 arrayOfPointers;
15328 VkDeviceOrHostAddressConstKHR data;
15329 } VkAccelerationStructureGeometryInstancesDataKHR;
15331 typedef union VkAccelerationStructureGeometryDataKHR {
15332 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
15333 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
15334 VkAccelerationStructureGeometryInstancesDataKHR instances;
15335 } VkAccelerationStructureGeometryDataKHR;
15337 typedef struct VkAccelerationStructureGeometryKHR {
15338 VkStructureType sType;
15340 VkGeometryTypeKHR geometryType;
15341 VkAccelerationStructureGeometryDataKHR geometry;
15342 VkGeometryFlagsKHR flags;
15343 } VkAccelerationStructureGeometryKHR;
15345 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
15346 VkStructureType sType;
15348 VkAccelerationStructureTypeKHR type;
15349 VkBuildAccelerationStructureFlagsKHR flags;
15350 VkBuildAccelerationStructureModeKHR mode;
15351 VkAccelerationStructureKHR srcAccelerationStructure;
15352 VkAccelerationStructureKHR dstAccelerationStructure;
15353 deUint32 geometryCount;
15354 const VkAccelerationStructureGeometryKHR* pGeometries;
15355 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
15356 VkDeviceOrHostAddressKHR scratchData;
15357 } VkAccelerationStructureBuildGeometryInfoKHR;
15359 typedef struct VkAccelerationStructureCreateInfoKHR {
15360 VkStructureType sType;
15362 VkAccelerationStructureCreateFlagsKHR createFlags;
15364 VkDeviceSize offset;
15366 VkAccelerationStructureTypeKHR type;
15367 VkDeviceAddress deviceAddress;
15368 } VkAccelerationStructureCreateInfoKHR;
15370 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
15371 VkStructureType sType;
15373 deUint32 accelerationStructureCount;
15374 const VkAccelerationStructureKHR* pAccelerationStructures;
15375 } VkWriteDescriptorSetAccelerationStructureKHR;
15377 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
15378 VkStructureType sType;
15380 VkBool32 accelerationStructure;
15381 VkBool32 accelerationStructureCaptureReplay;
15382 VkBool32 accelerationStructureIndirectBuild;
15383 VkBool32 accelerationStructureHostCommands;
15384 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
15385 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
15387 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
15388 VkStructureType sType;
15390 deUint64 maxGeometryCount;
15391 deUint64 maxInstanceCount;
15392 deUint64 maxPrimitiveCount;
15393 deUint32 maxPerStageDescriptorAccelerationStructures;
15394 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
15395 deUint32 maxDescriptorSetAccelerationStructures;
15396 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
15397 deUint32 minAccelerationStructureScratchOffsetAlignment;
15398 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
15400 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
15401 VkStructureType sType;
15403 VkAccelerationStructureKHR accelerationStructure;
15404 } VkAccelerationStructureDeviceAddressInfoKHR;
15406 typedef struct VkAccelerationStructureVersionInfoKHR {
15407 VkStructureType sType;
15409 const deUint8* pVersionData;
15410 } VkAccelerationStructureVersionInfoKHR;
15412 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
15413 VkStructureType sType;
15415 VkAccelerationStructureKHR src;
15416 VkDeviceOrHostAddressKHR dst;
15417 VkCopyAccelerationStructureModeKHR mode;
15418 } VkCopyAccelerationStructureToMemoryInfoKHR;
15420 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
15421 VkStructureType sType;
15423 VkDeviceOrHostAddressConstKHR src;
15424 VkAccelerationStructureKHR dst;
15425 VkCopyAccelerationStructureModeKHR mode;
15426 } VkCopyMemoryToAccelerationStructureInfoKHR;
15428 typedef struct VkCopyAccelerationStructureInfoKHR {
15429 VkStructureType sType;
15431 VkAccelerationStructureKHR src;
15432 VkAccelerationStructureKHR dst;
15433 VkCopyAccelerationStructureModeKHR mode;
15434 } VkCopyAccelerationStructureInfoKHR;
15436 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
15437 VkStructureType sType;
15439 VkDeviceSize accelerationStructureSize;
15440 VkDeviceSize updateScratchSize;
15441 VkDeviceSize buildScratchSize;
15442 } VkAccelerationStructureBuildSizesInfoKHR;
15444 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
15445 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
15446 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15447 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
15448 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15449 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
15450 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15451 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15452 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
15453 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
15454 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15455 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15456 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
15457 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
15458 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
15459 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
15461 #ifndef VK_NO_PROTOTYPES
15462 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
15464 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
15465 const VkAllocationCallbacks* pAllocator,
15466 VkAccelerationStructureKHR* pAccelerationStructure);
15468 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
15470 VkAccelerationStructureKHR accelerationStructure,
15471 const VkAllocationCallbacks* pAllocator);
15473 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
15474 VkCommandBuffer commandBuffer,
15475 deUint32 infoCount,
15476 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
15477 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15479 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
15480 VkCommandBuffer commandBuffer,
15481 deUint32 infoCount,
15482 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
15483 const VkDeviceAddress* pIndirectDeviceAddresses,
15484 const deUint32* pIndirectStrides,
15485 const deUint32* const* ppMaxPrimitiveCounts);
15487 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
15489 VkDeferredOperationKHR deferredOperation,
15490 deUint32 infoCount,
15491 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
15492 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
15494 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
15496 VkDeferredOperationKHR deferredOperation,
15497 const VkCopyAccelerationStructureInfoKHR* pInfo);
15499 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
15501 VkDeferredOperationKHR deferredOperation,
15502 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15504 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
15506 VkDeferredOperationKHR deferredOperation,
15507 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15509 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
15511 deUint32 accelerationStructureCount,
15512 const VkAccelerationStructureKHR* pAccelerationStructures,
15513 VkQueryType queryType,
15514 deUintptr dataSize,
15518 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
15519 VkCommandBuffer commandBuffer,
15520 const VkCopyAccelerationStructureInfoKHR* pInfo);
15522 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
15523 VkCommandBuffer commandBuffer,
15524 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
15526 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
15527 VkCommandBuffer commandBuffer,
15528 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
15530 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
15532 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
15534 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
15535 VkCommandBuffer commandBuffer,
15536 deUint32 accelerationStructureCount,
15537 const VkAccelerationStructureKHR* pAccelerationStructures,
15538 VkQueryType queryType,
15539 VkQueryPool queryPool,
15540 deUint32 firstQuery);
15542 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
15544 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
15545 VkAccelerationStructureCompatibilityKHR* pCompatibility);
15547 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
15549 VkAccelerationStructureBuildTypeKHR buildType,
15550 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
15551 const deUint32* pMaxPrimitiveCounts,
15552 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
15556 #define VK_KHR_ray_tracing_pipeline 1
15557 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
15558 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
15560 typedef enum VkShaderGroupShaderKHR {
15561 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
15562 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
15563 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
15564 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
15565 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
15566 } VkShaderGroupShaderKHR;
15567 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
15568 VkStructureType sType;
15570 VkRayTracingShaderGroupTypeKHR type;
15571 deUint32 generalShader;
15572 deUint32 closestHitShader;
15573 deUint32 anyHitShader;
15574 deUint32 intersectionShader;
15575 const void* pShaderGroupCaptureReplayHandle;
15576 } VkRayTracingShaderGroupCreateInfoKHR;
15578 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
15579 VkStructureType sType;
15581 deUint32 maxPipelineRayPayloadSize;
15582 deUint32 maxPipelineRayHitAttributeSize;
15583 } VkRayTracingPipelineInterfaceCreateInfoKHR;
15585 typedef struct VkRayTracingPipelineCreateInfoKHR {
15586 VkStructureType sType;
15588 VkPipelineCreateFlags flags;
15589 deUint32 stageCount;
15590 const VkPipelineShaderStageCreateInfo* pStages;
15591 deUint32 groupCount;
15592 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
15593 deUint32 maxPipelineRayRecursionDepth;
15594 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
15595 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
15596 const VkPipelineDynamicStateCreateInfo* pDynamicState;
15597 VkPipelineLayout layout;
15598 VkPipeline basePipelineHandle;
15599 deInt32 basePipelineIndex;
15600 } VkRayTracingPipelineCreateInfoKHR;
15602 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
15603 VkStructureType sType;
15605 VkBool32 rayTracingPipeline;
15606 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
15607 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
15608 VkBool32 rayTracingPipelineTraceRaysIndirect;
15609 VkBool32 rayTraversalPrimitiveCulling;
15610 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
15612 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
15613 VkStructureType sType;
15615 deUint32 shaderGroupHandleSize;
15616 deUint32 maxRayRecursionDepth;
15617 deUint32 maxShaderGroupStride;
15618 deUint32 shaderGroupBaseAlignment;
15619 deUint32 shaderGroupHandleCaptureReplaySize;
15620 deUint32 maxRayDispatchInvocationCount;
15621 deUint32 shaderGroupHandleAlignment;
15622 deUint32 maxRayHitAttributeSize;
15623 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
15625 typedef struct VkStridedDeviceAddressRegionKHR {
15626 VkDeviceAddress deviceAddress;
15627 VkDeviceSize stride;
15629 } VkStridedDeviceAddressRegionKHR;
15631 typedef struct VkTraceRaysIndirectCommandKHR {
15635 } VkTraceRaysIndirectCommandKHR;
15637 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);
15638 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
15639 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
15640 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
15641 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
15642 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
15644 #ifndef VK_NO_PROTOTYPES
15645 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
15646 VkCommandBuffer commandBuffer,
15647 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
15648 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
15649 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
15650 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
15655 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
15657 VkDeferredOperationKHR deferredOperation,
15658 VkPipelineCache pipelineCache,
15659 deUint32 createInfoCount,
15660 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
15661 const VkAllocationCallbacks* pAllocator,
15662 VkPipeline* pPipelines);
15664 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
15666 VkPipeline pipeline,
15667 deUint32 firstGroup,
15668 deUint32 groupCount,
15669 deUintptr dataSize,
15672 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
15673 VkCommandBuffer commandBuffer,
15674 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
15675 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
15676 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
15677 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
15678 VkDeviceAddress indirectDeviceAddress);
15680 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
15682 VkPipeline pipeline,
15684 VkShaderGroupShaderKHR groupShader);
15686 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
15687 VkCommandBuffer commandBuffer,
15688 deUint32 pipelineStackSize);
15692 #define VK_KHR_ray_query 1
15693 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
15694 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
15695 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
15696 VkStructureType sType;
15699 } VkPhysicalDeviceRayQueryFeaturesKHR;