1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
5 ** Copyright (c) 2019-2021 The Khronos Group Inc.
7 ** SPDX-License-Identifier: Apache-2.0
10 #ifndef VULKAN_VIDEO_CODEC_COMMON_H_
11 #define VULKAN_VIDEO_CODEC_COMMON_H_ 1
17 #define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
18 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
24 #endif // VULKAN_VIDEO_CODEC_COMMON_H_
26 ** Copyright (c) 2019-2021 The Khronos Group Inc.
28 ** SPDX-License-Identifier: Apache-2.0
31 #ifndef VULKAN_VIDEO_CODEC_H264STD_H_
32 #define VULKAN_VIDEO_CODEC_H264STD_H_ 1
40 // Vulkan 0.9 provisional Vulkan video H.264 encode and decode std specification version number
41 #define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9 VK_MAKE_VIDEO_STD_VERSION(0, 9, 0) // Patch version should always be set to 0
43 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
44 #define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9
45 #define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
47 // *************************************************
48 // Video H.264 common definitions:
49 // *************************************************
51 typedef enum StdVideoH264ChromaFormatIdc {
52 std_video_h264_chroma_format_idc_monochrome = 0,
53 std_video_h264_chroma_format_idc_420 = 1,
54 std_video_h264_chroma_format_idc_422 = 2,
55 std_video_h264_chroma_format_idc_444 = 3,
56 } StdVideoH264ChromaFormatIdc;
58 typedef enum StdVideoH264ProfileIdc {
59 std_video_h264_profile_idc_baseline = 66, /* Only constrained baseline is supported */
60 std_video_h264_profile_idc_main = 77,
61 std_video_h264_profile_idc_high = 100,
62 std_video_h264_profile_idc_high_444_predictive = 244,
63 std_video_h264_profile_idc_invalid = 0x7FFFFFFF
64 } StdVideoH264ProfileIdc;
66 typedef enum StdVideoH264Level {
67 std_video_h264_level_1_0 = 0,
68 std_video_h264_level_1_1 = 1,
69 std_video_h264_level_1_2 = 2,
70 std_video_h264_level_1_3 = 3,
71 std_video_h264_level_2_0 = 4,
72 std_video_h264_level_2_1 = 5,
73 std_video_h264_level_2_2 = 6,
74 std_video_h264_level_3_0 = 7,
75 std_video_h264_level_3_1 = 8,
76 std_video_h264_level_3_2 = 9,
77 std_video_h264_level_4_0 = 10,
78 std_video_h264_level_4_1 = 11,
79 std_video_h264_level_4_2 = 12,
80 std_video_h264_level_5_0 = 13,
81 std_video_h264_level_5_1 = 14,
82 std_video_h264_level_5_2 = 15,
83 std_video_h264_level_6_0 = 16,
84 std_video_h264_level_6_1 = 17,
85 std_video_h264_level_6_2 = 18,
86 std_video_h264_level_invalid = 0x7FFFFFFF
89 typedef enum StdVideoH264PocType {
90 std_video_h264_poc_type_0 = 0,
91 std_video_h264_poc_type_1 = 1,
92 std_video_h264_poc_type_2 = 2,
93 std_video_h264_poc_type_invalid = 0x7FFFFFFF
94 } StdVideoH264PocType;
96 typedef enum StdVideoH264AspectRatioIdc {
97 std_video_h264_aspect_ratio_idc_unspecified = 0,
98 std_video_h264_aspect_ratio_idc_square = 1,
99 std_video_h264_aspect_ratio_idc_12_11 = 2,
100 std_video_h264_aspect_ratio_idc_10_11 = 3,
101 std_video_h264_aspect_ratio_idc_16_11 = 4,
102 std_video_h264_aspect_ratio_idc_40_33 = 5,
103 std_video_h264_aspect_ratio_idc_24_11 = 6,
104 std_video_h264_aspect_ratio_idc_20_11 = 7,
105 std_video_h264_aspect_ratio_idc_32_11 = 8,
106 std_video_h264_aspect_ratio_idc_80_33 = 9,
107 std_video_h264_aspect_ratio_idc_18_11 = 10,
108 std_video_h264_aspect_ratio_idc_15_11 = 11,
109 std_video_h264_aspect_ratio_idc_64_33 = 12,
110 std_video_h264_aspect_ratio_idc_160_99 = 13,
111 std_video_h264_aspect_ratio_idc_4_3 = 14,
112 std_video_h264_aspect_ratio_idc_3_2 = 15,
113 std_video_h264_aspect_ratio_idc_2_1 = 16,
114 std_video_h264_aspect_ratio_idc_extended_sar = 255,
115 std_video_h264_aspect_ratio_idc_invalid = 0x7FFFFFFF
116 } StdVideoH264AspectRatioIdc;
118 typedef enum StdVideoH264WeightedBiPredIdc {
119 std_video_h264_default_weighted_b_slices_prediction_idc = 0,
120 std_video_h264_explicit_weighted_b_slices_prediction_idc = 1,
121 std_video_h264_implicit_weighted_b_slices_prediction_idc = 2,
122 std_video_h264_invalid_weighted_b_slices_prediction_idc = 0x7FFFFFFF
123 } StdVideoH264WeightedBiPredIdc;
125 typedef enum StdVideoH264ModificationOfPicNumsIdc {
126 std_video_h264_modification_of_pic_nums_idc_short_term_subtract = 0,
127 std_video_h264_modification_of_pic_nums_idc_short_term_add = 1,
128 std_video_h264_modification_of_pic_nums_idc_long_term = 2,
129 std_video_h264_modification_of_pic_nums_idc_end = 3,
130 std_video_h264_modification_of_pic_nums_idc_invalid = 0x7FFFFFFF
131 } StdVideoH264ModificationOfPicNumsIdc;
133 typedef enum StdVideoH264MemMgmtControlOp {
134 std_video_h264_mem_mgmt_control_op_end = 0,
135 std_video_h264_mem_mgmt_control_op_unmark_short_term = 1,
136 std_video_h264_mem_mgmt_control_op_unmark_long_term = 2,
137 std_video_h264_mem_mgmt_control_op_mark_long_term = 3,
138 std_video_h264_mem_mgmt_control_op_set_max_long_term_index = 4,
139 std_video_h264_mem_mgmt_control_op_unmark_all = 5,
140 std_video_h264_mem_mgmt_control_op_mark_current_as_long_term = 6,
141 std_video_h264_mem_mgmt_control_op_invalid = 0x7FFFFFFF
142 } StdVideoH264MemMgmtControlOp;
144 typedef enum StdVideoH264CabacInitIdc {
145 std_video_h264_cabac_init_idc_0 = 0,
146 std_video_h264_cabac_init_idc_1 = 1,
147 std_video_h264_cabac_init_idc_2 = 2,
148 std_video_h264_cabac_init_idc_invalid = 0x7FFFFFFF
149 } StdVideoH264CabacInitIdc;
151 typedef enum StdVideoH264DisableDeblockingFilterIdc {
152 std_video_h264_disable_deblocking_filter_idc_disabled = 0,
153 std_video_h264_disable_deblocking_filter_idc_enabled = 1,
154 std_video_h264_disable_deblocking_filter_idc_partial = 2,
155 std_video_h264_disable_deblocking_filter_idc_invalid = 0x7FFFFFFF
156 } StdVideoH264DisableDeblockingFilterIdc;
158 typedef enum StdVideoH264PictureType {
159 std_video_h264_picture_type_i = 0,
160 std_video_h264_picture_type_p = 1,
161 std_video_h264_picture_type_b = 2,
162 std_video_h264_picture_type_invalid = 0x7FFFFFFF
163 } StdVideoH264PictureType;
165 typedef enum StdVideoH264SliceType {
166 std_video_h264_slice_type_i = 0,
167 std_video_h264_slice_type_p = 1,
168 std_video_h264_slice_type_b = 2,
169 std_video_h264_slice_type_invalid = 0x7FFFFFFF
170 } StdVideoH264SliceType;
172 typedef enum StdVideoH264NonVclNaluType {
173 std_video_h264_non_vcl_nalu_type_sps = 0,
174 std_video_h264_non_vcl_nalu_type_pps = 1,
175 std_video_h264_non_vcl_nalu_type_aud = 2,
176 std_video_h264_non_vcl_nalu_type_prefix = 3,
177 std_video_h264_non_vcl_nalu_type_end_of_sequence = 4,
178 std_video_h264_non_vcl_nalu_type_end_of_stream = 5,
179 std_video_h264_non_vcl_nalu_type_precoded = 6,
180 std_video_h264_non_vcl_nalu_type_invalid = 0x7FFFFFFF
181 } StdVideoH264NonVclNaluType;
183 typedef struct StdVideoH264SpsVuiFlags {
184 deUint32 aspect_ratio_info_present_flag:1;
185 deUint32 overscan_info_present_flag:1;
186 deUint32 overscan_appropriate_flag:1;
187 deUint32 video_signal_type_present_flag:1;
188 deUint32 video_full_range_flag:1;
189 deUint32 color_description_present_flag:1;
190 deUint32 chroma_loc_info_present_flag:1;
191 deUint32 timing_info_present_flag:1;
192 deUint32 fixed_frame_rate_flag:1;
193 deUint32 bitstream_restriction_flag:1;
194 deUint32 nal_hrd_parameters_present_flag:1;
195 deUint32 vcl_hrd_parameters_present_flag:1;
196 } StdVideoH264SpsVuiFlags;
198 typedef struct StdVideoH264HrdParameters {
199 deUint8 cpb_cnt_minus1;
200 deUint8 bit_rate_scale;
201 deUint8 cpb_size_scale;
202 deUint32 bit_rate_value_minus1[32];
203 deUint32 cpb_size_value_minus1[32];
204 deUint8 cbr_flag[32];
205 deUint32 initial_cpb_removal_delay_length_minus1;
206 deUint32 cpb_removal_delay_length_minus1;
207 deUint32 dpb_output_delay_length_minus1;
208 deUint32 time_offset_length;
209 } StdVideoH264HrdParameters;
211 typedef struct StdVideoH264SequenceParameterSetVui {
212 StdVideoH264AspectRatioIdc aspect_ratio_idc;
215 deUint8 video_format;
216 deUint8 color_primaries;
217 deUint8 transfer_characteristics;
218 deUint8 matrix_coefficients;
219 deUint32 num_units_in_tick;
221 StdVideoH264HrdParameters hrd_parameters;
222 deUint8 num_reorder_frames;
223 deUint8 max_dec_frame_buffering;
224 StdVideoH264SpsVuiFlags flags;
225 } StdVideoH264SequenceParameterSetVui;
227 typedef struct StdVideoH264SpsFlags {
228 deUint32 constraint_set0_flag:1;
229 deUint32 constraint_set1_flag:1;
230 deUint32 constraint_set2_flag:1;
231 deUint32 constraint_set3_flag:1;
232 deUint32 constraint_set4_flag:1;
233 deUint32 constraint_set5_flag:1;
234 deUint32 direct_8x8_inference_flag:1;
235 deUint32 mb_adaptive_frame_field_flag:1;
236 deUint32 frame_mbs_only_flag:1;
237 deUint32 delta_pic_order_always_zero_flag:1;
238 deUint32 residual_colour_transform_flag:1;
239 deUint32 gaps_in_frame_num_value_allowed_flag:1;
240 deUint32 first_picture_after_seek_flag:1; // where is this being documented?
241 deUint32 qpprime_y_zero_transform_bypass_flag:1;
242 deUint32 frame_cropping_flag:1;
243 deUint32 scaling_matrix_present_flag:1;
244 deUint32 vui_parameters_present_flag:1;
245 } StdVideoH264SpsFlags;
247 typedef struct StdVideoH264ScalingLists
249 // scaling_list_present_mask has one bit for each
250 // seq_scaling_list_present_flag[i] for SPS OR
251 // pic_scaling_list_present_flag[i] for PPS,
252 // bit 0 - 5 are for each entry of ScalingList4x4
253 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
254 deUint8 scaling_list_present_mask;
255 // use_default_scaling_matrix_mask has one bit for each
256 // UseDefaultScalingMatrix4x4Flag[ i ] and
257 // UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS
258 // bit 0 - 5 are for each entry of ScalingList4x4
259 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
260 deUint8 use_default_scaling_matrix_mask;
261 deUint8 ScalingList4x4[6][16];
262 deUint8 ScalingList8x8[2][64];
263 } StdVideoH264ScalingLists;
265 typedef struct StdVideoH264SequenceParameterSet
267 StdVideoH264ProfileIdc profile_idc;
268 StdVideoH264Level level_idc;
269 deUint8 seq_parameter_set_id;
270 StdVideoH264ChromaFormatIdc chroma_format_idc;
271 deUint8 bit_depth_luma_minus8;
272 deUint8 bit_depth_chroma_minus8;
273 deUint8 log2_max_frame_num_minus4;
274 StdVideoH264PocType pic_order_cnt_type;
275 deUint8 log2_max_pic_order_cnt_lsb_minus4;
276 deInt32 offset_for_non_ref_pic;
277 deInt32 offset_for_top_to_bottom_field;
278 deUint8 num_ref_frames_in_pic_order_cnt_cycle;
279 deUint8 max_num_ref_frames;
280 deUint32 pic_width_in_mbs_minus1;
281 deUint32 pic_height_in_map_units_minus1;
282 deUint32 frame_crop_left_offset;
283 deUint32 frame_crop_right_offset;
284 deUint32 frame_crop_top_offset;
285 deUint32 frame_crop_bottom_offset;
286 StdVideoH264SpsFlags flags;
287 deInt32 offset_for_ref_frame[255]; // The number of valid values are defined by the num_ref_frames_in_pic_order_cnt_cycle
288 StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if scaling_matrix_present_flag is set
289 StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set
290 } StdVideoH264SequenceParameterSet;
292 typedef struct StdVideoH264PpsFlags {
293 deUint32 transform_8x8_mode_flag:1;
294 deUint32 redundant_pic_cnt_present_flag:1;
295 deUint32 constrained_intra_pred_flag:1;
296 deUint32 deblocking_filter_control_present_flag:1;
297 deUint32 weighted_bipred_idc_flag:1;
298 deUint32 weighted_pred_flag:1;
299 deUint32 pic_order_present_flag:1;
300 deUint32 entropy_coding_mode_flag:1;
301 deUint32 scaling_matrix_present_flag:1;
302 } StdVideoH264PpsFlags;
304 typedef struct StdVideoH264PictureParameterSet
306 deUint8 seq_parameter_set_id;
307 deUint8 pic_parameter_set_id;
308 deUint8 num_ref_idx_l0_default_active_minus1;
309 deUint8 num_ref_idx_l1_default_active_minus1;
310 StdVideoH264WeightedBiPredIdc weighted_bipred_idc;
311 deInt8 pic_init_qp_minus26;
312 deInt8 pic_init_qs_minus26;
313 deInt8 chroma_qp_index_offset;
314 deInt8 second_chroma_qp_index_offset;
315 StdVideoH264PpsFlags flags;
316 StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if StdVideoH264PpsFlags::scaling_matrix_present_flag is set.
317 } StdVideoH264PictureParameterSet;
323 #endif // VULKAN_VIDEO_CODEC_H264STD_H_
325 ** Copyright (c) 2019-2021 The Khronos Group Inc.
327 ** SPDX-License-Identifier: Apache-2.0
330 #ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
331 #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1
339 // *************************************************
340 // Video H.264 Encode related parameters:
341 // *************************************************
343 typedef struct StdVideoEncodeH264SliceHeaderFlags {
345 deUint32 is_reference_flag:1;
346 deUint32 num_ref_idx_active_override_flag:1;
347 deUint32 no_output_of_prior_pics_flag:1;
348 deUint32 long_term_reference_flag:1;
349 deUint32 adaptive_ref_pic_marking_mode_flag:1;
350 deUint32 no_prior_references_available_flag:1;
351 } StdVideoEncodeH264SliceHeaderFlags;
353 typedef struct StdVideoEncodeH264PictureInfoFlags {
355 deUint32 is_reference_flag:1;
356 deUint32 long_term_reference_flag:1;
357 } StdVideoEncodeH264PictureInfoFlags;
359 typedef struct StdVideoEncodeH264RefMgmtFlags {
360 deUint32 ref_pic_list_modification_l0_flag:1;
361 deUint32 ref_pic_list_modification_l1_flag:1;
362 } StdVideoEncodeH264RefMgmtFlags;
364 typedef struct StdVideoEncodeH264RefListModEntry {
365 StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
366 deUint16 abs_diff_pic_num_minus1;
367 deUint16 long_term_pic_num;
368 } StdVideoEncodeH264RefListModEntry;
370 typedef struct StdVideoEncodeH264RefPicMarkingEntry {
371 StdVideoH264MemMgmtControlOp operation;
372 deUint16 difference_of_pic_nums_minus1;
373 deUint16 long_term_pic_num;
374 deUint16 long_term_frame_idx;
375 deUint16 max_long_term_frame_idx_plus1;
376 } StdVideoEncodeH264RefPicMarkingEntry;
378 typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations {
379 StdVideoEncodeH264RefMgmtFlags flags;
380 deUint8 refList0ModOpCount;
381 StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
382 deUint8 refList1ModOpCount;
383 StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
384 deUint8 refPicMarkingOpCount;
385 StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
386 } StdVideoEncodeH264RefMemMgmtCtrlOperations;
388 typedef struct StdVideoEncodeH264PictureInfo {
389 StdVideoEncodeH264PictureInfoFlags flags;
390 StdVideoH264PictureType pictureType;
392 deUint32 pictureOrderCount;
393 deUint16 long_term_pic_num;
394 deUint16 long_term_frame_idx;
395 } StdVideoEncodeH264PictureInfo;
397 typedef struct StdVideoEncodeH264SliceHeader {
398 StdVideoEncodeH264SliceHeaderFlags flags;
399 StdVideoH264SliceType slice_type;
400 deUint8 seq_parameter_set_id;
401 deUint8 pic_parameter_set_id;
403 deUint8 num_ref_idx_l0_active_minus1;
404 deUint8 num_ref_idx_l1_active_minus1;
405 StdVideoH264CabacInitIdc cabac_init_idc;
406 StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
407 deInt8 slice_alpha_c0_offset_div2;
408 deInt8 slice_beta_offset_div2;
409 StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations;
410 } StdVideoEncodeH264SliceHeader;
417 #endif // VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
419 ** Copyright (c) 2019-2021 The Khronos Group Inc.
421 ** SPDX-License-Identifier: Apache-2.0
424 #ifndef VULKAN_VIDEO_CODEC_H265STD_H_
425 #define VULKAN_VIDEO_CODEC_H265STD_H_ 1
433 // Vulkan 0.5 version number WIP
434 #define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5 VK_MAKE_VIDEO_STD_VERSION(0, 5, 0) // Patch version should always be set to 0
436 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
437 #define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5
438 #define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265"
440 typedef enum StdVideoH265ChromaFormatIdc {
441 std_video_h265_chroma_format_idc_monochrome = 0,
442 std_video_h265_chroma_format_idc_420 = 1,
443 std_video_h265_chroma_format_idc_422 = 2,
444 std_video_h265_chroma_format_idc_444 = 3,
445 } StdVideoH265ChromaFormatIdc;
447 typedef enum StdVideoH265ProfileIdc {
448 std_video_h265_profile_idc_main = 1,
449 std_video_h265_profile_idc_main_10 = 2,
450 std_video_h265_profile_idc_main_still_picture = 3,
451 std_video_h265_profile_idc_format_range_extensions = 4,
452 std_video_h265_profile_idc_scc_extensions = 9,
453 std_video_h265_profile_idc_invalid = 0x7FFFFFFF
454 } StdVideoH265ProfileIdc;
456 typedef enum StdVideoH265Level {
457 std_video_h265_level_1_0 = 0,
458 std_video_h265_level_2_0 = 1,
459 std_video_h265_level_2_1 = 2,
460 std_video_h265_level_3_0 = 3,
461 std_video_h265_level_3_1 = 4,
462 std_video_h265_level_4_0 = 5,
463 std_video_h265_level_4_1 = 6,
464 std_video_h265_level_5_0 = 7,
465 std_video_h265_level_5_1 = 8,
466 std_video_h265_level_5_2 = 9,
467 std_video_h265_level_6_0 = 10,
468 std_video_h265_level_6_1 = 11,
469 std_video_h265_level_6_2 = 12,
470 std_video_h265_level_invalid = 0x7FFFFFFF
474 typedef struct StdVideoH265DecPicBufMgr
476 deUint32 max_latency_increase_plus1[7];
477 deUint8 max_dec_pic_buffering_minus1[7];
478 deUint8 max_num_reorder_pics[7];
479 } StdVideoH265DecPicBufMgr;
481 typedef struct StdVideoH265SubLayerHrdParameters {
482 deUint32 bit_rate_value_minus1[32];
483 deUint32 cpb_size_value_minus1[32];
484 deUint32 cpb_size_du_value_minus1[32];
485 deUint32 bit_rate_du_value_minus1[32];
486 deUint32 cbr_flag; // each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer
487 } StdVideoH265SubLayerHrdParameters;
489 typedef struct StdVideoH265HrdFlags {
490 deUint32 nal_hrd_parameters_present_flag : 1;
491 deUint32 vcl_hrd_parameters_present_flag : 1;
492 deUint32 sub_pic_hrd_params_present_flag : 1;
493 deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
494 deUint8 fixed_pic_rate_general_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
495 deUint8 fixed_pic_rate_within_cvs_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
496 deUint8 low_delay_hrd_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
497 } StdVideoH265HrdFlags;
499 typedef struct StdVideoH265HrdParameters {
500 deUint8 tick_divisor_minus2;
501 deUint8 du_cpb_removal_delay_increment_length_minus1;
502 deUint8 dpb_output_delay_du_length_minus1;
503 deUint8 bit_rate_scale;
504 deUint8 cpb_size_scale;
505 deUint8 cpb_size_du_scale;
506 deUint8 initial_cpb_removal_delay_length_minus1;
507 deUint8 au_cpb_removal_delay_length_minus1;
508 deUint8 dpb_output_delay_length_minus1;
509 deUint8 cpb_cnt_minus1[7];
510 deUint16 elemental_duration_in_tc_minus1[7];
511 StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersNal[7];
512 StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersVcl[7];
513 StdVideoH265HrdFlags flags;
514 } StdVideoH265HrdParameters;
516 typedef struct StdVideoH265VpsFlags {
517 deUint32 vps_temporal_id_nesting_flag : 1;
518 deUint32 vps_sub_layer_ordering_info_present_flag : 1;
519 deUint32 vps_timing_info_present_flag : 1;
520 deUint32 vps_poc_proportional_to_timing_flag : 1;
521 } StdVideoH265VpsFlags;
523 typedef struct StdVideoH265VideoParameterSet
525 deUint8 vps_video_parameter_set_id;
526 deUint8 vps_max_sub_layers_minus1;
527 deUint32 vps_num_units_in_tick;
528 deUint32 vps_time_scale;
529 deUint32 vps_num_ticks_poc_diff_one_minus1;
530 StdVideoH265DecPicBufMgr* pDecPicBufMgr;
531 StdVideoH265HrdParameters* hrd_parameters;
532 StdVideoH265VpsFlags flags;
533 } StdVideoH265VideoParameterSet;
535 typedef struct StdVideoH265ScalingLists
537 deUint8 ScalingList4x4[6][16]; // ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0)
538 deUint8 ScalingList8x8[6][64]; // ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1)
539 deUint8 ScalingList16x16[6][64]; // ScalingList[ 2 ][ MatrixID ][ i ] (sizeID = 2)
540 deUint8 ScalingList32x32[2][64]; // ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3)
541 deUint8 ScalingListDCCoef16x16[6]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2
542 deUint8 ScalingListDCCoef32x32[2]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3
543 } StdVideoH265ScalingLists;
545 typedef struct StdVideoH265SpsVuiFlags {
546 deUint32 aspect_ratio_info_present_flag : 1;
547 deUint32 overscan_info_present_flag : 1;
548 deUint32 overscan_appropriate_flag : 1;
549 deUint32 video_signal_type_present_flag : 1;
550 deUint32 video_full_range_flag : 1;
551 deUint32 colour_description_present_flag : 1;
552 deUint32 chroma_loc_info_present_flag : 1;
553 deUint32 neutral_chroma_indication_flag : 1;
554 deUint32 field_seq_flag : 1;
555 deUint32 frame_field_info_present_flag : 1;
556 deUint32 default_display_window_flag : 1;
557 deUint32 vui_timing_info_present_flag : 1;
558 deUint32 vui_poc_proportional_to_timing_flag : 1;
559 deUint32 vui_hrd_parameters_present_flag : 1;
560 deUint32 bitstream_restriction_flag : 1;
561 deUint32 tiles_fixed_structure_flag : 1;
562 deUint32 motion_vectors_over_pic_boundaries_flag : 1;
563 deUint32 restricted_ref_pic_lists_flag : 1;
564 } StdVideoH265SpsVuiFlags;
566 typedef struct StdVideoH265SequenceParameterSetVui {
567 deUint8 aspect_ratio_idc;
570 deUint8 video_format;
571 deUint8 colour_primaries;
572 deUint8 transfer_characteristics;
573 deUint8 matrix_coeffs;
574 deUint8 chroma_sample_loc_type_top_field;
575 deUint8 chroma_sample_loc_type_bottom_field;
576 deUint16 def_disp_win_left_offset;
577 deUint16 def_disp_win_right_offset;
578 deUint16 def_disp_win_top_offset;
579 deUint16 def_disp_win_bottom_offset;
580 deUint32 vui_num_units_in_tick;
581 deUint32 vui_time_scale;
582 deUint32 vui_num_ticks_poc_diff_one_minus1;
583 StdVideoH265HrdParameters* hrd_parameters;
584 deUint16 min_spatial_segmentation_idc;
585 deUint8 max_bytes_per_pic_denom;
586 deUint8 max_bits_per_min_cu_denom;
587 deUint8 log2_max_mv_length_horizontal;
588 deUint8 log2_max_mv_length_vertical;
589 StdVideoH265SpsVuiFlags flags;
590 } StdVideoH265SequenceParameterSetVui;
592 typedef struct StdVideoH265PredictorPaletteEntries
594 deUint16 PredictorPaletteEntries[3][128];
595 } StdVideoH265PredictorPaletteEntries;
598 typedef struct StdVideoH265SpsFlags {
599 deUint32 sps_temporal_id_nesting_flag : 1;
600 deUint32 separate_colour_plane_flag : 1;
601 deUint32 scaling_list_enabled_flag : 1;
602 deUint32 sps_scaling_list_data_present_flag : 1;
603 deUint32 amp_enabled_flag : 1;
604 deUint32 sample_adaptive_offset_enabled_flag : 1;
605 deUint32 pcm_enabled_flag : 1;
606 deUint32 pcm_loop_filter_disabled_flag : 1;
607 deUint32 long_term_ref_pics_present_flag : 1;
608 deUint32 sps_temporal_mvp_enabled_flag : 1;
609 deUint32 strong_intra_smoothing_enabled_flag : 1;
610 deUint32 vui_parameters_present_flag : 1;
611 deUint32 sps_extension_present_flag : 1;
612 deUint32 sps_range_extension_flag : 1;
614 // extension SPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set
615 deUint32 transform_skip_rotation_enabled_flag : 1;
616 deUint32 transform_skip_context_enabled_flag : 1;
617 deUint32 implicit_rdpcm_enabled_flag : 1;
618 deUint32 explicit_rdpcm_enabled_flag : 1;
619 deUint32 extended_precision_processing_flag : 1;
620 deUint32 intra_smoothing_disabled_flag : 1;
621 deUint32 high_precision_offsets_enabled_flag : 1;
622 deUint32 persistent_rice_adaptation_enabled_flag : 1;
623 deUint32 cabac_bypass_alignment_enabled_flag : 1;
625 // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
626 deUint32 sps_curr_pic_ref_enabled_flag : 1;
627 deUint32 palette_mode_enabled_flag : 1;
628 deUint32 sps_palette_predictor_initializer_present_flag : 1;
629 deUint32 intra_boundary_filtering_disabled_flag : 1;
630 } StdVideoH265SpsFlags;
632 typedef struct StdVideoH265SequenceParameterSet
634 StdVideoH265ProfileIdc profile_idc;
635 StdVideoH265Level level_idc;
636 deUint32 pic_width_in_luma_samples;
637 deUint32 pic_height_in_luma_samples;
638 deUint8 sps_video_parameter_set_id;
639 deUint8 sps_max_sub_layers_minus1;
640 deUint8 sps_seq_parameter_set_id;
641 deUint8 chroma_format_idc;
642 deUint8 bit_depth_luma_minus8;
643 deUint8 bit_depth_chroma_minus8;
644 deUint8 log2_max_pic_order_cnt_lsb_minus4;
645 deUint8 sps_max_dec_pic_buffering_minus1;
646 deUint8 log2_min_luma_coding_block_size_minus3;
647 deUint8 log2_diff_max_min_luma_coding_block_size;
648 deUint8 log2_min_luma_transform_block_size_minus2;
649 deUint8 log2_diff_max_min_luma_transform_block_size;
650 deUint8 max_transform_hierarchy_depth_inter;
651 deUint8 max_transform_hierarchy_depth_intra;
652 deUint8 num_short_term_ref_pic_sets;
653 deUint8 num_long_term_ref_pics_sps;
654 deUint8 pcm_sample_bit_depth_luma_minus1;
655 deUint8 pcm_sample_bit_depth_chroma_minus1;
656 deUint8 log2_min_pcm_luma_coding_block_size_minus3;
657 deUint8 log2_diff_max_min_pcm_luma_coding_block_size;
658 deUint32 conf_win_left_offset;
659 deUint32 conf_win_right_offset;
660 deUint32 conf_win_top_offset;
661 deUint32 conf_win_bottom_offset;
662 StdVideoH265DecPicBufMgr* pDecPicBufMgr;
663 StdVideoH265SpsFlags flags;
664 StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if sps_scaling_list_data_present_flag is set
665 StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size;
667 // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
668 deUint8 palette_max_size;
669 deUint8 delta_palette_max_predictor_size;
670 deUint8 motion_vector_resolution_control_idc;
671 deUint8 sps_num_palette_predictor_initializer_minus1;
672 StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if sps_palette_predictor_initializer_present_flag is set
673 } StdVideoH265SequenceParameterSet;
676 typedef struct StdVideoH265PpsFlags {
677 deUint32 dependent_slice_segments_enabled_flag : 1;
678 deUint32 output_flag_present_flag : 1;
679 deUint32 sign_data_hiding_enabled_flag : 1;
680 deUint32 cabac_init_present_flag : 1;
681 deUint32 constrained_intra_pred_flag : 1;
682 deUint32 transform_skip_enabled_flag : 1;
683 deUint32 cu_qp_delta_enabled_flag : 1;
684 deUint32 pps_slice_chroma_qp_offsets_present_flag : 1;
685 deUint32 weighted_pred_flag : 1;
686 deUint32 weighted_bipred_flag : 1;
687 deUint32 transquant_bypass_enabled_flag : 1;
688 deUint32 tiles_enabled_flag : 1;
689 deUint32 entropy_coding_sync_enabled_flag : 1;
690 deUint32 uniform_spacing_flag : 1;
691 deUint32 loop_filter_across_tiles_enabled_flag : 1;
692 deUint32 pps_loop_filter_across_slices_enabled_flag : 1;
693 deUint32 deblocking_filter_control_present_flag : 1;
694 deUint32 deblocking_filter_override_enabled_flag : 1;
695 deUint32 pps_deblocking_filter_disabled_flag : 1;
696 deUint32 pps_scaling_list_data_present_flag : 1;
697 deUint32 lists_modification_present_flag : 1;
698 deUint32 slice_segment_header_extension_present_flag : 1;
699 deUint32 pps_extension_present_flag : 1;
701 // extension PPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set
702 deUint32 cross_component_prediction_enabled_flag : 1;
703 deUint32 chroma_qp_offset_list_enabled_flag : 1;
705 // extension PPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
706 deUint32 pps_curr_pic_ref_enabled_flag : 1;
707 deUint32 residual_adaptive_colour_transform_enabled_flag : 1;
708 deUint32 pps_slice_act_qp_offsets_present_flag : 1;
709 deUint32 pps_palette_predictor_initializer_present_flag : 1;
710 deUint32 monochrome_palette_flag : 1;
711 deUint32 pps_range_extension_flag : 1;
712 } StdVideoH265PpsFlags;
714 typedef struct StdVideoH265PictureParameterSet
716 deUint8 pps_pic_parameter_set_id;
717 deUint8 pps_seq_parameter_set_id;
718 deUint8 num_extra_slice_header_bits;
719 deUint8 num_ref_idx_l0_default_active_minus1;
720 deUint8 num_ref_idx_l1_default_active_minus1;
721 deInt8 init_qp_minus26;
722 deUint8 diff_cu_qp_delta_depth;
723 deInt8 pps_cb_qp_offset;
724 deInt8 pps_cr_qp_offset;
725 deUint8 num_tile_columns_minus1;
726 deUint8 num_tile_rows_minus1;
727 deUint16 column_width_minus1[19];
728 deUint16 row_height_minus1[21];
729 deInt8 pps_beta_offset_div2;
730 deInt8 pps_tc_offset_div2;
731 deUint8 log2_parallel_merge_level_minus2;
732 StdVideoH265PpsFlags flags;
733 StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if pps_scaling_list_data_present_flag is set
735 // extension PPS, valid when std_video_h265_profile_idc_format_range_extensions is set
736 deUint8 log2_max_transform_skip_block_size_minus2;
737 deUint8 diff_cu_chroma_qp_offset_depth;
738 deUint8 chroma_qp_offset_list_len_minus1;
739 deInt8 cb_qp_offset_list[6];
740 deInt8 cr_qp_offset_list[6];
741 deUint8 log2_sao_offset_scale_luma;
742 deUint8 log2_sao_offset_scale_chroma;
744 // extension PPS, valid when std_video_h265_profile_idc_scc_extensions is set
745 deInt8 pps_act_y_qp_offset_plus5;
746 deInt8 pps_act_cb_qp_offset_plus5;
747 deInt8 pps_act_cr_qp_offset_plus5;
748 deUint8 pps_num_palette_predictor_initializer;
749 deUint8 luma_bit_depth_entry_minus8;
750 deUint8 chroma_bit_depth_entry_minus8;
751 StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if pps_palette_predictor_initializer_present_flag is set
752 } StdVideoH265PictureParameterSet;
758 #endif // VULKAN_VIDEO_CODEC_H265STD_H_
760 ** Copyright (c) 2019-2020 The Khronos Group Inc.
762 ** SPDX-License-Identifier: Apache-2.0
765 #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
766 #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
774 // *************************************************
775 // Video H.264 Decode related parameters:
776 // *************************************************
778 typedef struct StdVideoDecodeH264PictureInfoFlags {
779 deUint32 field_pic_flag:1; // Is field picture
780 deUint32 is_intra:1; // Is intra picture
781 deUint32 bottom_field_flag:1; // bottom (true) or top (false) field if field_pic_flag is set.
782 deUint32 is_reference:1; // This only applies to picture info, and not to the DPB lists.
783 deUint32 complementary_field_pair:1; // complementary field pair, complementary non-reference field pair, complementary reference field pair
784 } StdVideoDecodeH264PictureInfoFlags;
786 typedef struct StdVideoDecodeH264PictureInfo {
787 deUint8 seq_parameter_set_id; // Selecting SPS from the Picture Parameters
788 deUint8 pic_parameter_set_id; // Selecting PPS from the Picture Parameters and the SPS
789 deUint16 reserved; // for structure members 32-bit packing/alignment
790 deUint16 frame_num; // 7.4.3 Slice header semantics
791 deUint16 idr_pic_id; // 7.4.3 Slice header semantics
792 // PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2
793 deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
794 StdVideoDecodeH264PictureInfoFlags flags;
795 } StdVideoDecodeH264PictureInfo;
797 typedef struct StdVideoDecodeH264ReferenceInfoFlags {
798 deUint32 top_field_flag:1; // Reference is used for top field reference.
799 deUint32 bottom_field_flag:1; // Reference is used for bottom field reference.
800 deUint32 is_long_term:1; // this is a long term reference
801 deUint32 is_non_existing:1; // Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num
802 } StdVideoDecodeH264ReferenceInfoFlags;
804 typedef struct StdVideoDecodeH264ReferenceInfo {
805 // FrameNum = is_long_term ? long_term_frame_idx : frame_num
806 deUint16 FrameNum; // 7.4.3.3 Decoded reference picture marking semantics
807 deUint16 reserved; // for structure members 32-bit packing/alignment
808 deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
809 StdVideoDecodeH264ReferenceInfoFlags flags;
810 } StdVideoDecodeH264ReferenceInfo;
812 typedef struct StdVideoDecodeH264MvcElementFlags {
814 deUint32 anchor_pic:1;
815 deUint32 inter_view:1;
816 } StdVideoDecodeH264MvcElementFlags;
818 typedef struct StdVideoDecodeH264MvcElement {
819 StdVideoDecodeH264MvcElementFlags flags;
820 deUint16 viewOrderIndex;
822 deUint16 temporalId; // move out?
823 deUint16 priorityId; // move out?
824 deUint16 numOfAnchorRefsInL0;
825 deUint16 viewIdOfAnchorRefsInL0[15];
826 deUint16 numOfAnchorRefsInL1;
827 deUint16 viewIdOfAnchorRefsInL1[15];
828 deUint16 numOfNonAnchorRefsInL0;
829 deUint16 viewIdOfNonAnchorRefsInL0[15];
830 deUint16 numOfNonAnchorRefsInL1;
831 deUint16 viewIdOfNonAnchorRefsInL1[15];
832 } StdVideoDecodeH264MvcElement;
834 typedef struct StdVideoDecodeH264Mvc {
836 deUint32 mvcElementCount;
837 StdVideoDecodeH264MvcElement* pMvcElements;
838 } StdVideoDecodeH264Mvc;
845 #endif // VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
847 ** Copyright (c) 2019-2021 The Khronos Group Inc.
849 ** SPDX-License-Identifier: Apache-2.0
852 #ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
853 #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
861 // *************************************************
862 // Video h265 Decode related parameters:
863 // *************************************************
865 typedef struct StdVideoDecodeH265PictureInfoFlags {
866 deUint32 IrapPicFlag : 1;
867 deUint32 IdrPicFlag : 1;
868 deUint32 IsReference : 1;
869 deUint32 short_term_ref_pic_set_sps_flag : 1;
870 } StdVideoDecodeH265PictureInfoFlags;
872 typedef struct StdVideoDecodeH265PictureInfo {
873 deUint8 vps_video_parameter_set_id;
874 deUint8 sps_seq_parameter_set_id;
875 deUint8 pps_pic_parameter_set_id;
876 deUint8 num_short_term_ref_pic_sets;
877 deInt32 PicOrderCntVal;
878 deUint16 NumBitsForSTRefPicSetInSlice; // number of bits used in st_ref_pic_set()
879 //when short_term_ref_pic_set_sps_flag is 0; otherwise set to 0.
880 deUint8 NumDeltaPocsOfRefRpsIdx; // NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0
881 deUint8 RefPicSetStCurrBefore[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
882 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
883 deUint8 RefPicSetStCurrAfter[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
884 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
885 deUint8 RefPicSetLtCurr[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
886 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
887 StdVideoDecodeH265PictureInfoFlags flags;
888 } StdVideoDecodeH265PictureInfo;
890 typedef struct StdVideoDecodeH265ReferenceInfoFlags {
891 deUint32 is_long_term : 1;
892 deUint32 is_non_existing : 1;
893 } StdVideoDecodeH265ReferenceInfoFlags;
895 typedef struct StdVideoDecodeH265ReferenceInfo {
896 deInt32 PicOrderCntVal;
897 StdVideoDecodeH265ReferenceInfoFlags flags;
898 } StdVideoDecodeH265ReferenceInfo;
904 #endif // VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
905 #ifndef VULKAN_CORE_H_
906 #define VULKAN_CORE_H_ 1
909 ** Copyright 2015-2021 The Khronos Group Inc.
911 ** SPDX-License-Identifier: Apache-2.0
915 ** This header is generated from the Khronos Vulkan XML API Registry.
926 #define VK_VERSION_1_0 1
929 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
932 #ifndef VK_USE_64_BIT_PTR_DEFINES
933 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
934 #define VK_USE_64_BIT_PTR_DEFINES 1
936 #define VK_USE_64_BIT_PTR_DEFINES 0
941 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
942 #if (VK_USE_64_BIT_PTR_DEFINES==1)
943 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
944 #define VK_NULL_HANDLE nullptr
946 #define VK_NULL_HANDLE ((void*)0)
949 #define VK_NULL_HANDLE 0ULL
952 #ifndef VK_NULL_HANDLE
953 #define VK_NULL_HANDLE 0
957 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
958 #if (VK_USE_64_BIT_PTR_DEFINES==1)
959 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
961 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
965 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
966 #define VK_MAKE_VERSION(major, minor, patch) \
967 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
969 // 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.
970 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
972 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
973 ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
975 // Vulkan 1.0 version number
976 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
978 // Version of this file
979 #define VK_HEADER_VERSION 189
981 // Complete version of this file
982 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
984 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
985 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
987 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
988 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
990 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
991 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
993 #define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29)
994 #define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU)
995 #define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
996 #define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
997 typedef deUint32 VkBool32;
998 typedef deUint64 VkDeviceAddress;
999 typedef deUint64 VkDeviceSize;
1000 typedef deUint32 VkFlags;
1001 typedef deUint32 VkSampleMask;
1002 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
1003 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
1004 VK_DEFINE_HANDLE(VkInstance)
1005 VK_DEFINE_HANDLE(VkPhysicalDevice)
1006 VK_DEFINE_HANDLE(VkDevice)
1007 VK_DEFINE_HANDLE(VkQueue)
1008 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
1009 VK_DEFINE_HANDLE(VkCommandBuffer)
1010 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
1011 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
1012 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
1013 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
1014 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
1015 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
1016 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
1017 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
1018 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
1019 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
1020 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
1021 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
1022 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
1023 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
1024 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
1025 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
1026 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
1027 #define VK_UUID_SIZE 16U
1028 #define VK_ATTACHMENT_UNUSED (~0U)
1030 #define VK_LOD_CLAMP_NONE 1000.0F
1031 #define VK_QUEUE_FAMILY_IGNORED (~0U)
1032 #define VK_REMAINING_ARRAY_LAYERS (~0U)
1033 #define VK_REMAINING_MIP_LEVELS (~0U)
1034 #define VK_SUBPASS_EXTERNAL (~0U)
1036 #define VK_WHOLE_SIZE (~0ULL)
1037 #define VK_MAX_MEMORY_TYPES 32U
1038 #define VK_MAX_MEMORY_HEAPS 16U
1039 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
1040 #define VK_MAX_EXTENSION_NAME_SIZE 256U
1041 #define VK_MAX_DESCRIPTION_SIZE 256U
1043 typedef enum VkResult {
1050 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
1051 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
1052 VK_ERROR_INITIALIZATION_FAILED = -3,
1053 VK_ERROR_DEVICE_LOST = -4,
1054 VK_ERROR_MEMORY_MAP_FAILED = -5,
1055 VK_ERROR_LAYER_NOT_PRESENT = -6,
1056 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
1057 VK_ERROR_FEATURE_NOT_PRESENT = -8,
1058 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
1059 VK_ERROR_TOO_MANY_OBJECTS = -10,
1060 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
1061 VK_ERROR_FRAGMENTED_POOL = -12,
1062 VK_ERROR_UNKNOWN = -13,
1063 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
1064 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
1065 VK_ERROR_FRAGMENTATION = -1000161000,
1066 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
1067 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
1068 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
1069 VK_SUBOPTIMAL_KHR = 1000001003,
1070 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
1071 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
1072 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
1073 VK_ERROR_INVALID_SHADER_NV = -1000012000,
1074 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
1075 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
1076 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
1077 VK_THREAD_IDLE_KHR = 1000268000,
1078 VK_THREAD_DONE_KHR = 1000268001,
1079 VK_OPERATION_DEFERRED_KHR = 1000268002,
1080 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
1081 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
1082 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
1083 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
1084 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
1085 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1086 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1087 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
1088 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
1091 typedef enum VkStructureType {
1092 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1093 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1094 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1095 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1096 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1097 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1098 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1099 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1100 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1101 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1102 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1103 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1104 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1105 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1106 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1107 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1108 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1109 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1110 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1111 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1112 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1113 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1114 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1115 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1116 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1117 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1118 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1119 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1120 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1121 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1122 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1123 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1124 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1125 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1126 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1127 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1128 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1129 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1130 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1131 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1132 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1133 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1134 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1135 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1136 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1137 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1138 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1139 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1140 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1141 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
1142 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
1143 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
1144 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
1145 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
1146 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
1147 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
1148 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
1149 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
1150 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
1151 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
1152 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
1153 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
1154 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
1155 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
1156 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
1157 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
1158 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
1159 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
1160 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
1161 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
1162 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
1163 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
1164 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
1165 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
1166 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
1167 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
1168 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
1169 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
1170 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
1171 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
1172 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
1173 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
1174 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
1175 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
1176 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
1177 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
1178 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
1179 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
1181 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
1182 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
1183 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
1184 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
1185 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
1186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
1187 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
1188 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
1190 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
1191 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
1192 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1194 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1195 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1196 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1197 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1198 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1199 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1200 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1201 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1202 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1203 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1204 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
1206 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
1207 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
1208 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
1209 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
1210 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
1211 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
1212 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
1213 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
1214 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
1215 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
1216 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
1217 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
1218 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
1221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
1222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
1223 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
1225 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
1226 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
1227 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
1228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
1229 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
1231 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
1232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
1233 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
1234 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
1235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
1236 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
1237 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
1238 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
1239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
1240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
1242 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
1243 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
1244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
1245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
1246 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
1247 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
1248 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
1249 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
1250 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
1251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
1252 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
1253 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
1254 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
1255 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
1256 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1257 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1258 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1259 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1260 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1261 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1262 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1263 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1264 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
1265 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
1266 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
1267 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
1268 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
1269 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
1270 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
1271 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
1272 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
1273 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
1274 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
1275 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
1276 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
1277 #ifdef VK_ENABLE_BETA_EXTENSIONS
1278 VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
1280 #ifdef VK_ENABLE_BETA_EXTENSIONS
1281 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
1283 #ifdef VK_ENABLE_BETA_EXTENSIONS
1284 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
1286 #ifdef VK_ENABLE_BETA_EXTENSIONS
1287 VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
1289 #ifdef VK_ENABLE_BETA_EXTENSIONS
1290 VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
1292 #ifdef VK_ENABLE_BETA_EXTENSIONS
1293 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
1295 #ifdef VK_ENABLE_BETA_EXTENSIONS
1296 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
1298 #ifdef VK_ENABLE_BETA_EXTENSIONS
1299 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
1301 #ifdef VK_ENABLE_BETA_EXTENSIONS
1302 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
1304 #ifdef VK_ENABLE_BETA_EXTENSIONS
1305 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
1307 #ifdef VK_ENABLE_BETA_EXTENSIONS
1308 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
1310 #ifdef VK_ENABLE_BETA_EXTENSIONS
1311 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
1313 #ifdef VK_ENABLE_BETA_EXTENSIONS
1314 VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
1316 #ifdef VK_ENABLE_BETA_EXTENSIONS
1317 VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
1319 #ifdef VK_ENABLE_BETA_EXTENSIONS
1320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
1322 #ifdef VK_ENABLE_BETA_EXTENSIONS
1323 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
1325 #ifdef VK_ENABLE_BETA_EXTENSIONS
1326 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
1328 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1329 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1330 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1333 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1334 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
1335 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
1336 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
1337 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
1338 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
1339 #ifdef VK_ENABLE_BETA_EXTENSIONS
1340 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
1342 #ifdef VK_ENABLE_BETA_EXTENSIONS
1343 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
1345 #ifdef VK_ENABLE_BETA_EXTENSIONS
1346 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
1348 #ifdef VK_ENABLE_BETA_EXTENSIONS
1349 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
1351 #ifdef VK_ENABLE_BETA_EXTENSIONS
1352 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
1354 #ifdef VK_ENABLE_BETA_EXTENSIONS
1355 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
1357 #ifdef VK_ENABLE_BETA_EXTENSIONS
1358 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
1360 #ifdef VK_ENABLE_BETA_EXTENSIONS
1361 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
1363 #ifdef VK_ENABLE_BETA_EXTENSIONS
1364 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
1366 #ifdef VK_ENABLE_BETA_EXTENSIONS
1367 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
1369 #ifdef VK_ENABLE_BETA_EXTENSIONS
1370 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
1372 #ifdef VK_ENABLE_BETA_EXTENSIONS
1373 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
1375 #ifdef VK_ENABLE_BETA_EXTENSIONS
1376 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
1378 #ifdef VK_ENABLE_BETA_EXTENSIONS
1379 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
1381 #ifdef VK_ENABLE_BETA_EXTENSIONS
1382 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
1384 #ifdef VK_ENABLE_BETA_EXTENSIONS
1385 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
1387 #ifdef VK_ENABLE_BETA_EXTENSIONS
1388 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
1390 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1391 VK_STRUCTURE_TYPE_RENDERING_INFO_KHR = 1000044000,
1392 VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR = 1000044001,
1393 VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR = 1000044002,
1394 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR = 1000044003,
1395 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR = 1000044004,
1396 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006,
1397 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007,
1398 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD = 1000044008,
1399 VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX = 1000044009,
1400 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1401 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1402 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1403 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1404 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1405 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1406 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1407 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1408 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1409 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
1410 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1411 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1412 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1413 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1414 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1415 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1416 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1417 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1418 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1419 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1420 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1421 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1422 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1423 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1424 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1425 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1426 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1427 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1428 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1429 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1430 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1431 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1432 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1433 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1434 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1435 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1436 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1437 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1438 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1439 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1440 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1441 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1442 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1443 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1444 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1445 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1446 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1447 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1448 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1449 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1450 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1451 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1452 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1453 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1454 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1455 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1456 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1457 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1458 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1459 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1460 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1461 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1462 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1463 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1464 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1465 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1466 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1467 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1468 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1469 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1470 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1471 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1472 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1473 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1474 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1475 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1476 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1477 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1478 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1479 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1480 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1481 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
1482 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
1483 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
1484 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
1485 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1486 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1487 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1488 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1489 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1490 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1491 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1492 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1493 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1494 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1495 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1496 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1497 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1498 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1499 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1500 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1501 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1502 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1503 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1504 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1506 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1507 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1508 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1509 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1511 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1512 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1513 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1514 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1515 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1516 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1517 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1518 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1519 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1520 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1521 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1522 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1523 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1524 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1525 #ifdef VK_ENABLE_BETA_EXTENSIONS
1526 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1528 #ifdef VK_ENABLE_BETA_EXTENSIONS
1529 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1531 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1532 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1533 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1534 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1535 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1536 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1537 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1538 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1539 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1540 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1541 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1542 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1543 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1544 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1545 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1546 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1547 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1549 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1550 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
1551 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1552 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1553 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1554 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1555 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1556 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1557 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1558 #ifdef VK_ENABLE_BETA_EXTENSIONS
1559 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1561 #ifdef VK_ENABLE_BETA_EXTENSIONS
1562 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
1564 #ifdef VK_ENABLE_BETA_EXTENSIONS
1565 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
1567 #ifdef VK_ENABLE_BETA_EXTENSIONS
1568 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
1570 #ifdef VK_ENABLE_BETA_EXTENSIONS
1571 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
1573 #ifdef VK_ENABLE_BETA_EXTENSIONS
1574 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
1576 #ifdef VK_ENABLE_BETA_EXTENSIONS
1577 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
1579 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1580 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1581 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1582 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1583 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1584 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
1585 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1586 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1587 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1588 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
1589 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1590 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1591 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1592 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1593 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1594 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1595 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1596 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1597 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1598 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1599 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1600 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1602 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1603 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1604 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1605 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
1606 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1607 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1608 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1609 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
1611 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
1612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
1613 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1614 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1615 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1618 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1622 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1623 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1624 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1625 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1626 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1627 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
1629 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1630 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
1631 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
1632 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
1633 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
1634 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
1635 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
1636 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
1637 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
1638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
1639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
1640 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
1641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
1642 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
1643 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
1644 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
1645 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
1646 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
1647 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
1648 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
1649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
1650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
1651 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
1652 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
1653 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
1654 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
1655 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
1656 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
1657 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
1658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
1659 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
1660 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
1661 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
1662 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
1663 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
1664 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
1665 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
1666 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
1667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
1668 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
1669 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
1670 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = 1000280000,
1671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = 1000280001,
1672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
1673 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
1674 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
1675 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
1676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
1677 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
1678 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
1679 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
1680 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
1681 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
1682 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
1683 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
1684 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
1685 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
1686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
1687 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
1688 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
1689 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
1690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
1691 #ifdef VK_ENABLE_BETA_EXTENSIONS
1692 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
1694 #ifdef VK_ENABLE_BETA_EXTENSIONS
1695 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
1697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1698 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1699 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
1700 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
1701 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
1702 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
1703 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
1704 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
1705 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
1706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
1707 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1708 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
1710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
1711 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1713 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1714 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
1715 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
1716 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
1717 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1718 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1720 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
1722 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1723 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
1724 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
1725 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
1726 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
1727 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
1728 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
1729 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
1730 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
1731 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
1732 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
1733 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
1734 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1735 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1736 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1737 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1739 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1740 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
1742 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_EXTENDED_KHR = 1000360000,
1743 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1744 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1745 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1746 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1747 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1748 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
1749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
1750 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
1751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
1752 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
1753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
1754 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1755 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1756 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1757 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000,
1759 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001,
1760 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
1761 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
1762 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = 1000413000,
1763 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = 1000413001,
1764 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = 1000413002,
1765 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = 1000413003,
1766 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1768 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1769 VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
1770 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1773 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1775 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1776 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1777 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1778 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1779 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1780 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1781 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1782 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1783 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1784 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1785 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1786 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1787 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1788 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1790 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1791 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1792 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1793 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1794 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1795 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1796 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1797 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1798 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1800 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1801 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1805 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1806 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1808 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1809 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1810 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1811 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1812 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1813 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1814 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1815 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1816 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1817 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1818 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1819 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1820 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1822 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1823 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1824 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1825 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1827 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1828 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1830 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1831 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1832 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1833 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1834 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1835 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1836 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1837 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1838 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1839 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1840 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1841 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1842 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1843 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1844 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1845 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1846 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1848 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1849 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1851 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1852 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1853 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1854 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1855 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1856 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1857 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1858 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1859 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1860 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1861 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1862 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1863 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1864 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1865 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1866 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1867 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1868 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1869 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1870 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1871 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1872 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1873 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1874 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1875 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1876 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1877 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1878 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1879 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1880 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1881 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1884 typedef enum VkImageLayout {
1885 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1886 VK_IMAGE_LAYOUT_GENERAL = 1,
1887 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1888 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1889 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1890 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1891 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1892 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1893 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1894 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1895 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1896 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1897 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1898 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1899 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1900 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1901 #ifdef VK_ENABLE_BETA_EXTENSIONS
1902 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1904 #ifdef VK_ENABLE_BETA_EXTENSIONS
1905 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1907 #ifdef VK_ENABLE_BETA_EXTENSIONS
1908 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1910 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1911 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1912 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
1913 #ifdef VK_ENABLE_BETA_EXTENSIONS
1914 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1916 #ifdef VK_ENABLE_BETA_EXTENSIONS
1917 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1919 #ifdef VK_ENABLE_BETA_EXTENSIONS
1920 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1922 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1923 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1924 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1925 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1926 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1927 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1928 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1929 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1930 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1931 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1934 typedef enum VkObjectType {
1935 VK_OBJECT_TYPE_UNKNOWN = 0,
1936 VK_OBJECT_TYPE_INSTANCE = 1,
1937 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1938 VK_OBJECT_TYPE_DEVICE = 3,
1939 VK_OBJECT_TYPE_QUEUE = 4,
1940 VK_OBJECT_TYPE_SEMAPHORE = 5,
1941 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1942 VK_OBJECT_TYPE_FENCE = 7,
1943 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1944 VK_OBJECT_TYPE_BUFFER = 9,
1945 VK_OBJECT_TYPE_IMAGE = 10,
1946 VK_OBJECT_TYPE_EVENT = 11,
1947 VK_OBJECT_TYPE_QUERY_POOL = 12,
1948 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1949 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1950 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1951 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1952 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1953 VK_OBJECT_TYPE_RENDER_PASS = 18,
1954 VK_OBJECT_TYPE_PIPELINE = 19,
1955 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1956 VK_OBJECT_TYPE_SAMPLER = 21,
1957 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1958 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1959 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1960 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1961 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1962 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1963 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1964 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1965 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1966 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1967 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1968 #ifdef VK_ENABLE_BETA_EXTENSIONS
1969 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1971 #ifdef VK_ENABLE_BETA_EXTENSIONS
1972 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1974 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1975 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1976 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1977 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1978 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1979 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1980 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1981 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1982 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1983 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1984 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1985 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1986 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1989 typedef enum VkPipelineCacheHeaderVersion {
1990 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1991 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1992 } VkPipelineCacheHeaderVersion;
1994 typedef enum VkVendorId {
1995 VK_VENDOR_ID_VIV = 0x10001,
1996 VK_VENDOR_ID_VSI = 0x10002,
1997 VK_VENDOR_ID_KAZAN = 0x10003,
1998 VK_VENDOR_ID_CODEPLAY = 0x10004,
1999 VK_VENDOR_ID_MESA = 0x10005,
2000 VK_VENDOR_ID_POCL = 0x10006,
2001 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
2004 typedef enum VkSystemAllocationScope {
2005 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
2006 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
2007 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
2008 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
2009 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
2010 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
2011 } VkSystemAllocationScope;
2013 typedef enum VkInternalAllocationType {
2014 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
2015 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
2016 } VkInternalAllocationType;
2018 typedef enum VkFormat {
2019 VK_FORMAT_UNDEFINED = 0,
2020 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
2021 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
2022 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
2023 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
2024 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
2025 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
2026 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
2027 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
2028 VK_FORMAT_R8_UNORM = 9,
2029 VK_FORMAT_R8_SNORM = 10,
2030 VK_FORMAT_R8_USCALED = 11,
2031 VK_FORMAT_R8_SSCALED = 12,
2032 VK_FORMAT_R8_UINT = 13,
2033 VK_FORMAT_R8_SINT = 14,
2034 VK_FORMAT_R8_SRGB = 15,
2035 VK_FORMAT_R8G8_UNORM = 16,
2036 VK_FORMAT_R8G8_SNORM = 17,
2037 VK_FORMAT_R8G8_USCALED = 18,
2038 VK_FORMAT_R8G8_SSCALED = 19,
2039 VK_FORMAT_R8G8_UINT = 20,
2040 VK_FORMAT_R8G8_SINT = 21,
2041 VK_FORMAT_R8G8_SRGB = 22,
2042 VK_FORMAT_R8G8B8_UNORM = 23,
2043 VK_FORMAT_R8G8B8_SNORM = 24,
2044 VK_FORMAT_R8G8B8_USCALED = 25,
2045 VK_FORMAT_R8G8B8_SSCALED = 26,
2046 VK_FORMAT_R8G8B8_UINT = 27,
2047 VK_FORMAT_R8G8B8_SINT = 28,
2048 VK_FORMAT_R8G8B8_SRGB = 29,
2049 VK_FORMAT_B8G8R8_UNORM = 30,
2050 VK_FORMAT_B8G8R8_SNORM = 31,
2051 VK_FORMAT_B8G8R8_USCALED = 32,
2052 VK_FORMAT_B8G8R8_SSCALED = 33,
2053 VK_FORMAT_B8G8R8_UINT = 34,
2054 VK_FORMAT_B8G8R8_SINT = 35,
2055 VK_FORMAT_B8G8R8_SRGB = 36,
2056 VK_FORMAT_R8G8B8A8_UNORM = 37,
2057 VK_FORMAT_R8G8B8A8_SNORM = 38,
2058 VK_FORMAT_R8G8B8A8_USCALED = 39,
2059 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2060 VK_FORMAT_R8G8B8A8_UINT = 41,
2061 VK_FORMAT_R8G8B8A8_SINT = 42,
2062 VK_FORMAT_R8G8B8A8_SRGB = 43,
2063 VK_FORMAT_B8G8R8A8_UNORM = 44,
2064 VK_FORMAT_B8G8R8A8_SNORM = 45,
2065 VK_FORMAT_B8G8R8A8_USCALED = 46,
2066 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2067 VK_FORMAT_B8G8R8A8_UINT = 48,
2068 VK_FORMAT_B8G8R8A8_SINT = 49,
2069 VK_FORMAT_B8G8R8A8_SRGB = 50,
2070 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2071 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2072 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2073 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2074 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2075 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2076 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2077 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2078 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2079 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2080 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2081 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2082 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2083 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2084 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2085 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2086 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2087 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2088 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2089 VK_FORMAT_R16_UNORM = 70,
2090 VK_FORMAT_R16_SNORM = 71,
2091 VK_FORMAT_R16_USCALED = 72,
2092 VK_FORMAT_R16_SSCALED = 73,
2093 VK_FORMAT_R16_UINT = 74,
2094 VK_FORMAT_R16_SINT = 75,
2095 VK_FORMAT_R16_SFLOAT = 76,
2096 VK_FORMAT_R16G16_UNORM = 77,
2097 VK_FORMAT_R16G16_SNORM = 78,
2098 VK_FORMAT_R16G16_USCALED = 79,
2099 VK_FORMAT_R16G16_SSCALED = 80,
2100 VK_FORMAT_R16G16_UINT = 81,
2101 VK_FORMAT_R16G16_SINT = 82,
2102 VK_FORMAT_R16G16_SFLOAT = 83,
2103 VK_FORMAT_R16G16B16_UNORM = 84,
2104 VK_FORMAT_R16G16B16_SNORM = 85,
2105 VK_FORMAT_R16G16B16_USCALED = 86,
2106 VK_FORMAT_R16G16B16_SSCALED = 87,
2107 VK_FORMAT_R16G16B16_UINT = 88,
2108 VK_FORMAT_R16G16B16_SINT = 89,
2109 VK_FORMAT_R16G16B16_SFLOAT = 90,
2110 VK_FORMAT_R16G16B16A16_UNORM = 91,
2111 VK_FORMAT_R16G16B16A16_SNORM = 92,
2112 VK_FORMAT_R16G16B16A16_USCALED = 93,
2113 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2114 VK_FORMAT_R16G16B16A16_UINT = 95,
2115 VK_FORMAT_R16G16B16A16_SINT = 96,
2116 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2117 VK_FORMAT_R32_UINT = 98,
2118 VK_FORMAT_R32_SINT = 99,
2119 VK_FORMAT_R32_SFLOAT = 100,
2120 VK_FORMAT_R32G32_UINT = 101,
2121 VK_FORMAT_R32G32_SINT = 102,
2122 VK_FORMAT_R32G32_SFLOAT = 103,
2123 VK_FORMAT_R32G32B32_UINT = 104,
2124 VK_FORMAT_R32G32B32_SINT = 105,
2125 VK_FORMAT_R32G32B32_SFLOAT = 106,
2126 VK_FORMAT_R32G32B32A32_UINT = 107,
2127 VK_FORMAT_R32G32B32A32_SINT = 108,
2128 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2129 VK_FORMAT_R64_UINT = 110,
2130 VK_FORMAT_R64_SINT = 111,
2131 VK_FORMAT_R64_SFLOAT = 112,
2132 VK_FORMAT_R64G64_UINT = 113,
2133 VK_FORMAT_R64G64_SINT = 114,
2134 VK_FORMAT_R64G64_SFLOAT = 115,
2135 VK_FORMAT_R64G64B64_UINT = 116,
2136 VK_FORMAT_R64G64B64_SINT = 117,
2137 VK_FORMAT_R64G64B64_SFLOAT = 118,
2138 VK_FORMAT_R64G64B64A64_UINT = 119,
2139 VK_FORMAT_R64G64B64A64_SINT = 120,
2140 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2141 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2142 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2143 VK_FORMAT_D16_UNORM = 124,
2144 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2145 VK_FORMAT_D32_SFLOAT = 126,
2146 VK_FORMAT_S8_UINT = 127,
2147 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2148 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2149 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2150 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2151 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2152 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2153 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2154 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2155 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2156 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2157 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2158 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2159 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2160 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2161 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2162 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2163 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2164 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2165 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2166 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2167 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2168 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2169 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2170 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2171 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2172 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2173 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2174 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2175 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2176 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2177 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2178 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2179 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2180 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2181 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2182 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2183 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2184 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2185 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2186 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2187 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2188 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2189 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2190 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2191 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2192 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2193 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2194 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2195 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2196 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2197 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2198 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2199 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2200 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2201 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2202 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2203 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2204 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2205 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2206 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2207 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2208 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2209 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2210 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2211 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2212 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2213 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2214 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2215 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2216 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2217 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2218 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2219 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2220 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2221 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2222 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2223 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2224 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2225 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2226 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2227 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2228 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2229 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2230 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2231 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2232 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2233 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2234 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2235 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2236 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2237 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2238 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2239 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2240 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2241 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2242 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2243 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2244 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2245 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2246 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
2247 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
2248 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
2249 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
2250 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
2251 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
2252 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
2253 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
2254 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
2255 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
2256 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
2257 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
2258 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
2259 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
2260 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
2261 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
2262 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
2263 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
2264 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
2265 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
2266 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2267 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2268 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2269 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2270 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2271 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2272 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2273 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2274 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2275 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2276 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2277 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2278 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2279 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2280 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2281 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2282 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2283 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2284 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2285 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2286 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2287 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2288 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2289 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2290 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2291 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2292 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2293 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2294 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2295 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2296 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2297 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2298 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2299 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2300 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2303 typedef enum VkImageTiling {
2304 VK_IMAGE_TILING_OPTIMAL = 0,
2305 VK_IMAGE_TILING_LINEAR = 1,
2306 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2307 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2310 typedef enum VkImageType {
2311 VK_IMAGE_TYPE_1D = 0,
2312 VK_IMAGE_TYPE_2D = 1,
2313 VK_IMAGE_TYPE_3D = 2,
2314 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2317 typedef enum VkPhysicalDeviceType {
2318 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2319 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2320 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2321 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2322 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2323 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2324 } VkPhysicalDeviceType;
2326 typedef enum VkQueryType {
2327 VK_QUERY_TYPE_OCCLUSION = 0,
2328 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2329 VK_QUERY_TYPE_TIMESTAMP = 2,
2330 #ifdef VK_ENABLE_BETA_EXTENSIONS
2331 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2333 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2334 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2335 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2336 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2337 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2338 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2339 #ifdef VK_ENABLE_BETA_EXTENSIONS
2340 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2342 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2345 typedef enum VkSharingMode {
2346 VK_SHARING_MODE_EXCLUSIVE = 0,
2347 VK_SHARING_MODE_CONCURRENT = 1,
2348 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2351 typedef enum VkComponentSwizzle {
2352 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2353 VK_COMPONENT_SWIZZLE_ZERO = 1,
2354 VK_COMPONENT_SWIZZLE_ONE = 2,
2355 VK_COMPONENT_SWIZZLE_R = 3,
2356 VK_COMPONENT_SWIZZLE_G = 4,
2357 VK_COMPONENT_SWIZZLE_B = 5,
2358 VK_COMPONENT_SWIZZLE_A = 6,
2359 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2360 } VkComponentSwizzle;
2362 typedef enum VkImageViewType {
2363 VK_IMAGE_VIEW_TYPE_1D = 0,
2364 VK_IMAGE_VIEW_TYPE_2D = 1,
2365 VK_IMAGE_VIEW_TYPE_3D = 2,
2366 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2367 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2368 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2369 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2370 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2373 typedef enum VkBlendFactor {
2374 VK_BLEND_FACTOR_ZERO = 0,
2375 VK_BLEND_FACTOR_ONE = 1,
2376 VK_BLEND_FACTOR_SRC_COLOR = 2,
2377 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2378 VK_BLEND_FACTOR_DST_COLOR = 4,
2379 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2380 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2381 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2382 VK_BLEND_FACTOR_DST_ALPHA = 8,
2383 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2384 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2385 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2386 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2387 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2388 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2389 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2390 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2391 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2392 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2393 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2396 typedef enum VkBlendOp {
2397 VK_BLEND_OP_ADD = 0,
2398 VK_BLEND_OP_SUBTRACT = 1,
2399 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2400 VK_BLEND_OP_MIN = 3,
2401 VK_BLEND_OP_MAX = 4,
2402 VK_BLEND_OP_ZERO_EXT = 1000148000,
2403 VK_BLEND_OP_SRC_EXT = 1000148001,
2404 VK_BLEND_OP_DST_EXT = 1000148002,
2405 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2406 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2407 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2408 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2409 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2410 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2411 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2412 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2413 VK_BLEND_OP_XOR_EXT = 1000148011,
2414 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2415 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2416 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2417 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2418 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2419 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2420 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2421 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2422 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2423 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2424 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2425 VK_BLEND_OP_INVERT_EXT = 1000148023,
2426 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2427 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2428 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2429 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2430 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2431 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2432 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2433 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2434 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2435 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2436 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2437 VK_BLEND_OP_PLUS_EXT = 1000148035,
2438 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2439 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2440 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2441 VK_BLEND_OP_MINUS_EXT = 1000148039,
2442 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2443 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2444 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2445 VK_BLEND_OP_RED_EXT = 1000148043,
2446 VK_BLEND_OP_GREEN_EXT = 1000148044,
2447 VK_BLEND_OP_BLUE_EXT = 1000148045,
2448 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2451 typedef enum VkCompareOp {
2452 VK_COMPARE_OP_NEVER = 0,
2453 VK_COMPARE_OP_LESS = 1,
2454 VK_COMPARE_OP_EQUAL = 2,
2455 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2456 VK_COMPARE_OP_GREATER = 4,
2457 VK_COMPARE_OP_NOT_EQUAL = 5,
2458 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2459 VK_COMPARE_OP_ALWAYS = 7,
2460 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2463 typedef enum VkDynamicState {
2464 VK_DYNAMIC_STATE_VIEWPORT = 0,
2465 VK_DYNAMIC_STATE_SCISSOR = 1,
2466 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2467 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2468 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2469 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2470 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2471 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2472 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2473 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2474 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2475 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2476 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2477 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2478 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2479 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2480 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2481 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2482 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
2483 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
2484 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
2485 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
2486 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
2487 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
2488 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
2489 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
2490 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
2491 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
2492 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
2493 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
2494 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2495 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2496 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
2497 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
2498 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2499 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
2500 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2501 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2504 typedef enum VkFrontFace {
2505 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2506 VK_FRONT_FACE_CLOCKWISE = 1,
2507 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2510 typedef enum VkVertexInputRate {
2511 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2512 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2513 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2514 } VkVertexInputRate;
2516 typedef enum VkPrimitiveTopology {
2517 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2518 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2519 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2520 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2521 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2522 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2523 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2524 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2525 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2526 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2527 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2528 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2529 } VkPrimitiveTopology;
2531 typedef enum VkPolygonMode {
2532 VK_POLYGON_MODE_FILL = 0,
2533 VK_POLYGON_MODE_LINE = 1,
2534 VK_POLYGON_MODE_POINT = 2,
2535 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2536 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2539 typedef enum VkStencilOp {
2540 VK_STENCIL_OP_KEEP = 0,
2541 VK_STENCIL_OP_ZERO = 1,
2542 VK_STENCIL_OP_REPLACE = 2,
2543 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2544 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2545 VK_STENCIL_OP_INVERT = 5,
2546 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2547 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2548 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2551 typedef enum VkLogicOp {
2552 VK_LOGIC_OP_CLEAR = 0,
2553 VK_LOGIC_OP_AND = 1,
2554 VK_LOGIC_OP_AND_REVERSE = 2,
2555 VK_LOGIC_OP_COPY = 3,
2556 VK_LOGIC_OP_AND_INVERTED = 4,
2557 VK_LOGIC_OP_NO_OP = 5,
2558 VK_LOGIC_OP_XOR = 6,
2560 VK_LOGIC_OP_NOR = 8,
2561 VK_LOGIC_OP_EQUIVALENT = 9,
2562 VK_LOGIC_OP_INVERT = 10,
2563 VK_LOGIC_OP_OR_REVERSE = 11,
2564 VK_LOGIC_OP_COPY_INVERTED = 12,
2565 VK_LOGIC_OP_OR_INVERTED = 13,
2566 VK_LOGIC_OP_NAND = 14,
2567 VK_LOGIC_OP_SET = 15,
2568 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2571 typedef enum VkBorderColor {
2572 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2573 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2574 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2575 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2576 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2577 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2578 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2579 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2580 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2583 typedef enum VkFilter {
2584 VK_FILTER_NEAREST = 0,
2585 VK_FILTER_LINEAR = 1,
2586 VK_FILTER_CUBIC_IMG = 1000015000,
2587 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2588 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2591 typedef enum VkSamplerAddressMode {
2592 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2593 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2594 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2595 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2596 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2597 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2598 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2599 } VkSamplerAddressMode;
2601 typedef enum VkSamplerMipmapMode {
2602 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2603 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2604 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2605 } VkSamplerMipmapMode;
2607 typedef enum VkDescriptorType {
2608 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2609 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2610 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2611 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2612 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2613 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2614 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2615 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2616 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2617 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2618 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2619 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
2620 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2621 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2622 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2623 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2626 typedef enum VkAttachmentLoadOp {
2627 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2628 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2629 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2630 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
2631 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2632 } VkAttachmentLoadOp;
2634 typedef enum VkAttachmentStoreOp {
2635 VK_ATTACHMENT_STORE_OP_STORE = 0,
2636 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2637 VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000,
2638 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE_EXT,
2639 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2640 } VkAttachmentStoreOp;
2642 typedef enum VkPipelineBindPoint {
2643 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2644 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2645 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2646 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
2647 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2648 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2649 } VkPipelineBindPoint;
2651 typedef enum VkCommandBufferLevel {
2652 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2653 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2654 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2655 } VkCommandBufferLevel;
2657 typedef enum VkIndexType {
2658 VK_INDEX_TYPE_UINT16 = 0,
2659 VK_INDEX_TYPE_UINT32 = 1,
2660 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2661 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2662 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2663 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2666 typedef enum VkSubpassContents {
2667 VK_SUBPASS_CONTENTS_INLINE = 0,
2668 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2669 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2670 } VkSubpassContents;
2672 typedef enum VkAccessFlagBits {
2673 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2674 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2675 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2676 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2677 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2678 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2679 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2680 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2681 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2682 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2683 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2684 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2685 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2686 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2687 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2688 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2689 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2690 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2691 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2692 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2693 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2694 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2695 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2696 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2697 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2698 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
2699 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2700 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2701 VK_ACCESS_NONE_KHR = 0,
2702 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2703 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2704 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2705 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2707 typedef VkFlags VkAccessFlags;
2709 typedef enum VkImageAspectFlagBits {
2710 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2711 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2712 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2713 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2714 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2715 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2716 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2717 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2718 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2719 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2720 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2721 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2722 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2723 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2724 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2725 } VkImageAspectFlagBits;
2726 typedef VkFlags VkImageAspectFlags;
2728 typedef enum VkFormatFeatureFlagBits {
2729 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2730 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2731 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2732 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2733 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2734 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2735 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2736 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2737 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2738 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2739 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2740 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2741 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2742 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2743 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2744 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2745 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2746 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2747 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2748 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2749 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2750 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2751 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2752 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2753 #ifdef VK_ENABLE_BETA_EXTENSIONS
2754 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2756 #ifdef VK_ENABLE_BETA_EXTENSIONS
2757 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2759 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2760 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2761 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2762 #ifdef VK_ENABLE_BETA_EXTENSIONS
2763 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2765 #ifdef VK_ENABLE_BETA_EXTENSIONS
2766 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2768 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2769 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2770 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2771 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2772 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2773 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2774 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2775 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,
2776 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2777 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2778 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2779 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2780 } VkFormatFeatureFlagBits;
2781 typedef VkFlags VkFormatFeatureFlags;
2783 typedef enum VkImageCreateFlagBits {
2784 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2785 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2786 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2787 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2788 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2789 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2790 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2791 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2792 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2793 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2794 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2795 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2796 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2797 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2798 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2799 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2800 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2801 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2802 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2803 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2804 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2805 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2806 } VkImageCreateFlagBits;
2807 typedef VkFlags VkImageCreateFlags;
2809 typedef enum VkSampleCountFlagBits {
2810 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2811 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2812 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2813 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2814 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2815 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2816 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2817 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2818 } VkSampleCountFlagBits;
2819 typedef VkFlags VkSampleCountFlags;
2821 typedef enum VkImageUsageFlagBits {
2822 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2823 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2824 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2825 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2826 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2827 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2828 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2829 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2830 #ifdef VK_ENABLE_BETA_EXTENSIONS
2831 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2833 #ifdef VK_ENABLE_BETA_EXTENSIONS
2834 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2836 #ifdef VK_ENABLE_BETA_EXTENSIONS
2837 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2839 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2840 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
2841 #ifdef VK_ENABLE_BETA_EXTENSIONS
2842 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2844 #ifdef VK_ENABLE_BETA_EXTENSIONS
2845 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2847 #ifdef VK_ENABLE_BETA_EXTENSIONS
2848 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2850 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
2851 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2852 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2853 } VkImageUsageFlagBits;
2854 typedef VkFlags VkImageUsageFlags;
2855 typedef VkFlags VkInstanceCreateFlags;
2857 typedef enum VkMemoryHeapFlagBits {
2858 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2859 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2860 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2861 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2862 } VkMemoryHeapFlagBits;
2863 typedef VkFlags VkMemoryHeapFlags;
2865 typedef enum VkMemoryPropertyFlagBits {
2866 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2867 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2868 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2869 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2870 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2871 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2872 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2873 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2874 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
2875 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2876 } VkMemoryPropertyFlagBits;
2877 typedef VkFlags VkMemoryPropertyFlags;
2879 typedef enum VkQueueFlagBits {
2880 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2881 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2882 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2883 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2884 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2885 #ifdef VK_ENABLE_BETA_EXTENSIONS
2886 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2888 #ifdef VK_ENABLE_BETA_EXTENSIONS
2889 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2891 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2893 typedef VkFlags VkQueueFlags;
2894 typedef VkFlags VkDeviceCreateFlags;
2896 typedef enum VkDeviceQueueCreateFlagBits {
2897 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2898 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2899 } VkDeviceQueueCreateFlagBits;
2900 typedef VkFlags VkDeviceQueueCreateFlags;
2902 typedef enum VkPipelineStageFlagBits {
2903 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2904 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2905 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2906 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2907 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2908 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2909 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2910 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2911 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2912 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2913 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2914 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2915 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2916 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2917 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2918 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2919 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2920 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2921 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2922 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2923 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2924 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2925 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2926 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2927 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2928 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2929 VK_PIPELINE_STAGE_NONE_KHR = 0,
2930 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2931 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2932 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2933 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2934 } VkPipelineStageFlagBits;
2935 typedef VkFlags VkPipelineStageFlags;
2936 typedef VkFlags VkMemoryMapFlags;
2938 typedef enum VkSparseMemoryBindFlagBits {
2939 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2940 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2941 } VkSparseMemoryBindFlagBits;
2942 typedef VkFlags VkSparseMemoryBindFlags;
2944 typedef enum VkSparseImageFormatFlagBits {
2945 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2946 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2947 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2948 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2949 } VkSparseImageFormatFlagBits;
2950 typedef VkFlags VkSparseImageFormatFlags;
2952 typedef enum VkFenceCreateFlagBits {
2953 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2954 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2955 } VkFenceCreateFlagBits;
2956 typedef VkFlags VkFenceCreateFlags;
2957 typedef VkFlags VkSemaphoreCreateFlags;
2959 typedef enum VkEventCreateFlagBits {
2960 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2961 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2962 } VkEventCreateFlagBits;
2963 typedef VkFlags VkEventCreateFlags;
2965 typedef enum VkQueryPipelineStatisticFlagBits {
2966 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2967 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2968 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2969 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2970 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2971 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2972 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2973 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2974 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2975 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2976 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2977 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2978 } VkQueryPipelineStatisticFlagBits;
2979 typedef VkFlags VkQueryPipelineStatisticFlags;
2980 typedef VkFlags VkQueryPoolCreateFlags;
2982 typedef enum VkQueryResultFlagBits {
2983 VK_QUERY_RESULT_64_BIT = 0x00000001,
2984 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2985 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2986 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2987 #ifdef VK_ENABLE_BETA_EXTENSIONS
2988 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2990 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2991 } VkQueryResultFlagBits;
2992 typedef VkFlags VkQueryResultFlags;
2994 typedef enum VkBufferCreateFlagBits {
2995 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2996 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2997 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2998 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2999 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
3000 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3001 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
3002 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3003 } VkBufferCreateFlagBits;
3004 typedef VkFlags VkBufferCreateFlags;
3006 typedef enum VkBufferUsageFlagBits {
3007 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
3008 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
3009 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
3010 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
3011 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
3012 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
3013 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
3014 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
3015 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
3016 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
3017 #ifdef VK_ENABLE_BETA_EXTENSIONS
3018 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
3020 #ifdef VK_ENABLE_BETA_EXTENSIONS
3021 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
3023 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
3024 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
3025 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
3026 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
3027 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
3028 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
3029 #ifdef VK_ENABLE_BETA_EXTENSIONS
3030 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
3032 #ifdef VK_ENABLE_BETA_EXTENSIONS
3033 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
3035 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
3036 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3037 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3038 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3039 } VkBufferUsageFlagBits;
3040 typedef VkFlags VkBufferUsageFlags;
3041 typedef VkFlags VkBufferViewCreateFlags;
3043 typedef enum VkImageViewCreateFlagBits {
3044 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
3045 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
3046 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3047 } VkImageViewCreateFlagBits;
3048 typedef VkFlags VkImageViewCreateFlags;
3050 typedef enum VkShaderModuleCreateFlagBits {
3051 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3052 } VkShaderModuleCreateFlagBits;
3053 typedef VkFlags VkShaderModuleCreateFlags;
3055 typedef enum VkPipelineCacheCreateFlagBits {
3056 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
3057 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3058 } VkPipelineCacheCreateFlagBits;
3059 typedef VkFlags VkPipelineCacheCreateFlags;
3061 typedef enum VkColorComponentFlagBits {
3062 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3063 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3064 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3065 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3066 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3067 } VkColorComponentFlagBits;
3068 typedef VkFlags VkColorComponentFlags;
3070 typedef enum VkPipelineCreateFlagBits {
3071 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3072 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3073 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3074 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3075 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3076 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000,
3077 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000,
3078 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3079 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3080 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3081 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3082 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3083 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3084 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3085 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3086 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3087 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3088 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3089 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3090 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
3091 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
3092 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
3093 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3094 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3095 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3096 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3097 } VkPipelineCreateFlagBits;
3098 typedef VkFlags VkPipelineCreateFlags;
3100 typedef enum VkPipelineShaderStageCreateFlagBits {
3101 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
3102 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
3103 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3104 } VkPipelineShaderStageCreateFlagBits;
3105 typedef VkFlags VkPipelineShaderStageCreateFlags;
3107 typedef enum VkShaderStageFlagBits {
3108 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3109 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3110 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3111 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3112 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3113 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3114 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3115 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3116 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3117 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3118 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3119 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3120 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3121 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3122 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3123 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3124 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
3125 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3126 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3127 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3128 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3129 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3130 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3131 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3132 } VkShaderStageFlagBits;
3134 typedef enum VkCullModeFlagBits {
3135 VK_CULL_MODE_NONE = 0,
3136 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3137 VK_CULL_MODE_BACK_BIT = 0x00000002,
3138 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3139 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3140 } VkCullModeFlagBits;
3141 typedef VkFlags VkCullModeFlags;
3142 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3143 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3144 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3145 typedef VkFlags VkPipelineViewportStateCreateFlags;
3146 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3147 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3148 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3149 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3150 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3151 typedef VkFlags VkPipelineLayoutCreateFlags;
3152 typedef VkFlags VkShaderStageFlags;
3154 typedef enum VkSamplerCreateFlagBits {
3155 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3156 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3157 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3158 } VkSamplerCreateFlagBits;
3159 typedef VkFlags VkSamplerCreateFlags;
3161 typedef enum VkDescriptorPoolCreateFlagBits {
3162 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3163 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3164 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3165 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3166 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3167 } VkDescriptorPoolCreateFlagBits;
3168 typedef VkFlags VkDescriptorPoolCreateFlags;
3169 typedef VkFlags VkDescriptorPoolResetFlags;
3171 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3172 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3173 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3174 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3175 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3176 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3177 } VkDescriptorSetLayoutCreateFlagBits;
3178 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3180 typedef enum VkAttachmentDescriptionFlagBits {
3181 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3182 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3183 } VkAttachmentDescriptionFlagBits;
3184 typedef VkFlags VkAttachmentDescriptionFlags;
3186 typedef enum VkDependencyFlagBits {
3187 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3188 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3189 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3190 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3191 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3192 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3193 } VkDependencyFlagBits;
3194 typedef VkFlags VkDependencyFlags;
3196 typedef enum VkFramebufferCreateFlagBits {
3197 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3198 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3199 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3200 } VkFramebufferCreateFlagBits;
3201 typedef VkFlags VkFramebufferCreateFlags;
3203 typedef enum VkRenderPassCreateFlagBits {
3204 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3205 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3206 } VkRenderPassCreateFlagBits;
3207 typedef VkFlags VkRenderPassCreateFlags;
3209 typedef enum VkSubpassDescriptionFlagBits {
3210 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3211 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3212 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3213 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3214 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3215 } VkSubpassDescriptionFlagBits;
3216 typedef VkFlags VkSubpassDescriptionFlags;
3218 typedef enum VkCommandPoolCreateFlagBits {
3219 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3220 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3221 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3222 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3223 } VkCommandPoolCreateFlagBits;
3224 typedef VkFlags VkCommandPoolCreateFlags;
3226 typedef enum VkCommandPoolResetFlagBits {
3227 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3228 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3229 } VkCommandPoolResetFlagBits;
3230 typedef VkFlags VkCommandPoolResetFlags;
3232 typedef enum VkCommandBufferUsageFlagBits {
3233 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3234 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3235 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3236 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3237 } VkCommandBufferUsageFlagBits;
3238 typedef VkFlags VkCommandBufferUsageFlags;
3240 typedef enum VkQueryControlFlagBits {
3241 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3242 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3243 } VkQueryControlFlagBits;
3244 typedef VkFlags VkQueryControlFlags;
3246 typedef enum VkCommandBufferResetFlagBits {
3247 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3248 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3249 } VkCommandBufferResetFlagBits;
3250 typedef VkFlags VkCommandBufferResetFlags;
3252 typedef enum VkStencilFaceFlagBits {
3253 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3254 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3255 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3256 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3257 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3258 } VkStencilFaceFlagBits;
3259 typedef VkFlags VkStencilFaceFlags;
3260 typedef struct VkExtent2D {
3265 typedef struct VkExtent3D {
3271 typedef struct VkOffset2D {
3276 typedef struct VkOffset3D {
3282 typedef struct VkRect2D {
3287 typedef struct VkBaseInStructure {
3288 VkStructureType sType;
3289 const struct VkBaseInStructure* pNext;
3290 } VkBaseInStructure;
3292 typedef struct VkBaseOutStructure {
3293 VkStructureType sType;
3294 struct VkBaseOutStructure* pNext;
3295 } VkBaseOutStructure;
3297 typedef struct VkBufferMemoryBarrier {
3298 VkStructureType sType;
3300 VkAccessFlags srcAccessMask;
3301 VkAccessFlags dstAccessMask;
3302 deUint32 srcQueueFamilyIndex;
3303 deUint32 dstQueueFamilyIndex;
3305 VkDeviceSize offset;
3307 } VkBufferMemoryBarrier;
3309 typedef struct VkDispatchIndirectCommand {
3313 } VkDispatchIndirectCommand;
3315 typedef struct VkDrawIndexedIndirectCommand {
3316 deUint32 indexCount;
3317 deUint32 instanceCount;
3318 deUint32 firstIndex;
3319 deInt32 vertexOffset;
3320 deUint32 firstInstance;
3321 } VkDrawIndexedIndirectCommand;
3323 typedef struct VkDrawIndirectCommand {
3324 deUint32 vertexCount;
3325 deUint32 instanceCount;
3326 deUint32 firstVertex;
3327 deUint32 firstInstance;
3328 } VkDrawIndirectCommand;
3330 typedef struct VkImageSubresourceRange {
3331 VkImageAspectFlags aspectMask;
3332 deUint32 baseMipLevel;
3333 deUint32 levelCount;
3334 deUint32 baseArrayLayer;
3335 deUint32 layerCount;
3336 } VkImageSubresourceRange;
3338 typedef struct VkImageMemoryBarrier {
3339 VkStructureType sType;
3341 VkAccessFlags srcAccessMask;
3342 VkAccessFlags dstAccessMask;
3343 VkImageLayout oldLayout;
3344 VkImageLayout newLayout;
3345 deUint32 srcQueueFamilyIndex;
3346 deUint32 dstQueueFamilyIndex;
3348 VkImageSubresourceRange subresourceRange;
3349 } VkImageMemoryBarrier;
3351 typedef struct VkMemoryBarrier {
3352 VkStructureType sType;
3354 VkAccessFlags srcAccessMask;
3355 VkAccessFlags dstAccessMask;
3358 typedef struct VkPipelineCacheHeaderVersionOne {
3359 deUint32 headerSize;
3360 VkPipelineCacheHeaderVersion headerVersion;
3363 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3364 } VkPipelineCacheHeaderVersionOne;
3366 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3369 deUintptr alignment,
3370 VkSystemAllocationScope allocationScope);
3372 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3376 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3379 VkInternalAllocationType allocationType,
3380 VkSystemAllocationScope allocationScope);
3382 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3385 VkInternalAllocationType allocationType,
3386 VkSystemAllocationScope allocationScope);
3388 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3392 deUintptr alignment,
3393 VkSystemAllocationScope allocationScope);
3395 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3396 typedef struct VkAllocationCallbacks {
3398 PFN_vkAllocationFunction pfnAllocation;
3399 PFN_vkReallocationFunction pfnReallocation;
3400 PFN_vkFreeFunction pfnFree;
3401 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3402 PFN_vkInternalFreeNotification pfnInternalFree;
3403 } VkAllocationCallbacks;
3405 typedef struct VkApplicationInfo {
3406 VkStructureType sType;
3408 const char* pApplicationName;
3409 deUint32 applicationVersion;
3410 const char* pEngineName;
3411 deUint32 engineVersion;
3412 deUint32 apiVersion;
3413 } VkApplicationInfo;
3415 typedef struct VkFormatProperties {
3416 VkFormatFeatureFlags linearTilingFeatures;
3417 VkFormatFeatureFlags optimalTilingFeatures;
3418 VkFormatFeatureFlags bufferFeatures;
3419 } VkFormatProperties;
3421 typedef struct VkImageFormatProperties {
3422 VkExtent3D maxExtent;
3423 deUint32 maxMipLevels;
3424 deUint32 maxArrayLayers;
3425 VkSampleCountFlags sampleCounts;
3426 VkDeviceSize maxResourceSize;
3427 } VkImageFormatProperties;
3429 typedef struct VkInstanceCreateInfo {
3430 VkStructureType sType;
3432 VkInstanceCreateFlags flags;
3433 const VkApplicationInfo* pApplicationInfo;
3434 deUint32 enabledLayerCount;
3435 const char* const* ppEnabledLayerNames;
3436 deUint32 enabledExtensionCount;
3437 const char* const* ppEnabledExtensionNames;
3438 } VkInstanceCreateInfo;
3440 typedef struct VkMemoryHeap {
3442 VkMemoryHeapFlags flags;
3445 typedef struct VkMemoryType {
3446 VkMemoryPropertyFlags propertyFlags;
3450 typedef struct VkPhysicalDeviceFeatures {
3451 VkBool32 robustBufferAccess;
3452 VkBool32 fullDrawIndexUint32;
3453 VkBool32 imageCubeArray;
3454 VkBool32 independentBlend;
3455 VkBool32 geometryShader;
3456 VkBool32 tessellationShader;
3457 VkBool32 sampleRateShading;
3458 VkBool32 dualSrcBlend;
3460 VkBool32 multiDrawIndirect;
3461 VkBool32 drawIndirectFirstInstance;
3462 VkBool32 depthClamp;
3463 VkBool32 depthBiasClamp;
3464 VkBool32 fillModeNonSolid;
3465 VkBool32 depthBounds;
3467 VkBool32 largePoints;
3468 VkBool32 alphaToOne;
3469 VkBool32 multiViewport;
3470 VkBool32 samplerAnisotropy;
3471 VkBool32 textureCompressionETC2;
3472 VkBool32 textureCompressionASTC_LDR;
3473 VkBool32 textureCompressionBC;
3474 VkBool32 occlusionQueryPrecise;
3475 VkBool32 pipelineStatisticsQuery;
3476 VkBool32 vertexPipelineStoresAndAtomics;
3477 VkBool32 fragmentStoresAndAtomics;
3478 VkBool32 shaderTessellationAndGeometryPointSize;
3479 VkBool32 shaderImageGatherExtended;
3480 VkBool32 shaderStorageImageExtendedFormats;
3481 VkBool32 shaderStorageImageMultisample;
3482 VkBool32 shaderStorageImageReadWithoutFormat;
3483 VkBool32 shaderStorageImageWriteWithoutFormat;
3484 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3485 VkBool32 shaderSampledImageArrayDynamicIndexing;
3486 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3487 VkBool32 shaderStorageImageArrayDynamicIndexing;
3488 VkBool32 shaderClipDistance;
3489 VkBool32 shaderCullDistance;
3490 VkBool32 shaderFloat64;
3491 VkBool32 shaderInt64;
3492 VkBool32 shaderInt16;
3493 VkBool32 shaderResourceResidency;
3494 VkBool32 shaderResourceMinLod;
3495 VkBool32 sparseBinding;
3496 VkBool32 sparseResidencyBuffer;
3497 VkBool32 sparseResidencyImage2D;
3498 VkBool32 sparseResidencyImage3D;
3499 VkBool32 sparseResidency2Samples;
3500 VkBool32 sparseResidency4Samples;
3501 VkBool32 sparseResidency8Samples;
3502 VkBool32 sparseResidency16Samples;
3503 VkBool32 sparseResidencyAliased;
3504 VkBool32 variableMultisampleRate;
3505 VkBool32 inheritedQueries;
3506 } VkPhysicalDeviceFeatures;
3508 typedef struct VkPhysicalDeviceLimits {
3509 deUint32 maxImageDimension1D;
3510 deUint32 maxImageDimension2D;
3511 deUint32 maxImageDimension3D;
3512 deUint32 maxImageDimensionCube;
3513 deUint32 maxImageArrayLayers;
3514 deUint32 maxTexelBufferElements;
3515 deUint32 maxUniformBufferRange;
3516 deUint32 maxStorageBufferRange;
3517 deUint32 maxPushConstantsSize;
3518 deUint32 maxMemoryAllocationCount;
3519 deUint32 maxSamplerAllocationCount;
3520 VkDeviceSize bufferImageGranularity;
3521 VkDeviceSize sparseAddressSpaceSize;
3522 deUint32 maxBoundDescriptorSets;
3523 deUint32 maxPerStageDescriptorSamplers;
3524 deUint32 maxPerStageDescriptorUniformBuffers;
3525 deUint32 maxPerStageDescriptorStorageBuffers;
3526 deUint32 maxPerStageDescriptorSampledImages;
3527 deUint32 maxPerStageDescriptorStorageImages;
3528 deUint32 maxPerStageDescriptorInputAttachments;
3529 deUint32 maxPerStageResources;
3530 deUint32 maxDescriptorSetSamplers;
3531 deUint32 maxDescriptorSetUniformBuffers;
3532 deUint32 maxDescriptorSetUniformBuffersDynamic;
3533 deUint32 maxDescriptorSetStorageBuffers;
3534 deUint32 maxDescriptorSetStorageBuffersDynamic;
3535 deUint32 maxDescriptorSetSampledImages;
3536 deUint32 maxDescriptorSetStorageImages;
3537 deUint32 maxDescriptorSetInputAttachments;
3538 deUint32 maxVertexInputAttributes;
3539 deUint32 maxVertexInputBindings;
3540 deUint32 maxVertexInputAttributeOffset;
3541 deUint32 maxVertexInputBindingStride;
3542 deUint32 maxVertexOutputComponents;
3543 deUint32 maxTessellationGenerationLevel;
3544 deUint32 maxTessellationPatchSize;
3545 deUint32 maxTessellationControlPerVertexInputComponents;
3546 deUint32 maxTessellationControlPerVertexOutputComponents;
3547 deUint32 maxTessellationControlPerPatchOutputComponents;
3548 deUint32 maxTessellationControlTotalOutputComponents;
3549 deUint32 maxTessellationEvaluationInputComponents;
3550 deUint32 maxTessellationEvaluationOutputComponents;
3551 deUint32 maxGeometryShaderInvocations;
3552 deUint32 maxGeometryInputComponents;
3553 deUint32 maxGeometryOutputComponents;
3554 deUint32 maxGeometryOutputVertices;
3555 deUint32 maxGeometryTotalOutputComponents;
3556 deUint32 maxFragmentInputComponents;
3557 deUint32 maxFragmentOutputAttachments;
3558 deUint32 maxFragmentDualSrcAttachments;
3559 deUint32 maxFragmentCombinedOutputResources;
3560 deUint32 maxComputeSharedMemorySize;
3561 deUint32 maxComputeWorkGroupCount[3];
3562 deUint32 maxComputeWorkGroupInvocations;
3563 deUint32 maxComputeWorkGroupSize[3];
3564 deUint32 subPixelPrecisionBits;
3565 deUint32 subTexelPrecisionBits;
3566 deUint32 mipmapPrecisionBits;
3567 deUint32 maxDrawIndexedIndexValue;
3568 deUint32 maxDrawIndirectCount;
3569 float maxSamplerLodBias;
3570 float maxSamplerAnisotropy;
3571 deUint32 maxViewports;
3572 deUint32 maxViewportDimensions[2];
3573 float viewportBoundsRange[2];
3574 deUint32 viewportSubPixelBits;
3575 deUintptr minMemoryMapAlignment;
3576 VkDeviceSize minTexelBufferOffsetAlignment;
3577 VkDeviceSize minUniformBufferOffsetAlignment;
3578 VkDeviceSize minStorageBufferOffsetAlignment;
3579 deInt32 minTexelOffset;
3580 deUint32 maxTexelOffset;
3581 deInt32 minTexelGatherOffset;
3582 deUint32 maxTexelGatherOffset;
3583 float minInterpolationOffset;
3584 float maxInterpolationOffset;
3585 deUint32 subPixelInterpolationOffsetBits;
3586 deUint32 maxFramebufferWidth;
3587 deUint32 maxFramebufferHeight;
3588 deUint32 maxFramebufferLayers;
3589 VkSampleCountFlags framebufferColorSampleCounts;
3590 VkSampleCountFlags framebufferDepthSampleCounts;
3591 VkSampleCountFlags framebufferStencilSampleCounts;
3592 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3593 deUint32 maxColorAttachments;
3594 VkSampleCountFlags sampledImageColorSampleCounts;
3595 VkSampleCountFlags sampledImageIntegerSampleCounts;
3596 VkSampleCountFlags sampledImageDepthSampleCounts;
3597 VkSampleCountFlags sampledImageStencilSampleCounts;
3598 VkSampleCountFlags storageImageSampleCounts;
3599 deUint32 maxSampleMaskWords;
3600 VkBool32 timestampComputeAndGraphics;
3601 float timestampPeriod;
3602 deUint32 maxClipDistances;
3603 deUint32 maxCullDistances;
3604 deUint32 maxCombinedClipAndCullDistances;
3605 deUint32 discreteQueuePriorities;
3606 float pointSizeRange[2];
3607 float lineWidthRange[2];
3608 float pointSizeGranularity;
3609 float lineWidthGranularity;
3610 VkBool32 strictLines;
3611 VkBool32 standardSampleLocations;
3612 VkDeviceSize optimalBufferCopyOffsetAlignment;
3613 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3614 VkDeviceSize nonCoherentAtomSize;
3615 } VkPhysicalDeviceLimits;
3617 typedef struct VkPhysicalDeviceMemoryProperties {
3618 deUint32 memoryTypeCount;
3619 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3620 deUint32 memoryHeapCount;
3621 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3622 } VkPhysicalDeviceMemoryProperties;
3624 typedef struct VkPhysicalDeviceSparseProperties {
3625 VkBool32 residencyStandard2DBlockShape;
3626 VkBool32 residencyStandard2DMultisampleBlockShape;
3627 VkBool32 residencyStandard3DBlockShape;
3628 VkBool32 residencyAlignedMipSize;
3629 VkBool32 residencyNonResidentStrict;
3630 } VkPhysicalDeviceSparseProperties;
3632 typedef struct VkPhysicalDeviceProperties {
3633 deUint32 apiVersion;
3634 deUint32 driverVersion;
3637 VkPhysicalDeviceType deviceType;
3638 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3639 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3640 VkPhysicalDeviceLimits limits;
3641 VkPhysicalDeviceSparseProperties sparseProperties;
3642 } VkPhysicalDeviceProperties;
3644 typedef struct VkQueueFamilyProperties {
3645 VkQueueFlags queueFlags;
3646 deUint32 queueCount;
3647 deUint32 timestampValidBits;
3648 VkExtent3D minImageTransferGranularity;
3649 } VkQueueFamilyProperties;
3651 typedef struct VkDeviceQueueCreateInfo {
3652 VkStructureType sType;
3654 VkDeviceQueueCreateFlags flags;
3655 deUint32 queueFamilyIndex;
3656 deUint32 queueCount;
3657 const float* pQueuePriorities;
3658 } VkDeviceQueueCreateInfo;
3660 typedef struct VkDeviceCreateInfo {
3661 VkStructureType sType;
3663 VkDeviceCreateFlags flags;
3664 deUint32 queueCreateInfoCount;
3665 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3666 deUint32 enabledLayerCount;
3667 const char* const* ppEnabledLayerNames;
3668 deUint32 enabledExtensionCount;
3669 const char* const* ppEnabledExtensionNames;
3670 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3671 } VkDeviceCreateInfo;
3673 typedef struct VkExtensionProperties {
3674 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3675 deUint32 specVersion;
3676 } VkExtensionProperties;
3678 typedef struct VkLayerProperties {
3679 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3680 deUint32 specVersion;
3681 deUint32 implementationVersion;
3682 char description[VK_MAX_DESCRIPTION_SIZE];
3683 } VkLayerProperties;
3685 typedef struct VkSubmitInfo {
3686 VkStructureType sType;
3688 deUint32 waitSemaphoreCount;
3689 const VkSemaphore* pWaitSemaphores;
3690 const VkPipelineStageFlags* pWaitDstStageMask;
3691 deUint32 commandBufferCount;
3692 const VkCommandBuffer* pCommandBuffers;
3693 deUint32 signalSemaphoreCount;
3694 const VkSemaphore* pSignalSemaphores;
3697 typedef struct VkMappedMemoryRange {
3698 VkStructureType sType;
3700 VkDeviceMemory memory;
3701 VkDeviceSize offset;
3703 } VkMappedMemoryRange;
3705 typedef struct VkMemoryAllocateInfo {
3706 VkStructureType sType;
3708 VkDeviceSize allocationSize;
3709 deUint32 memoryTypeIndex;
3710 } VkMemoryAllocateInfo;
3712 typedef struct VkMemoryRequirements {
3714 VkDeviceSize alignment;
3715 deUint32 memoryTypeBits;
3716 } VkMemoryRequirements;
3718 typedef struct VkSparseMemoryBind {
3719 VkDeviceSize resourceOffset;
3721 VkDeviceMemory memory;
3722 VkDeviceSize memoryOffset;
3723 VkSparseMemoryBindFlags flags;
3724 } VkSparseMemoryBind;
3726 typedef struct VkSparseBufferMemoryBindInfo {
3729 const VkSparseMemoryBind* pBinds;
3730 } VkSparseBufferMemoryBindInfo;
3732 typedef struct VkSparseImageOpaqueMemoryBindInfo {
3735 const VkSparseMemoryBind* pBinds;
3736 } VkSparseImageOpaqueMemoryBindInfo;
3738 typedef struct VkImageSubresource {
3739 VkImageAspectFlags aspectMask;
3741 deUint32 arrayLayer;
3742 } VkImageSubresource;
3744 typedef struct VkSparseImageMemoryBind {
3745 VkImageSubresource subresource;
3748 VkDeviceMemory memory;
3749 VkDeviceSize memoryOffset;
3750 VkSparseMemoryBindFlags flags;
3751 } VkSparseImageMemoryBind;
3753 typedef struct VkSparseImageMemoryBindInfo {
3756 const VkSparseImageMemoryBind* pBinds;
3757 } VkSparseImageMemoryBindInfo;
3759 typedef struct VkBindSparseInfo {
3760 VkStructureType sType;
3762 deUint32 waitSemaphoreCount;
3763 const VkSemaphore* pWaitSemaphores;
3764 deUint32 bufferBindCount;
3765 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3766 deUint32 imageOpaqueBindCount;
3767 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3768 deUint32 imageBindCount;
3769 const VkSparseImageMemoryBindInfo* pImageBinds;
3770 deUint32 signalSemaphoreCount;
3771 const VkSemaphore* pSignalSemaphores;
3774 typedef struct VkSparseImageFormatProperties {
3775 VkImageAspectFlags aspectMask;
3776 VkExtent3D imageGranularity;
3777 VkSparseImageFormatFlags flags;
3778 } VkSparseImageFormatProperties;
3780 typedef struct VkSparseImageMemoryRequirements {
3781 VkSparseImageFormatProperties formatProperties;
3782 deUint32 imageMipTailFirstLod;
3783 VkDeviceSize imageMipTailSize;
3784 VkDeviceSize imageMipTailOffset;
3785 VkDeviceSize imageMipTailStride;
3786 } VkSparseImageMemoryRequirements;
3788 typedef struct VkFenceCreateInfo {
3789 VkStructureType sType;
3791 VkFenceCreateFlags flags;
3792 } VkFenceCreateInfo;
3794 typedef struct VkSemaphoreCreateInfo {
3795 VkStructureType sType;
3797 VkSemaphoreCreateFlags flags;
3798 } VkSemaphoreCreateInfo;
3800 typedef struct VkEventCreateInfo {
3801 VkStructureType sType;
3803 VkEventCreateFlags flags;
3804 } VkEventCreateInfo;
3806 typedef struct VkQueryPoolCreateInfo {
3807 VkStructureType sType;
3809 VkQueryPoolCreateFlags flags;
3810 VkQueryType queryType;
3811 deUint32 queryCount;
3812 VkQueryPipelineStatisticFlags pipelineStatistics;
3813 } VkQueryPoolCreateInfo;
3815 typedef struct VkBufferCreateInfo {
3816 VkStructureType sType;
3818 VkBufferCreateFlags flags;
3820 VkBufferUsageFlags usage;
3821 VkSharingMode sharingMode;
3822 deUint32 queueFamilyIndexCount;
3823 const deUint32* pQueueFamilyIndices;
3824 } VkBufferCreateInfo;
3826 typedef struct VkBufferViewCreateInfo {
3827 VkStructureType sType;
3829 VkBufferViewCreateFlags flags;
3832 VkDeviceSize offset;
3834 } VkBufferViewCreateInfo;
3836 typedef struct VkImageCreateInfo {
3837 VkStructureType sType;
3839 VkImageCreateFlags flags;
3840 VkImageType imageType;
3844 deUint32 arrayLayers;
3845 VkSampleCountFlagBits samples;
3846 VkImageTiling tiling;
3847 VkImageUsageFlags usage;
3848 VkSharingMode sharingMode;
3849 deUint32 queueFamilyIndexCount;
3850 const deUint32* pQueueFamilyIndices;
3851 VkImageLayout initialLayout;
3852 } VkImageCreateInfo;
3854 typedef struct VkSubresourceLayout {
3855 VkDeviceSize offset;
3857 VkDeviceSize rowPitch;
3858 VkDeviceSize arrayPitch;
3859 VkDeviceSize depthPitch;
3860 } VkSubresourceLayout;
3862 typedef struct VkComponentMapping {
3863 VkComponentSwizzle r;
3864 VkComponentSwizzle g;
3865 VkComponentSwizzle b;
3866 VkComponentSwizzle a;
3867 } VkComponentMapping;
3869 typedef struct VkImageViewCreateInfo {
3870 VkStructureType sType;
3872 VkImageViewCreateFlags flags;
3874 VkImageViewType viewType;
3876 VkComponentMapping components;
3877 VkImageSubresourceRange subresourceRange;
3878 } VkImageViewCreateInfo;
3880 typedef struct VkShaderModuleCreateInfo {
3881 VkStructureType sType;
3883 VkShaderModuleCreateFlags flags;
3885 const deUint32* pCode;
3886 } VkShaderModuleCreateInfo;
3888 typedef struct VkPipelineCacheCreateInfo {
3889 VkStructureType sType;
3891 VkPipelineCacheCreateFlags flags;
3892 deUintptr initialDataSize;
3893 const void* pInitialData;
3894 } VkPipelineCacheCreateInfo;
3896 typedef struct VkSpecializationMapEntry {
3897 deUint32 constantID;
3900 } VkSpecializationMapEntry;
3902 typedef struct VkSpecializationInfo {
3903 deUint32 mapEntryCount;
3904 const VkSpecializationMapEntry* pMapEntries;
3907 } VkSpecializationInfo;
3909 typedef struct VkPipelineShaderStageCreateInfo {
3910 VkStructureType sType;
3912 VkPipelineShaderStageCreateFlags flags;
3913 VkShaderStageFlagBits stage;
3914 VkShaderModule module;
3916 const VkSpecializationInfo* pSpecializationInfo;
3917 } VkPipelineShaderStageCreateInfo;
3919 typedef struct VkComputePipelineCreateInfo {
3920 VkStructureType sType;
3922 VkPipelineCreateFlags flags;
3923 VkPipelineShaderStageCreateInfo stage;
3924 VkPipelineLayout layout;
3925 VkPipeline basePipelineHandle;
3926 deInt32 basePipelineIndex;
3927 } VkComputePipelineCreateInfo;
3929 typedef struct VkVertexInputBindingDescription {
3932 VkVertexInputRate inputRate;
3933 } VkVertexInputBindingDescription;
3935 typedef struct VkVertexInputAttributeDescription {
3940 } VkVertexInputAttributeDescription;
3942 typedef struct VkPipelineVertexInputStateCreateInfo {
3943 VkStructureType sType;
3945 VkPipelineVertexInputStateCreateFlags flags;
3946 deUint32 vertexBindingDescriptionCount;
3947 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3948 deUint32 vertexAttributeDescriptionCount;
3949 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3950 } VkPipelineVertexInputStateCreateInfo;
3952 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3953 VkStructureType sType;
3955 VkPipelineInputAssemblyStateCreateFlags flags;
3956 VkPrimitiveTopology topology;
3957 VkBool32 primitiveRestartEnable;
3958 } VkPipelineInputAssemblyStateCreateInfo;
3960 typedef struct VkPipelineTessellationStateCreateInfo {
3961 VkStructureType sType;
3963 VkPipelineTessellationStateCreateFlags flags;
3964 deUint32 patchControlPoints;
3965 } VkPipelineTessellationStateCreateInfo;
3967 typedef struct VkViewport {
3976 typedef struct VkPipelineViewportStateCreateInfo {
3977 VkStructureType sType;
3979 VkPipelineViewportStateCreateFlags flags;
3980 deUint32 viewportCount;
3981 const VkViewport* pViewports;
3982 deUint32 scissorCount;
3983 const VkRect2D* pScissors;
3984 } VkPipelineViewportStateCreateInfo;
3986 typedef struct VkPipelineRasterizationStateCreateInfo {
3987 VkStructureType sType;
3989 VkPipelineRasterizationStateCreateFlags flags;
3990 VkBool32 depthClampEnable;
3991 VkBool32 rasterizerDiscardEnable;
3992 VkPolygonMode polygonMode;
3993 VkCullModeFlags cullMode;
3994 VkFrontFace frontFace;
3995 VkBool32 depthBiasEnable;
3996 float depthBiasConstantFactor;
3997 float depthBiasClamp;
3998 float depthBiasSlopeFactor;
4000 } VkPipelineRasterizationStateCreateInfo;
4002 typedef struct VkPipelineMultisampleStateCreateInfo {
4003 VkStructureType sType;
4005 VkPipelineMultisampleStateCreateFlags flags;
4006 VkSampleCountFlagBits rasterizationSamples;
4007 VkBool32 sampleShadingEnable;
4008 float minSampleShading;
4009 const VkSampleMask* pSampleMask;
4010 VkBool32 alphaToCoverageEnable;
4011 VkBool32 alphaToOneEnable;
4012 } VkPipelineMultisampleStateCreateInfo;
4014 typedef struct VkStencilOpState {
4017 VkStencilOp depthFailOp;
4018 VkCompareOp compareOp;
4019 deUint32 compareMask;
4024 typedef struct VkPipelineDepthStencilStateCreateInfo {
4025 VkStructureType sType;
4027 VkPipelineDepthStencilStateCreateFlags flags;
4028 VkBool32 depthTestEnable;
4029 VkBool32 depthWriteEnable;
4030 VkCompareOp depthCompareOp;
4031 VkBool32 depthBoundsTestEnable;
4032 VkBool32 stencilTestEnable;
4033 VkStencilOpState front;
4034 VkStencilOpState back;
4035 float minDepthBounds;
4036 float maxDepthBounds;
4037 } VkPipelineDepthStencilStateCreateInfo;
4039 typedef struct VkPipelineColorBlendAttachmentState {
4040 VkBool32 blendEnable;
4041 VkBlendFactor srcColorBlendFactor;
4042 VkBlendFactor dstColorBlendFactor;
4043 VkBlendOp colorBlendOp;
4044 VkBlendFactor srcAlphaBlendFactor;
4045 VkBlendFactor dstAlphaBlendFactor;
4046 VkBlendOp alphaBlendOp;
4047 VkColorComponentFlags colorWriteMask;
4048 } VkPipelineColorBlendAttachmentState;
4050 typedef struct VkPipelineColorBlendStateCreateInfo {
4051 VkStructureType sType;
4053 VkPipelineColorBlendStateCreateFlags flags;
4054 VkBool32 logicOpEnable;
4056 deUint32 attachmentCount;
4057 const VkPipelineColorBlendAttachmentState* pAttachments;
4058 float blendConstants[4];
4059 } VkPipelineColorBlendStateCreateInfo;
4061 typedef struct VkPipelineDynamicStateCreateInfo {
4062 VkStructureType sType;
4064 VkPipelineDynamicStateCreateFlags flags;
4065 deUint32 dynamicStateCount;
4066 const VkDynamicState* pDynamicStates;
4067 } VkPipelineDynamicStateCreateInfo;
4069 typedef struct VkGraphicsPipelineCreateInfo {
4070 VkStructureType sType;
4072 VkPipelineCreateFlags flags;
4073 deUint32 stageCount;
4074 const VkPipelineShaderStageCreateInfo* pStages;
4075 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4076 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4077 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4078 const VkPipelineViewportStateCreateInfo* pViewportState;
4079 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4080 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4081 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4082 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4083 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4084 VkPipelineLayout layout;
4085 VkRenderPass renderPass;
4087 VkPipeline basePipelineHandle;
4088 deInt32 basePipelineIndex;
4089 } VkGraphicsPipelineCreateInfo;
4091 typedef struct VkPushConstantRange {
4092 VkShaderStageFlags stageFlags;
4095 } VkPushConstantRange;
4097 typedef struct VkPipelineLayoutCreateInfo {
4098 VkStructureType sType;
4100 VkPipelineLayoutCreateFlags flags;
4101 deUint32 setLayoutCount;
4102 const VkDescriptorSetLayout* pSetLayouts;
4103 deUint32 pushConstantRangeCount;
4104 const VkPushConstantRange* pPushConstantRanges;
4105 } VkPipelineLayoutCreateInfo;
4107 typedef struct VkSamplerCreateInfo {
4108 VkStructureType sType;
4110 VkSamplerCreateFlags flags;
4113 VkSamplerMipmapMode mipmapMode;
4114 VkSamplerAddressMode addressModeU;
4115 VkSamplerAddressMode addressModeV;
4116 VkSamplerAddressMode addressModeW;
4118 VkBool32 anisotropyEnable;
4119 float maxAnisotropy;
4120 VkBool32 compareEnable;
4121 VkCompareOp compareOp;
4124 VkBorderColor borderColor;
4125 VkBool32 unnormalizedCoordinates;
4126 } VkSamplerCreateInfo;
4128 typedef struct VkCopyDescriptorSet {
4129 VkStructureType sType;
4131 VkDescriptorSet srcSet;
4132 deUint32 srcBinding;
4133 deUint32 srcArrayElement;
4134 VkDescriptorSet dstSet;
4135 deUint32 dstBinding;
4136 deUint32 dstArrayElement;
4137 deUint32 descriptorCount;
4138 } VkCopyDescriptorSet;
4140 typedef struct VkDescriptorBufferInfo {
4142 VkDeviceSize offset;
4144 } VkDescriptorBufferInfo;
4146 typedef struct VkDescriptorImageInfo {
4148 VkImageView imageView;
4149 VkImageLayout imageLayout;
4150 } VkDescriptorImageInfo;
4152 typedef struct VkDescriptorPoolSize {
4153 VkDescriptorType type;
4154 deUint32 descriptorCount;
4155 } VkDescriptorPoolSize;
4157 typedef struct VkDescriptorPoolCreateInfo {
4158 VkStructureType sType;
4160 VkDescriptorPoolCreateFlags flags;
4162 deUint32 poolSizeCount;
4163 const VkDescriptorPoolSize* pPoolSizes;
4164 } VkDescriptorPoolCreateInfo;
4166 typedef struct VkDescriptorSetAllocateInfo {
4167 VkStructureType sType;
4169 VkDescriptorPool descriptorPool;
4170 deUint32 descriptorSetCount;
4171 const VkDescriptorSetLayout* pSetLayouts;
4172 } VkDescriptorSetAllocateInfo;
4174 typedef struct VkDescriptorSetLayoutBinding {
4176 VkDescriptorType descriptorType;
4177 deUint32 descriptorCount;
4178 VkShaderStageFlags stageFlags;
4179 const VkSampler* pImmutableSamplers;
4180 } VkDescriptorSetLayoutBinding;
4182 typedef struct VkDescriptorSetLayoutCreateInfo {
4183 VkStructureType sType;
4185 VkDescriptorSetLayoutCreateFlags flags;
4186 deUint32 bindingCount;
4187 const VkDescriptorSetLayoutBinding* pBindings;
4188 } VkDescriptorSetLayoutCreateInfo;
4190 typedef struct VkWriteDescriptorSet {
4191 VkStructureType sType;
4193 VkDescriptorSet dstSet;
4194 deUint32 dstBinding;
4195 deUint32 dstArrayElement;
4196 deUint32 descriptorCount;
4197 VkDescriptorType descriptorType;
4198 const VkDescriptorImageInfo* pImageInfo;
4199 const VkDescriptorBufferInfo* pBufferInfo;
4200 const VkBufferView* pTexelBufferView;
4201 } VkWriteDescriptorSet;
4203 typedef struct VkAttachmentDescription {
4204 VkAttachmentDescriptionFlags flags;
4206 VkSampleCountFlagBits samples;
4207 VkAttachmentLoadOp loadOp;
4208 VkAttachmentStoreOp storeOp;
4209 VkAttachmentLoadOp stencilLoadOp;
4210 VkAttachmentStoreOp stencilStoreOp;
4211 VkImageLayout initialLayout;
4212 VkImageLayout finalLayout;
4213 } VkAttachmentDescription;
4215 typedef struct VkAttachmentReference {
4216 deUint32 attachment;
4217 VkImageLayout layout;
4218 } VkAttachmentReference;
4220 typedef struct VkFramebufferCreateInfo {
4221 VkStructureType sType;
4223 VkFramebufferCreateFlags flags;
4224 VkRenderPass renderPass;
4225 deUint32 attachmentCount;
4226 const VkImageView* pAttachments;
4230 } VkFramebufferCreateInfo;
4232 typedef struct VkSubpassDescription {
4233 VkSubpassDescriptionFlags flags;
4234 VkPipelineBindPoint pipelineBindPoint;
4235 deUint32 inputAttachmentCount;
4236 const VkAttachmentReference* pInputAttachments;
4237 deUint32 colorAttachmentCount;
4238 const VkAttachmentReference* pColorAttachments;
4239 const VkAttachmentReference* pResolveAttachments;
4240 const VkAttachmentReference* pDepthStencilAttachment;
4241 deUint32 preserveAttachmentCount;
4242 const deUint32* pPreserveAttachments;
4243 } VkSubpassDescription;
4245 typedef struct VkSubpassDependency {
4246 deUint32 srcSubpass;
4247 deUint32 dstSubpass;
4248 VkPipelineStageFlags srcStageMask;
4249 VkPipelineStageFlags dstStageMask;
4250 VkAccessFlags srcAccessMask;
4251 VkAccessFlags dstAccessMask;
4252 VkDependencyFlags dependencyFlags;
4253 } VkSubpassDependency;
4255 typedef struct VkRenderPassCreateInfo {
4256 VkStructureType sType;
4258 VkRenderPassCreateFlags flags;
4259 deUint32 attachmentCount;
4260 const VkAttachmentDescription* pAttachments;
4261 deUint32 subpassCount;
4262 const VkSubpassDescription* pSubpasses;
4263 deUint32 dependencyCount;
4264 const VkSubpassDependency* pDependencies;
4265 } VkRenderPassCreateInfo;
4267 typedef struct VkCommandPoolCreateInfo {
4268 VkStructureType sType;
4270 VkCommandPoolCreateFlags flags;
4271 deUint32 queueFamilyIndex;
4272 } VkCommandPoolCreateInfo;
4274 typedef struct VkCommandBufferAllocateInfo {
4275 VkStructureType sType;
4277 VkCommandPool commandPool;
4278 VkCommandBufferLevel level;
4279 deUint32 commandBufferCount;
4280 } VkCommandBufferAllocateInfo;
4282 typedef struct VkCommandBufferInheritanceInfo {
4283 VkStructureType sType;
4285 VkRenderPass renderPass;
4287 VkFramebuffer framebuffer;
4288 VkBool32 occlusionQueryEnable;
4289 VkQueryControlFlags queryFlags;
4290 VkQueryPipelineStatisticFlags pipelineStatistics;
4291 } VkCommandBufferInheritanceInfo;
4293 typedef struct VkCommandBufferBeginInfo {
4294 VkStructureType sType;
4296 VkCommandBufferUsageFlags flags;
4297 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4298 } VkCommandBufferBeginInfo;
4300 typedef struct VkBufferCopy {
4301 VkDeviceSize srcOffset;
4302 VkDeviceSize dstOffset;
4306 typedef struct VkImageSubresourceLayers {
4307 VkImageAspectFlags aspectMask;
4309 deUint32 baseArrayLayer;
4310 deUint32 layerCount;
4311 } VkImageSubresourceLayers;
4313 typedef struct VkBufferImageCopy {
4314 VkDeviceSize bufferOffset;
4315 deUint32 bufferRowLength;
4316 deUint32 bufferImageHeight;
4317 VkImageSubresourceLayers imageSubresource;
4318 VkOffset3D imageOffset;
4319 VkExtent3D imageExtent;
4320 } VkBufferImageCopy;
4322 typedef union VkClearColorValue {
4326 } VkClearColorValue;
4328 typedef struct VkClearDepthStencilValue {
4331 } VkClearDepthStencilValue;
4333 typedef union VkClearValue {
4334 VkClearColorValue color;
4335 VkClearDepthStencilValue depthStencil;
4338 typedef struct VkClearAttachment {
4339 VkImageAspectFlags aspectMask;
4340 deUint32 colorAttachment;
4341 VkClearValue clearValue;
4342 } VkClearAttachment;
4344 typedef struct VkClearRect {
4346 deUint32 baseArrayLayer;
4347 deUint32 layerCount;
4350 typedef struct VkImageBlit {
4351 VkImageSubresourceLayers srcSubresource;
4352 VkOffset3D srcOffsets[2];
4353 VkImageSubresourceLayers dstSubresource;
4354 VkOffset3D dstOffsets[2];
4357 typedef struct VkImageCopy {
4358 VkImageSubresourceLayers srcSubresource;
4359 VkOffset3D srcOffset;
4360 VkImageSubresourceLayers dstSubresource;
4361 VkOffset3D dstOffset;
4365 typedef struct VkImageResolve {
4366 VkImageSubresourceLayers srcSubresource;
4367 VkOffset3D srcOffset;
4368 VkImageSubresourceLayers dstSubresource;
4369 VkOffset3D dstOffset;
4373 typedef struct VkRenderPassBeginInfo {
4374 VkStructureType sType;
4376 VkRenderPass renderPass;
4377 VkFramebuffer framebuffer;
4378 VkRect2D renderArea;
4379 deUint32 clearValueCount;
4380 const VkClearValue* pClearValues;
4381 } VkRenderPassBeginInfo;
4383 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4384 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4385 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4386 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4387 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4388 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4389 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4390 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4391 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4392 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4393 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4394 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4395 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4396 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4397 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4398 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4399 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4400 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4401 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4402 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4403 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4404 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4405 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4406 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4407 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4408 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4409 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4410 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4411 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4412 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4413 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4414 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4415 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4416 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4417 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4418 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4419 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4420 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4421 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4422 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4423 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4424 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4425 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4426 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4427 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4428 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4429 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4430 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4431 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4432 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4433 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4434 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4435 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4436 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4437 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4438 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4439 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4440 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4441 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4442 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4443 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4444 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4445 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4446 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4447 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4448 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4449 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4450 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4451 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4452 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4453 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4454 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4455 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4456 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4457 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4458 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4459 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4460 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4461 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4462 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4463 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4464 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4465 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4466 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4467 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4468 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4469 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4470 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4471 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4472 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4473 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4474 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4475 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4476 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4477 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4478 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4479 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4480 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4481 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4482 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4483 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4484 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4485 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4486 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4487 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4488 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4489 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4490 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4491 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4492 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4493 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4494 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4495 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4496 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4497 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4498 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4499 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4500 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4501 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4502 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4503 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4504 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4505 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4506 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4507 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4508 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);
4509 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);
4510 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4511 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4512 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4513 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4514 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4515 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4516 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4517 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4518 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4519 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4521 #ifndef VK_NO_PROTOTYPES
4522 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4523 const VkInstanceCreateInfo* pCreateInfo,
4524 const VkAllocationCallbacks* pAllocator,
4525 VkInstance* pInstance);
4527 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4528 VkInstance instance,
4529 const VkAllocationCallbacks* pAllocator);
4531 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4532 VkInstance instance,
4533 deUint32* pPhysicalDeviceCount,
4534 VkPhysicalDevice* pPhysicalDevices);
4536 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4537 VkPhysicalDevice physicalDevice,
4538 VkPhysicalDeviceFeatures* pFeatures);
4540 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4541 VkPhysicalDevice physicalDevice,
4543 VkFormatProperties* pFormatProperties);
4545 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4546 VkPhysicalDevice physicalDevice,
4549 VkImageTiling tiling,
4550 VkImageUsageFlags usage,
4551 VkImageCreateFlags flags,
4552 VkImageFormatProperties* pImageFormatProperties);
4554 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4555 VkPhysicalDevice physicalDevice,
4556 VkPhysicalDeviceProperties* pProperties);
4558 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4559 VkPhysicalDevice physicalDevice,
4560 deUint32* pQueueFamilyPropertyCount,
4561 VkQueueFamilyProperties* pQueueFamilyProperties);
4563 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4564 VkPhysicalDevice physicalDevice,
4565 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4567 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4568 VkInstance instance,
4571 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4575 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4576 VkPhysicalDevice physicalDevice,
4577 const VkDeviceCreateInfo* pCreateInfo,
4578 const VkAllocationCallbacks* pAllocator,
4581 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4583 const VkAllocationCallbacks* pAllocator);
4585 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4586 const char* pLayerName,
4587 deUint32* pPropertyCount,
4588 VkExtensionProperties* pProperties);
4590 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4591 VkPhysicalDevice physicalDevice,
4592 const char* pLayerName,
4593 deUint32* pPropertyCount,
4594 VkExtensionProperties* pProperties);
4596 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4597 deUint32* pPropertyCount,
4598 VkLayerProperties* pProperties);
4600 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4601 VkPhysicalDevice physicalDevice,
4602 deUint32* pPropertyCount,
4603 VkLayerProperties* pProperties);
4605 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4607 deUint32 queueFamilyIndex,
4608 deUint32 queueIndex,
4611 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4613 deUint32 submitCount,
4614 const VkSubmitInfo* pSubmits,
4617 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4620 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4623 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4625 const VkMemoryAllocateInfo* pAllocateInfo,
4626 const VkAllocationCallbacks* pAllocator,
4627 VkDeviceMemory* pMemory);
4629 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4631 VkDeviceMemory memory,
4632 const VkAllocationCallbacks* pAllocator);
4634 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4636 VkDeviceMemory memory,
4637 VkDeviceSize offset,
4639 VkMemoryMapFlags flags,
4642 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4644 VkDeviceMemory memory);
4646 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4648 deUint32 memoryRangeCount,
4649 const VkMappedMemoryRange* pMemoryRanges);
4651 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4653 deUint32 memoryRangeCount,
4654 const VkMappedMemoryRange* pMemoryRanges);
4656 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4658 VkDeviceMemory memory,
4659 VkDeviceSize* pCommittedMemoryInBytes);
4661 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4664 VkDeviceMemory memory,
4665 VkDeviceSize memoryOffset);
4667 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4670 VkDeviceMemory memory,
4671 VkDeviceSize memoryOffset);
4673 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4676 VkMemoryRequirements* pMemoryRequirements);
4678 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4681 VkMemoryRequirements* pMemoryRequirements);
4683 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4686 deUint32* pSparseMemoryRequirementCount,
4687 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4689 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4690 VkPhysicalDevice physicalDevice,
4693 VkSampleCountFlagBits samples,
4694 VkImageUsageFlags usage,
4695 VkImageTiling tiling,
4696 deUint32* pPropertyCount,
4697 VkSparseImageFormatProperties* pProperties);
4699 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4701 deUint32 bindInfoCount,
4702 const VkBindSparseInfo* pBindInfo,
4705 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4707 const VkFenceCreateInfo* pCreateInfo,
4708 const VkAllocationCallbacks* pAllocator,
4711 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4714 const VkAllocationCallbacks* pAllocator);
4716 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4718 deUint32 fenceCount,
4719 const VkFence* pFences);
4721 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4725 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4727 deUint32 fenceCount,
4728 const VkFence* pFences,
4732 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4734 const VkSemaphoreCreateInfo* pCreateInfo,
4735 const VkAllocationCallbacks* pAllocator,
4736 VkSemaphore* pSemaphore);
4738 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4740 VkSemaphore semaphore,
4741 const VkAllocationCallbacks* pAllocator);
4743 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4745 const VkEventCreateInfo* pCreateInfo,
4746 const VkAllocationCallbacks* pAllocator,
4749 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4752 const VkAllocationCallbacks* pAllocator);
4754 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4758 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4762 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4766 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4768 const VkQueryPoolCreateInfo* pCreateInfo,
4769 const VkAllocationCallbacks* pAllocator,
4770 VkQueryPool* pQueryPool);
4772 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4774 VkQueryPool queryPool,
4775 const VkAllocationCallbacks* pAllocator);
4777 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4779 VkQueryPool queryPool,
4780 deUint32 firstQuery,
4781 deUint32 queryCount,
4784 VkDeviceSize stride,
4785 VkQueryResultFlags flags);
4787 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4789 const VkBufferCreateInfo* pCreateInfo,
4790 const VkAllocationCallbacks* pAllocator,
4793 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4796 const VkAllocationCallbacks* pAllocator);
4798 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4800 const VkBufferViewCreateInfo* pCreateInfo,
4801 const VkAllocationCallbacks* pAllocator,
4802 VkBufferView* pView);
4804 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4806 VkBufferView bufferView,
4807 const VkAllocationCallbacks* pAllocator);
4809 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4811 const VkImageCreateInfo* pCreateInfo,
4812 const VkAllocationCallbacks* pAllocator,
4815 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4818 const VkAllocationCallbacks* pAllocator);
4820 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4823 const VkImageSubresource* pSubresource,
4824 VkSubresourceLayout* pLayout);
4826 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4828 const VkImageViewCreateInfo* pCreateInfo,
4829 const VkAllocationCallbacks* pAllocator,
4830 VkImageView* pView);
4832 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4834 VkImageView imageView,
4835 const VkAllocationCallbacks* pAllocator);
4837 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4839 const VkShaderModuleCreateInfo* pCreateInfo,
4840 const VkAllocationCallbacks* pAllocator,
4841 VkShaderModule* pShaderModule);
4843 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4845 VkShaderModule shaderModule,
4846 const VkAllocationCallbacks* pAllocator);
4848 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4850 const VkPipelineCacheCreateInfo* pCreateInfo,
4851 const VkAllocationCallbacks* pAllocator,
4852 VkPipelineCache* pPipelineCache);
4854 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4856 VkPipelineCache pipelineCache,
4857 const VkAllocationCallbacks* pAllocator);
4859 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4861 VkPipelineCache pipelineCache,
4862 deUintptr* pDataSize,
4865 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4867 VkPipelineCache dstCache,
4868 deUint32 srcCacheCount,
4869 const VkPipelineCache* pSrcCaches);
4871 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4873 VkPipelineCache pipelineCache,
4874 deUint32 createInfoCount,
4875 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4876 const VkAllocationCallbacks* pAllocator,
4877 VkPipeline* pPipelines);
4879 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4881 VkPipelineCache pipelineCache,
4882 deUint32 createInfoCount,
4883 const VkComputePipelineCreateInfo* pCreateInfos,
4884 const VkAllocationCallbacks* pAllocator,
4885 VkPipeline* pPipelines);
4887 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4889 VkPipeline pipeline,
4890 const VkAllocationCallbacks* pAllocator);
4892 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4894 const VkPipelineLayoutCreateInfo* pCreateInfo,
4895 const VkAllocationCallbacks* pAllocator,
4896 VkPipelineLayout* pPipelineLayout);
4898 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4900 VkPipelineLayout pipelineLayout,
4901 const VkAllocationCallbacks* pAllocator);
4903 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4905 const VkSamplerCreateInfo* pCreateInfo,
4906 const VkAllocationCallbacks* pAllocator,
4907 VkSampler* pSampler);
4909 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4912 const VkAllocationCallbacks* pAllocator);
4914 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4916 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4917 const VkAllocationCallbacks* pAllocator,
4918 VkDescriptorSetLayout* pSetLayout);
4920 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4922 VkDescriptorSetLayout descriptorSetLayout,
4923 const VkAllocationCallbacks* pAllocator);
4925 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4927 const VkDescriptorPoolCreateInfo* pCreateInfo,
4928 const VkAllocationCallbacks* pAllocator,
4929 VkDescriptorPool* pDescriptorPool);
4931 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4933 VkDescriptorPool descriptorPool,
4934 const VkAllocationCallbacks* pAllocator);
4936 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4938 VkDescriptorPool descriptorPool,
4939 VkDescriptorPoolResetFlags flags);
4941 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4943 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4944 VkDescriptorSet* pDescriptorSets);
4946 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4948 VkDescriptorPool descriptorPool,
4949 deUint32 descriptorSetCount,
4950 const VkDescriptorSet* pDescriptorSets);
4952 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4954 deUint32 descriptorWriteCount,
4955 const VkWriteDescriptorSet* pDescriptorWrites,
4956 deUint32 descriptorCopyCount,
4957 const VkCopyDescriptorSet* pDescriptorCopies);
4959 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4961 const VkFramebufferCreateInfo* pCreateInfo,
4962 const VkAllocationCallbacks* pAllocator,
4963 VkFramebuffer* pFramebuffer);
4965 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4967 VkFramebuffer framebuffer,
4968 const VkAllocationCallbacks* pAllocator);
4970 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4972 const VkRenderPassCreateInfo* pCreateInfo,
4973 const VkAllocationCallbacks* pAllocator,
4974 VkRenderPass* pRenderPass);
4976 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4978 VkRenderPass renderPass,
4979 const VkAllocationCallbacks* pAllocator);
4981 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4983 VkRenderPass renderPass,
4984 VkExtent2D* pGranularity);
4986 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4988 const VkCommandPoolCreateInfo* pCreateInfo,
4989 const VkAllocationCallbacks* pAllocator,
4990 VkCommandPool* pCommandPool);
4992 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4994 VkCommandPool commandPool,
4995 const VkAllocationCallbacks* pAllocator);
4997 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4999 VkCommandPool commandPool,
5000 VkCommandPoolResetFlags flags);
5002 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
5004 const VkCommandBufferAllocateInfo* pAllocateInfo,
5005 VkCommandBuffer* pCommandBuffers);
5007 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
5009 VkCommandPool commandPool,
5010 deUint32 commandBufferCount,
5011 const VkCommandBuffer* pCommandBuffers);
5013 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
5014 VkCommandBuffer commandBuffer,
5015 const VkCommandBufferBeginInfo* pBeginInfo);
5017 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
5018 VkCommandBuffer commandBuffer);
5020 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
5021 VkCommandBuffer commandBuffer,
5022 VkCommandBufferResetFlags flags);
5024 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
5025 VkCommandBuffer commandBuffer,
5026 VkPipelineBindPoint pipelineBindPoint,
5027 VkPipeline pipeline);
5029 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
5030 VkCommandBuffer commandBuffer,
5031 deUint32 firstViewport,
5032 deUint32 viewportCount,
5033 const VkViewport* pViewports);
5035 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
5036 VkCommandBuffer commandBuffer,
5037 deUint32 firstScissor,
5038 deUint32 scissorCount,
5039 const VkRect2D* pScissors);
5041 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
5042 VkCommandBuffer commandBuffer,
5045 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
5046 VkCommandBuffer commandBuffer,
5047 float depthBiasConstantFactor,
5048 float depthBiasClamp,
5049 float depthBiasSlopeFactor);
5051 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
5052 VkCommandBuffer commandBuffer,
5053 const float blendConstants[4]);
5055 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
5056 VkCommandBuffer commandBuffer,
5057 float minDepthBounds,
5058 float maxDepthBounds);
5060 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5061 VkCommandBuffer commandBuffer,
5062 VkStencilFaceFlags faceMask,
5063 deUint32 compareMask);
5065 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5066 VkCommandBuffer commandBuffer,
5067 VkStencilFaceFlags faceMask,
5068 deUint32 writeMask);
5070 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5071 VkCommandBuffer commandBuffer,
5072 VkStencilFaceFlags faceMask,
5073 deUint32 reference);
5075 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5076 VkCommandBuffer commandBuffer,
5077 VkPipelineBindPoint pipelineBindPoint,
5078 VkPipelineLayout layout,
5080 deUint32 descriptorSetCount,
5081 const VkDescriptorSet* pDescriptorSets,
5082 deUint32 dynamicOffsetCount,
5083 const deUint32* pDynamicOffsets);
5085 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5086 VkCommandBuffer commandBuffer,
5088 VkDeviceSize offset,
5089 VkIndexType indexType);
5091 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5092 VkCommandBuffer commandBuffer,
5093 deUint32 firstBinding,
5094 deUint32 bindingCount,
5095 const VkBuffer* pBuffers,
5096 const VkDeviceSize* pOffsets);
5098 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5099 VkCommandBuffer commandBuffer,
5100 deUint32 vertexCount,
5101 deUint32 instanceCount,
5102 deUint32 firstVertex,
5103 deUint32 firstInstance);
5105 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5106 VkCommandBuffer commandBuffer,
5107 deUint32 indexCount,
5108 deUint32 instanceCount,
5109 deUint32 firstIndex,
5110 deInt32 vertexOffset,
5111 deUint32 firstInstance);
5113 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5114 VkCommandBuffer commandBuffer,
5116 VkDeviceSize offset,
5120 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5121 VkCommandBuffer commandBuffer,
5123 VkDeviceSize offset,
5127 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5128 VkCommandBuffer commandBuffer,
5129 deUint32 groupCountX,
5130 deUint32 groupCountY,
5131 deUint32 groupCountZ);
5133 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5134 VkCommandBuffer commandBuffer,
5136 VkDeviceSize offset);
5138 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5139 VkCommandBuffer commandBuffer,
5142 deUint32 regionCount,
5143 const VkBufferCopy* pRegions);
5145 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5146 VkCommandBuffer commandBuffer,
5148 VkImageLayout srcImageLayout,
5150 VkImageLayout dstImageLayout,
5151 deUint32 regionCount,
5152 const VkImageCopy* pRegions);
5154 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5155 VkCommandBuffer commandBuffer,
5157 VkImageLayout srcImageLayout,
5159 VkImageLayout dstImageLayout,
5160 deUint32 regionCount,
5161 const VkImageBlit* pRegions,
5164 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5165 VkCommandBuffer commandBuffer,
5168 VkImageLayout dstImageLayout,
5169 deUint32 regionCount,
5170 const VkBufferImageCopy* pRegions);
5172 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5173 VkCommandBuffer commandBuffer,
5175 VkImageLayout srcImageLayout,
5177 deUint32 regionCount,
5178 const VkBufferImageCopy* pRegions);
5180 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5181 VkCommandBuffer commandBuffer,
5183 VkDeviceSize dstOffset,
5184 VkDeviceSize dataSize,
5187 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5188 VkCommandBuffer commandBuffer,
5190 VkDeviceSize dstOffset,
5194 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5195 VkCommandBuffer commandBuffer,
5197 VkImageLayout imageLayout,
5198 const VkClearColorValue* pColor,
5199 deUint32 rangeCount,
5200 const VkImageSubresourceRange* pRanges);
5202 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5203 VkCommandBuffer commandBuffer,
5205 VkImageLayout imageLayout,
5206 const VkClearDepthStencilValue* pDepthStencil,
5207 deUint32 rangeCount,
5208 const VkImageSubresourceRange* pRanges);
5210 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5211 VkCommandBuffer commandBuffer,
5212 deUint32 attachmentCount,
5213 const VkClearAttachment* pAttachments,
5215 const VkClearRect* pRects);
5217 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5218 VkCommandBuffer commandBuffer,
5220 VkImageLayout srcImageLayout,
5222 VkImageLayout dstImageLayout,
5223 deUint32 regionCount,
5224 const VkImageResolve* pRegions);
5226 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5227 VkCommandBuffer commandBuffer,
5229 VkPipelineStageFlags stageMask);
5231 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5232 VkCommandBuffer commandBuffer,
5234 VkPipelineStageFlags stageMask);
5236 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5237 VkCommandBuffer commandBuffer,
5238 deUint32 eventCount,
5239 const VkEvent* pEvents,
5240 VkPipelineStageFlags srcStageMask,
5241 VkPipelineStageFlags dstStageMask,
5242 deUint32 memoryBarrierCount,
5243 const VkMemoryBarrier* pMemoryBarriers,
5244 deUint32 bufferMemoryBarrierCount,
5245 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5246 deUint32 imageMemoryBarrierCount,
5247 const VkImageMemoryBarrier* pImageMemoryBarriers);
5249 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5250 VkCommandBuffer commandBuffer,
5251 VkPipelineStageFlags srcStageMask,
5252 VkPipelineStageFlags dstStageMask,
5253 VkDependencyFlags dependencyFlags,
5254 deUint32 memoryBarrierCount,
5255 const VkMemoryBarrier* pMemoryBarriers,
5256 deUint32 bufferMemoryBarrierCount,
5257 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5258 deUint32 imageMemoryBarrierCount,
5259 const VkImageMemoryBarrier* pImageMemoryBarriers);
5261 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5262 VkCommandBuffer commandBuffer,
5263 VkQueryPool queryPool,
5265 VkQueryControlFlags flags);
5267 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5268 VkCommandBuffer commandBuffer,
5269 VkQueryPool queryPool,
5272 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5273 VkCommandBuffer commandBuffer,
5274 VkQueryPool queryPool,
5275 deUint32 firstQuery,
5276 deUint32 queryCount);
5278 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5279 VkCommandBuffer commandBuffer,
5280 VkPipelineStageFlagBits pipelineStage,
5281 VkQueryPool queryPool,
5284 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5285 VkCommandBuffer commandBuffer,
5286 VkQueryPool queryPool,
5287 deUint32 firstQuery,
5288 deUint32 queryCount,
5290 VkDeviceSize dstOffset,
5291 VkDeviceSize stride,
5292 VkQueryResultFlags flags);
5294 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5295 VkCommandBuffer commandBuffer,
5296 VkPipelineLayout layout,
5297 VkShaderStageFlags stageFlags,
5300 const void* pValues);
5302 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5303 VkCommandBuffer commandBuffer,
5304 const VkRenderPassBeginInfo* pRenderPassBegin,
5305 VkSubpassContents contents);
5307 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5308 VkCommandBuffer commandBuffer,
5309 VkSubpassContents contents);
5311 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5312 VkCommandBuffer commandBuffer);
5314 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5315 VkCommandBuffer commandBuffer,
5316 deUint32 commandBufferCount,
5317 const VkCommandBuffer* pCommandBuffers);
5321 #define VK_VERSION_1_1 1
5322 // Vulkan 1.1 version number
5323 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5325 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5326 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5327 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5328 #define VK_LUID_SIZE 8U
5329 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5331 typedef enum VkPointClippingBehavior {
5332 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5333 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5334 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5335 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5336 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5337 } VkPointClippingBehavior;
5339 typedef enum VkTessellationDomainOrigin {
5340 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5341 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5342 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5343 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5344 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5345 } VkTessellationDomainOrigin;
5347 typedef enum VkSamplerYcbcrModelConversion {
5348 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5349 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5350 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5351 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5352 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5353 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5354 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5355 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5356 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5357 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5358 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5359 } VkSamplerYcbcrModelConversion;
5361 typedef enum VkSamplerYcbcrRange {
5362 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5363 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5364 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5365 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5366 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5367 } VkSamplerYcbcrRange;
5369 typedef enum VkChromaLocation {
5370 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5371 VK_CHROMA_LOCATION_MIDPOINT = 1,
5372 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5373 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5374 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5377 typedef enum VkDescriptorUpdateTemplateType {
5378 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5379 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5380 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5381 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5382 } VkDescriptorUpdateTemplateType;
5384 typedef enum VkSubgroupFeatureFlagBits {
5385 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5386 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5387 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5388 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5389 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5390 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5391 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5392 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5393 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5394 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5395 } VkSubgroupFeatureFlagBits;
5396 typedef VkFlags VkSubgroupFeatureFlags;
5398 typedef enum VkPeerMemoryFeatureFlagBits {
5399 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5400 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5401 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5402 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5403 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5404 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5405 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5406 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5407 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5408 } VkPeerMemoryFeatureFlagBits;
5409 typedef VkFlags VkPeerMemoryFeatureFlags;
5411 typedef enum VkMemoryAllocateFlagBits {
5412 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5413 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5414 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5415 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5416 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5417 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5418 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5419 } VkMemoryAllocateFlagBits;
5420 typedef VkFlags VkMemoryAllocateFlags;
5421 typedef VkFlags VkCommandPoolTrimFlags;
5422 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5424 typedef enum VkExternalMemoryHandleTypeFlagBits {
5425 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5426 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5427 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5428 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5429 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5430 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5431 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5432 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5433 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5434 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5435 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5436 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5437 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
5438 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5439 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5440 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5441 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5442 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5443 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5444 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5445 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5446 } VkExternalMemoryHandleTypeFlagBits;
5447 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5449 typedef enum VkExternalMemoryFeatureFlagBits {
5450 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5451 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5452 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5453 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5454 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5455 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5456 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5457 } VkExternalMemoryFeatureFlagBits;
5458 typedef VkFlags VkExternalMemoryFeatureFlags;
5460 typedef enum VkExternalFenceHandleTypeFlagBits {
5461 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5462 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5463 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5464 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5465 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5466 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5467 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5468 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5469 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5470 } VkExternalFenceHandleTypeFlagBits;
5471 typedef VkFlags VkExternalFenceHandleTypeFlags;
5473 typedef enum VkExternalFenceFeatureFlagBits {
5474 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5475 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5476 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5477 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5478 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5479 } VkExternalFenceFeatureFlagBits;
5480 typedef VkFlags VkExternalFenceFeatureFlags;
5482 typedef enum VkFenceImportFlagBits {
5483 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5484 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5485 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5486 } VkFenceImportFlagBits;
5487 typedef VkFlags VkFenceImportFlags;
5489 typedef enum VkSemaphoreImportFlagBits {
5490 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5491 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5492 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5493 } VkSemaphoreImportFlagBits;
5494 typedef VkFlags VkSemaphoreImportFlags;
5496 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5497 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5498 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5499 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5500 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5501 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5502 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5503 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5504 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5505 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5506 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5507 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5508 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5509 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5510 } VkExternalSemaphoreHandleTypeFlagBits;
5511 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5513 typedef enum VkExternalSemaphoreFeatureFlagBits {
5514 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5515 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5516 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5517 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5518 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5519 } VkExternalSemaphoreFeatureFlagBits;
5520 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5521 typedef struct VkPhysicalDeviceSubgroupProperties {
5522 VkStructureType sType;
5524 deUint32 subgroupSize;
5525 VkShaderStageFlags supportedStages;
5526 VkSubgroupFeatureFlags supportedOperations;
5527 VkBool32 quadOperationsInAllStages;
5528 } VkPhysicalDeviceSubgroupProperties;
5530 typedef struct VkBindBufferMemoryInfo {
5531 VkStructureType sType;
5534 VkDeviceMemory memory;
5535 VkDeviceSize memoryOffset;
5536 } VkBindBufferMemoryInfo;
5538 typedef struct VkBindImageMemoryInfo {
5539 VkStructureType sType;
5542 VkDeviceMemory memory;
5543 VkDeviceSize memoryOffset;
5544 } VkBindImageMemoryInfo;
5546 typedef struct VkPhysicalDevice16BitStorageFeatures {
5547 VkStructureType sType;
5549 VkBool32 storageBuffer16BitAccess;
5550 VkBool32 uniformAndStorageBuffer16BitAccess;
5551 VkBool32 storagePushConstant16;
5552 VkBool32 storageInputOutput16;
5553 } VkPhysicalDevice16BitStorageFeatures;
5555 typedef struct VkMemoryDedicatedRequirements {
5556 VkStructureType sType;
5558 VkBool32 prefersDedicatedAllocation;
5559 VkBool32 requiresDedicatedAllocation;
5560 } VkMemoryDedicatedRequirements;
5562 typedef struct VkMemoryDedicatedAllocateInfo {
5563 VkStructureType sType;
5567 } VkMemoryDedicatedAllocateInfo;
5569 typedef struct VkMemoryAllocateFlagsInfo {
5570 VkStructureType sType;
5572 VkMemoryAllocateFlags flags;
5573 deUint32 deviceMask;
5574 } VkMemoryAllocateFlagsInfo;
5576 typedef struct VkDeviceGroupRenderPassBeginInfo {
5577 VkStructureType sType;
5579 deUint32 deviceMask;
5580 deUint32 deviceRenderAreaCount;
5581 const VkRect2D* pDeviceRenderAreas;
5582 } VkDeviceGroupRenderPassBeginInfo;
5584 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5585 VkStructureType sType;
5587 deUint32 deviceMask;
5588 } VkDeviceGroupCommandBufferBeginInfo;
5590 typedef struct VkDeviceGroupSubmitInfo {
5591 VkStructureType sType;
5593 deUint32 waitSemaphoreCount;
5594 const deUint32* pWaitSemaphoreDeviceIndices;
5595 deUint32 commandBufferCount;
5596 const deUint32* pCommandBufferDeviceMasks;
5597 deUint32 signalSemaphoreCount;
5598 const deUint32* pSignalSemaphoreDeviceIndices;
5599 } VkDeviceGroupSubmitInfo;
5601 typedef struct VkDeviceGroupBindSparseInfo {
5602 VkStructureType sType;
5604 deUint32 resourceDeviceIndex;
5605 deUint32 memoryDeviceIndex;
5606 } VkDeviceGroupBindSparseInfo;
5608 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5609 VkStructureType sType;
5611 deUint32 deviceIndexCount;
5612 const deUint32* pDeviceIndices;
5613 } VkBindBufferMemoryDeviceGroupInfo;
5615 typedef struct VkBindImageMemoryDeviceGroupInfo {
5616 VkStructureType sType;
5618 deUint32 deviceIndexCount;
5619 const deUint32* pDeviceIndices;
5620 deUint32 splitInstanceBindRegionCount;
5621 const VkRect2D* pSplitInstanceBindRegions;
5622 } VkBindImageMemoryDeviceGroupInfo;
5624 typedef struct VkPhysicalDeviceGroupProperties {
5625 VkStructureType sType;
5627 deUint32 physicalDeviceCount;
5628 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5629 VkBool32 subsetAllocation;
5630 } VkPhysicalDeviceGroupProperties;
5632 typedef struct VkDeviceGroupDeviceCreateInfo {
5633 VkStructureType sType;
5635 deUint32 physicalDeviceCount;
5636 const VkPhysicalDevice* pPhysicalDevices;
5637 } VkDeviceGroupDeviceCreateInfo;
5639 typedef struct VkBufferMemoryRequirementsInfo2 {
5640 VkStructureType sType;
5643 } VkBufferMemoryRequirementsInfo2;
5645 typedef struct VkImageMemoryRequirementsInfo2 {
5646 VkStructureType sType;
5649 } VkImageMemoryRequirementsInfo2;
5651 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5652 VkStructureType sType;
5655 } VkImageSparseMemoryRequirementsInfo2;
5657 typedef struct VkMemoryRequirements2 {
5658 VkStructureType sType;
5660 VkMemoryRequirements memoryRequirements;
5661 } VkMemoryRequirements2;
5663 typedef struct VkSparseImageMemoryRequirements2 {
5664 VkStructureType sType;
5666 VkSparseImageMemoryRequirements memoryRequirements;
5667 } VkSparseImageMemoryRequirements2;
5669 typedef struct VkPhysicalDeviceFeatures2 {
5670 VkStructureType sType;
5672 VkPhysicalDeviceFeatures features;
5673 } VkPhysicalDeviceFeatures2;
5675 typedef struct VkPhysicalDeviceProperties2 {
5676 VkStructureType sType;
5678 VkPhysicalDeviceProperties properties;
5679 } VkPhysicalDeviceProperties2;
5681 typedef struct VkFormatProperties2 {
5682 VkStructureType sType;
5684 VkFormatProperties formatProperties;
5685 } VkFormatProperties2;
5687 typedef struct VkImageFormatProperties2 {
5688 VkStructureType sType;
5690 VkImageFormatProperties imageFormatProperties;
5691 } VkImageFormatProperties2;
5693 typedef struct VkPhysicalDeviceImageFormatInfo2 {
5694 VkStructureType sType;
5698 VkImageTiling tiling;
5699 VkImageUsageFlags usage;
5700 VkImageCreateFlags flags;
5701 } VkPhysicalDeviceImageFormatInfo2;
5703 typedef struct VkQueueFamilyProperties2 {
5704 VkStructureType sType;
5706 VkQueueFamilyProperties queueFamilyProperties;
5707 } VkQueueFamilyProperties2;
5709 typedef struct VkPhysicalDeviceMemoryProperties2 {
5710 VkStructureType sType;
5712 VkPhysicalDeviceMemoryProperties memoryProperties;
5713 } VkPhysicalDeviceMemoryProperties2;
5715 typedef struct VkSparseImageFormatProperties2 {
5716 VkStructureType sType;
5718 VkSparseImageFormatProperties properties;
5719 } VkSparseImageFormatProperties2;
5721 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5722 VkStructureType sType;
5726 VkSampleCountFlagBits samples;
5727 VkImageUsageFlags usage;
5728 VkImageTiling tiling;
5729 } VkPhysicalDeviceSparseImageFormatInfo2;
5731 typedef struct VkPhysicalDevicePointClippingProperties {
5732 VkStructureType sType;
5734 VkPointClippingBehavior pointClippingBehavior;
5735 } VkPhysicalDevicePointClippingProperties;
5737 typedef struct VkInputAttachmentAspectReference {
5739 deUint32 inputAttachmentIndex;
5740 VkImageAspectFlags aspectMask;
5741 } VkInputAttachmentAspectReference;
5743 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5744 VkStructureType sType;
5746 deUint32 aspectReferenceCount;
5747 const VkInputAttachmentAspectReference* pAspectReferences;
5748 } VkRenderPassInputAttachmentAspectCreateInfo;
5750 typedef struct VkImageViewUsageCreateInfo {
5751 VkStructureType sType;
5753 VkImageUsageFlags usage;
5754 } VkImageViewUsageCreateInfo;
5756 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5757 VkStructureType sType;
5759 VkTessellationDomainOrigin domainOrigin;
5760 } VkPipelineTessellationDomainOriginStateCreateInfo;
5762 typedef struct VkRenderPassMultiviewCreateInfo {
5763 VkStructureType sType;
5765 deUint32 subpassCount;
5766 const deUint32* pViewMasks;
5767 deUint32 dependencyCount;
5768 const deInt32* pViewOffsets;
5769 deUint32 correlationMaskCount;
5770 const deUint32* pCorrelationMasks;
5771 } VkRenderPassMultiviewCreateInfo;
5773 typedef struct VkPhysicalDeviceMultiviewFeatures {
5774 VkStructureType sType;
5777 VkBool32 multiviewGeometryShader;
5778 VkBool32 multiviewTessellationShader;
5779 } VkPhysicalDeviceMultiviewFeatures;
5781 typedef struct VkPhysicalDeviceMultiviewProperties {
5782 VkStructureType sType;
5784 deUint32 maxMultiviewViewCount;
5785 deUint32 maxMultiviewInstanceIndex;
5786 } VkPhysicalDeviceMultiviewProperties;
5788 typedef struct VkPhysicalDeviceVariablePointersFeatures {
5789 VkStructureType sType;
5791 VkBool32 variablePointersStorageBuffer;
5792 VkBool32 variablePointers;
5793 } VkPhysicalDeviceVariablePointersFeatures;
5795 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5797 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5798 VkStructureType sType;
5800 VkBool32 protectedMemory;
5801 } VkPhysicalDeviceProtectedMemoryFeatures;
5803 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5804 VkStructureType sType;
5806 VkBool32 protectedNoFault;
5807 } VkPhysicalDeviceProtectedMemoryProperties;
5809 typedef struct VkDeviceQueueInfo2 {
5810 VkStructureType sType;
5812 VkDeviceQueueCreateFlags flags;
5813 deUint32 queueFamilyIndex;
5814 deUint32 queueIndex;
5815 } VkDeviceQueueInfo2;
5817 typedef struct VkProtectedSubmitInfo {
5818 VkStructureType sType;
5820 VkBool32 protectedSubmit;
5821 } VkProtectedSubmitInfo;
5823 typedef struct VkSamplerYcbcrConversionCreateInfo {
5824 VkStructureType sType;
5827 VkSamplerYcbcrModelConversion ycbcrModel;
5828 VkSamplerYcbcrRange ycbcrRange;
5829 VkComponentMapping components;
5830 VkChromaLocation xChromaOffset;
5831 VkChromaLocation yChromaOffset;
5832 VkFilter chromaFilter;
5833 VkBool32 forceExplicitReconstruction;
5834 } VkSamplerYcbcrConversionCreateInfo;
5836 typedef struct VkSamplerYcbcrConversionInfo {
5837 VkStructureType sType;
5839 VkSamplerYcbcrConversion conversion;
5840 } VkSamplerYcbcrConversionInfo;
5842 typedef struct VkBindImagePlaneMemoryInfo {
5843 VkStructureType sType;
5845 VkImageAspectFlagBits planeAspect;
5846 } VkBindImagePlaneMemoryInfo;
5848 typedef struct VkImagePlaneMemoryRequirementsInfo {
5849 VkStructureType sType;
5851 VkImageAspectFlagBits planeAspect;
5852 } VkImagePlaneMemoryRequirementsInfo;
5854 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5855 VkStructureType sType;
5857 VkBool32 samplerYcbcrConversion;
5858 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5860 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5861 VkStructureType sType;
5863 deUint32 combinedImageSamplerDescriptorCount;
5864 } VkSamplerYcbcrConversionImageFormatProperties;
5866 typedef struct VkDescriptorUpdateTemplateEntry {
5867 deUint32 dstBinding;
5868 deUint32 dstArrayElement;
5869 deUint32 descriptorCount;
5870 VkDescriptorType descriptorType;
5873 } VkDescriptorUpdateTemplateEntry;
5875 typedef struct VkDescriptorUpdateTemplateCreateInfo {
5876 VkStructureType sType;
5878 VkDescriptorUpdateTemplateCreateFlags flags;
5879 deUint32 descriptorUpdateEntryCount;
5880 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5881 VkDescriptorUpdateTemplateType templateType;
5882 VkDescriptorSetLayout descriptorSetLayout;
5883 VkPipelineBindPoint pipelineBindPoint;
5884 VkPipelineLayout pipelineLayout;
5886 } VkDescriptorUpdateTemplateCreateInfo;
5888 typedef struct VkExternalMemoryProperties {
5889 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5890 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5891 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5892 } VkExternalMemoryProperties;
5894 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5895 VkStructureType sType;
5897 VkExternalMemoryHandleTypeFlagBits handleType;
5898 } VkPhysicalDeviceExternalImageFormatInfo;
5900 typedef struct VkExternalImageFormatProperties {
5901 VkStructureType sType;
5903 VkExternalMemoryProperties externalMemoryProperties;
5904 } VkExternalImageFormatProperties;
5906 typedef struct VkPhysicalDeviceExternalBufferInfo {
5907 VkStructureType sType;
5909 VkBufferCreateFlags flags;
5910 VkBufferUsageFlags usage;
5911 VkExternalMemoryHandleTypeFlagBits handleType;
5912 } VkPhysicalDeviceExternalBufferInfo;
5914 typedef struct VkExternalBufferProperties {
5915 VkStructureType sType;
5917 VkExternalMemoryProperties externalMemoryProperties;
5918 } VkExternalBufferProperties;
5920 typedef struct VkPhysicalDeviceIDProperties {
5921 VkStructureType sType;
5923 deUint8 deviceUUID[VK_UUID_SIZE];
5924 deUint8 driverUUID[VK_UUID_SIZE];
5925 deUint8 deviceLUID[VK_LUID_SIZE];
5926 deUint32 deviceNodeMask;
5927 VkBool32 deviceLUIDValid;
5928 } VkPhysicalDeviceIDProperties;
5930 typedef struct VkExternalMemoryImageCreateInfo {
5931 VkStructureType sType;
5933 VkExternalMemoryHandleTypeFlags handleTypes;
5934 } VkExternalMemoryImageCreateInfo;
5936 typedef struct VkExternalMemoryBufferCreateInfo {
5937 VkStructureType sType;
5939 VkExternalMemoryHandleTypeFlags handleTypes;
5940 } VkExternalMemoryBufferCreateInfo;
5942 typedef struct VkExportMemoryAllocateInfo {
5943 VkStructureType sType;
5945 VkExternalMemoryHandleTypeFlags handleTypes;
5946 } VkExportMemoryAllocateInfo;
5948 typedef struct VkPhysicalDeviceExternalFenceInfo {
5949 VkStructureType sType;
5951 VkExternalFenceHandleTypeFlagBits handleType;
5952 } VkPhysicalDeviceExternalFenceInfo;
5954 typedef struct VkExternalFenceProperties {
5955 VkStructureType sType;
5957 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5958 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5959 VkExternalFenceFeatureFlags externalFenceFeatures;
5960 } VkExternalFenceProperties;
5962 typedef struct VkExportFenceCreateInfo {
5963 VkStructureType sType;
5965 VkExternalFenceHandleTypeFlags handleTypes;
5966 } VkExportFenceCreateInfo;
5968 typedef struct VkExportSemaphoreCreateInfo {
5969 VkStructureType sType;
5971 VkExternalSemaphoreHandleTypeFlags handleTypes;
5972 } VkExportSemaphoreCreateInfo;
5974 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5975 VkStructureType sType;
5977 VkExternalSemaphoreHandleTypeFlagBits handleType;
5978 } VkPhysicalDeviceExternalSemaphoreInfo;
5980 typedef struct VkExternalSemaphoreProperties {
5981 VkStructureType sType;
5983 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5984 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5985 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5986 } VkExternalSemaphoreProperties;
5988 typedef struct VkPhysicalDeviceMaintenance3Properties {
5989 VkStructureType sType;
5991 deUint32 maxPerSetDescriptors;
5992 VkDeviceSize maxMemoryAllocationSize;
5993 } VkPhysicalDeviceMaintenance3Properties;
5995 typedef struct VkDescriptorSetLayoutSupport {
5996 VkStructureType sType;
5999 } VkDescriptorSetLayoutSupport;
6001 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
6002 VkStructureType sType;
6004 VkBool32 shaderDrawParameters;
6005 } VkPhysicalDeviceShaderDrawParametersFeatures;
6007 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
6009 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
6010 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
6011 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
6012 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6013 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
6014 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
6015 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6016 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6017 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6018 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6019 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6020 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6021 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6022 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6023 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6024 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6025 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6026 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6027 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
6028 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6029 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6030 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6031 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6032 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6033 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6034 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6035 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6036 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
6038 #ifndef VK_NO_PROTOTYPES
6039 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
6040 deUint32* pApiVersion);
6042 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
6044 deUint32 bindInfoCount,
6045 const VkBindBufferMemoryInfo* pBindInfos);
6047 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
6049 deUint32 bindInfoCount,
6050 const VkBindImageMemoryInfo* pBindInfos);
6052 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
6055 deUint32 localDeviceIndex,
6056 deUint32 remoteDeviceIndex,
6057 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6059 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6060 VkCommandBuffer commandBuffer,
6061 deUint32 deviceMask);
6063 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6064 VkCommandBuffer commandBuffer,
6065 deUint32 baseGroupX,
6066 deUint32 baseGroupY,
6067 deUint32 baseGroupZ,
6068 deUint32 groupCountX,
6069 deUint32 groupCountY,
6070 deUint32 groupCountZ);
6072 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6073 VkInstance instance,
6074 deUint32* pPhysicalDeviceGroupCount,
6075 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6077 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6079 const VkImageMemoryRequirementsInfo2* pInfo,
6080 VkMemoryRequirements2* pMemoryRequirements);
6082 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6084 const VkBufferMemoryRequirementsInfo2* pInfo,
6085 VkMemoryRequirements2* pMemoryRequirements);
6087 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6089 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6090 deUint32* pSparseMemoryRequirementCount,
6091 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6093 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6094 VkPhysicalDevice physicalDevice,
6095 VkPhysicalDeviceFeatures2* pFeatures);
6097 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6098 VkPhysicalDevice physicalDevice,
6099 VkPhysicalDeviceProperties2* pProperties);
6101 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6102 VkPhysicalDevice physicalDevice,
6104 VkFormatProperties2* pFormatProperties);
6106 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6107 VkPhysicalDevice physicalDevice,
6108 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6109 VkImageFormatProperties2* pImageFormatProperties);
6111 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6112 VkPhysicalDevice physicalDevice,
6113 deUint32* pQueueFamilyPropertyCount,
6114 VkQueueFamilyProperties2* pQueueFamilyProperties);
6116 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6117 VkPhysicalDevice physicalDevice,
6118 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6120 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6121 VkPhysicalDevice physicalDevice,
6122 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6123 deUint32* pPropertyCount,
6124 VkSparseImageFormatProperties2* pProperties);
6126 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6128 VkCommandPool commandPool,
6129 VkCommandPoolTrimFlags flags);
6131 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6133 const VkDeviceQueueInfo2* pQueueInfo,
6136 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6138 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6139 const VkAllocationCallbacks* pAllocator,
6140 VkSamplerYcbcrConversion* pYcbcrConversion);
6142 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6144 VkSamplerYcbcrConversion ycbcrConversion,
6145 const VkAllocationCallbacks* pAllocator);
6147 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6149 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6150 const VkAllocationCallbacks* pAllocator,
6151 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6153 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6155 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6156 const VkAllocationCallbacks* pAllocator);
6158 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6160 VkDescriptorSet descriptorSet,
6161 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6164 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6165 VkPhysicalDevice physicalDevice,
6166 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6167 VkExternalBufferProperties* pExternalBufferProperties);
6169 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6170 VkPhysicalDevice physicalDevice,
6171 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6172 VkExternalFenceProperties* pExternalFenceProperties);
6174 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6175 VkPhysicalDevice physicalDevice,
6176 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6177 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6179 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6181 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6182 VkDescriptorSetLayoutSupport* pSupport);
6186 #define VK_VERSION_1_2 1
6187 // Vulkan 1.2 version number
6188 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6190 #define VK_MAX_DRIVER_NAME_SIZE 256U
6191 #define VK_MAX_DRIVER_INFO_SIZE 256U
6193 typedef enum VkDriverId {
6194 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6195 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6196 VK_DRIVER_ID_MESA_RADV = 3,
6197 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6198 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6199 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6200 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6201 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6202 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6203 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6204 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6205 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6206 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6207 VK_DRIVER_ID_MOLTENVK = 14,
6208 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6209 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
6210 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
6211 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6212 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6213 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6214 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6215 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6216 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6217 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6218 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6219 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6220 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6221 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6222 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6223 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6226 typedef enum VkShaderFloatControlsIndependence {
6227 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6228 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6229 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6230 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6231 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6232 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6233 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6234 } VkShaderFloatControlsIndependence;
6236 typedef enum VkSamplerReductionMode {
6237 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6238 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6239 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6240 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6241 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6242 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6243 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6244 } VkSamplerReductionMode;
6246 typedef enum VkSemaphoreType {
6247 VK_SEMAPHORE_TYPE_BINARY = 0,
6248 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6249 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6250 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6251 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6254 typedef enum VkResolveModeFlagBits {
6255 VK_RESOLVE_MODE_NONE = 0,
6256 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6257 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6258 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6259 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6260 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6261 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6262 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6263 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6264 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6265 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6266 } VkResolveModeFlagBits;
6267 typedef VkFlags VkResolveModeFlags;
6269 typedef enum VkDescriptorBindingFlagBits {
6270 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6271 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6272 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6273 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6274 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6275 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6276 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6277 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6278 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6279 } VkDescriptorBindingFlagBits;
6280 typedef VkFlags VkDescriptorBindingFlags;
6282 typedef enum VkSemaphoreWaitFlagBits {
6283 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6284 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6285 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6286 } VkSemaphoreWaitFlagBits;
6287 typedef VkFlags VkSemaphoreWaitFlags;
6288 typedef struct VkPhysicalDeviceVulkan11Features {
6289 VkStructureType sType;
6291 VkBool32 storageBuffer16BitAccess;
6292 VkBool32 uniformAndStorageBuffer16BitAccess;
6293 VkBool32 storagePushConstant16;
6294 VkBool32 storageInputOutput16;
6296 VkBool32 multiviewGeometryShader;
6297 VkBool32 multiviewTessellationShader;
6298 VkBool32 variablePointersStorageBuffer;
6299 VkBool32 variablePointers;
6300 VkBool32 protectedMemory;
6301 VkBool32 samplerYcbcrConversion;
6302 VkBool32 shaderDrawParameters;
6303 } VkPhysicalDeviceVulkan11Features;
6305 typedef struct VkPhysicalDeviceVulkan11Properties {
6306 VkStructureType sType;
6308 deUint8 deviceUUID[VK_UUID_SIZE];
6309 deUint8 driverUUID[VK_UUID_SIZE];
6310 deUint8 deviceLUID[VK_LUID_SIZE];
6311 deUint32 deviceNodeMask;
6312 VkBool32 deviceLUIDValid;
6313 deUint32 subgroupSize;
6314 VkShaderStageFlags subgroupSupportedStages;
6315 VkSubgroupFeatureFlags subgroupSupportedOperations;
6316 VkBool32 subgroupQuadOperationsInAllStages;
6317 VkPointClippingBehavior pointClippingBehavior;
6318 deUint32 maxMultiviewViewCount;
6319 deUint32 maxMultiviewInstanceIndex;
6320 VkBool32 protectedNoFault;
6321 deUint32 maxPerSetDescriptors;
6322 VkDeviceSize maxMemoryAllocationSize;
6323 } VkPhysicalDeviceVulkan11Properties;
6325 typedef struct VkPhysicalDeviceVulkan12Features {
6326 VkStructureType sType;
6328 VkBool32 samplerMirrorClampToEdge;
6329 VkBool32 drawIndirectCount;
6330 VkBool32 storageBuffer8BitAccess;
6331 VkBool32 uniformAndStorageBuffer8BitAccess;
6332 VkBool32 storagePushConstant8;
6333 VkBool32 shaderBufferInt64Atomics;
6334 VkBool32 shaderSharedInt64Atomics;
6335 VkBool32 shaderFloat16;
6336 VkBool32 shaderInt8;
6337 VkBool32 descriptorIndexing;
6338 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6339 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6340 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6341 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6342 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6343 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6344 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6345 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6346 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6347 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6348 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6349 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6350 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6351 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6352 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6353 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6354 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6355 VkBool32 descriptorBindingPartiallyBound;
6356 VkBool32 descriptorBindingVariableDescriptorCount;
6357 VkBool32 runtimeDescriptorArray;
6358 VkBool32 samplerFilterMinmax;
6359 VkBool32 scalarBlockLayout;
6360 VkBool32 imagelessFramebuffer;
6361 VkBool32 uniformBufferStandardLayout;
6362 VkBool32 shaderSubgroupExtendedTypes;
6363 VkBool32 separateDepthStencilLayouts;
6364 VkBool32 hostQueryReset;
6365 VkBool32 timelineSemaphore;
6366 VkBool32 bufferDeviceAddress;
6367 VkBool32 bufferDeviceAddressCaptureReplay;
6368 VkBool32 bufferDeviceAddressMultiDevice;
6369 VkBool32 vulkanMemoryModel;
6370 VkBool32 vulkanMemoryModelDeviceScope;
6371 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6372 VkBool32 shaderOutputViewportIndex;
6373 VkBool32 shaderOutputLayer;
6374 VkBool32 subgroupBroadcastDynamicId;
6375 } VkPhysicalDeviceVulkan12Features;
6377 typedef struct VkConformanceVersion {
6382 } VkConformanceVersion;
6384 typedef struct VkPhysicalDeviceVulkan12Properties {
6385 VkStructureType sType;
6387 VkDriverId driverID;
6388 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6389 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6390 VkConformanceVersion conformanceVersion;
6391 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6392 VkShaderFloatControlsIndependence roundingModeIndependence;
6393 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6394 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6395 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6396 VkBool32 shaderDenormPreserveFloat16;
6397 VkBool32 shaderDenormPreserveFloat32;
6398 VkBool32 shaderDenormPreserveFloat64;
6399 VkBool32 shaderDenormFlushToZeroFloat16;
6400 VkBool32 shaderDenormFlushToZeroFloat32;
6401 VkBool32 shaderDenormFlushToZeroFloat64;
6402 VkBool32 shaderRoundingModeRTEFloat16;
6403 VkBool32 shaderRoundingModeRTEFloat32;
6404 VkBool32 shaderRoundingModeRTEFloat64;
6405 VkBool32 shaderRoundingModeRTZFloat16;
6406 VkBool32 shaderRoundingModeRTZFloat32;
6407 VkBool32 shaderRoundingModeRTZFloat64;
6408 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6409 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6410 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6411 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6412 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6413 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6414 VkBool32 robustBufferAccessUpdateAfterBind;
6415 VkBool32 quadDivergentImplicitLod;
6416 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6417 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6418 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6419 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6420 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6421 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6422 deUint32 maxPerStageUpdateAfterBindResources;
6423 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6424 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6425 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6426 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6427 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6428 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6429 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6430 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6431 VkResolveModeFlags supportedDepthResolveModes;
6432 VkResolveModeFlags supportedStencilResolveModes;
6433 VkBool32 independentResolveNone;
6434 VkBool32 independentResolve;
6435 VkBool32 filterMinmaxSingleComponentFormats;
6436 VkBool32 filterMinmaxImageComponentMapping;
6437 deUint64 maxTimelineSemaphoreValueDifference;
6438 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6439 } VkPhysicalDeviceVulkan12Properties;
6441 typedef struct VkImageFormatListCreateInfo {
6442 VkStructureType sType;
6444 deUint32 viewFormatCount;
6445 const VkFormat* pViewFormats;
6446 } VkImageFormatListCreateInfo;
6448 typedef struct VkAttachmentDescription2 {
6449 VkStructureType sType;
6451 VkAttachmentDescriptionFlags flags;
6453 VkSampleCountFlagBits samples;
6454 VkAttachmentLoadOp loadOp;
6455 VkAttachmentStoreOp storeOp;
6456 VkAttachmentLoadOp stencilLoadOp;
6457 VkAttachmentStoreOp stencilStoreOp;
6458 VkImageLayout initialLayout;
6459 VkImageLayout finalLayout;
6460 } VkAttachmentDescription2;
6462 typedef struct VkAttachmentReference2 {
6463 VkStructureType sType;
6465 deUint32 attachment;
6466 VkImageLayout layout;
6467 VkImageAspectFlags aspectMask;
6468 } VkAttachmentReference2;
6470 typedef struct VkSubpassDescription2 {
6471 VkStructureType sType;
6473 VkSubpassDescriptionFlags flags;
6474 VkPipelineBindPoint pipelineBindPoint;
6476 deUint32 inputAttachmentCount;
6477 const VkAttachmentReference2* pInputAttachments;
6478 deUint32 colorAttachmentCount;
6479 const VkAttachmentReference2* pColorAttachments;
6480 const VkAttachmentReference2* pResolveAttachments;
6481 const VkAttachmentReference2* pDepthStencilAttachment;
6482 deUint32 preserveAttachmentCount;
6483 const deUint32* pPreserveAttachments;
6484 } VkSubpassDescription2;
6486 typedef struct VkSubpassDependency2 {
6487 VkStructureType sType;
6489 deUint32 srcSubpass;
6490 deUint32 dstSubpass;
6491 VkPipelineStageFlags srcStageMask;
6492 VkPipelineStageFlags dstStageMask;
6493 VkAccessFlags srcAccessMask;
6494 VkAccessFlags dstAccessMask;
6495 VkDependencyFlags dependencyFlags;
6497 } VkSubpassDependency2;
6499 typedef struct VkRenderPassCreateInfo2 {
6500 VkStructureType sType;
6502 VkRenderPassCreateFlags flags;
6503 deUint32 attachmentCount;
6504 const VkAttachmentDescription2* pAttachments;
6505 deUint32 subpassCount;
6506 const VkSubpassDescription2* pSubpasses;
6507 deUint32 dependencyCount;
6508 const VkSubpassDependency2* pDependencies;
6509 deUint32 correlatedViewMaskCount;
6510 const deUint32* pCorrelatedViewMasks;
6511 } VkRenderPassCreateInfo2;
6513 typedef struct VkSubpassBeginInfo {
6514 VkStructureType sType;
6516 VkSubpassContents contents;
6517 } VkSubpassBeginInfo;
6519 typedef struct VkSubpassEndInfo {
6520 VkStructureType sType;
6524 typedef struct VkPhysicalDevice8BitStorageFeatures {
6525 VkStructureType sType;
6527 VkBool32 storageBuffer8BitAccess;
6528 VkBool32 uniformAndStorageBuffer8BitAccess;
6529 VkBool32 storagePushConstant8;
6530 } VkPhysicalDevice8BitStorageFeatures;
6532 typedef struct VkPhysicalDeviceDriverProperties {
6533 VkStructureType sType;
6535 VkDriverId driverID;
6536 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6537 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6538 VkConformanceVersion conformanceVersion;
6539 } VkPhysicalDeviceDriverProperties;
6541 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6542 VkStructureType sType;
6544 VkBool32 shaderBufferInt64Atomics;
6545 VkBool32 shaderSharedInt64Atomics;
6546 } VkPhysicalDeviceShaderAtomicInt64Features;
6548 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6549 VkStructureType sType;
6551 VkBool32 shaderFloat16;
6552 VkBool32 shaderInt8;
6553 } VkPhysicalDeviceShaderFloat16Int8Features;
6555 typedef struct VkPhysicalDeviceFloatControlsProperties {
6556 VkStructureType sType;
6558 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6559 VkShaderFloatControlsIndependence roundingModeIndependence;
6560 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6561 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6562 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6563 VkBool32 shaderDenormPreserveFloat16;
6564 VkBool32 shaderDenormPreserveFloat32;
6565 VkBool32 shaderDenormPreserveFloat64;
6566 VkBool32 shaderDenormFlushToZeroFloat16;
6567 VkBool32 shaderDenormFlushToZeroFloat32;
6568 VkBool32 shaderDenormFlushToZeroFloat64;
6569 VkBool32 shaderRoundingModeRTEFloat16;
6570 VkBool32 shaderRoundingModeRTEFloat32;
6571 VkBool32 shaderRoundingModeRTEFloat64;
6572 VkBool32 shaderRoundingModeRTZFloat16;
6573 VkBool32 shaderRoundingModeRTZFloat32;
6574 VkBool32 shaderRoundingModeRTZFloat64;
6575 } VkPhysicalDeviceFloatControlsProperties;
6577 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6578 VkStructureType sType;
6580 deUint32 bindingCount;
6581 const VkDescriptorBindingFlags* pBindingFlags;
6582 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6584 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6585 VkStructureType sType;
6587 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6588 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6589 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6590 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6591 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6592 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6593 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6594 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6595 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6596 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6597 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6598 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6599 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6600 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6601 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6602 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6603 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6604 VkBool32 descriptorBindingPartiallyBound;
6605 VkBool32 descriptorBindingVariableDescriptorCount;
6606 VkBool32 runtimeDescriptorArray;
6607 } VkPhysicalDeviceDescriptorIndexingFeatures;
6609 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6610 VkStructureType sType;
6612 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6613 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6614 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6615 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6616 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6617 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6618 VkBool32 robustBufferAccessUpdateAfterBind;
6619 VkBool32 quadDivergentImplicitLod;
6620 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6621 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6622 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6623 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6624 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6625 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6626 deUint32 maxPerStageUpdateAfterBindResources;
6627 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6628 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6629 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6630 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6631 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6632 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6633 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6634 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6635 } VkPhysicalDeviceDescriptorIndexingProperties;
6637 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6638 VkStructureType sType;
6640 deUint32 descriptorSetCount;
6641 const deUint32* pDescriptorCounts;
6642 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6644 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6645 VkStructureType sType;
6647 deUint32 maxVariableDescriptorCount;
6648 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6650 typedef struct VkSubpassDescriptionDepthStencilResolve {
6651 VkStructureType sType;
6653 VkResolveModeFlagBits depthResolveMode;
6654 VkResolveModeFlagBits stencilResolveMode;
6655 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6656 } VkSubpassDescriptionDepthStencilResolve;
6658 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6659 VkStructureType sType;
6661 VkResolveModeFlags supportedDepthResolveModes;
6662 VkResolveModeFlags supportedStencilResolveModes;
6663 VkBool32 independentResolveNone;
6664 VkBool32 independentResolve;
6665 } VkPhysicalDeviceDepthStencilResolveProperties;
6667 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6668 VkStructureType sType;
6670 VkBool32 scalarBlockLayout;
6671 } VkPhysicalDeviceScalarBlockLayoutFeatures;
6673 typedef struct VkImageStencilUsageCreateInfo {
6674 VkStructureType sType;
6676 VkImageUsageFlags stencilUsage;
6677 } VkImageStencilUsageCreateInfo;
6679 typedef struct VkSamplerReductionModeCreateInfo {
6680 VkStructureType sType;
6682 VkSamplerReductionMode reductionMode;
6683 } VkSamplerReductionModeCreateInfo;
6685 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6686 VkStructureType sType;
6688 VkBool32 filterMinmaxSingleComponentFormats;
6689 VkBool32 filterMinmaxImageComponentMapping;
6690 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
6692 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6693 VkStructureType sType;
6695 VkBool32 vulkanMemoryModel;
6696 VkBool32 vulkanMemoryModelDeviceScope;
6697 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6698 } VkPhysicalDeviceVulkanMemoryModelFeatures;
6700 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6701 VkStructureType sType;
6703 VkBool32 imagelessFramebuffer;
6704 } VkPhysicalDeviceImagelessFramebufferFeatures;
6706 typedef struct VkFramebufferAttachmentImageInfo {
6707 VkStructureType sType;
6709 VkImageCreateFlags flags;
6710 VkImageUsageFlags usage;
6713 deUint32 layerCount;
6714 deUint32 viewFormatCount;
6715 const VkFormat* pViewFormats;
6716 } VkFramebufferAttachmentImageInfo;
6718 typedef struct VkFramebufferAttachmentsCreateInfo {
6719 VkStructureType sType;
6721 deUint32 attachmentImageInfoCount;
6722 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6723 } VkFramebufferAttachmentsCreateInfo;
6725 typedef struct VkRenderPassAttachmentBeginInfo {
6726 VkStructureType sType;
6728 deUint32 attachmentCount;
6729 const VkImageView* pAttachments;
6730 } VkRenderPassAttachmentBeginInfo;
6732 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6733 VkStructureType sType;
6735 VkBool32 uniformBufferStandardLayout;
6736 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6738 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6739 VkStructureType sType;
6741 VkBool32 shaderSubgroupExtendedTypes;
6742 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6744 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6745 VkStructureType sType;
6747 VkBool32 separateDepthStencilLayouts;
6748 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6750 typedef struct VkAttachmentReferenceStencilLayout {
6751 VkStructureType sType;
6753 VkImageLayout stencilLayout;
6754 } VkAttachmentReferenceStencilLayout;
6756 typedef struct VkAttachmentDescriptionStencilLayout {
6757 VkStructureType sType;
6759 VkImageLayout stencilInitialLayout;
6760 VkImageLayout stencilFinalLayout;
6761 } VkAttachmentDescriptionStencilLayout;
6763 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6764 VkStructureType sType;
6766 VkBool32 hostQueryReset;
6767 } VkPhysicalDeviceHostQueryResetFeatures;
6769 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6770 VkStructureType sType;
6772 VkBool32 timelineSemaphore;
6773 } VkPhysicalDeviceTimelineSemaphoreFeatures;
6775 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6776 VkStructureType sType;
6778 deUint64 maxTimelineSemaphoreValueDifference;
6779 } VkPhysicalDeviceTimelineSemaphoreProperties;
6781 typedef struct VkSemaphoreTypeCreateInfo {
6782 VkStructureType sType;
6784 VkSemaphoreType semaphoreType;
6785 deUint64 initialValue;
6786 } VkSemaphoreTypeCreateInfo;
6788 typedef struct VkTimelineSemaphoreSubmitInfo {
6789 VkStructureType sType;
6791 deUint32 waitSemaphoreValueCount;
6792 const deUint64* pWaitSemaphoreValues;
6793 deUint32 signalSemaphoreValueCount;
6794 const deUint64* pSignalSemaphoreValues;
6795 } VkTimelineSemaphoreSubmitInfo;
6797 typedef struct VkSemaphoreWaitInfo {
6798 VkStructureType sType;
6800 VkSemaphoreWaitFlags flags;
6801 deUint32 semaphoreCount;
6802 const VkSemaphore* pSemaphores;
6803 const deUint64* pValues;
6804 } VkSemaphoreWaitInfo;
6806 typedef struct VkSemaphoreSignalInfo {
6807 VkStructureType sType;
6809 VkSemaphore semaphore;
6811 } VkSemaphoreSignalInfo;
6813 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6814 VkStructureType sType;
6816 VkBool32 bufferDeviceAddress;
6817 VkBool32 bufferDeviceAddressCaptureReplay;
6818 VkBool32 bufferDeviceAddressMultiDevice;
6819 } VkPhysicalDeviceBufferDeviceAddressFeatures;
6821 typedef struct VkBufferDeviceAddressInfo {
6822 VkStructureType sType;
6825 } VkBufferDeviceAddressInfo;
6827 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6828 VkStructureType sType;
6830 deUint64 opaqueCaptureAddress;
6831 } VkBufferOpaqueCaptureAddressCreateInfo;
6833 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6834 VkStructureType sType;
6836 deUint64 opaqueCaptureAddress;
6837 } VkMemoryOpaqueCaptureAddressAllocateInfo;
6839 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6840 VkStructureType sType;
6842 VkDeviceMemory memory;
6843 } VkDeviceMemoryOpaqueCaptureAddressInfo;
6845 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6846 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6847 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6848 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6849 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6850 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6851 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
6852 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
6853 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
6854 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6855 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6856 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6857 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6859 #ifndef VK_NO_PROTOTYPES
6860 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6861 VkCommandBuffer commandBuffer,
6863 VkDeviceSize offset,
6864 VkBuffer countBuffer,
6865 VkDeviceSize countBufferOffset,
6866 deUint32 maxDrawCount,
6869 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6870 VkCommandBuffer commandBuffer,
6872 VkDeviceSize offset,
6873 VkBuffer countBuffer,
6874 VkDeviceSize countBufferOffset,
6875 deUint32 maxDrawCount,
6878 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6880 const VkRenderPassCreateInfo2* pCreateInfo,
6881 const VkAllocationCallbacks* pAllocator,
6882 VkRenderPass* pRenderPass);
6884 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6885 VkCommandBuffer commandBuffer,
6886 const VkRenderPassBeginInfo* pRenderPassBegin,
6887 const VkSubpassBeginInfo* pSubpassBeginInfo);
6889 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6890 VkCommandBuffer commandBuffer,
6891 const VkSubpassBeginInfo* pSubpassBeginInfo,
6892 const VkSubpassEndInfo* pSubpassEndInfo);
6894 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6895 VkCommandBuffer commandBuffer,
6896 const VkSubpassEndInfo* pSubpassEndInfo);
6898 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6900 VkQueryPool queryPool,
6901 deUint32 firstQuery,
6902 deUint32 queryCount);
6904 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6906 VkSemaphore semaphore,
6909 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6911 const VkSemaphoreWaitInfo* pWaitInfo,
6914 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6916 const VkSemaphoreSignalInfo* pSignalInfo);
6918 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6920 const VkBufferDeviceAddressInfo* pInfo);
6922 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6924 const VkBufferDeviceAddressInfo* pInfo);
6926 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6928 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6932 #define VK_KHR_surface 1
6933 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6934 #define VK_KHR_SURFACE_SPEC_VERSION 25
6935 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6937 typedef enum VkPresentModeKHR {
6938 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6939 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6940 VK_PRESENT_MODE_FIFO_KHR = 2,
6941 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6942 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6943 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6944 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6947 typedef enum VkColorSpaceKHR {
6948 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6949 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6950 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6951 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6952 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6953 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6954 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6955 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6956 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6957 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6958 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6959 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6960 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6961 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6962 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6963 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6964 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6965 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6966 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6969 typedef enum VkSurfaceTransformFlagBitsKHR {
6970 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6971 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6972 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6973 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6974 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6975 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6976 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6977 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6978 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6979 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6980 } VkSurfaceTransformFlagBitsKHR;
6982 typedef enum VkCompositeAlphaFlagBitsKHR {
6983 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6984 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6985 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6986 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6987 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6988 } VkCompositeAlphaFlagBitsKHR;
6989 typedef VkFlags VkCompositeAlphaFlagsKHR;
6990 typedef VkFlags VkSurfaceTransformFlagsKHR;
6991 typedef struct VkSurfaceCapabilitiesKHR {
6992 deUint32 minImageCount;
6993 deUint32 maxImageCount;
6994 VkExtent2D currentExtent;
6995 VkExtent2D minImageExtent;
6996 VkExtent2D maxImageExtent;
6997 deUint32 maxImageArrayLayers;
6998 VkSurfaceTransformFlagsKHR supportedTransforms;
6999 VkSurfaceTransformFlagBitsKHR currentTransform;
7000 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
7001 VkImageUsageFlags supportedUsageFlags;
7002 } VkSurfaceCapabilitiesKHR;
7004 typedef struct VkSurfaceFormatKHR {
7006 VkColorSpaceKHR colorSpace;
7007 } VkSurfaceFormatKHR;
7009 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
7010 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
7011 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7012 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
7013 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
7015 #ifndef VK_NO_PROTOTYPES
7016 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
7017 VkInstance instance,
7018 VkSurfaceKHR surface,
7019 const VkAllocationCallbacks* pAllocator);
7021 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
7022 VkPhysicalDevice physicalDevice,
7023 deUint32 queueFamilyIndex,
7024 VkSurfaceKHR surface,
7025 VkBool32* pSupported);
7027 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
7028 VkPhysicalDevice physicalDevice,
7029 VkSurfaceKHR surface,
7030 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7032 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
7033 VkPhysicalDevice physicalDevice,
7034 VkSurfaceKHR surface,
7035 deUint32* pSurfaceFormatCount,
7036 VkSurfaceFormatKHR* pSurfaceFormats);
7038 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
7039 VkPhysicalDevice physicalDevice,
7040 VkSurfaceKHR surface,
7041 deUint32* pPresentModeCount,
7042 VkPresentModeKHR* pPresentModes);
7046 #define VK_KHR_swapchain 1
7047 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
7048 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
7049 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
7051 typedef enum VkSwapchainCreateFlagBitsKHR {
7052 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
7053 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
7054 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
7055 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7056 } VkSwapchainCreateFlagBitsKHR;
7057 typedef VkFlags VkSwapchainCreateFlagsKHR;
7059 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
7060 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
7061 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
7062 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
7063 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7064 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7065 } VkDeviceGroupPresentModeFlagBitsKHR;
7066 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7067 typedef struct VkSwapchainCreateInfoKHR {
7068 VkStructureType sType;
7070 VkSwapchainCreateFlagsKHR flags;
7071 VkSurfaceKHR surface;
7072 deUint32 minImageCount;
7073 VkFormat imageFormat;
7074 VkColorSpaceKHR imageColorSpace;
7075 VkExtent2D imageExtent;
7076 deUint32 imageArrayLayers;
7077 VkImageUsageFlags imageUsage;
7078 VkSharingMode imageSharingMode;
7079 deUint32 queueFamilyIndexCount;
7080 const deUint32* pQueueFamilyIndices;
7081 VkSurfaceTransformFlagBitsKHR preTransform;
7082 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7083 VkPresentModeKHR presentMode;
7085 VkSwapchainKHR oldSwapchain;
7086 } VkSwapchainCreateInfoKHR;
7088 typedef struct VkPresentInfoKHR {
7089 VkStructureType sType;
7091 deUint32 waitSemaphoreCount;
7092 const VkSemaphore* pWaitSemaphores;
7093 deUint32 swapchainCount;
7094 const VkSwapchainKHR* pSwapchains;
7095 const deUint32* pImageIndices;
7099 typedef struct VkImageSwapchainCreateInfoKHR {
7100 VkStructureType sType;
7102 VkSwapchainKHR swapchain;
7103 } VkImageSwapchainCreateInfoKHR;
7105 typedef struct VkBindImageMemorySwapchainInfoKHR {
7106 VkStructureType sType;
7108 VkSwapchainKHR swapchain;
7109 deUint32 imageIndex;
7110 } VkBindImageMemorySwapchainInfoKHR;
7112 typedef struct VkAcquireNextImageInfoKHR {
7113 VkStructureType sType;
7115 VkSwapchainKHR swapchain;
7117 VkSemaphore semaphore;
7119 deUint32 deviceMask;
7120 } VkAcquireNextImageInfoKHR;
7122 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7123 VkStructureType sType;
7125 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7126 VkDeviceGroupPresentModeFlagsKHR modes;
7127 } VkDeviceGroupPresentCapabilitiesKHR;
7129 typedef struct VkDeviceGroupPresentInfoKHR {
7130 VkStructureType sType;
7132 deUint32 swapchainCount;
7133 const deUint32* pDeviceMasks;
7134 VkDeviceGroupPresentModeFlagBitsKHR mode;
7135 } VkDeviceGroupPresentInfoKHR;
7137 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7138 VkStructureType sType;
7140 VkDeviceGroupPresentModeFlagsKHR modes;
7141 } VkDeviceGroupSwapchainCreateInfoKHR;
7143 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7144 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7145 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
7146 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
7147 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7148 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7149 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7150 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
7151 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
7153 #ifndef VK_NO_PROTOTYPES
7154 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7156 const VkSwapchainCreateInfoKHR* pCreateInfo,
7157 const VkAllocationCallbacks* pAllocator,
7158 VkSwapchainKHR* pSwapchain);
7160 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7162 VkSwapchainKHR swapchain,
7163 const VkAllocationCallbacks* pAllocator);
7165 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7167 VkSwapchainKHR swapchain,
7168 deUint32* pSwapchainImageCount,
7169 VkImage* pSwapchainImages);
7171 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7173 VkSwapchainKHR swapchain,
7175 VkSemaphore semaphore,
7177 deUint32* pImageIndex);
7179 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7181 const VkPresentInfoKHR* pPresentInfo);
7183 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7185 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7187 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7189 VkSurfaceKHR surface,
7190 VkDeviceGroupPresentModeFlagsKHR* pModes);
7192 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7193 VkPhysicalDevice physicalDevice,
7194 VkSurfaceKHR surface,
7195 deUint32* pRectCount,
7198 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7200 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7201 deUint32* pImageIndex);
7205 #define VK_KHR_display 1
7206 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7207 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7208 #define VK_KHR_DISPLAY_SPEC_VERSION 23
7209 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7210 typedef VkFlags VkDisplayModeCreateFlagsKHR;
7212 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7213 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7214 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7215 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7216 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7217 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7218 } VkDisplayPlaneAlphaFlagBitsKHR;
7219 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7220 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7221 typedef struct VkDisplayModeParametersKHR {
7222 VkExtent2D visibleRegion;
7223 deUint32 refreshRate;
7224 } VkDisplayModeParametersKHR;
7226 typedef struct VkDisplayModeCreateInfoKHR {
7227 VkStructureType sType;
7229 VkDisplayModeCreateFlagsKHR flags;
7230 VkDisplayModeParametersKHR parameters;
7231 } VkDisplayModeCreateInfoKHR;
7233 typedef struct VkDisplayModePropertiesKHR {
7234 VkDisplayModeKHR displayMode;
7235 VkDisplayModeParametersKHR parameters;
7236 } VkDisplayModePropertiesKHR;
7238 typedef struct VkDisplayPlaneCapabilitiesKHR {
7239 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7240 VkOffset2D minSrcPosition;
7241 VkOffset2D maxSrcPosition;
7242 VkExtent2D minSrcExtent;
7243 VkExtent2D maxSrcExtent;
7244 VkOffset2D minDstPosition;
7245 VkOffset2D maxDstPosition;
7246 VkExtent2D minDstExtent;
7247 VkExtent2D maxDstExtent;
7248 } VkDisplayPlaneCapabilitiesKHR;
7250 typedef struct VkDisplayPlanePropertiesKHR {
7251 VkDisplayKHR currentDisplay;
7252 deUint32 currentStackIndex;
7253 } VkDisplayPlanePropertiesKHR;
7255 typedef struct VkDisplayPropertiesKHR {
7256 VkDisplayKHR display;
7257 const char* displayName;
7258 VkExtent2D physicalDimensions;
7259 VkExtent2D physicalResolution;
7260 VkSurfaceTransformFlagsKHR supportedTransforms;
7261 VkBool32 planeReorderPossible;
7262 VkBool32 persistentContent;
7263 } VkDisplayPropertiesKHR;
7265 typedef struct VkDisplaySurfaceCreateInfoKHR {
7266 VkStructureType sType;
7268 VkDisplaySurfaceCreateFlagsKHR flags;
7269 VkDisplayModeKHR displayMode;
7270 deUint32 planeIndex;
7271 deUint32 planeStackIndex;
7272 VkSurfaceTransformFlagBitsKHR transform;
7274 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7275 VkExtent2D imageExtent;
7276 } VkDisplaySurfaceCreateInfoKHR;
7278 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7279 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7280 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
7281 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7282 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7283 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7284 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7286 #ifndef VK_NO_PROTOTYPES
7287 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7288 VkPhysicalDevice physicalDevice,
7289 deUint32* pPropertyCount,
7290 VkDisplayPropertiesKHR* pProperties);
7292 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7293 VkPhysicalDevice physicalDevice,
7294 deUint32* pPropertyCount,
7295 VkDisplayPlanePropertiesKHR* pProperties);
7297 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7298 VkPhysicalDevice physicalDevice,
7299 deUint32 planeIndex,
7300 deUint32* pDisplayCount,
7301 VkDisplayKHR* pDisplays);
7303 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7304 VkPhysicalDevice physicalDevice,
7305 VkDisplayKHR display,
7306 deUint32* pPropertyCount,
7307 VkDisplayModePropertiesKHR* pProperties);
7309 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7310 VkPhysicalDevice physicalDevice,
7311 VkDisplayKHR display,
7312 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7313 const VkAllocationCallbacks* pAllocator,
7314 VkDisplayModeKHR* pMode);
7316 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7317 VkPhysicalDevice physicalDevice,
7318 VkDisplayModeKHR mode,
7319 deUint32 planeIndex,
7320 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7322 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7323 VkInstance instance,
7324 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7325 const VkAllocationCallbacks* pAllocator,
7326 VkSurfaceKHR* pSurface);
7330 #define VK_KHR_display_swapchain 1
7331 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7332 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7333 typedef struct VkDisplayPresentInfoKHR {
7334 VkStructureType sType;
7338 VkBool32 persistent;
7339 } VkDisplayPresentInfoKHR;
7341 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7343 #ifndef VK_NO_PROTOTYPES
7344 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7346 deUint32 swapchainCount,
7347 const VkSwapchainCreateInfoKHR* pCreateInfos,
7348 const VkAllocationCallbacks* pAllocator,
7349 VkSwapchainKHR* pSwapchains);
7353 #define VK_KHR_sampler_mirror_clamp_to_edge 1
7354 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7355 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7358 #define VK_KHR_dynamic_rendering 1
7359 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1
7360 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering"
7362 typedef enum VkRenderingFlagBitsKHR {
7363 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = 0x00000001,
7364 VK_RENDERING_SUSPENDING_BIT_KHR = 0x00000002,
7365 VK_RENDERING_RESUMING_BIT_KHR = 0x00000004,
7366 VK_RENDERING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7367 } VkRenderingFlagBitsKHR;
7368 typedef VkFlags VkRenderingFlagsKHR;
7369 typedef struct VkRenderingAttachmentInfoKHR {
7370 VkStructureType sType;
7372 VkImageView imageView;
7373 VkImageLayout imageLayout;
7374 VkResolveModeFlagBits resolveMode;
7375 VkImageView resolveImageView;
7376 VkImageLayout resolveImageLayout;
7377 VkAttachmentLoadOp loadOp;
7378 VkAttachmentStoreOp storeOp;
7379 VkClearValue clearValue;
7380 } VkRenderingAttachmentInfoKHR;
7382 typedef struct VkRenderingInfoKHR {
7383 VkStructureType sType;
7385 VkRenderingFlagsKHR flags;
7386 VkRect2D renderArea;
7387 deUint32 layerCount;
7389 deUint32 colorAttachmentCount;
7390 const VkRenderingAttachmentInfoKHR* pColorAttachments;
7391 const VkRenderingAttachmentInfoKHR* pDepthAttachment;
7392 const VkRenderingAttachmentInfoKHR* pStencilAttachment;
7393 } VkRenderingInfoKHR;
7395 typedef struct VkPipelineRenderingCreateInfoKHR {
7396 VkStructureType sType;
7399 deUint32 colorAttachmentCount;
7400 const VkFormat* pColorAttachmentFormats;
7401 VkFormat depthStencilAttachmentFormat;
7402 } VkPipelineRenderingCreateInfoKHR;
7404 typedef struct VkPhysicalDeviceDynamicRenderingFeaturesKHR {
7405 VkStructureType sType;
7407 VkBool32 dynamicRendering;
7408 } VkPhysicalDeviceDynamicRenderingFeaturesKHR;
7410 typedef struct VkCommandBufferInheritanceRenderingInfoKHR {
7411 VkStructureType sType;
7413 VkRenderingFlagsKHR flags;
7415 deUint32 colorAttachmentCount;
7416 const VkFormat* pColorAttachmentFormats;
7417 VkFormat depthStencilAttachmentFormat;
7418 VkSampleCountFlagBits rasterizationSamples;
7419 } VkCommandBufferInheritanceRenderingInfoKHR;
7421 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR {
7422 VkStructureType sType;
7424 VkImageView imageView;
7425 VkImageLayout imageLayout;
7426 VkExtent2D shadingRateAttachmentTexelSize;
7427 } VkRenderingFragmentShadingRateAttachmentInfoKHR;
7429 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT {
7430 VkStructureType sType;
7432 VkImageView imageView;
7433 VkImageLayout imageLayout;
7434 } VkRenderingFragmentDensityMapAttachmentInfoEXT;
7436 typedef struct VkAttachmentSampleCountInfoAMD {
7437 VkStructureType sType;
7439 deUint32 colorAttachmentCount;
7440 const VkSampleCountFlagBits* pColorAttachmentSamples;
7441 VkSampleCountFlagBits depthStencilAttachmentSamples;
7442 } VkAttachmentSampleCountInfoAMD;
7444 typedef VkAttachmentSampleCountInfoAMD VkAttachmentSampleCountInfoNV;
7446 typedef struct VkMultiviewPerViewAttributesInfoNVX {
7447 VkStructureType sType;
7449 VkBool32 perViewAttributes;
7450 VkBool32 perViewAttributesPositionXOnly;
7451 } VkMultiviewPerViewAttributesInfoNVX;
7453 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderingKHR)(VkCommandBuffer commandBuffer, const VkRenderingInfoKHR* pRenderingInfo);
7454 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderingKHR)(VkCommandBuffer commandBuffer);
7456 #ifndef VK_NO_PROTOTYPES
7457 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderingKHR(
7458 VkCommandBuffer commandBuffer,
7459 const VkRenderingInfoKHR* pRenderingInfo);
7461 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderingKHR(
7462 VkCommandBuffer commandBuffer);
7466 #define VK_KHR_multiview 1
7467 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
7468 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
7469 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
7471 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
7473 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
7477 #define VK_KHR_get_physical_device_properties2 1
7478 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
7479 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
7480 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
7482 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
7484 typedef VkFormatProperties2 VkFormatProperties2KHR;
7486 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
7488 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
7490 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
7492 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
7494 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
7496 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
7498 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
7499 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
7500 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
7501 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
7502 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
7503 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7504 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
7506 #ifndef VK_NO_PROTOTYPES
7507 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
7508 VkPhysicalDevice physicalDevice,
7509 VkPhysicalDeviceFeatures2* pFeatures);
7511 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
7512 VkPhysicalDevice physicalDevice,
7513 VkPhysicalDeviceProperties2* pProperties);
7515 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
7516 VkPhysicalDevice physicalDevice,
7518 VkFormatProperties2* pFormatProperties);
7520 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
7521 VkPhysicalDevice physicalDevice,
7522 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
7523 VkImageFormatProperties2* pImageFormatProperties);
7525 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7526 VkPhysicalDevice physicalDevice,
7527 deUint32* pQueueFamilyPropertyCount,
7528 VkQueueFamilyProperties2* pQueueFamilyProperties);
7530 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
7531 VkPhysicalDevice physicalDevice,
7532 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7534 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7535 VkPhysicalDevice physicalDevice,
7536 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
7537 deUint32* pPropertyCount,
7538 VkSparseImageFormatProperties2* pProperties);
7542 #define VK_KHR_device_group 1
7543 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
7544 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
7545 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
7547 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
7549 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
7551 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
7553 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
7555 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
7557 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
7559 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
7561 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
7563 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
7565 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
7567 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7568 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
7569 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
7571 #ifndef VK_NO_PROTOTYPES
7572 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
7575 deUint32 localDeviceIndex,
7576 deUint32 remoteDeviceIndex,
7577 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7579 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
7580 VkCommandBuffer commandBuffer,
7581 deUint32 deviceMask);
7583 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
7584 VkCommandBuffer commandBuffer,
7585 deUint32 baseGroupX,
7586 deUint32 baseGroupY,
7587 deUint32 baseGroupZ,
7588 deUint32 groupCountX,
7589 deUint32 groupCountY,
7590 deUint32 groupCountZ);
7594 #define VK_KHR_shader_draw_parameters 1
7595 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
7596 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
7599 #define VK_KHR_maintenance1 1
7600 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
7601 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
7602 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
7604 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
7606 #ifndef VK_NO_PROTOTYPES
7607 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
7609 VkCommandPool commandPool,
7610 VkCommandPoolTrimFlags flags);
7614 #define VK_KHR_device_group_creation 1
7615 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
7616 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
7617 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
7618 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
7620 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
7622 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7624 #ifndef VK_NO_PROTOTYPES
7625 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
7626 VkInstance instance,
7627 deUint32* pPhysicalDeviceGroupCount,
7628 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7632 #define VK_KHR_external_memory_capabilities 1
7633 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7634 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
7635 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
7636 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
7638 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
7640 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
7642 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
7644 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
7646 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
7648 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
7650 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
7652 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
7654 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
7656 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
7658 #ifndef VK_NO_PROTOTYPES
7659 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7660 VkPhysicalDevice physicalDevice,
7661 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
7662 VkExternalBufferProperties* pExternalBufferProperties);
7666 #define VK_KHR_external_memory 1
7667 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
7668 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
7669 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
7670 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
7672 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
7674 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
7678 #define VK_KHR_external_memory_fd 1
7679 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
7680 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
7681 typedef struct VkImportMemoryFdInfoKHR {
7682 VkStructureType sType;
7684 VkExternalMemoryHandleTypeFlagBits handleType;
7686 } VkImportMemoryFdInfoKHR;
7688 typedef struct VkMemoryFdPropertiesKHR {
7689 VkStructureType sType;
7691 deUint32 memoryTypeBits;
7692 } VkMemoryFdPropertiesKHR;
7694 typedef struct VkMemoryGetFdInfoKHR {
7695 VkStructureType sType;
7697 VkDeviceMemory memory;
7698 VkExternalMemoryHandleTypeFlagBits handleType;
7699 } VkMemoryGetFdInfoKHR;
7701 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
7702 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7704 #ifndef VK_NO_PROTOTYPES
7705 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
7707 const VkMemoryGetFdInfoKHR* pGetFdInfo,
7710 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
7712 VkExternalMemoryHandleTypeFlagBits handleType,
7714 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7718 #define VK_KHR_external_semaphore_capabilities 1
7719 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
7720 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
7721 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
7723 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
7725 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
7727 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
7729 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
7731 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
7733 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7735 #ifndef VK_NO_PROTOTYPES
7736 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
7737 VkPhysicalDevice physicalDevice,
7738 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
7739 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7743 #define VK_KHR_external_semaphore 1
7744 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
7745 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
7746 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
7748 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
7750 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
7754 #define VK_KHR_external_semaphore_fd 1
7755 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
7756 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
7757 typedef struct VkImportSemaphoreFdInfoKHR {
7758 VkStructureType sType;
7760 VkSemaphore semaphore;
7761 VkSemaphoreImportFlags flags;
7762 VkExternalSemaphoreHandleTypeFlagBits handleType;
7764 } VkImportSemaphoreFdInfoKHR;
7766 typedef struct VkSemaphoreGetFdInfoKHR {
7767 VkStructureType sType;
7769 VkSemaphore semaphore;
7770 VkExternalSemaphoreHandleTypeFlagBits handleType;
7771 } VkSemaphoreGetFdInfoKHR;
7773 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7774 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
7776 #ifndef VK_NO_PROTOTYPES
7777 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
7779 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7781 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
7783 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
7788 #define VK_KHR_push_descriptor 1
7789 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
7790 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
7791 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7792 VkStructureType sType;
7794 deUint32 maxPushDescriptors;
7795 } VkPhysicalDevicePushDescriptorPropertiesKHR;
7797 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
7798 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
7800 #ifndef VK_NO_PROTOTYPES
7801 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
7802 VkCommandBuffer commandBuffer,
7803 VkPipelineBindPoint pipelineBindPoint,
7804 VkPipelineLayout layout,
7806 deUint32 descriptorWriteCount,
7807 const VkWriteDescriptorSet* pDescriptorWrites);
7809 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
7810 VkCommandBuffer commandBuffer,
7811 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7812 VkPipelineLayout layout,
7818 #define VK_KHR_shader_float16_int8 1
7819 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
7820 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
7821 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
7823 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
7827 #define VK_KHR_16bit_storage 1
7828 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
7829 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
7830 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
7834 #define VK_KHR_incremental_present 1
7835 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
7836 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
7837 typedef struct VkRectLayerKHR {
7843 typedef struct VkPresentRegionKHR {
7844 deUint32 rectangleCount;
7845 const VkRectLayerKHR* pRectangles;
7846 } VkPresentRegionKHR;
7848 typedef struct VkPresentRegionsKHR {
7849 VkStructureType sType;
7851 deUint32 swapchainCount;
7852 const VkPresentRegionKHR* pRegions;
7853 } VkPresentRegionsKHR;
7857 #define VK_KHR_descriptor_update_template 1
7858 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
7860 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
7861 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
7862 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
7864 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
7866 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
7868 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
7870 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7871 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
7872 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
7874 #ifndef VK_NO_PROTOTYPES
7875 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
7877 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
7878 const VkAllocationCallbacks* pAllocator,
7879 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7881 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
7883 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7884 const VkAllocationCallbacks* pAllocator);
7886 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
7888 VkDescriptorSet descriptorSet,
7889 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7894 #define VK_KHR_imageless_framebuffer 1
7895 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
7896 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
7897 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
7899 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
7901 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
7903 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
7907 #define VK_KHR_create_renderpass2 1
7908 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
7909 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
7910 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
7912 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
7914 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
7916 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
7918 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
7920 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
7922 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
7924 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7925 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7926 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7927 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7929 #ifndef VK_NO_PROTOTYPES
7930 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
7932 const VkRenderPassCreateInfo2* pCreateInfo,
7933 const VkAllocationCallbacks* pAllocator,
7934 VkRenderPass* pRenderPass);
7936 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
7937 VkCommandBuffer commandBuffer,
7938 const VkRenderPassBeginInfo* pRenderPassBegin,
7939 const VkSubpassBeginInfo* pSubpassBeginInfo);
7941 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
7942 VkCommandBuffer commandBuffer,
7943 const VkSubpassBeginInfo* pSubpassBeginInfo,
7944 const VkSubpassEndInfo* pSubpassEndInfo);
7946 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
7947 VkCommandBuffer commandBuffer,
7948 const VkSubpassEndInfo* pSubpassEndInfo);
7952 #define VK_KHR_shared_presentable_image 1
7953 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
7954 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
7955 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
7956 VkStructureType sType;
7958 VkImageUsageFlags sharedPresentSupportedUsageFlags;
7959 } VkSharedPresentSurfaceCapabilitiesKHR;
7961 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
7963 #ifndef VK_NO_PROTOTYPES
7964 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
7966 VkSwapchainKHR swapchain);
7970 #define VK_KHR_external_fence_capabilities 1
7971 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
7972 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
7973 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
7975 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
7977 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
7979 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
7981 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
7983 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
7985 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
7987 #ifndef VK_NO_PROTOTYPES
7988 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
7989 VkPhysicalDevice physicalDevice,
7990 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
7991 VkExternalFenceProperties* pExternalFenceProperties);
7995 #define VK_KHR_external_fence 1
7996 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
7997 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
7998 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
8000 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
8002 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
8006 #define VK_KHR_external_fence_fd 1
8007 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
8008 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
8009 typedef struct VkImportFenceFdInfoKHR {
8010 VkStructureType sType;
8013 VkFenceImportFlags flags;
8014 VkExternalFenceHandleTypeFlagBits handleType;
8016 } VkImportFenceFdInfoKHR;
8018 typedef struct VkFenceGetFdInfoKHR {
8019 VkStructureType sType;
8022 VkExternalFenceHandleTypeFlagBits handleType;
8023 } VkFenceGetFdInfoKHR;
8025 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
8026 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
8028 #ifndef VK_NO_PROTOTYPES
8029 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
8031 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
8033 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
8035 const VkFenceGetFdInfoKHR* pGetFdInfo,
8040 #define VK_KHR_performance_query 1
8041 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
8042 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
8044 typedef enum VkPerformanceCounterUnitKHR {
8045 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
8046 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
8047 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
8048 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
8049 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
8050 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
8051 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
8052 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
8053 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
8054 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
8055 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
8056 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
8057 } VkPerformanceCounterUnitKHR;
8059 typedef enum VkPerformanceCounterScopeKHR {
8060 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
8061 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
8062 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
8063 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
8064 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
8065 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
8066 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
8067 } VkPerformanceCounterScopeKHR;
8069 typedef enum VkPerformanceCounterStorageKHR {
8070 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
8071 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
8072 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
8073 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
8074 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
8075 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
8076 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
8077 } VkPerformanceCounterStorageKHR;
8079 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
8080 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
8081 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
8082 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
8083 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
8084 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8085 } VkPerformanceCounterDescriptionFlagBitsKHR;
8086 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
8088 typedef enum VkAcquireProfilingLockFlagBitsKHR {
8089 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8090 } VkAcquireProfilingLockFlagBitsKHR;
8091 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
8092 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
8093 VkStructureType sType;
8095 VkBool32 performanceCounterQueryPools;
8096 VkBool32 performanceCounterMultipleQueryPools;
8097 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
8099 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
8100 VkStructureType sType;
8102 VkBool32 allowCommandBufferQueryCopies;
8103 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
8105 typedef struct VkPerformanceCounterKHR {
8106 VkStructureType sType;
8108 VkPerformanceCounterUnitKHR unit;
8109 VkPerformanceCounterScopeKHR scope;
8110 VkPerformanceCounterStorageKHR storage;
8111 deUint8 uuid[VK_UUID_SIZE];
8112 } VkPerformanceCounterKHR;
8114 typedef struct VkPerformanceCounterDescriptionKHR {
8115 VkStructureType sType;
8117 VkPerformanceCounterDescriptionFlagsKHR flags;
8118 char name[VK_MAX_DESCRIPTION_SIZE];
8119 char category[VK_MAX_DESCRIPTION_SIZE];
8120 char description[VK_MAX_DESCRIPTION_SIZE];
8121 } VkPerformanceCounterDescriptionKHR;
8123 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
8124 VkStructureType sType;
8126 deUint32 queueFamilyIndex;
8127 deUint32 counterIndexCount;
8128 const deUint32* pCounterIndices;
8129 } VkQueryPoolPerformanceCreateInfoKHR;
8131 typedef union VkPerformanceCounterResultKHR {
8138 } VkPerformanceCounterResultKHR;
8140 typedef struct VkAcquireProfilingLockInfoKHR {
8141 VkStructureType sType;
8143 VkAcquireProfilingLockFlagsKHR flags;
8145 } VkAcquireProfilingLockInfoKHR;
8147 typedef struct VkPerformanceQuerySubmitInfoKHR {
8148 VkStructureType sType;
8150 deUint32 counterPassIndex;
8151 } VkPerformanceQuerySubmitInfoKHR;
8153 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8154 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
8155 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
8156 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
8158 #ifndef VK_NO_PROTOTYPES
8159 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
8160 VkPhysicalDevice physicalDevice,
8161 deUint32 queueFamilyIndex,
8162 deUint32* pCounterCount,
8163 VkPerformanceCounterKHR* pCounters,
8164 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8166 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
8167 VkPhysicalDevice physicalDevice,
8168 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
8169 deUint32* pNumPasses);
8171 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
8173 const VkAcquireProfilingLockInfoKHR* pInfo);
8175 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
8180 #define VK_KHR_maintenance2 1
8181 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
8182 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
8183 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
8185 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
8187 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
8189 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
8191 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
8193 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
8195 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
8199 #define VK_KHR_get_surface_capabilities2 1
8200 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
8201 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
8202 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
8203 VkStructureType sType;
8205 VkSurfaceKHR surface;
8206 } VkPhysicalDeviceSurfaceInfo2KHR;
8208 typedef struct VkSurfaceCapabilities2KHR {
8209 VkStructureType sType;
8211 VkSurfaceCapabilitiesKHR surfaceCapabilities;
8212 } VkSurfaceCapabilities2KHR;
8214 typedef struct VkSurfaceFormat2KHR {
8215 VkStructureType sType;
8217 VkSurfaceFormatKHR surfaceFormat;
8218 } VkSurfaceFormat2KHR;
8220 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8221 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
8223 #ifndef VK_NO_PROTOTYPES
8224 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
8225 VkPhysicalDevice physicalDevice,
8226 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8227 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8229 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
8230 VkPhysicalDevice physicalDevice,
8231 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8232 deUint32* pSurfaceFormatCount,
8233 VkSurfaceFormat2KHR* pSurfaceFormats);
8237 #define VK_KHR_variable_pointers 1
8238 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
8239 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
8240 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
8242 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
8246 #define VK_KHR_get_display_properties2 1
8247 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
8248 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
8249 typedef struct VkDisplayProperties2KHR {
8250 VkStructureType sType;
8252 VkDisplayPropertiesKHR displayProperties;
8253 } VkDisplayProperties2KHR;
8255 typedef struct VkDisplayPlaneProperties2KHR {
8256 VkStructureType sType;
8258 VkDisplayPlanePropertiesKHR displayPlaneProperties;
8259 } VkDisplayPlaneProperties2KHR;
8261 typedef struct VkDisplayModeProperties2KHR {
8262 VkStructureType sType;
8264 VkDisplayModePropertiesKHR displayModeProperties;
8265 } VkDisplayModeProperties2KHR;
8267 typedef struct VkDisplayPlaneInfo2KHR {
8268 VkStructureType sType;
8270 VkDisplayModeKHR mode;
8271 deUint32 planeIndex;
8272 } VkDisplayPlaneInfo2KHR;
8274 typedef struct VkDisplayPlaneCapabilities2KHR {
8275 VkStructureType sType;
8277 VkDisplayPlaneCapabilitiesKHR capabilities;
8278 } VkDisplayPlaneCapabilities2KHR;
8280 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
8281 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
8282 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
8283 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
8285 #ifndef VK_NO_PROTOTYPES
8286 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
8287 VkPhysicalDevice physicalDevice,
8288 deUint32* pPropertyCount,
8289 VkDisplayProperties2KHR* pProperties);
8291 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
8292 VkPhysicalDevice physicalDevice,
8293 deUint32* pPropertyCount,
8294 VkDisplayPlaneProperties2KHR* pProperties);
8296 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
8297 VkPhysicalDevice physicalDevice,
8298 VkDisplayKHR display,
8299 deUint32* pPropertyCount,
8300 VkDisplayModeProperties2KHR* pProperties);
8302 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
8303 VkPhysicalDevice physicalDevice,
8304 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
8305 VkDisplayPlaneCapabilities2KHR* pCapabilities);
8309 #define VK_KHR_dedicated_allocation 1
8310 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
8311 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
8312 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
8314 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
8318 #define VK_KHR_storage_buffer_storage_class 1
8319 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
8320 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
8323 #define VK_KHR_relaxed_block_layout 1
8324 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
8325 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
8328 #define VK_KHR_get_memory_requirements2 1
8329 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
8330 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
8331 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
8333 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
8335 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
8337 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
8339 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
8341 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8342 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8343 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8345 #ifndef VK_NO_PROTOTYPES
8346 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
8348 const VkImageMemoryRequirementsInfo2* pInfo,
8349 VkMemoryRequirements2* pMemoryRequirements);
8351 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
8353 const VkBufferMemoryRequirementsInfo2* pInfo,
8354 VkMemoryRequirements2* pMemoryRequirements);
8356 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
8358 const VkImageSparseMemoryRequirementsInfo2* pInfo,
8359 deUint32* pSparseMemoryRequirementCount,
8360 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8364 #define VK_KHR_image_format_list 1
8365 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
8366 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
8367 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
8371 #define VK_KHR_sampler_ycbcr_conversion 1
8372 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
8374 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
8375 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
8376 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
8378 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
8380 typedef VkChromaLocation VkChromaLocationKHR;
8382 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
8384 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
8386 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
8388 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
8390 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
8392 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
8394 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
8395 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
8397 #ifndef VK_NO_PROTOTYPES
8398 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
8400 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
8401 const VkAllocationCallbacks* pAllocator,
8402 VkSamplerYcbcrConversion* pYcbcrConversion);
8404 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
8406 VkSamplerYcbcrConversion ycbcrConversion,
8407 const VkAllocationCallbacks* pAllocator);
8411 #define VK_KHR_bind_memory2 1
8412 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
8413 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
8414 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
8416 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
8418 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
8419 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
8421 #ifndef VK_NO_PROTOTYPES
8422 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
8424 deUint32 bindInfoCount,
8425 const VkBindBufferMemoryInfo* pBindInfos);
8427 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
8429 deUint32 bindInfoCount,
8430 const VkBindImageMemoryInfo* pBindInfos);
8434 #define VK_KHR_maintenance3 1
8435 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
8436 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
8437 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
8439 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
8441 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
8443 #ifndef VK_NO_PROTOTYPES
8444 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
8446 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
8447 VkDescriptorSetLayoutSupport* pSupport);
8451 #define VK_KHR_draw_indirect_count 1
8452 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
8453 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
8454 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8455 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8457 #ifndef VK_NO_PROTOTYPES
8458 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
8459 VkCommandBuffer commandBuffer,
8461 VkDeviceSize offset,
8462 VkBuffer countBuffer,
8463 VkDeviceSize countBufferOffset,
8464 deUint32 maxDrawCount,
8467 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
8468 VkCommandBuffer commandBuffer,
8470 VkDeviceSize offset,
8471 VkBuffer countBuffer,
8472 VkDeviceSize countBufferOffset,
8473 deUint32 maxDrawCount,
8478 #define VK_KHR_shader_subgroup_extended_types 1
8479 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
8480 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
8481 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
8485 #define VK_KHR_8bit_storage 1
8486 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
8487 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
8488 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
8492 #define VK_KHR_shader_atomic_int64 1
8493 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
8494 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
8495 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
8499 #define VK_KHR_shader_clock 1
8500 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
8501 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
8502 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
8503 VkStructureType sType;
8505 VkBool32 shaderSubgroupClock;
8506 VkBool32 shaderDeviceClock;
8507 } VkPhysicalDeviceShaderClockFeaturesKHR;
8511 #define VK_KHR_driver_properties 1
8512 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
8513 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
8514 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
8515 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
8516 typedef VkDriverId VkDriverIdKHR;
8518 typedef VkConformanceVersion VkConformanceVersionKHR;
8520 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
8524 #define VK_KHR_shader_float_controls 1
8525 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
8526 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
8527 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
8529 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
8533 #define VK_KHR_depth_stencil_resolve 1
8534 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
8535 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
8536 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
8538 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
8540 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
8542 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
8546 #define VK_KHR_swapchain_mutable_format 1
8547 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
8548 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
8551 #define VK_KHR_timeline_semaphore 1
8552 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
8553 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
8554 typedef VkSemaphoreType VkSemaphoreTypeKHR;
8556 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
8558 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
8560 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
8562 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
8564 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
8566 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
8568 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
8570 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
8572 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
8573 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
8574 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
8576 #ifndef VK_NO_PROTOTYPES
8577 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
8579 VkSemaphore semaphore,
8582 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
8584 const VkSemaphoreWaitInfo* pWaitInfo,
8587 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
8589 const VkSemaphoreSignalInfo* pSignalInfo);
8593 #define VK_KHR_vulkan_memory_model 1
8594 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
8595 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
8596 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
8600 #define VK_KHR_shader_terminate_invocation 1
8601 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
8602 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
8603 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
8604 VkStructureType sType;
8606 VkBool32 shaderTerminateInvocation;
8607 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
8611 #define VK_KHR_fragment_shading_rate 1
8612 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
8613 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
8615 typedef enum VkFragmentShadingRateCombinerOpKHR {
8616 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
8617 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
8618 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
8619 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
8620 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
8621 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
8622 } VkFragmentShadingRateCombinerOpKHR;
8623 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
8624 VkStructureType sType;
8626 const VkAttachmentReference2* pFragmentShadingRateAttachment;
8627 VkExtent2D shadingRateAttachmentTexelSize;
8628 } VkFragmentShadingRateAttachmentInfoKHR;
8630 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
8631 VkStructureType sType;
8633 VkExtent2D fragmentSize;
8634 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
8635 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
8637 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
8638 VkStructureType sType;
8640 VkBool32 pipelineFragmentShadingRate;
8641 VkBool32 primitiveFragmentShadingRate;
8642 VkBool32 attachmentFragmentShadingRate;
8643 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
8645 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
8646 VkStructureType sType;
8648 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
8649 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
8650 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
8651 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
8652 VkBool32 layeredShadingRateAttachments;
8653 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
8654 VkExtent2D maxFragmentSize;
8655 deUint32 maxFragmentSizeAspectRatio;
8656 deUint32 maxFragmentShadingRateCoverageSamples;
8657 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
8658 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
8659 VkBool32 fragmentShadingRateWithSampleMask;
8660 VkBool32 fragmentShadingRateWithShaderSampleMask;
8661 VkBool32 fragmentShadingRateWithConservativeRasterization;
8662 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
8663 VkBool32 fragmentShadingRateWithCustomSampleLocations;
8664 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
8665 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
8667 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
8668 VkStructureType sType;
8670 VkSampleCountFlags sampleCounts;
8671 VkExtent2D fragmentSize;
8672 } VkPhysicalDeviceFragmentShadingRateKHR;
8674 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8675 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8677 #ifndef VK_NO_PROTOTYPES
8678 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
8679 VkPhysicalDevice physicalDevice,
8680 deUint32* pFragmentShadingRateCount,
8681 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8683 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
8684 VkCommandBuffer commandBuffer,
8685 const VkExtent2D* pFragmentSize,
8686 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8690 #define VK_KHR_spirv_1_4 1
8691 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
8692 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
8695 #define VK_KHR_surface_protected_capabilities 1
8696 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
8697 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
8698 typedef struct VkSurfaceProtectedCapabilitiesKHR {
8699 VkStructureType sType;
8701 VkBool32 supportsProtected;
8702 } VkSurfaceProtectedCapabilitiesKHR;
8706 #define VK_KHR_separate_depth_stencil_layouts 1
8707 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
8708 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
8709 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
8711 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
8713 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
8717 #define VK_KHR_present_wait 1
8718 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
8719 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
8720 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
8721 VkStructureType sType;
8723 VkBool32 presentWait;
8724 } VkPhysicalDevicePresentWaitFeaturesKHR;
8726 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 presentId, deUint64 timeout);
8728 #ifndef VK_NO_PROTOTYPES
8729 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
8731 VkSwapchainKHR swapchain,
8737 #define VK_KHR_uniform_buffer_standard_layout 1
8738 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
8739 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
8740 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
8744 #define VK_KHR_buffer_device_address 1
8745 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
8746 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
8747 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
8749 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
8751 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
8753 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
8755 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
8757 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8758 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8759 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8761 #ifndef VK_NO_PROTOTYPES
8762 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
8764 const VkBufferDeviceAddressInfo* pInfo);
8766 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
8768 const VkBufferDeviceAddressInfo* pInfo);
8770 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
8772 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8776 #define VK_KHR_deferred_host_operations 1
8777 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
8778 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
8779 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
8780 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
8781 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
8782 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
8783 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
8784 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
8786 #ifndef VK_NO_PROTOTYPES
8787 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
8789 const VkAllocationCallbacks* pAllocator,
8790 VkDeferredOperationKHR* pDeferredOperation);
8792 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
8794 VkDeferredOperationKHR operation,
8795 const VkAllocationCallbacks* pAllocator);
8797 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
8799 VkDeferredOperationKHR operation);
8801 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
8803 VkDeferredOperationKHR operation);
8805 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
8807 VkDeferredOperationKHR operation);
8811 #define VK_KHR_pipeline_executable_properties 1
8812 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
8813 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
8815 typedef enum VkPipelineExecutableStatisticFormatKHR {
8816 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
8817 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
8818 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
8819 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
8820 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
8821 } VkPipelineExecutableStatisticFormatKHR;
8822 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
8823 VkStructureType sType;
8825 VkBool32 pipelineExecutableInfo;
8826 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
8828 typedef struct VkPipelineInfoKHR {
8829 VkStructureType sType;
8831 VkPipeline pipeline;
8832 } VkPipelineInfoKHR;
8834 typedef struct VkPipelineExecutablePropertiesKHR {
8835 VkStructureType sType;
8837 VkShaderStageFlags stages;
8838 char name[VK_MAX_DESCRIPTION_SIZE];
8839 char description[VK_MAX_DESCRIPTION_SIZE];
8840 deUint32 subgroupSize;
8841 } VkPipelineExecutablePropertiesKHR;
8843 typedef struct VkPipelineExecutableInfoKHR {
8844 VkStructureType sType;
8846 VkPipeline pipeline;
8847 deUint32 executableIndex;
8848 } VkPipelineExecutableInfoKHR;
8850 typedef union VkPipelineExecutableStatisticValueKHR {
8855 } VkPipelineExecutableStatisticValueKHR;
8857 typedef struct VkPipelineExecutableStatisticKHR {
8858 VkStructureType sType;
8860 char name[VK_MAX_DESCRIPTION_SIZE];
8861 char description[VK_MAX_DESCRIPTION_SIZE];
8862 VkPipelineExecutableStatisticFormatKHR format;
8863 VkPipelineExecutableStatisticValueKHR value;
8864 } VkPipelineExecutableStatisticKHR;
8866 typedef struct VkPipelineExecutableInternalRepresentationKHR {
8867 VkStructureType sType;
8869 char name[VK_MAX_DESCRIPTION_SIZE];
8870 char description[VK_MAX_DESCRIPTION_SIZE];
8874 } VkPipelineExecutableInternalRepresentationKHR;
8876 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
8877 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
8878 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8880 #ifndef VK_NO_PROTOTYPES
8881 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
8883 const VkPipelineInfoKHR* pPipelineInfo,
8884 deUint32* pExecutableCount,
8885 VkPipelineExecutablePropertiesKHR* pProperties);
8887 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
8889 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8890 deUint32* pStatisticCount,
8891 VkPipelineExecutableStatisticKHR* pStatistics);
8893 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
8895 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8896 deUint32* pInternalRepresentationCount,
8897 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8901 #define VK_KHR_shader_integer_dot_product 1
8902 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
8903 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
8904 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR {
8905 VkStructureType sType;
8907 VkBool32 shaderIntegerDotProduct;
8908 } VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
8910 typedef struct VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR {
8911 VkStructureType sType;
8913 VkBool32 integerDotProduct8BitUnsignedAccelerated;
8914 VkBool32 integerDotProduct8BitSignedAccelerated;
8915 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
8916 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
8917 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
8918 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
8919 VkBool32 integerDotProduct16BitUnsignedAccelerated;
8920 VkBool32 integerDotProduct16BitSignedAccelerated;
8921 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
8922 VkBool32 integerDotProduct32BitUnsignedAccelerated;
8923 VkBool32 integerDotProduct32BitSignedAccelerated;
8924 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
8925 VkBool32 integerDotProduct64BitUnsignedAccelerated;
8926 VkBool32 integerDotProduct64BitSignedAccelerated;
8927 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
8928 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
8929 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
8930 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
8931 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
8932 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
8933 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
8934 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
8935 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
8936 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
8937 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
8938 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
8939 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
8940 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
8941 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
8942 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
8943 } VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
8947 #define VK_KHR_pipeline_library 1
8948 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
8949 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
8950 typedef struct VkPipelineLibraryCreateInfoKHR {
8951 VkStructureType sType;
8953 deUint32 libraryCount;
8954 const VkPipeline* pLibraries;
8955 } VkPipelineLibraryCreateInfoKHR;
8959 #define VK_KHR_shader_non_semantic_info 1
8960 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
8961 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
8964 #define VK_KHR_present_id 1
8965 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
8966 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
8967 typedef struct VkPresentIdKHR {
8968 VkStructureType sType;
8970 deUint32 swapchainCount;
8971 const deUint64* pPresentIds;
8974 typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
8975 VkStructureType sType;
8978 } VkPhysicalDevicePresentIdFeaturesKHR;
8982 #define VK_KHR_synchronization2 1
8983 typedef deUint64 VkFlags64;
8984 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
8985 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
8986 typedef VkFlags64 VkPipelineStageFlags2KHR;
8988 // Flag bits for VkPipelineStageFlagBits2KHR
8989 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
8990 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
8991 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
8992 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
8993 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
8994 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
8995 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
8996 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
8997 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
8998 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
8999 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
9000 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
9001 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
9002 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
9003 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
9004 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
9005 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
9006 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
9007 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
9008 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
9009 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
9010 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
9011 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
9012 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
9013 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
9014 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
9015 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
9016 #ifdef VK_ENABLE_BETA_EXTENSIONS
9017 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
9019 #ifdef VK_ENABLE_BETA_EXTENSIONS
9020 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
9022 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
9023 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
9024 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
9025 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
9026 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
9027 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
9028 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
9029 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
9030 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
9031 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
9032 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
9033 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
9034 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
9035 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
9037 typedef VkFlags64 VkAccessFlags2KHR;
9039 // Flag bits for VkAccessFlagBits2KHR
9040 typedef VkFlags64 VkAccessFlagBits2KHR;
9041 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
9042 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
9043 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
9044 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
9045 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
9046 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
9047 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
9048 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
9049 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
9050 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
9051 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
9052 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
9053 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
9054 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
9055 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
9056 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
9057 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
9058 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
9059 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
9060 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
9061 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
9062 #ifdef VK_ENABLE_BETA_EXTENSIONS
9063 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
9065 #ifdef VK_ENABLE_BETA_EXTENSIONS
9066 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
9068 #ifdef VK_ENABLE_BETA_EXTENSIONS
9069 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
9071 #ifdef VK_ENABLE_BETA_EXTENSIONS
9072 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
9074 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
9075 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
9076 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
9077 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
9078 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
9079 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
9080 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
9081 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
9082 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
9083 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
9084 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
9085 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
9086 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
9087 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
9088 static const VkAccessFlagBits2KHR VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
9091 typedef enum VkSubmitFlagBitsKHR {
9092 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
9093 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
9094 } VkSubmitFlagBitsKHR;
9095 typedef VkFlags VkSubmitFlagsKHR;
9096 typedef struct VkMemoryBarrier2KHR {
9097 VkStructureType sType;
9099 VkPipelineStageFlags2KHR srcStageMask;
9100 VkAccessFlags2KHR srcAccessMask;
9101 VkPipelineStageFlags2KHR dstStageMask;
9102 VkAccessFlags2KHR dstAccessMask;
9103 } VkMemoryBarrier2KHR;
9105 typedef struct VkBufferMemoryBarrier2KHR {
9106 VkStructureType sType;
9108 VkPipelineStageFlags2KHR srcStageMask;
9109 VkAccessFlags2KHR srcAccessMask;
9110 VkPipelineStageFlags2KHR dstStageMask;
9111 VkAccessFlags2KHR dstAccessMask;
9112 deUint32 srcQueueFamilyIndex;
9113 deUint32 dstQueueFamilyIndex;
9115 VkDeviceSize offset;
9117 } VkBufferMemoryBarrier2KHR;
9119 typedef struct VkImageMemoryBarrier2KHR {
9120 VkStructureType sType;
9122 VkPipelineStageFlags2KHR srcStageMask;
9123 VkAccessFlags2KHR srcAccessMask;
9124 VkPipelineStageFlags2KHR dstStageMask;
9125 VkAccessFlags2KHR dstAccessMask;
9126 VkImageLayout oldLayout;
9127 VkImageLayout newLayout;
9128 deUint32 srcQueueFamilyIndex;
9129 deUint32 dstQueueFamilyIndex;
9131 VkImageSubresourceRange subresourceRange;
9132 } VkImageMemoryBarrier2KHR;
9134 typedef struct VkDependencyInfoKHR {
9135 VkStructureType sType;
9137 VkDependencyFlags dependencyFlags;
9138 deUint32 memoryBarrierCount;
9139 const VkMemoryBarrier2KHR* pMemoryBarriers;
9140 deUint32 bufferMemoryBarrierCount;
9141 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
9142 deUint32 imageMemoryBarrierCount;
9143 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
9144 } VkDependencyInfoKHR;
9146 typedef struct VkSemaphoreSubmitInfoKHR {
9147 VkStructureType sType;
9149 VkSemaphore semaphore;
9151 VkPipelineStageFlags2KHR stageMask;
9152 deUint32 deviceIndex;
9153 } VkSemaphoreSubmitInfoKHR;
9155 typedef struct VkCommandBufferSubmitInfoKHR {
9156 VkStructureType sType;
9158 VkCommandBuffer commandBuffer;
9159 deUint32 deviceMask;
9160 } VkCommandBufferSubmitInfoKHR;
9162 typedef struct VkSubmitInfo2KHR {
9163 VkStructureType sType;
9165 VkSubmitFlagsKHR flags;
9166 deUint32 waitSemaphoreInfoCount;
9167 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
9168 deUint32 commandBufferInfoCount;
9169 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
9170 deUint32 signalSemaphoreInfoCount;
9171 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
9174 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
9175 VkStructureType sType;
9177 VkBool32 synchronization2;
9178 } VkPhysicalDeviceSynchronization2FeaturesKHR;
9180 typedef struct VkQueueFamilyCheckpointProperties2NV {
9181 VkStructureType sType;
9183 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
9184 } VkQueueFamilyCheckpointProperties2NV;
9186 typedef struct VkCheckpointData2NV {
9187 VkStructureType sType;
9189 VkPipelineStageFlags2KHR stage;
9190 void* pCheckpointMarker;
9191 } VkCheckpointData2NV;
9193 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
9194 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
9195 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
9196 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
9197 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
9198 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
9199 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
9200 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
9202 #ifndef VK_NO_PROTOTYPES
9203 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
9204 VkCommandBuffer commandBuffer,
9206 const VkDependencyInfoKHR* pDependencyInfo);
9208 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
9209 VkCommandBuffer commandBuffer,
9211 VkPipelineStageFlags2KHR stageMask);
9213 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
9214 VkCommandBuffer commandBuffer,
9215 deUint32 eventCount,
9216 const VkEvent* pEvents,
9217 const VkDependencyInfoKHR* pDependencyInfos);
9219 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
9220 VkCommandBuffer commandBuffer,
9221 const VkDependencyInfoKHR* pDependencyInfo);
9223 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
9224 VkCommandBuffer commandBuffer,
9225 VkPipelineStageFlags2KHR stage,
9226 VkQueryPool queryPool,
9229 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
9231 deUint32 submitCount,
9232 const VkSubmitInfo2KHR* pSubmits,
9235 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
9236 VkCommandBuffer commandBuffer,
9237 VkPipelineStageFlags2KHR stage,
9239 VkDeviceSize dstOffset,
9242 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
9244 deUint32* pCheckpointDataCount,
9245 VkCheckpointData2NV* pCheckpointData);
9249 #define VK_KHR_shader_subgroup_uniform_control_flow 1
9250 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
9251 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
9252 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
9253 VkStructureType sType;
9255 VkBool32 shaderSubgroupUniformControlFlow;
9256 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
9260 #define VK_KHR_zero_initialize_workgroup_memory 1
9261 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
9262 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
9263 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
9264 VkStructureType sType;
9266 VkBool32 shaderZeroInitializeWorkgroupMemory;
9267 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
9271 #define VK_KHR_workgroup_memory_explicit_layout 1
9272 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
9273 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
9274 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
9275 VkStructureType sType;
9277 VkBool32 workgroupMemoryExplicitLayout;
9278 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
9279 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
9280 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
9281 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
9285 #define VK_KHR_copy_commands2 1
9286 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
9287 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
9288 typedef struct VkBufferCopy2KHR {
9289 VkStructureType sType;
9291 VkDeviceSize srcOffset;
9292 VkDeviceSize dstOffset;
9296 typedef struct VkCopyBufferInfo2KHR {
9297 VkStructureType sType;
9301 deUint32 regionCount;
9302 const VkBufferCopy2KHR* pRegions;
9303 } VkCopyBufferInfo2KHR;
9305 typedef struct VkImageCopy2KHR {
9306 VkStructureType sType;
9308 VkImageSubresourceLayers srcSubresource;
9309 VkOffset3D srcOffset;
9310 VkImageSubresourceLayers dstSubresource;
9311 VkOffset3D dstOffset;
9315 typedef struct VkCopyImageInfo2KHR {
9316 VkStructureType sType;
9319 VkImageLayout srcImageLayout;
9321 VkImageLayout dstImageLayout;
9322 deUint32 regionCount;
9323 const VkImageCopy2KHR* pRegions;
9324 } VkCopyImageInfo2KHR;
9326 typedef struct VkBufferImageCopy2KHR {
9327 VkStructureType sType;
9329 VkDeviceSize bufferOffset;
9330 deUint32 bufferRowLength;
9331 deUint32 bufferImageHeight;
9332 VkImageSubresourceLayers imageSubresource;
9333 VkOffset3D imageOffset;
9334 VkExtent3D imageExtent;
9335 } VkBufferImageCopy2KHR;
9337 typedef struct VkCopyBufferToImageInfo2KHR {
9338 VkStructureType sType;
9342 VkImageLayout dstImageLayout;
9343 deUint32 regionCount;
9344 const VkBufferImageCopy2KHR* pRegions;
9345 } VkCopyBufferToImageInfo2KHR;
9347 typedef struct VkCopyImageToBufferInfo2KHR {
9348 VkStructureType sType;
9351 VkImageLayout srcImageLayout;
9353 deUint32 regionCount;
9354 const VkBufferImageCopy2KHR* pRegions;
9355 } VkCopyImageToBufferInfo2KHR;
9357 typedef struct VkImageBlit2KHR {
9358 VkStructureType sType;
9360 VkImageSubresourceLayers srcSubresource;
9361 VkOffset3D srcOffsets[2];
9362 VkImageSubresourceLayers dstSubresource;
9363 VkOffset3D dstOffsets[2];
9366 typedef struct VkBlitImageInfo2KHR {
9367 VkStructureType sType;
9370 VkImageLayout srcImageLayout;
9372 VkImageLayout dstImageLayout;
9373 deUint32 regionCount;
9374 const VkImageBlit2KHR* pRegions;
9376 } VkBlitImageInfo2KHR;
9378 typedef struct VkImageResolve2KHR {
9379 VkStructureType sType;
9381 VkImageSubresourceLayers srcSubresource;
9382 VkOffset3D srcOffset;
9383 VkImageSubresourceLayers dstSubresource;
9384 VkOffset3D dstOffset;
9386 } VkImageResolve2KHR;
9388 typedef struct VkResolveImageInfo2KHR {
9389 VkStructureType sType;
9392 VkImageLayout srcImageLayout;
9394 VkImageLayout dstImageLayout;
9395 deUint32 regionCount;
9396 const VkImageResolve2KHR* pRegions;
9397 } VkResolveImageInfo2KHR;
9399 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9400 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
9401 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9402 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9403 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
9404 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
9406 #ifndef VK_NO_PROTOTYPES
9407 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
9408 VkCommandBuffer commandBuffer,
9409 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9411 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
9412 VkCommandBuffer commandBuffer,
9413 const VkCopyImageInfo2KHR* pCopyImageInfo);
9415 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
9416 VkCommandBuffer commandBuffer,
9417 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9419 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
9420 VkCommandBuffer commandBuffer,
9421 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9423 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
9424 VkCommandBuffer commandBuffer,
9425 const VkBlitImageInfo2KHR* pBlitImageInfo);
9427 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
9428 VkCommandBuffer commandBuffer,
9429 const VkResolveImageInfo2KHR* pResolveImageInfo);
9433 #define VK_KHR_format_feature_flags2 1
9434 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 1
9435 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2"
9436 typedef VkFlags64 VkFormatFeatureFlags2KHR;
9438 // Flag bits for VkFormatFeatureFlagBits2KHR
9439 typedef VkFlags64 VkFormatFeatureFlagBits2KHR;
9440 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR = 0x00000001ULL;
9441 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR = 0x00000002ULL;
9442 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR = 0x00000004ULL;
9443 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL;
9444 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000010ULL;
9445 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = 0x00000020ULL;
9446 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR = 0x00000040ULL;
9447 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR = 0x00000080ULL;
9448 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR = 0x00000100ULL;
9449 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR = 0x00000200ULL;
9450 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR = 0x00000400ULL;
9451 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR = 0x00000800ULL;
9452 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = 0x00001000ULL;
9453 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000ULL;
9454 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR = 0x00004000ULL;
9455 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR = 0x00008000ULL;
9456 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = 0x00010000ULL;
9457 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = 0x00020000ULL;
9458 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = 0x00040000ULL;
9459 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = 0x00080000ULL;
9460 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = 0x00100000ULL;
9461 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = 0x00200000ULL;
9462 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR = 0x00400000ULL;
9463 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR = 0x00800000ULL;
9464 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL;
9465 #ifdef VK_ENABLE_BETA_EXTENSIONS
9466 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL;
9468 #ifdef VK_ENABLE_BETA_EXTENSIONS
9469 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL;
9471 #ifdef VK_ENABLE_BETA_EXTENSIONS
9472 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL;
9474 #ifdef VK_ENABLE_BETA_EXTENSIONS
9475 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
9477 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL;
9478 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL;
9479 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR = 0x80000000ULL;
9480 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL;
9481 static const VkFormatFeatureFlagBits2KHR VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL;
9483 typedef struct VkFormatPropertiesExtendedKHR {
9484 VkStructureType sType;
9486 VkFormatFeatureFlags2KHR linearTilingFeatures;
9487 VkFormatFeatureFlags2KHR optimalTilingFeatures;
9488 VkFormatFeatureFlags2KHR bufferFeatures;
9489 } VkFormatPropertiesExtendedKHR;
9491 #define VK_KHR_maintenance4 1
9492 #define VK_KHR_MAINTENANCE4_SPEC_VERSION 1
9493 #define VK_KHR_MAINTENANCE4_EXTENSION_NAME "VK_KHR_maintenance4"
9494 typedef struct VkPhysicalDeviceMaintenance4FeaturesKHR {
9495 VkStructureType sType;
9497 VkBool32 maintenance4;
9498 } VkPhysicalDeviceMaintenance4FeaturesKHR;
9500 typedef struct VkPhysicalDeviceMaintenance4PropertiesKHR {
9501 VkStructureType sType;
9503 VkDeviceSize maxBufferSize;
9504 } VkPhysicalDeviceMaintenance4PropertiesKHR;
9506 typedef struct VkDeviceBufferMemoryRequirementsKHR {
9507 VkStructureType sType;
9509 const VkBufferCreateInfo* pCreateInfo;
9510 } VkDeviceBufferMemoryRequirementsKHR;
9512 typedef struct VkDeviceImageMemoryRequirementsKHR {
9513 VkStructureType sType;
9515 const VkImageCreateInfo* pCreateInfo;
9516 VkImageAspectFlagBits planeAspect;
9517 } VkDeviceImageMemoryRequirementsKHR;
9519 typedef void (VKAPI_PTR *PFN_vkGetDeviceBufferMemoryRequirementsKHR)(VkDevice device, const VkDeviceBufferMemoryRequirementsKHR *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
9520 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirementsKHR *pInfo, VkMemoryRequirements2 *pMemoryRequirements);
9521 typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)(VkDevice device, const VkDeviceImageMemoryRequirementsKHR *pInfo, deUint32 *pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 *pSparseMemoryRequirements);
9523 #ifndef VK_NO_PROTOTYPES
9524 VKAPI_ATTR void VKAPI_CALL vkGetDeviceBufferMemoryRequirementsKHR(
9526 const VkDeviceBufferMemoryRequirementsKHR* pInfo,
9527 VkMemoryRequirements2* pMemoryRequirements);
9529 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageMemoryRequirementsKHR(
9531 const VkDeviceImageMemoryRequirementsKHR* pInfo,
9532 VkMemoryRequirements2* pMemoryRequirements);
9534 VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
9536 const VkDeviceImageMemoryRequirementsKHR* pInfo,
9537 deUint32* pSparseMemoryRequirementCount,
9538 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
9542 #define VK_EXT_debug_report 1
9543 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
9544 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
9545 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
9547 typedef enum VkDebugReportObjectTypeEXT {
9548 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
9549 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
9550 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
9551 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
9552 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
9553 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
9554 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
9555 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
9556 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
9557 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
9558 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
9559 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
9560 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
9561 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
9562 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
9563 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
9564 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
9565 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
9566 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
9567 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
9568 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
9569 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
9570 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
9571 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
9572 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
9573 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
9574 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
9575 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
9576 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
9577 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
9578 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
9579 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
9580 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
9581 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
9582 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
9583 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
9584 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
9585 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
9586 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
9587 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
9588 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
9589 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
9590 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9591 } VkDebugReportObjectTypeEXT;
9593 typedef enum VkDebugReportFlagBitsEXT {
9594 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
9595 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
9596 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
9597 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
9598 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
9599 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9600 } VkDebugReportFlagBitsEXT;
9601 typedef VkFlags VkDebugReportFlagsEXT;
9602 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
9603 VkDebugReportFlagsEXT flags,
9604 VkDebugReportObjectTypeEXT objectType,
9607 deInt32 messageCode,
9608 const char* pLayerPrefix,
9609 const char* pMessage,
9612 typedef struct VkDebugReportCallbackCreateInfoEXT {
9613 VkStructureType sType;
9615 VkDebugReportFlagsEXT flags;
9616 PFN_vkDebugReportCallbackEXT pfnCallback;
9618 } VkDebugReportCallbackCreateInfoEXT;
9620 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
9621 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
9622 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
9624 #ifndef VK_NO_PROTOTYPES
9625 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
9626 VkInstance instance,
9627 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
9628 const VkAllocationCallbacks* pAllocator,
9629 VkDebugReportCallbackEXT* pCallback);
9631 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
9632 VkInstance instance,
9633 VkDebugReportCallbackEXT callback,
9634 const VkAllocationCallbacks* pAllocator);
9636 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
9637 VkInstance instance,
9638 VkDebugReportFlagsEXT flags,
9639 VkDebugReportObjectTypeEXT objectType,
9642 deInt32 messageCode,
9643 const char* pLayerPrefix,
9644 const char* pMessage);
9648 #define VK_NV_glsl_shader 1
9649 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
9650 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
9653 #define VK_EXT_depth_range_unrestricted 1
9654 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
9655 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
9658 #define VK_IMG_filter_cubic 1
9659 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
9660 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
9663 #define VK_AMD_rasterization_order 1
9664 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
9665 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
9667 typedef enum VkRasterizationOrderAMD {
9668 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
9669 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
9670 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
9671 } VkRasterizationOrderAMD;
9672 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
9673 VkStructureType sType;
9675 VkRasterizationOrderAMD rasterizationOrder;
9676 } VkPipelineRasterizationStateRasterizationOrderAMD;
9680 #define VK_AMD_shader_trinary_minmax 1
9681 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
9682 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
9685 #define VK_AMD_shader_explicit_vertex_parameter 1
9686 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
9687 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
9690 #define VK_EXT_debug_marker 1
9691 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
9692 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
9693 typedef struct VkDebugMarkerObjectNameInfoEXT {
9694 VkStructureType sType;
9696 VkDebugReportObjectTypeEXT objectType;
9698 const char* pObjectName;
9699 } VkDebugMarkerObjectNameInfoEXT;
9701 typedef struct VkDebugMarkerObjectTagInfoEXT {
9702 VkStructureType sType;
9704 VkDebugReportObjectTypeEXT objectType;
9709 } VkDebugMarkerObjectTagInfoEXT;
9711 typedef struct VkDebugMarkerMarkerInfoEXT {
9712 VkStructureType sType;
9714 const char* pMarkerName;
9716 } VkDebugMarkerMarkerInfoEXT;
9718 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9719 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9720 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9721 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
9722 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9724 #ifndef VK_NO_PROTOTYPES
9725 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
9727 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9729 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
9731 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9733 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
9734 VkCommandBuffer commandBuffer,
9735 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9737 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
9738 VkCommandBuffer commandBuffer);
9740 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
9741 VkCommandBuffer commandBuffer,
9742 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9746 #define VK_AMD_gcn_shader 1
9747 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
9748 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
9751 #define VK_NV_dedicated_allocation 1
9752 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
9753 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
9754 typedef struct VkDedicatedAllocationImageCreateInfoNV {
9755 VkStructureType sType;
9757 VkBool32 dedicatedAllocation;
9758 } VkDedicatedAllocationImageCreateInfoNV;
9760 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
9761 VkStructureType sType;
9763 VkBool32 dedicatedAllocation;
9764 } VkDedicatedAllocationBufferCreateInfoNV;
9766 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
9767 VkStructureType sType;
9771 } VkDedicatedAllocationMemoryAllocateInfoNV;
9775 #define VK_EXT_transform_feedback 1
9776 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
9777 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
9778 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
9779 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
9780 VkStructureType sType;
9782 VkBool32 transformFeedback;
9783 VkBool32 geometryStreams;
9784 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
9786 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
9787 VkStructureType sType;
9789 deUint32 maxTransformFeedbackStreams;
9790 deUint32 maxTransformFeedbackBuffers;
9791 VkDeviceSize maxTransformFeedbackBufferSize;
9792 deUint32 maxTransformFeedbackStreamDataSize;
9793 deUint32 maxTransformFeedbackBufferDataSize;
9794 deUint32 maxTransformFeedbackBufferDataStride;
9795 VkBool32 transformFeedbackQueries;
9796 VkBool32 transformFeedbackStreamsLinesTriangles;
9797 VkBool32 transformFeedbackRasterizationStreamSelect;
9798 VkBool32 transformFeedbackDraw;
9799 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
9801 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
9802 VkStructureType sType;
9804 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
9805 deUint32 rasterizationStream;
9806 } VkPipelineRasterizationStateStreamCreateInfoEXT;
9808 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
9809 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9810 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9811 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
9812 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
9813 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
9815 #ifndef VK_NO_PROTOTYPES
9816 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
9817 VkCommandBuffer commandBuffer,
9818 deUint32 firstBinding,
9819 deUint32 bindingCount,
9820 const VkBuffer* pBuffers,
9821 const VkDeviceSize* pOffsets,
9822 const VkDeviceSize* pSizes);
9824 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
9825 VkCommandBuffer commandBuffer,
9826 deUint32 firstCounterBuffer,
9827 deUint32 counterBufferCount,
9828 const VkBuffer* pCounterBuffers,
9829 const VkDeviceSize* pCounterBufferOffsets);
9831 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
9832 VkCommandBuffer commandBuffer,
9833 deUint32 firstCounterBuffer,
9834 deUint32 counterBufferCount,
9835 const VkBuffer* pCounterBuffers,
9836 const VkDeviceSize* pCounterBufferOffsets);
9838 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
9839 VkCommandBuffer commandBuffer,
9840 VkQueryPool queryPool,
9842 VkQueryControlFlags flags,
9845 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
9846 VkCommandBuffer commandBuffer,
9847 VkQueryPool queryPool,
9851 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
9852 VkCommandBuffer commandBuffer,
9853 deUint32 instanceCount,
9854 deUint32 firstInstance,
9855 VkBuffer counterBuffer,
9856 VkDeviceSize counterBufferOffset,
9857 deUint32 counterOffset,
9858 deUint32 vertexStride);
9862 #define VK_NVX_binary_import 1
9863 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
9864 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
9865 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
9866 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
9867 typedef struct VkCuModuleCreateInfoNVX {
9868 VkStructureType sType;
9872 } VkCuModuleCreateInfoNVX;
9874 typedef struct VkCuFunctionCreateInfoNVX {
9875 VkStructureType sType;
9877 VkCuModuleNVX module;
9879 } VkCuFunctionCreateInfoNVX;
9881 typedef struct VkCuLaunchInfoNVX {
9882 VkStructureType sType;
9884 VkCuFunctionNVX function;
9891 deUint32 sharedMemBytes;
9892 deUintptr paramCount;
9893 const void* const * pParams;
9894 deUintptr extraCount;
9895 const void* const * pExtras;
9896 } VkCuLaunchInfoNVX;
9898 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
9899 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
9900 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
9901 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
9902 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
9904 #ifndef VK_NO_PROTOTYPES
9905 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
9907 const VkCuModuleCreateInfoNVX* pCreateInfo,
9908 const VkAllocationCallbacks* pAllocator,
9909 VkCuModuleNVX* pModule);
9911 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
9913 const VkCuFunctionCreateInfoNVX* pCreateInfo,
9914 const VkAllocationCallbacks* pAllocator,
9915 VkCuFunctionNVX* pFunction);
9917 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
9919 VkCuModuleNVX module,
9920 const VkAllocationCallbacks* pAllocator);
9922 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
9924 VkCuFunctionNVX function,
9925 const VkAllocationCallbacks* pAllocator);
9927 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
9928 VkCommandBuffer commandBuffer,
9929 const VkCuLaunchInfoNVX* pLaunchInfo);
9933 #define VK_NVX_image_view_handle 1
9934 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
9935 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
9936 typedef struct VkImageViewHandleInfoNVX {
9937 VkStructureType sType;
9939 VkImageView imageView;
9940 VkDescriptorType descriptorType;
9942 } VkImageViewHandleInfoNVX;
9944 typedef struct VkImageViewAddressPropertiesNVX {
9945 VkStructureType sType;
9947 VkDeviceAddress deviceAddress;
9949 } VkImageViewAddressPropertiesNVX;
9951 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
9952 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
9954 #ifndef VK_NO_PROTOTYPES
9955 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
9957 const VkImageViewHandleInfoNVX* pInfo);
9959 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
9961 VkImageView imageView,
9962 VkImageViewAddressPropertiesNVX* pProperties);
9966 #define VK_AMD_draw_indirect_count 1
9967 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
9968 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
9969 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9970 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9972 #ifndef VK_NO_PROTOTYPES
9973 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
9974 VkCommandBuffer commandBuffer,
9976 VkDeviceSize offset,
9977 VkBuffer countBuffer,
9978 VkDeviceSize countBufferOffset,
9979 deUint32 maxDrawCount,
9982 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
9983 VkCommandBuffer commandBuffer,
9985 VkDeviceSize offset,
9986 VkBuffer countBuffer,
9987 VkDeviceSize countBufferOffset,
9988 deUint32 maxDrawCount,
9993 #define VK_AMD_negative_viewport_height 1
9994 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
9995 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
9998 #define VK_AMD_gpu_shader_half_float 1
9999 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
10000 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
10003 #define VK_AMD_shader_ballot 1
10004 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
10005 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
10008 #define VK_AMD_texture_gather_bias_lod 1
10009 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
10010 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
10011 typedef struct VkTextureLODGatherFormatPropertiesAMD {
10012 VkStructureType sType;
10014 VkBool32 supportsTextureGatherLODBiasAMD;
10015 } VkTextureLODGatherFormatPropertiesAMD;
10019 #define VK_AMD_shader_info 1
10020 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
10021 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
10023 typedef enum VkShaderInfoTypeAMD {
10024 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
10025 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
10026 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
10027 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
10028 } VkShaderInfoTypeAMD;
10029 typedef struct VkShaderResourceUsageAMD {
10030 deUint32 numUsedVgprs;
10031 deUint32 numUsedSgprs;
10032 deUint32 ldsSizePerLocalWorkGroup;
10033 deUintptr ldsUsageSizeInBytes;
10034 deUintptr scratchMemUsageInBytes;
10035 } VkShaderResourceUsageAMD;
10037 typedef struct VkShaderStatisticsInfoAMD {
10038 VkShaderStageFlags shaderStageMask;
10039 VkShaderResourceUsageAMD resourceUsage;
10040 deUint32 numPhysicalVgprs;
10041 deUint32 numPhysicalSgprs;
10042 deUint32 numAvailableVgprs;
10043 deUint32 numAvailableSgprs;
10044 deUint32 computeWorkGroupSize[3];
10045 } VkShaderStatisticsInfoAMD;
10047 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
10049 #ifndef VK_NO_PROTOTYPES
10050 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
10052 VkPipeline pipeline,
10053 VkShaderStageFlagBits shaderStage,
10054 VkShaderInfoTypeAMD infoType,
10055 deUintptr* pInfoSize,
10060 #define VK_AMD_shader_image_load_store_lod 1
10061 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
10062 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
10065 #define VK_NV_corner_sampled_image 1
10066 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
10067 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
10068 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
10069 VkStructureType sType;
10071 VkBool32 cornerSampledImage;
10072 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
10076 #define VK_IMG_format_pvrtc 1
10077 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
10078 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
10081 #define VK_NV_external_memory_capabilities 1
10082 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
10083 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
10085 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
10086 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
10087 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
10088 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
10089 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
10090 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10091 } VkExternalMemoryHandleTypeFlagBitsNV;
10092 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
10094 typedef enum VkExternalMemoryFeatureFlagBitsNV {
10095 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
10096 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
10097 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
10098 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
10099 } VkExternalMemoryFeatureFlagBitsNV;
10100 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
10101 typedef struct VkExternalImageFormatPropertiesNV {
10102 VkImageFormatProperties imageFormatProperties;
10103 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
10104 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
10105 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
10106 } VkExternalImageFormatPropertiesNV;
10108 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
10110 #ifndef VK_NO_PROTOTYPES
10111 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
10112 VkPhysicalDevice physicalDevice,
10115 VkImageTiling tiling,
10116 VkImageUsageFlags usage,
10117 VkImageCreateFlags flags,
10118 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
10119 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
10123 #define VK_NV_external_memory 1
10124 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
10125 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
10126 typedef struct VkExternalMemoryImageCreateInfoNV {
10127 VkStructureType sType;
10129 VkExternalMemoryHandleTypeFlagsNV handleTypes;
10130 } VkExternalMemoryImageCreateInfoNV;
10132 typedef struct VkExportMemoryAllocateInfoNV {
10133 VkStructureType sType;
10135 VkExternalMemoryHandleTypeFlagsNV handleTypes;
10136 } VkExportMemoryAllocateInfoNV;
10140 #define VK_EXT_validation_flags 1
10141 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
10142 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
10144 typedef enum VkValidationCheckEXT {
10145 VK_VALIDATION_CHECK_ALL_EXT = 0,
10146 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
10147 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
10148 } VkValidationCheckEXT;
10149 typedef struct VkValidationFlagsEXT {
10150 VkStructureType sType;
10152 deUint32 disabledValidationCheckCount;
10153 const VkValidationCheckEXT* pDisabledValidationChecks;
10154 } VkValidationFlagsEXT;
10158 #define VK_EXT_shader_subgroup_ballot 1
10159 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
10160 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
10163 #define VK_EXT_shader_subgroup_vote 1
10164 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
10165 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
10168 #define VK_EXT_texture_compression_astc_hdr 1
10169 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
10170 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
10171 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
10172 VkStructureType sType;
10174 VkBool32 textureCompressionASTC_HDR;
10175 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
10179 #define VK_EXT_astc_decode_mode 1
10180 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
10181 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
10182 typedef struct VkImageViewASTCDecodeModeEXT {
10183 VkStructureType sType;
10185 VkFormat decodeMode;
10186 } VkImageViewASTCDecodeModeEXT;
10188 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
10189 VkStructureType sType;
10191 VkBool32 decodeModeSharedExponent;
10192 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
10196 #define VK_EXT_conditional_rendering 1
10197 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
10198 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
10200 typedef enum VkConditionalRenderingFlagBitsEXT {
10201 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
10202 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10203 } VkConditionalRenderingFlagBitsEXT;
10204 typedef VkFlags VkConditionalRenderingFlagsEXT;
10205 typedef struct VkConditionalRenderingBeginInfoEXT {
10206 VkStructureType sType;
10209 VkDeviceSize offset;
10210 VkConditionalRenderingFlagsEXT flags;
10211 } VkConditionalRenderingBeginInfoEXT;
10213 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
10214 VkStructureType sType;
10216 VkBool32 conditionalRendering;
10217 VkBool32 inheritedConditionalRendering;
10218 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
10220 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
10221 VkStructureType sType;
10223 VkBool32 conditionalRenderingEnable;
10224 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
10226 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
10227 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
10229 #ifndef VK_NO_PROTOTYPES
10230 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
10231 VkCommandBuffer commandBuffer,
10232 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
10234 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
10235 VkCommandBuffer commandBuffer);
10239 #define VK_NV_clip_space_w_scaling 1
10240 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
10241 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
10242 typedef struct VkViewportWScalingNV {
10245 } VkViewportWScalingNV;
10247 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
10248 VkStructureType sType;
10250 VkBool32 viewportWScalingEnable;
10251 deUint32 viewportCount;
10252 const VkViewportWScalingNV* pViewportWScalings;
10253 } VkPipelineViewportWScalingStateCreateInfoNV;
10255 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
10257 #ifndef VK_NO_PROTOTYPES
10258 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
10259 VkCommandBuffer commandBuffer,
10260 deUint32 firstViewport,
10261 deUint32 viewportCount,
10262 const VkViewportWScalingNV* pViewportWScalings);
10266 #define VK_EXT_direct_mode_display 1
10267 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
10268 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
10269 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
10271 #ifndef VK_NO_PROTOTYPES
10272 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
10273 VkPhysicalDevice physicalDevice,
10274 VkDisplayKHR display);
10278 #define VK_EXT_display_surface_counter 1
10279 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
10280 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
10282 typedef enum VkSurfaceCounterFlagBitsEXT {
10283 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
10284 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
10285 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10286 } VkSurfaceCounterFlagBitsEXT;
10287 typedef VkFlags VkSurfaceCounterFlagsEXT;
10288 typedef struct VkSurfaceCapabilities2EXT {
10289 VkStructureType sType;
10291 deUint32 minImageCount;
10292 deUint32 maxImageCount;
10293 VkExtent2D currentExtent;
10294 VkExtent2D minImageExtent;
10295 VkExtent2D maxImageExtent;
10296 deUint32 maxImageArrayLayers;
10297 VkSurfaceTransformFlagsKHR supportedTransforms;
10298 VkSurfaceTransformFlagBitsKHR currentTransform;
10299 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
10300 VkImageUsageFlags supportedUsageFlags;
10301 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
10302 } VkSurfaceCapabilities2EXT;
10304 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
10306 #ifndef VK_NO_PROTOTYPES
10307 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
10308 VkPhysicalDevice physicalDevice,
10309 VkSurfaceKHR surface,
10310 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
10314 #define VK_EXT_display_control 1
10315 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
10316 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
10318 typedef enum VkDisplayPowerStateEXT {
10319 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
10320 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
10321 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
10322 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
10323 } VkDisplayPowerStateEXT;
10325 typedef enum VkDeviceEventTypeEXT {
10326 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
10327 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10328 } VkDeviceEventTypeEXT;
10330 typedef enum VkDisplayEventTypeEXT {
10331 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
10332 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10333 } VkDisplayEventTypeEXT;
10334 typedef struct VkDisplayPowerInfoEXT {
10335 VkStructureType sType;
10337 VkDisplayPowerStateEXT powerState;
10338 } VkDisplayPowerInfoEXT;
10340 typedef struct VkDeviceEventInfoEXT {
10341 VkStructureType sType;
10343 VkDeviceEventTypeEXT deviceEvent;
10344 } VkDeviceEventInfoEXT;
10346 typedef struct VkDisplayEventInfoEXT {
10347 VkStructureType sType;
10349 VkDisplayEventTypeEXT displayEvent;
10350 } VkDisplayEventInfoEXT;
10352 typedef struct VkSwapchainCounterCreateInfoEXT {
10353 VkStructureType sType;
10355 VkSurfaceCounterFlagsEXT surfaceCounters;
10356 } VkSwapchainCounterCreateInfoEXT;
10358 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10359 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10360 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10361 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
10363 #ifndef VK_NO_PROTOTYPES
10364 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
10366 VkDisplayKHR display,
10367 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10369 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
10371 const VkDeviceEventInfoEXT* pDeviceEventInfo,
10372 const VkAllocationCallbacks* pAllocator,
10375 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
10377 VkDisplayKHR display,
10378 const VkDisplayEventInfoEXT* pDisplayEventInfo,
10379 const VkAllocationCallbacks* pAllocator,
10382 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
10384 VkSwapchainKHR swapchain,
10385 VkSurfaceCounterFlagBitsEXT counter,
10386 deUint64* pCounterValue);
10390 #define VK_GOOGLE_display_timing 1
10391 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
10392 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
10393 typedef struct VkRefreshCycleDurationGOOGLE {
10394 deUint64 refreshDuration;
10395 } VkRefreshCycleDurationGOOGLE;
10397 typedef struct VkPastPresentationTimingGOOGLE {
10398 deUint32 presentID;
10399 deUint64 desiredPresentTime;
10400 deUint64 actualPresentTime;
10401 deUint64 earliestPresentTime;
10402 deUint64 presentMargin;
10403 } VkPastPresentationTimingGOOGLE;
10405 typedef struct VkPresentTimeGOOGLE {
10406 deUint32 presentID;
10407 deUint64 desiredPresentTime;
10408 } VkPresentTimeGOOGLE;
10410 typedef struct VkPresentTimesInfoGOOGLE {
10411 VkStructureType sType;
10413 deUint32 swapchainCount;
10414 const VkPresentTimeGOOGLE* pTimes;
10415 } VkPresentTimesInfoGOOGLE;
10417 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10418 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
10420 #ifndef VK_NO_PROTOTYPES
10421 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
10423 VkSwapchainKHR swapchain,
10424 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10426 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
10428 VkSwapchainKHR swapchain,
10429 deUint32* pPresentationTimingCount,
10430 VkPastPresentationTimingGOOGLE* pPresentationTimings);
10434 #define VK_NV_sample_mask_override_coverage 1
10435 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
10436 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
10439 #define VK_NV_geometry_shader_passthrough 1
10440 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
10441 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
10444 #define VK_NV_viewport_array2 1
10445 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
10446 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
10449 #define VK_NVX_multiview_per_view_attributes 1
10450 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
10451 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
10452 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10453 VkStructureType sType;
10455 VkBool32 perViewPositionAllComponents;
10456 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
10460 #define VK_NV_viewport_swizzle 1
10461 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
10462 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
10464 typedef enum VkViewportCoordinateSwizzleNV {
10465 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
10466 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
10467 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
10468 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
10469 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
10470 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
10471 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
10472 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
10473 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
10474 } VkViewportCoordinateSwizzleNV;
10475 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
10476 typedef struct VkViewportSwizzleNV {
10477 VkViewportCoordinateSwizzleNV x;
10478 VkViewportCoordinateSwizzleNV y;
10479 VkViewportCoordinateSwizzleNV z;
10480 VkViewportCoordinateSwizzleNV w;
10481 } VkViewportSwizzleNV;
10483 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
10484 VkStructureType sType;
10486 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
10487 deUint32 viewportCount;
10488 const VkViewportSwizzleNV* pViewportSwizzles;
10489 } VkPipelineViewportSwizzleStateCreateInfoNV;
10493 #define VK_EXT_discard_rectangles 1
10494 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
10495 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
10497 typedef enum VkDiscardRectangleModeEXT {
10498 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
10499 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
10500 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10501 } VkDiscardRectangleModeEXT;
10502 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
10503 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
10504 VkStructureType sType;
10506 deUint32 maxDiscardRectangles;
10507 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
10509 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
10510 VkStructureType sType;
10512 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
10513 VkDiscardRectangleModeEXT discardRectangleMode;
10514 deUint32 discardRectangleCount;
10515 const VkRect2D* pDiscardRectangles;
10516 } VkPipelineDiscardRectangleStateCreateInfoEXT;
10518 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
10520 #ifndef VK_NO_PROTOTYPES
10521 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
10522 VkCommandBuffer commandBuffer,
10523 deUint32 firstDiscardRectangle,
10524 deUint32 discardRectangleCount,
10525 const VkRect2D* pDiscardRectangles);
10529 #define VK_EXT_conservative_rasterization 1
10530 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
10531 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
10533 typedef enum VkConservativeRasterizationModeEXT {
10534 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
10535 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
10536 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
10537 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10538 } VkConservativeRasterizationModeEXT;
10539 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
10540 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
10541 VkStructureType sType;
10543 float primitiveOverestimationSize;
10544 float maxExtraPrimitiveOverestimationSize;
10545 float extraPrimitiveOverestimationSizeGranularity;
10546 VkBool32 primitiveUnderestimation;
10547 VkBool32 conservativePointAndLineRasterization;
10548 VkBool32 degenerateTrianglesRasterized;
10549 VkBool32 degenerateLinesRasterized;
10550 VkBool32 fullyCoveredFragmentShaderInputVariable;
10551 VkBool32 conservativeRasterizationPostDepthCoverage;
10552 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
10554 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
10555 VkStructureType sType;
10557 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
10558 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
10559 float extraPrimitiveOverestimationSize;
10560 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
10564 #define VK_EXT_depth_clip_enable 1
10565 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
10566 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
10567 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
10568 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
10569 VkStructureType sType;
10571 VkBool32 depthClipEnable;
10572 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
10574 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
10575 VkStructureType sType;
10577 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
10578 VkBool32 depthClipEnable;
10579 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
10583 #define VK_EXT_swapchain_colorspace 1
10584 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
10585 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
10588 #define VK_EXT_hdr_metadata 1
10589 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
10590 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
10591 typedef struct VkXYColorEXT {
10596 typedef struct VkHdrMetadataEXT {
10597 VkStructureType sType;
10599 VkXYColorEXT displayPrimaryRed;
10600 VkXYColorEXT displayPrimaryGreen;
10601 VkXYColorEXT displayPrimaryBlue;
10602 VkXYColorEXT whitePoint;
10603 float maxLuminance;
10604 float minLuminance;
10605 float maxContentLightLevel;
10606 float maxFrameAverageLightLevel;
10607 } VkHdrMetadataEXT;
10609 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
10611 #ifndef VK_NO_PROTOTYPES
10612 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
10614 deUint32 swapchainCount,
10615 const VkSwapchainKHR* pSwapchains,
10616 const VkHdrMetadataEXT* pMetadata);
10620 #define VK_EXT_external_memory_dma_buf 1
10621 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
10622 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
10625 #define VK_EXT_queue_family_foreign 1
10626 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
10627 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
10628 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
10631 #define VK_EXT_debug_utils 1
10632 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
10633 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
10634 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
10635 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
10637 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
10638 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
10639 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
10640 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
10641 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
10642 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10643 } VkDebugUtilsMessageSeverityFlagBitsEXT;
10645 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
10646 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
10647 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
10648 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
10649 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10650 } VkDebugUtilsMessageTypeFlagBitsEXT;
10651 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
10652 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
10653 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
10654 typedef struct VkDebugUtilsLabelEXT {
10655 VkStructureType sType;
10657 const char* pLabelName;
10659 } VkDebugUtilsLabelEXT;
10661 typedef struct VkDebugUtilsObjectNameInfoEXT {
10662 VkStructureType sType;
10664 VkObjectType objectType;
10665 deUint64 objectHandle;
10666 const char* pObjectName;
10667 } VkDebugUtilsObjectNameInfoEXT;
10669 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
10670 VkStructureType sType;
10672 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
10673 const char* pMessageIdName;
10674 deInt32 messageIdNumber;
10675 const char* pMessage;
10676 deUint32 queueLabelCount;
10677 const VkDebugUtilsLabelEXT* pQueueLabels;
10678 deUint32 cmdBufLabelCount;
10679 const VkDebugUtilsLabelEXT* pCmdBufLabels;
10680 deUint32 objectCount;
10681 const VkDebugUtilsObjectNameInfoEXT* pObjects;
10682 } VkDebugUtilsMessengerCallbackDataEXT;
10684 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
10685 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10686 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10687 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
10690 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
10691 VkStructureType sType;
10693 VkDebugUtilsMessengerCreateFlagsEXT flags;
10694 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
10695 VkDebugUtilsMessageTypeFlagsEXT messageType;
10696 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
10698 } VkDebugUtilsMessengerCreateInfoEXT;
10700 typedef struct VkDebugUtilsObjectTagInfoEXT {
10701 VkStructureType sType;
10703 VkObjectType objectType;
10704 deUint64 objectHandle;
10708 } VkDebugUtilsObjectTagInfoEXT;
10710 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10711 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10712 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10713 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
10714 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10715 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10716 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
10717 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10718 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
10719 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
10720 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10722 #ifndef VK_NO_PROTOTYPES
10723 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
10725 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10727 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
10729 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10731 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
10733 const VkDebugUtilsLabelEXT* pLabelInfo);
10735 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
10738 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
10740 const VkDebugUtilsLabelEXT* pLabelInfo);
10742 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
10743 VkCommandBuffer commandBuffer,
10744 const VkDebugUtilsLabelEXT* pLabelInfo);
10746 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
10747 VkCommandBuffer commandBuffer);
10749 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
10750 VkCommandBuffer commandBuffer,
10751 const VkDebugUtilsLabelEXT* pLabelInfo);
10753 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
10754 VkInstance instance,
10755 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
10756 const VkAllocationCallbacks* pAllocator,
10757 VkDebugUtilsMessengerEXT* pMessenger);
10759 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
10760 VkInstance instance,
10761 VkDebugUtilsMessengerEXT messenger,
10762 const VkAllocationCallbacks* pAllocator);
10764 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
10765 VkInstance instance,
10766 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10767 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10768 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10772 #define VK_EXT_sampler_filter_minmax 1
10773 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
10774 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
10775 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
10777 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
10779 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
10783 #define VK_AMD_gpu_shader_int16 1
10784 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
10785 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
10788 #define VK_AMD_mixed_attachment_samples 1
10789 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
10790 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
10793 #define VK_AMD_shader_fragment_mask 1
10794 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
10795 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
10798 #define VK_EXT_inline_uniform_block 1
10799 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
10800 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
10801 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
10802 VkStructureType sType;
10804 VkBool32 inlineUniformBlock;
10805 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
10806 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
10808 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
10809 VkStructureType sType;
10811 deUint32 maxInlineUniformBlockSize;
10812 deUint32 maxPerStageDescriptorInlineUniformBlocks;
10813 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
10814 deUint32 maxDescriptorSetInlineUniformBlocks;
10815 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
10816 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
10818 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
10819 VkStructureType sType;
10823 } VkWriteDescriptorSetInlineUniformBlockEXT;
10825 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
10826 VkStructureType sType;
10828 deUint32 maxInlineUniformBlockBindings;
10829 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
10833 #define VK_EXT_shader_stencil_export 1
10834 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
10835 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
10838 #define VK_EXT_sample_locations 1
10839 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
10840 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
10841 typedef struct VkSampleLocationEXT {
10844 } VkSampleLocationEXT;
10846 typedef struct VkSampleLocationsInfoEXT {
10847 VkStructureType sType;
10849 VkSampleCountFlagBits sampleLocationsPerPixel;
10850 VkExtent2D sampleLocationGridSize;
10851 deUint32 sampleLocationsCount;
10852 const VkSampleLocationEXT* pSampleLocations;
10853 } VkSampleLocationsInfoEXT;
10855 typedef struct VkAttachmentSampleLocationsEXT {
10856 deUint32 attachmentIndex;
10857 VkSampleLocationsInfoEXT sampleLocationsInfo;
10858 } VkAttachmentSampleLocationsEXT;
10860 typedef struct VkSubpassSampleLocationsEXT {
10861 deUint32 subpassIndex;
10862 VkSampleLocationsInfoEXT sampleLocationsInfo;
10863 } VkSubpassSampleLocationsEXT;
10865 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
10866 VkStructureType sType;
10868 deUint32 attachmentInitialSampleLocationsCount;
10869 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
10870 deUint32 postSubpassSampleLocationsCount;
10871 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
10872 } VkRenderPassSampleLocationsBeginInfoEXT;
10874 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
10875 VkStructureType sType;
10877 VkBool32 sampleLocationsEnable;
10878 VkSampleLocationsInfoEXT sampleLocationsInfo;
10879 } VkPipelineSampleLocationsStateCreateInfoEXT;
10881 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
10882 VkStructureType sType;
10884 VkSampleCountFlags sampleLocationSampleCounts;
10885 VkExtent2D maxSampleLocationGridSize;
10886 float sampleLocationCoordinateRange[2];
10887 deUint32 sampleLocationSubPixelBits;
10888 VkBool32 variableSampleLocations;
10889 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
10891 typedef struct VkMultisamplePropertiesEXT {
10892 VkStructureType sType;
10894 VkExtent2D maxSampleLocationGridSize;
10895 } VkMultisamplePropertiesEXT;
10897 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10898 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
10900 #ifndef VK_NO_PROTOTYPES
10901 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
10902 VkCommandBuffer commandBuffer,
10903 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10905 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
10906 VkPhysicalDevice physicalDevice,
10907 VkSampleCountFlagBits samples,
10908 VkMultisamplePropertiesEXT* pMultisampleProperties);
10912 #define VK_EXT_blend_operation_advanced 1
10913 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
10914 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
10916 typedef enum VkBlendOverlapEXT {
10917 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
10918 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
10919 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
10920 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
10921 } VkBlendOverlapEXT;
10922 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
10923 VkStructureType sType;
10925 VkBool32 advancedBlendCoherentOperations;
10926 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
10928 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
10929 VkStructureType sType;
10931 deUint32 advancedBlendMaxColorAttachments;
10932 VkBool32 advancedBlendIndependentBlend;
10933 VkBool32 advancedBlendNonPremultipliedSrcColor;
10934 VkBool32 advancedBlendNonPremultipliedDstColor;
10935 VkBool32 advancedBlendCorrelatedOverlap;
10936 VkBool32 advancedBlendAllOperations;
10937 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
10939 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
10940 VkStructureType sType;
10942 VkBool32 srcPremultiplied;
10943 VkBool32 dstPremultiplied;
10944 VkBlendOverlapEXT blendOverlap;
10945 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
10949 #define VK_NV_fragment_coverage_to_color 1
10950 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
10951 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
10952 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
10953 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
10954 VkStructureType sType;
10956 VkPipelineCoverageToColorStateCreateFlagsNV flags;
10957 VkBool32 coverageToColorEnable;
10958 deUint32 coverageToColorLocation;
10959 } VkPipelineCoverageToColorStateCreateInfoNV;
10963 #define VK_NV_framebuffer_mixed_samples 1
10964 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
10965 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
10967 typedef enum VkCoverageModulationModeNV {
10968 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
10969 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
10970 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
10971 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
10972 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10973 } VkCoverageModulationModeNV;
10974 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
10975 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
10976 VkStructureType sType;
10978 VkPipelineCoverageModulationStateCreateFlagsNV flags;
10979 VkCoverageModulationModeNV coverageModulationMode;
10980 VkBool32 coverageModulationTableEnable;
10981 deUint32 coverageModulationTableCount;
10982 const float* pCoverageModulationTable;
10983 } VkPipelineCoverageModulationStateCreateInfoNV;
10987 #define VK_NV_fill_rectangle 1
10988 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
10989 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
10992 #define VK_NV_shader_sm_builtins 1
10993 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
10994 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
10995 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
10996 VkStructureType sType;
10998 deUint32 shaderSMCount;
10999 deUint32 shaderWarpsPerSM;
11000 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
11002 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
11003 VkStructureType sType;
11005 VkBool32 shaderSMBuiltins;
11006 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
11010 #define VK_EXT_post_depth_coverage 1
11011 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
11012 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
11015 #define VK_EXT_image_drm_format_modifier 1
11016 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
11017 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
11018 typedef struct VkDrmFormatModifierPropertiesEXT {
11019 deUint64 drmFormatModifier;
11020 deUint32 drmFormatModifierPlaneCount;
11021 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
11022 } VkDrmFormatModifierPropertiesEXT;
11024 typedef struct VkDrmFormatModifierPropertiesListEXT {
11025 VkStructureType sType;
11027 deUint32 drmFormatModifierCount;
11028 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
11029 } VkDrmFormatModifierPropertiesListEXT;
11031 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
11032 VkStructureType sType;
11034 deUint64 drmFormatModifier;
11035 VkSharingMode sharingMode;
11036 deUint32 queueFamilyIndexCount;
11037 const deUint32* pQueueFamilyIndices;
11038 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
11040 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
11041 VkStructureType sType;
11043 deUint32 drmFormatModifierCount;
11044 const deUint64* pDrmFormatModifiers;
11045 } VkImageDrmFormatModifierListCreateInfoEXT;
11047 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
11048 VkStructureType sType;
11050 deUint64 drmFormatModifier;
11051 deUint32 drmFormatModifierPlaneCount;
11052 const VkSubresourceLayout* pPlaneLayouts;
11053 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
11055 typedef struct VkImageDrmFormatModifierPropertiesEXT {
11056 VkStructureType sType;
11058 deUint64 drmFormatModifier;
11059 } VkImageDrmFormatModifierPropertiesEXT;
11061 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
11063 #ifndef VK_NO_PROTOTYPES
11064 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
11067 VkImageDrmFormatModifierPropertiesEXT* pProperties);
11071 #define VK_EXT_validation_cache 1
11072 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
11073 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
11074 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
11076 typedef enum VkValidationCacheHeaderVersionEXT {
11077 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
11078 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
11079 } VkValidationCacheHeaderVersionEXT;
11080 typedef VkFlags VkValidationCacheCreateFlagsEXT;
11081 typedef struct VkValidationCacheCreateInfoEXT {
11082 VkStructureType sType;
11084 VkValidationCacheCreateFlagsEXT flags;
11085 deUintptr initialDataSize;
11086 const void* pInitialData;
11087 } VkValidationCacheCreateInfoEXT;
11089 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
11090 VkStructureType sType;
11092 VkValidationCacheEXT validationCache;
11093 } VkShaderModuleValidationCacheCreateInfoEXT;
11095 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
11096 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
11097 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
11098 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
11100 #ifndef VK_NO_PROTOTYPES
11101 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
11103 const VkValidationCacheCreateInfoEXT* pCreateInfo,
11104 const VkAllocationCallbacks* pAllocator,
11105 VkValidationCacheEXT* pValidationCache);
11107 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
11109 VkValidationCacheEXT validationCache,
11110 const VkAllocationCallbacks* pAllocator);
11112 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
11114 VkValidationCacheEXT dstCache,
11115 deUint32 srcCacheCount,
11116 const VkValidationCacheEXT* pSrcCaches);
11118 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
11120 VkValidationCacheEXT validationCache,
11121 deUintptr* pDataSize,
11126 #define VK_EXT_descriptor_indexing 1
11127 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
11128 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
11129 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
11131 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
11133 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
11135 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
11137 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
11139 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
11141 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
11145 #define VK_EXT_shader_viewport_index_layer 1
11146 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
11147 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
11150 #define VK_NV_shading_rate_image 1
11151 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
11152 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
11154 typedef enum VkShadingRatePaletteEntryNV {
11155 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
11156 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
11157 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
11158 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
11159 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
11160 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
11161 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
11162 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
11163 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
11164 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
11165 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
11166 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
11167 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
11168 } VkShadingRatePaletteEntryNV;
11170 typedef enum VkCoarseSampleOrderTypeNV {
11171 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
11172 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
11173 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
11174 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
11175 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11176 } VkCoarseSampleOrderTypeNV;
11177 typedef struct VkShadingRatePaletteNV {
11178 deUint32 shadingRatePaletteEntryCount;
11179 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
11180 } VkShadingRatePaletteNV;
11182 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
11183 VkStructureType sType;
11185 VkBool32 shadingRateImageEnable;
11186 deUint32 viewportCount;
11187 const VkShadingRatePaletteNV* pShadingRatePalettes;
11188 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
11190 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
11191 VkStructureType sType;
11193 VkBool32 shadingRateImage;
11194 VkBool32 shadingRateCoarseSampleOrder;
11195 } VkPhysicalDeviceShadingRateImageFeaturesNV;
11197 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
11198 VkStructureType sType;
11200 VkExtent2D shadingRateTexelSize;
11201 deUint32 shadingRatePaletteSize;
11202 deUint32 shadingRateMaxCoarseSamples;
11203 } VkPhysicalDeviceShadingRateImagePropertiesNV;
11205 typedef struct VkCoarseSampleLocationNV {
11209 } VkCoarseSampleLocationNV;
11211 typedef struct VkCoarseSampleOrderCustomNV {
11212 VkShadingRatePaletteEntryNV shadingRate;
11213 deUint32 sampleCount;
11214 deUint32 sampleLocationCount;
11215 const VkCoarseSampleLocationNV* pSampleLocations;
11216 } VkCoarseSampleOrderCustomNV;
11218 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
11219 VkStructureType sType;
11221 VkCoarseSampleOrderTypeNV sampleOrderType;
11222 deUint32 customSampleOrderCount;
11223 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
11224 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
11226 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
11227 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
11228 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
11230 #ifndef VK_NO_PROTOTYPES
11231 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
11232 VkCommandBuffer commandBuffer,
11233 VkImageView imageView,
11234 VkImageLayout imageLayout);
11236 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
11237 VkCommandBuffer commandBuffer,
11238 deUint32 firstViewport,
11239 deUint32 viewportCount,
11240 const VkShadingRatePaletteNV* pShadingRatePalettes);
11242 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
11243 VkCommandBuffer commandBuffer,
11244 VkCoarseSampleOrderTypeNV sampleOrderType,
11245 deUint32 customSampleOrderCount,
11246 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
11250 #define VK_NV_ray_tracing 1
11251 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
11252 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
11253 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
11254 #define VK_SHADER_UNUSED_KHR (~0U)
11255 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
11257 typedef enum VkRayTracingShaderGroupTypeKHR {
11258 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
11259 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
11260 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
11261 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
11262 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
11263 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
11264 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11265 } VkRayTracingShaderGroupTypeKHR;
11266 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
11269 typedef enum VkGeometryTypeKHR {
11270 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
11271 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
11272 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
11273 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
11274 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
11275 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11276 } VkGeometryTypeKHR;
11277 typedef VkGeometryTypeKHR VkGeometryTypeNV;
11280 typedef enum VkAccelerationStructureTypeKHR {
11281 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
11282 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
11283 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
11284 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
11285 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
11286 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11287 } VkAccelerationStructureTypeKHR;
11288 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
11291 typedef enum VkCopyAccelerationStructureModeKHR {
11292 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
11293 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
11294 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
11295 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
11296 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
11297 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
11298 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
11299 } VkCopyAccelerationStructureModeKHR;
11300 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
11303 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
11304 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
11305 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
11306 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
11307 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11308 } VkAccelerationStructureMemoryRequirementsTypeNV;
11310 typedef enum VkGeometryFlagBitsKHR {
11311 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
11312 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
11313 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
11314 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
11315 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11316 } VkGeometryFlagBitsKHR;
11317 typedef VkFlags VkGeometryFlagsKHR;
11318 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
11320 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
11323 typedef enum VkGeometryInstanceFlagBitsKHR {
11324 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
11325 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
11326 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
11327 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
11328 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
11329 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
11330 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
11331 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
11332 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
11333 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11334 } VkGeometryInstanceFlagBitsKHR;
11335 typedef VkFlags VkGeometryInstanceFlagsKHR;
11336 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
11338 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
11341 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
11342 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
11343 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
11344 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
11345 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
11346 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
11347 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
11348 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
11349 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
11350 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
11351 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
11352 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
11353 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11354 } VkBuildAccelerationStructureFlagBitsKHR;
11355 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
11356 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
11358 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
11360 typedef struct VkRayTracingShaderGroupCreateInfoNV {
11361 VkStructureType sType;
11363 VkRayTracingShaderGroupTypeKHR type;
11364 deUint32 generalShader;
11365 deUint32 closestHitShader;
11366 deUint32 anyHitShader;
11367 deUint32 intersectionShader;
11368 } VkRayTracingShaderGroupCreateInfoNV;
11370 typedef struct VkRayTracingPipelineCreateInfoNV {
11371 VkStructureType sType;
11373 VkPipelineCreateFlags flags;
11374 deUint32 stageCount;
11375 const VkPipelineShaderStageCreateInfo* pStages;
11376 deUint32 groupCount;
11377 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
11378 deUint32 maxRecursionDepth;
11379 VkPipelineLayout layout;
11380 VkPipeline basePipelineHandle;
11381 deInt32 basePipelineIndex;
11382 } VkRayTracingPipelineCreateInfoNV;
11384 typedef struct VkGeometryTrianglesNV {
11385 VkStructureType sType;
11387 VkBuffer vertexData;
11388 VkDeviceSize vertexOffset;
11389 deUint32 vertexCount;
11390 VkDeviceSize vertexStride;
11391 VkFormat vertexFormat;
11392 VkBuffer indexData;
11393 VkDeviceSize indexOffset;
11394 deUint32 indexCount;
11395 VkIndexType indexType;
11396 VkBuffer transformData;
11397 VkDeviceSize transformOffset;
11398 } VkGeometryTrianglesNV;
11400 typedef struct VkGeometryAABBNV {
11401 VkStructureType sType;
11406 VkDeviceSize offset;
11407 } VkGeometryAABBNV;
11409 typedef struct VkGeometryDataNV {
11410 VkGeometryTrianglesNV triangles;
11411 VkGeometryAABBNV aabbs;
11412 } VkGeometryDataNV;
11414 typedef struct VkGeometryNV {
11415 VkStructureType sType;
11417 VkGeometryTypeKHR geometryType;
11418 VkGeometryDataNV geometry;
11419 VkGeometryFlagsKHR flags;
11422 typedef struct VkAccelerationStructureInfoNV {
11423 VkStructureType sType;
11425 VkAccelerationStructureTypeNV type;
11426 VkBuildAccelerationStructureFlagsNV flags;
11427 deUint32 instanceCount;
11428 deUint32 geometryCount;
11429 const VkGeometryNV* pGeometries;
11430 } VkAccelerationStructureInfoNV;
11432 typedef struct VkAccelerationStructureCreateInfoNV {
11433 VkStructureType sType;
11435 VkDeviceSize compactedSize;
11436 VkAccelerationStructureInfoNV info;
11437 } VkAccelerationStructureCreateInfoNV;
11439 typedef struct VkBindAccelerationStructureMemoryInfoNV {
11440 VkStructureType sType;
11442 VkAccelerationStructureNV accelerationStructure;
11443 VkDeviceMemory memory;
11444 VkDeviceSize memoryOffset;
11445 deUint32 deviceIndexCount;
11446 const deUint32* pDeviceIndices;
11447 } VkBindAccelerationStructureMemoryInfoNV;
11449 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
11450 VkStructureType sType;
11452 deUint32 accelerationStructureCount;
11453 const VkAccelerationStructureNV* pAccelerationStructures;
11454 } VkWriteDescriptorSetAccelerationStructureNV;
11456 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
11457 VkStructureType sType;
11459 VkAccelerationStructureMemoryRequirementsTypeNV type;
11460 VkAccelerationStructureNV accelerationStructure;
11461 } VkAccelerationStructureMemoryRequirementsInfoNV;
11463 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
11464 VkStructureType sType;
11466 deUint32 shaderGroupHandleSize;
11467 deUint32 maxRecursionDepth;
11468 deUint32 maxShaderGroupStride;
11469 deUint32 shaderGroupBaseAlignment;
11470 deUint64 maxGeometryCount;
11471 deUint64 maxInstanceCount;
11472 deUint64 maxTriangleCount;
11473 deUint32 maxDescriptorSetAccelerationStructures;
11474 } VkPhysicalDeviceRayTracingPropertiesNV;
11476 typedef struct VkTransformMatrixKHR {
11477 float matrix[3][4];
11478 } VkTransformMatrixKHR;
11480 typedef VkTransformMatrixKHR VkTransformMatrixNV;
11482 typedef struct VkAabbPositionsKHR {
11489 } VkAabbPositionsKHR;
11491 typedef VkAabbPositionsKHR VkAabbPositionsNV;
11493 typedef struct VkAccelerationStructureInstanceKHR {
11494 VkTransformMatrixKHR transform;
11495 deUint32 instanceCustomIndex:24;
11497 deUint32 instanceShaderBindingTableRecordOffset:24;
11498 VkGeometryInstanceFlagsKHR flags:8;
11499 deUint64 accelerationStructureReference;
11500 } VkAccelerationStructureInstanceKHR;
11502 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
11504 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
11505 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
11506 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
11507 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11508 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);
11509 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
11510 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);
11511 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
11512 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11513 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11514 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
11515 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
11516 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
11518 #ifndef VK_NO_PROTOTYPES
11519 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
11521 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
11522 const VkAllocationCallbacks* pAllocator,
11523 VkAccelerationStructureNV* pAccelerationStructure);
11525 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
11527 VkAccelerationStructureNV accelerationStructure,
11528 const VkAllocationCallbacks* pAllocator);
11530 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
11532 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
11533 VkMemoryRequirements2KHR* pMemoryRequirements);
11535 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
11537 deUint32 bindInfoCount,
11538 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11540 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
11541 VkCommandBuffer commandBuffer,
11542 const VkAccelerationStructureInfoNV* pInfo,
11543 VkBuffer instanceData,
11544 VkDeviceSize instanceOffset,
11546 VkAccelerationStructureNV dst,
11547 VkAccelerationStructureNV src,
11549 VkDeviceSize scratchOffset);
11551 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
11552 VkCommandBuffer commandBuffer,
11553 VkAccelerationStructureNV dst,
11554 VkAccelerationStructureNV src,
11555 VkCopyAccelerationStructureModeKHR mode);
11557 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
11558 VkCommandBuffer commandBuffer,
11559 VkBuffer raygenShaderBindingTableBuffer,
11560 VkDeviceSize raygenShaderBindingOffset,
11561 VkBuffer missShaderBindingTableBuffer,
11562 VkDeviceSize missShaderBindingOffset,
11563 VkDeviceSize missShaderBindingStride,
11564 VkBuffer hitShaderBindingTableBuffer,
11565 VkDeviceSize hitShaderBindingOffset,
11566 VkDeviceSize hitShaderBindingStride,
11567 VkBuffer callableShaderBindingTableBuffer,
11568 VkDeviceSize callableShaderBindingOffset,
11569 VkDeviceSize callableShaderBindingStride,
11574 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
11576 VkPipelineCache pipelineCache,
11577 deUint32 createInfoCount,
11578 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
11579 const VkAllocationCallbacks* pAllocator,
11580 VkPipeline* pPipelines);
11582 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
11584 VkPipeline pipeline,
11585 deUint32 firstGroup,
11586 deUint32 groupCount,
11587 deUintptr dataSize,
11590 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
11592 VkPipeline pipeline,
11593 deUint32 firstGroup,
11594 deUint32 groupCount,
11595 deUintptr dataSize,
11598 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
11600 VkAccelerationStructureNV accelerationStructure,
11601 deUintptr dataSize,
11604 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
11605 VkCommandBuffer commandBuffer,
11606 deUint32 accelerationStructureCount,
11607 const VkAccelerationStructureNV* pAccelerationStructures,
11608 VkQueryType queryType,
11609 VkQueryPool queryPool,
11610 deUint32 firstQuery);
11612 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
11614 VkPipeline pipeline,
11619 #define VK_NV_representative_fragment_test 1
11620 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
11621 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
11622 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11623 VkStructureType sType;
11625 VkBool32 representativeFragmentTest;
11626 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
11628 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
11629 VkStructureType sType;
11631 VkBool32 representativeFragmentTestEnable;
11632 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
11636 #define VK_EXT_filter_cubic 1
11637 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
11638 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
11639 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
11640 VkStructureType sType;
11642 VkImageViewType imageViewType;
11643 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
11645 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
11646 VkStructureType sType;
11648 VkBool32 filterCubic;
11649 VkBool32 filterCubicMinmax;
11650 } VkFilterCubicImageViewImageFormatPropertiesEXT;
11654 #define VK_QCOM_render_pass_shader_resolve 1
11655 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
11656 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
11659 #define VK_EXT_global_priority 1
11660 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
11661 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
11663 typedef enum VkQueueGlobalPriorityEXT {
11664 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
11665 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
11666 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
11667 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
11668 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
11669 } VkQueueGlobalPriorityEXT;
11670 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
11671 VkStructureType sType;
11673 VkQueueGlobalPriorityEXT globalPriority;
11674 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
11678 #define VK_EXT_external_memory_host 1
11679 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
11680 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
11681 typedef struct VkImportMemoryHostPointerInfoEXT {
11682 VkStructureType sType;
11684 VkExternalMemoryHandleTypeFlagBits handleType;
11685 void* pHostPointer;
11686 } VkImportMemoryHostPointerInfoEXT;
11688 typedef struct VkMemoryHostPointerPropertiesEXT {
11689 VkStructureType sType;
11691 deUint32 memoryTypeBits;
11692 } VkMemoryHostPointerPropertiesEXT;
11694 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
11695 VkStructureType sType;
11697 VkDeviceSize minImportedHostPointerAlignment;
11698 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
11700 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11702 #ifndef VK_NO_PROTOTYPES
11703 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
11705 VkExternalMemoryHandleTypeFlagBits handleType,
11706 const void* pHostPointer,
11707 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11711 #define VK_AMD_buffer_marker 1
11712 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
11713 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
11714 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
11716 #ifndef VK_NO_PROTOTYPES
11717 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
11718 VkCommandBuffer commandBuffer,
11719 VkPipelineStageFlagBits pipelineStage,
11720 VkBuffer dstBuffer,
11721 VkDeviceSize dstOffset,
11726 #define VK_AMD_pipeline_compiler_control 1
11727 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
11728 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
11730 typedef enum VkPipelineCompilerControlFlagBitsAMD {
11731 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11732 } VkPipelineCompilerControlFlagBitsAMD;
11733 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
11734 typedef struct VkPipelineCompilerControlCreateInfoAMD {
11735 VkStructureType sType;
11737 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
11738 } VkPipelineCompilerControlCreateInfoAMD;
11742 #define VK_EXT_calibrated_timestamps 1
11743 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
11744 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
11746 typedef enum VkTimeDomainEXT {
11747 VK_TIME_DOMAIN_DEVICE_EXT = 0,
11748 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
11749 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
11750 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
11751 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
11753 typedef struct VkCalibratedTimestampInfoEXT {
11754 VkStructureType sType;
11756 VkTimeDomainEXT timeDomain;
11757 } VkCalibratedTimestampInfoEXT;
11759 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
11760 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
11762 #ifndef VK_NO_PROTOTYPES
11763 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11764 VkPhysicalDevice physicalDevice,
11765 deUint32* pTimeDomainCount,
11766 VkTimeDomainEXT* pTimeDomains);
11768 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
11770 deUint32 timestampCount,
11771 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
11772 deUint64* pTimestamps,
11773 deUint64* pMaxDeviation);
11777 #define VK_AMD_shader_core_properties 1
11778 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
11779 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
11780 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
11781 VkStructureType sType;
11783 deUint32 shaderEngineCount;
11784 deUint32 shaderArraysPerEngineCount;
11785 deUint32 computeUnitsPerShaderArray;
11786 deUint32 simdPerComputeUnit;
11787 deUint32 wavefrontsPerSimd;
11788 deUint32 wavefrontSize;
11789 deUint32 sgprsPerSimd;
11790 deUint32 minSgprAllocation;
11791 deUint32 maxSgprAllocation;
11792 deUint32 sgprAllocationGranularity;
11793 deUint32 vgprsPerSimd;
11794 deUint32 minVgprAllocation;
11795 deUint32 maxVgprAllocation;
11796 deUint32 vgprAllocationGranularity;
11797 } VkPhysicalDeviceShaderCorePropertiesAMD;
11801 #define VK_AMD_memory_overallocation_behavior 1
11802 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
11803 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
11805 typedef enum VkMemoryOverallocationBehaviorAMD {
11806 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
11807 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
11808 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
11809 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
11810 } VkMemoryOverallocationBehaviorAMD;
11811 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
11812 VkStructureType sType;
11814 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
11815 } VkDeviceMemoryOverallocationCreateInfoAMD;
11819 #define VK_EXT_vertex_attribute_divisor 1
11820 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
11821 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
11822 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
11823 VkStructureType sType;
11825 deUint32 maxVertexAttribDivisor;
11826 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
11828 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
11831 } VkVertexInputBindingDivisorDescriptionEXT;
11833 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
11834 VkStructureType sType;
11836 deUint32 vertexBindingDivisorCount;
11837 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
11838 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
11840 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
11841 VkStructureType sType;
11843 VkBool32 vertexAttributeInstanceRateDivisor;
11844 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11845 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
11849 #define VK_EXT_pipeline_creation_feedback 1
11850 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
11851 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
11853 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
11854 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
11855 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
11856 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
11857 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11858 } VkPipelineCreationFeedbackFlagBitsEXT;
11859 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
11860 typedef struct VkPipelineCreationFeedbackEXT {
11861 VkPipelineCreationFeedbackFlagsEXT flags;
11863 } VkPipelineCreationFeedbackEXT;
11865 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
11866 VkStructureType sType;
11868 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
11869 deUint32 pipelineStageCreationFeedbackCount;
11870 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
11871 } VkPipelineCreationFeedbackCreateInfoEXT;
11875 #define VK_NV_shader_subgroup_partitioned 1
11876 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
11877 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
11880 #define VK_NV_compute_shader_derivatives 1
11881 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
11882 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
11883 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
11884 VkStructureType sType;
11886 VkBool32 computeDerivativeGroupQuads;
11887 VkBool32 computeDerivativeGroupLinear;
11888 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
11892 #define VK_NV_mesh_shader 1
11893 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
11894 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
11895 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
11896 VkStructureType sType;
11898 VkBool32 taskShader;
11899 VkBool32 meshShader;
11900 } VkPhysicalDeviceMeshShaderFeaturesNV;
11902 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
11903 VkStructureType sType;
11905 deUint32 maxDrawMeshTasksCount;
11906 deUint32 maxTaskWorkGroupInvocations;
11907 deUint32 maxTaskWorkGroupSize[3];
11908 deUint32 maxTaskTotalMemorySize;
11909 deUint32 maxTaskOutputCount;
11910 deUint32 maxMeshWorkGroupInvocations;
11911 deUint32 maxMeshWorkGroupSize[3];
11912 deUint32 maxMeshTotalMemorySize;
11913 deUint32 maxMeshOutputVertices;
11914 deUint32 maxMeshOutputPrimitives;
11915 deUint32 maxMeshMultiviewViewCount;
11916 deUint32 meshOutputPerVertexGranularity;
11917 deUint32 meshOutputPerPrimitiveGranularity;
11918 } VkPhysicalDeviceMeshShaderPropertiesNV;
11920 typedef struct VkDrawMeshTasksIndirectCommandNV {
11921 deUint32 taskCount;
11922 deUint32 firstTask;
11923 } VkDrawMeshTasksIndirectCommandNV;
11925 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
11926 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
11927 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11929 #ifndef VK_NO_PROTOTYPES
11930 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
11931 VkCommandBuffer commandBuffer,
11932 deUint32 taskCount,
11933 deUint32 firstTask);
11935 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
11936 VkCommandBuffer commandBuffer,
11938 VkDeviceSize offset,
11939 deUint32 drawCount,
11942 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
11943 VkCommandBuffer commandBuffer,
11945 VkDeviceSize offset,
11946 VkBuffer countBuffer,
11947 VkDeviceSize countBufferOffset,
11948 deUint32 maxDrawCount,
11953 #define VK_NV_fragment_shader_barycentric 1
11954 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
11955 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
11956 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11957 VkStructureType sType;
11959 VkBool32 fragmentShaderBarycentric;
11960 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
11964 #define VK_NV_shader_image_footprint 1
11965 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
11966 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
11967 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11968 VkStructureType sType;
11970 VkBool32 imageFootprint;
11971 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
11975 #define VK_NV_scissor_exclusive 1
11976 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
11977 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
11978 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11979 VkStructureType sType;
11981 deUint32 exclusiveScissorCount;
11982 const VkRect2D* pExclusiveScissors;
11983 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
11985 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11986 VkStructureType sType;
11988 VkBool32 exclusiveScissor;
11989 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
11991 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
11993 #ifndef VK_NO_PROTOTYPES
11994 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
11995 VkCommandBuffer commandBuffer,
11996 deUint32 firstExclusiveScissor,
11997 deUint32 exclusiveScissorCount,
11998 const VkRect2D* pExclusiveScissors);
12002 #define VK_NV_device_diagnostic_checkpoints 1
12003 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
12004 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
12005 typedef struct VkQueueFamilyCheckpointPropertiesNV {
12006 VkStructureType sType;
12008 VkPipelineStageFlags checkpointExecutionStageMask;
12009 } VkQueueFamilyCheckpointPropertiesNV;
12011 typedef struct VkCheckpointDataNV {
12012 VkStructureType sType;
12014 VkPipelineStageFlagBits stage;
12015 void* pCheckpointMarker;
12016 } VkCheckpointDataNV;
12018 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
12019 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
12021 #ifndef VK_NO_PROTOTYPES
12022 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
12023 VkCommandBuffer commandBuffer,
12024 const void* pCheckpointMarker);
12026 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
12028 deUint32* pCheckpointDataCount,
12029 VkCheckpointDataNV* pCheckpointData);
12033 #define VK_INTEL_shader_integer_functions2 1
12034 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
12035 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
12036 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
12037 VkStructureType sType;
12039 VkBool32 shaderIntegerFunctions2;
12040 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
12044 #define VK_INTEL_performance_query 1
12045 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
12046 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
12047 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
12049 typedef enum VkPerformanceConfigurationTypeINTEL {
12050 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
12051 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
12052 } VkPerformanceConfigurationTypeINTEL;
12054 typedef enum VkQueryPoolSamplingModeINTEL {
12055 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
12056 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
12057 } VkQueryPoolSamplingModeINTEL;
12059 typedef enum VkPerformanceOverrideTypeINTEL {
12060 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
12061 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
12062 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
12063 } VkPerformanceOverrideTypeINTEL;
12065 typedef enum VkPerformanceParameterTypeINTEL {
12066 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
12067 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
12068 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
12069 } VkPerformanceParameterTypeINTEL;
12071 typedef enum VkPerformanceValueTypeINTEL {
12072 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
12073 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
12074 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
12075 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
12076 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
12077 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
12078 } VkPerformanceValueTypeINTEL;
12079 typedef union VkPerformanceValueDataINTEL {
12083 VkBool32 valueBool;
12084 const char* valueString;
12085 } VkPerformanceValueDataINTEL;
12087 typedef struct VkPerformanceValueINTEL {
12088 VkPerformanceValueTypeINTEL type;
12089 VkPerformanceValueDataINTEL data;
12090 } VkPerformanceValueINTEL;
12092 typedef struct VkInitializePerformanceApiInfoINTEL {
12093 VkStructureType sType;
12096 } VkInitializePerformanceApiInfoINTEL;
12098 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
12099 VkStructureType sType;
12101 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
12102 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
12104 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
12106 typedef struct VkPerformanceMarkerInfoINTEL {
12107 VkStructureType sType;
12110 } VkPerformanceMarkerInfoINTEL;
12112 typedef struct VkPerformanceStreamMarkerInfoINTEL {
12113 VkStructureType sType;
12116 } VkPerformanceStreamMarkerInfoINTEL;
12118 typedef struct VkPerformanceOverrideInfoINTEL {
12119 VkStructureType sType;
12121 VkPerformanceOverrideTypeINTEL type;
12123 deUint64 parameter;
12124 } VkPerformanceOverrideInfoINTEL;
12126 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
12127 VkStructureType sType;
12129 VkPerformanceConfigurationTypeINTEL type;
12130 } VkPerformanceConfigurationAcquireInfoINTEL;
12132 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
12133 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
12134 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
12135 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
12136 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
12137 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
12138 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
12139 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
12140 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
12142 #ifndef VK_NO_PROTOTYPES
12143 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
12145 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
12147 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
12150 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
12151 VkCommandBuffer commandBuffer,
12152 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
12154 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
12155 VkCommandBuffer commandBuffer,
12156 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
12158 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
12159 VkCommandBuffer commandBuffer,
12160 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
12162 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
12164 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
12165 VkPerformanceConfigurationINTEL* pConfiguration);
12167 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
12169 VkPerformanceConfigurationINTEL configuration);
12171 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
12173 VkPerformanceConfigurationINTEL configuration);
12175 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
12177 VkPerformanceParameterTypeINTEL parameter,
12178 VkPerformanceValueINTEL* pValue);
12182 #define VK_EXT_pci_bus_info 1
12183 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
12184 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
12185 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
12186 VkStructureType sType;
12188 deUint32 pciDomain;
12190 deUint32 pciDevice;
12191 deUint32 pciFunction;
12192 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
12196 #define VK_AMD_display_native_hdr 1
12197 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
12198 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
12199 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
12200 VkStructureType sType;
12202 VkBool32 localDimmingSupport;
12203 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
12205 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
12206 VkStructureType sType;
12208 VkBool32 localDimmingEnable;
12209 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
12211 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
12213 #ifndef VK_NO_PROTOTYPES
12214 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
12216 VkSwapchainKHR swapChain,
12217 VkBool32 localDimmingEnable);
12221 #define VK_EXT_fragment_density_map 1
12222 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
12223 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
12224 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
12225 VkStructureType sType;
12227 VkBool32 fragmentDensityMap;
12228 VkBool32 fragmentDensityMapDynamic;
12229 VkBool32 fragmentDensityMapNonSubsampledImages;
12230 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
12232 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
12233 VkStructureType sType;
12235 VkExtent2D minFragmentDensityTexelSize;
12236 VkExtent2D maxFragmentDensityTexelSize;
12237 VkBool32 fragmentDensityInvocations;
12238 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
12240 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
12241 VkStructureType sType;
12243 VkAttachmentReference fragmentDensityMapAttachment;
12244 } VkRenderPassFragmentDensityMapCreateInfoEXT;
12248 #define VK_EXT_scalar_block_layout 1
12249 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
12250 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
12251 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
12255 #define VK_GOOGLE_hlsl_functionality1 1
12256 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
12257 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
12260 #define VK_GOOGLE_decorate_string 1
12261 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
12262 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
12265 #define VK_EXT_subgroup_size_control 1
12266 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
12267 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
12268 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
12269 VkStructureType sType;
12271 VkBool32 subgroupSizeControl;
12272 VkBool32 computeFullSubgroups;
12273 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
12275 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
12276 VkStructureType sType;
12278 deUint32 minSubgroupSize;
12279 deUint32 maxSubgroupSize;
12280 deUint32 maxComputeWorkgroupSubgroups;
12281 VkShaderStageFlags requiredSubgroupSizeStages;
12282 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
12284 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
12285 VkStructureType sType;
12287 deUint32 requiredSubgroupSize;
12288 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
12292 #define VK_AMD_shader_core_properties2 1
12293 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
12294 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
12296 typedef enum VkShaderCorePropertiesFlagBitsAMD {
12297 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
12298 } VkShaderCorePropertiesFlagBitsAMD;
12299 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
12300 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
12301 VkStructureType sType;
12303 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
12304 deUint32 activeComputeUnitCount;
12305 } VkPhysicalDeviceShaderCoreProperties2AMD;
12309 #define VK_AMD_device_coherent_memory 1
12310 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
12311 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
12312 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
12313 VkStructureType sType;
12315 VkBool32 deviceCoherentMemory;
12316 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
12320 #define VK_EXT_shader_image_atomic_int64 1
12321 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
12322 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
12323 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
12324 VkStructureType sType;
12326 VkBool32 shaderImageInt64Atomics;
12327 VkBool32 sparseImageInt64Atomics;
12328 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
12332 #define VK_EXT_memory_budget 1
12333 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
12334 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
12335 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
12336 VkStructureType sType;
12338 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
12339 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
12340 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
12344 #define VK_EXT_memory_priority 1
12345 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
12346 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
12347 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
12348 VkStructureType sType;
12350 VkBool32 memoryPriority;
12351 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
12353 typedef struct VkMemoryPriorityAllocateInfoEXT {
12354 VkStructureType sType;
12357 } VkMemoryPriorityAllocateInfoEXT;
12361 #define VK_NV_dedicated_allocation_image_aliasing 1
12362 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
12363 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
12364 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12365 VkStructureType sType;
12367 VkBool32 dedicatedAllocationImageAliasing;
12368 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
12372 #define VK_EXT_buffer_device_address 1
12373 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
12374 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
12375 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
12376 VkStructureType sType;
12378 VkBool32 bufferDeviceAddress;
12379 VkBool32 bufferDeviceAddressCaptureReplay;
12380 VkBool32 bufferDeviceAddressMultiDevice;
12381 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
12383 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
12385 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
12387 typedef struct VkBufferDeviceAddressCreateInfoEXT {
12388 VkStructureType sType;
12390 VkDeviceAddress deviceAddress;
12391 } VkBufferDeviceAddressCreateInfoEXT;
12393 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
12395 #ifndef VK_NO_PROTOTYPES
12396 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
12398 const VkBufferDeviceAddressInfo* pInfo);
12402 #define VK_EXT_tooling_info 1
12403 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
12404 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
12406 typedef enum VkToolPurposeFlagBitsEXT {
12407 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
12408 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
12409 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
12410 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
12411 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
12412 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
12413 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
12414 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12415 } VkToolPurposeFlagBitsEXT;
12416 typedef VkFlags VkToolPurposeFlagsEXT;
12417 typedef struct VkPhysicalDeviceToolPropertiesEXT {
12418 VkStructureType sType;
12420 char name[VK_MAX_EXTENSION_NAME_SIZE];
12421 char version[VK_MAX_EXTENSION_NAME_SIZE];
12422 VkToolPurposeFlagsEXT purposes;
12423 char description[VK_MAX_DESCRIPTION_SIZE];
12424 char layer[VK_MAX_EXTENSION_NAME_SIZE];
12425 } VkPhysicalDeviceToolPropertiesEXT;
12427 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12429 #ifndef VK_NO_PROTOTYPES
12430 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
12431 VkPhysicalDevice physicalDevice,
12432 deUint32* pToolCount,
12433 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12437 #define VK_EXT_separate_stencil_usage 1
12438 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
12439 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
12440 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
12444 #define VK_EXT_validation_features 1
12445 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
12446 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
12448 typedef enum VkValidationFeatureEnableEXT {
12449 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
12450 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
12451 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
12452 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
12453 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
12454 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12455 } VkValidationFeatureEnableEXT;
12457 typedef enum VkValidationFeatureDisableEXT {
12458 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
12459 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
12460 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
12461 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
12462 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
12463 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
12464 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
12465 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
12466 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12467 } VkValidationFeatureDisableEXT;
12468 typedef struct VkValidationFeaturesEXT {
12469 VkStructureType sType;
12471 deUint32 enabledValidationFeatureCount;
12472 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
12473 deUint32 disabledValidationFeatureCount;
12474 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
12475 } VkValidationFeaturesEXT;
12479 #define VK_NV_cooperative_matrix 1
12480 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
12481 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
12483 typedef enum VkComponentTypeNV {
12484 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
12485 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
12486 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
12487 VK_COMPONENT_TYPE_SINT8_NV = 3,
12488 VK_COMPONENT_TYPE_SINT16_NV = 4,
12489 VK_COMPONENT_TYPE_SINT32_NV = 5,
12490 VK_COMPONENT_TYPE_SINT64_NV = 6,
12491 VK_COMPONENT_TYPE_UINT8_NV = 7,
12492 VK_COMPONENT_TYPE_UINT16_NV = 8,
12493 VK_COMPONENT_TYPE_UINT32_NV = 9,
12494 VK_COMPONENT_TYPE_UINT64_NV = 10,
12495 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12496 } VkComponentTypeNV;
12498 typedef enum VkScopeNV {
12499 VK_SCOPE_DEVICE_NV = 1,
12500 VK_SCOPE_WORKGROUP_NV = 2,
12501 VK_SCOPE_SUBGROUP_NV = 3,
12502 VK_SCOPE_QUEUE_FAMILY_NV = 5,
12503 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
12505 typedef struct VkCooperativeMatrixPropertiesNV {
12506 VkStructureType sType;
12511 VkComponentTypeNV AType;
12512 VkComponentTypeNV BType;
12513 VkComponentTypeNV CType;
12514 VkComponentTypeNV DType;
12516 } VkCooperativeMatrixPropertiesNV;
12518 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
12519 VkStructureType sType;
12521 VkBool32 cooperativeMatrix;
12522 VkBool32 cooperativeMatrixRobustBufferAccess;
12523 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
12525 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
12526 VkStructureType sType;
12528 VkShaderStageFlags cooperativeMatrixSupportedStages;
12529 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
12531 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
12533 #ifndef VK_NO_PROTOTYPES
12534 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
12535 VkPhysicalDevice physicalDevice,
12536 deUint32* pPropertyCount,
12537 VkCooperativeMatrixPropertiesNV* pProperties);
12541 #define VK_NV_coverage_reduction_mode 1
12542 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
12543 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
12545 typedef enum VkCoverageReductionModeNV {
12546 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
12547 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
12548 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12549 } VkCoverageReductionModeNV;
12550 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
12551 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
12552 VkStructureType sType;
12554 VkBool32 coverageReductionMode;
12555 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
12557 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
12558 VkStructureType sType;
12560 VkPipelineCoverageReductionStateCreateFlagsNV flags;
12561 VkCoverageReductionModeNV coverageReductionMode;
12562 } VkPipelineCoverageReductionStateCreateInfoNV;
12564 typedef struct VkFramebufferMixedSamplesCombinationNV {
12565 VkStructureType sType;
12567 VkCoverageReductionModeNV coverageReductionMode;
12568 VkSampleCountFlagBits rasterizationSamples;
12569 VkSampleCountFlags depthStencilSamples;
12570 VkSampleCountFlags colorSamples;
12571 } VkFramebufferMixedSamplesCombinationNV;
12573 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
12575 #ifndef VK_NO_PROTOTYPES
12576 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
12577 VkPhysicalDevice physicalDevice,
12578 deUint32* pCombinationCount,
12579 VkFramebufferMixedSamplesCombinationNV* pCombinations);
12583 #define VK_EXT_fragment_shader_interlock 1
12584 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
12585 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
12586 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12587 VkStructureType sType;
12589 VkBool32 fragmentShaderSampleInterlock;
12590 VkBool32 fragmentShaderPixelInterlock;
12591 VkBool32 fragmentShaderShadingRateInterlock;
12592 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
12596 #define VK_EXT_ycbcr_image_arrays 1
12597 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
12598 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
12599 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
12600 VkStructureType sType;
12602 VkBool32 ycbcrImageArrays;
12603 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
12607 #define VK_EXT_provoking_vertex 1
12608 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
12609 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
12611 typedef enum VkProvokingVertexModeEXT {
12612 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
12613 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
12614 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12615 } VkProvokingVertexModeEXT;
12616 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
12617 VkStructureType sType;
12619 VkBool32 provokingVertexLast;
12620 VkBool32 transformFeedbackPreservesProvokingVertex;
12621 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
12623 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
12624 VkStructureType sType;
12626 VkBool32 provokingVertexModePerPipeline;
12627 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
12628 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
12630 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
12631 VkStructureType sType;
12633 VkProvokingVertexModeEXT provokingVertexMode;
12634 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
12638 #define VK_EXT_headless_surface 1
12639 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
12640 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
12641 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
12642 typedef struct VkHeadlessSurfaceCreateInfoEXT {
12643 VkStructureType sType;
12645 VkHeadlessSurfaceCreateFlagsEXT flags;
12646 } VkHeadlessSurfaceCreateInfoEXT;
12648 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
12650 #ifndef VK_NO_PROTOTYPES
12651 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
12652 VkInstance instance,
12653 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
12654 const VkAllocationCallbacks* pAllocator,
12655 VkSurfaceKHR* pSurface);
12659 #define VK_EXT_line_rasterization 1
12660 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
12661 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
12663 typedef enum VkLineRasterizationModeEXT {
12664 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
12665 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
12666 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
12667 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
12668 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12669 } VkLineRasterizationModeEXT;
12670 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
12671 VkStructureType sType;
12673 VkBool32 rectangularLines;
12674 VkBool32 bresenhamLines;
12675 VkBool32 smoothLines;
12676 VkBool32 stippledRectangularLines;
12677 VkBool32 stippledBresenhamLines;
12678 VkBool32 stippledSmoothLines;
12679 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
12681 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
12682 VkStructureType sType;
12684 deUint32 lineSubPixelPrecisionBits;
12685 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
12687 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
12688 VkStructureType sType;
12690 VkLineRasterizationModeEXT lineRasterizationMode;
12691 VkBool32 stippledLineEnable;
12692 deUint32 lineStippleFactor;
12693 deUint16 lineStipplePattern;
12694 } VkPipelineRasterizationLineStateCreateInfoEXT;
12696 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
12698 #ifndef VK_NO_PROTOTYPES
12699 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
12700 VkCommandBuffer commandBuffer,
12701 deUint32 lineStippleFactor,
12702 deUint16 lineStipplePattern);
12706 #define VK_EXT_shader_atomic_float 1
12707 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
12708 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
12709 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
12710 VkStructureType sType;
12712 VkBool32 shaderBufferFloat32Atomics;
12713 VkBool32 shaderBufferFloat32AtomicAdd;
12714 VkBool32 shaderBufferFloat64Atomics;
12715 VkBool32 shaderBufferFloat64AtomicAdd;
12716 VkBool32 shaderSharedFloat32Atomics;
12717 VkBool32 shaderSharedFloat32AtomicAdd;
12718 VkBool32 shaderSharedFloat64Atomics;
12719 VkBool32 shaderSharedFloat64AtomicAdd;
12720 VkBool32 shaderImageFloat32Atomics;
12721 VkBool32 shaderImageFloat32AtomicAdd;
12722 VkBool32 sparseImageFloat32Atomics;
12723 VkBool32 sparseImageFloat32AtomicAdd;
12724 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
12728 #define VK_EXT_host_query_reset 1
12729 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
12730 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
12731 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
12733 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
12735 #ifndef VK_NO_PROTOTYPES
12736 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
12738 VkQueryPool queryPool,
12739 deUint32 firstQuery,
12740 deUint32 queryCount);
12744 #define VK_EXT_index_type_uint8 1
12745 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
12746 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
12747 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
12748 VkStructureType sType;
12750 VkBool32 indexTypeUint8;
12751 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
12755 #define VK_EXT_extended_dynamic_state 1
12756 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
12757 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
12758 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
12759 VkStructureType sType;
12761 VkBool32 extendedDynamicState;
12762 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
12764 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
12765 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
12766 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
12767 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
12768 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
12769 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
12770 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
12771 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
12772 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
12773 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
12774 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
12775 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
12777 #ifndef VK_NO_PROTOTYPES
12778 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
12779 VkCommandBuffer commandBuffer,
12780 VkCullModeFlags cullMode);
12782 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
12783 VkCommandBuffer commandBuffer,
12784 VkFrontFace frontFace);
12786 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
12787 VkCommandBuffer commandBuffer,
12788 VkPrimitiveTopology primitiveTopology);
12790 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
12791 VkCommandBuffer commandBuffer,
12792 deUint32 viewportCount,
12793 const VkViewport* pViewports);
12795 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
12796 VkCommandBuffer commandBuffer,
12797 deUint32 scissorCount,
12798 const VkRect2D* pScissors);
12800 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
12801 VkCommandBuffer commandBuffer,
12802 deUint32 firstBinding,
12803 deUint32 bindingCount,
12804 const VkBuffer* pBuffers,
12805 const VkDeviceSize* pOffsets,
12806 const VkDeviceSize* pSizes,
12807 const VkDeviceSize* pStrides);
12809 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
12810 VkCommandBuffer commandBuffer,
12811 VkBool32 depthTestEnable);
12813 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
12814 VkCommandBuffer commandBuffer,
12815 VkBool32 depthWriteEnable);
12817 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
12818 VkCommandBuffer commandBuffer,
12819 VkCompareOp depthCompareOp);
12821 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
12822 VkCommandBuffer commandBuffer,
12823 VkBool32 depthBoundsTestEnable);
12825 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
12826 VkCommandBuffer commandBuffer,
12827 VkBool32 stencilTestEnable);
12829 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
12830 VkCommandBuffer commandBuffer,
12831 VkStencilFaceFlags faceMask,
12832 VkStencilOp failOp,
12833 VkStencilOp passOp,
12834 VkStencilOp depthFailOp,
12835 VkCompareOp compareOp);
12839 #define VK_EXT_shader_atomic_float2 1
12840 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
12841 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
12842 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
12843 VkStructureType sType;
12845 VkBool32 shaderBufferFloat16Atomics;
12846 VkBool32 shaderBufferFloat16AtomicAdd;
12847 VkBool32 shaderBufferFloat16AtomicMinMax;
12848 VkBool32 shaderBufferFloat32AtomicMinMax;
12849 VkBool32 shaderBufferFloat64AtomicMinMax;
12850 VkBool32 shaderSharedFloat16Atomics;
12851 VkBool32 shaderSharedFloat16AtomicAdd;
12852 VkBool32 shaderSharedFloat16AtomicMinMax;
12853 VkBool32 shaderSharedFloat32AtomicMinMax;
12854 VkBool32 shaderSharedFloat64AtomicMinMax;
12855 VkBool32 shaderImageFloat32AtomicMinMax;
12856 VkBool32 sparseImageFloat32AtomicMinMax;
12857 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
12861 #define VK_EXT_shader_demote_to_helper_invocation 1
12862 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
12863 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
12864 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
12865 VkStructureType sType;
12867 VkBool32 shaderDemoteToHelperInvocation;
12868 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
12872 #define VK_NV_device_generated_commands 1
12873 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
12874 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
12875 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
12877 typedef enum VkIndirectCommandsTokenTypeNV {
12878 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
12879 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
12880 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
12881 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
12882 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
12883 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
12884 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
12885 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
12886 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12887 } VkIndirectCommandsTokenTypeNV;
12889 typedef enum VkIndirectStateFlagBitsNV {
12890 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
12891 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12892 } VkIndirectStateFlagBitsNV;
12893 typedef VkFlags VkIndirectStateFlagsNV;
12895 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
12896 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
12897 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
12898 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
12899 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12900 } VkIndirectCommandsLayoutUsageFlagBitsNV;
12901 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
12902 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
12903 VkStructureType sType;
12905 deUint32 maxGraphicsShaderGroupCount;
12906 deUint32 maxIndirectSequenceCount;
12907 deUint32 maxIndirectCommandsTokenCount;
12908 deUint32 maxIndirectCommandsStreamCount;
12909 deUint32 maxIndirectCommandsTokenOffset;
12910 deUint32 maxIndirectCommandsStreamStride;
12911 deUint32 minSequencesCountBufferOffsetAlignment;
12912 deUint32 minSequencesIndexBufferOffsetAlignment;
12913 deUint32 minIndirectCommandsBufferOffsetAlignment;
12914 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
12916 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
12917 VkStructureType sType;
12919 VkBool32 deviceGeneratedCommands;
12920 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
12922 typedef struct VkGraphicsShaderGroupCreateInfoNV {
12923 VkStructureType sType;
12925 deUint32 stageCount;
12926 const VkPipelineShaderStageCreateInfo* pStages;
12927 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
12928 const VkPipelineTessellationStateCreateInfo* pTessellationState;
12929 } VkGraphicsShaderGroupCreateInfoNV;
12931 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
12932 VkStructureType sType;
12934 deUint32 groupCount;
12935 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
12936 deUint32 pipelineCount;
12937 const VkPipeline* pPipelines;
12938 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
12940 typedef struct VkBindShaderGroupIndirectCommandNV {
12941 deUint32 groupIndex;
12942 } VkBindShaderGroupIndirectCommandNV;
12944 typedef struct VkBindIndexBufferIndirectCommandNV {
12945 VkDeviceAddress bufferAddress;
12947 VkIndexType indexType;
12948 } VkBindIndexBufferIndirectCommandNV;
12950 typedef struct VkBindVertexBufferIndirectCommandNV {
12951 VkDeviceAddress bufferAddress;
12954 } VkBindVertexBufferIndirectCommandNV;
12956 typedef struct VkSetStateFlagsIndirectCommandNV {
12958 } VkSetStateFlagsIndirectCommandNV;
12960 typedef struct VkIndirectCommandsStreamNV {
12962 VkDeviceSize offset;
12963 } VkIndirectCommandsStreamNV;
12965 typedef struct VkIndirectCommandsLayoutTokenNV {
12966 VkStructureType sType;
12968 VkIndirectCommandsTokenTypeNV tokenType;
12971 deUint32 vertexBindingUnit;
12972 VkBool32 vertexDynamicStride;
12973 VkPipelineLayout pushconstantPipelineLayout;
12974 VkShaderStageFlags pushconstantShaderStageFlags;
12975 deUint32 pushconstantOffset;
12976 deUint32 pushconstantSize;
12977 VkIndirectStateFlagsNV indirectStateFlags;
12978 deUint32 indexTypeCount;
12979 const VkIndexType* pIndexTypes;
12980 const deUint32* pIndexTypeValues;
12981 } VkIndirectCommandsLayoutTokenNV;
12983 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
12984 VkStructureType sType;
12986 VkIndirectCommandsLayoutUsageFlagsNV flags;
12987 VkPipelineBindPoint pipelineBindPoint;
12988 deUint32 tokenCount;
12989 const VkIndirectCommandsLayoutTokenNV* pTokens;
12990 deUint32 streamCount;
12991 const deUint32* pStreamStrides;
12992 } VkIndirectCommandsLayoutCreateInfoNV;
12994 typedef struct VkGeneratedCommandsInfoNV {
12995 VkStructureType sType;
12997 VkPipelineBindPoint pipelineBindPoint;
12998 VkPipeline pipeline;
12999 VkIndirectCommandsLayoutNV indirectCommandsLayout;
13000 deUint32 streamCount;
13001 const VkIndirectCommandsStreamNV* pStreams;
13002 deUint32 sequencesCount;
13003 VkBuffer preprocessBuffer;
13004 VkDeviceSize preprocessOffset;
13005 VkDeviceSize preprocessSize;
13006 VkBuffer sequencesCountBuffer;
13007 VkDeviceSize sequencesCountOffset;
13008 VkBuffer sequencesIndexBuffer;
13009 VkDeviceSize sequencesIndexOffset;
13010 } VkGeneratedCommandsInfoNV;
13012 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
13013 VkStructureType sType;
13015 VkPipelineBindPoint pipelineBindPoint;
13016 VkPipeline pipeline;
13017 VkIndirectCommandsLayoutNV indirectCommandsLayout;
13018 deUint32 maxSequencesCount;
13019 } VkGeneratedCommandsMemoryRequirementsInfoNV;
13021 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
13022 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
13023 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
13024 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
13025 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
13026 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
13028 #ifndef VK_NO_PROTOTYPES
13029 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
13031 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
13032 VkMemoryRequirements2* pMemoryRequirements);
13034 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
13035 VkCommandBuffer commandBuffer,
13036 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
13038 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
13039 VkCommandBuffer commandBuffer,
13040 VkBool32 isPreprocessed,
13041 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
13043 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
13044 VkCommandBuffer commandBuffer,
13045 VkPipelineBindPoint pipelineBindPoint,
13046 VkPipeline pipeline,
13047 deUint32 groupIndex);
13049 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
13051 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
13052 const VkAllocationCallbacks* pAllocator,
13053 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
13055 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
13057 VkIndirectCommandsLayoutNV indirectCommandsLayout,
13058 const VkAllocationCallbacks* pAllocator);
13062 #define VK_NV_inherited_viewport_scissor 1
13063 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
13064 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
13065 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
13066 VkStructureType sType;
13068 VkBool32 inheritedViewportScissor2D;
13069 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
13071 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
13072 VkStructureType sType;
13074 VkBool32 viewportScissor2D;
13075 deUint32 viewportDepthCount;
13076 const VkViewport* pViewportDepths;
13077 } VkCommandBufferInheritanceViewportScissorInfoNV;
13081 #define VK_EXT_texel_buffer_alignment 1
13082 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
13083 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
13084 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
13085 VkStructureType sType;
13087 VkBool32 texelBufferAlignment;
13088 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
13090 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
13091 VkStructureType sType;
13093 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
13094 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
13095 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
13096 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
13097 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
13101 #define VK_QCOM_render_pass_transform 1
13102 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
13103 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
13104 typedef struct VkRenderPassTransformBeginInfoQCOM {
13105 VkStructureType sType;
13107 VkSurfaceTransformFlagBitsKHR transform;
13108 } VkRenderPassTransformBeginInfoQCOM;
13110 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
13111 VkStructureType sType;
13113 VkSurfaceTransformFlagBitsKHR transform;
13114 VkRect2D renderArea;
13115 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
13119 #define VK_EXT_device_memory_report 1
13120 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
13121 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
13123 typedef enum VkDeviceMemoryReportEventTypeEXT {
13124 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
13125 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
13126 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
13127 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
13128 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
13129 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
13130 } VkDeviceMemoryReportEventTypeEXT;
13131 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
13132 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
13133 VkStructureType sType;
13135 VkBool32 deviceMemoryReport;
13136 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
13138 typedef struct VkDeviceMemoryReportCallbackDataEXT {
13139 VkStructureType sType;
13141 VkDeviceMemoryReportFlagsEXT flags;
13142 VkDeviceMemoryReportEventTypeEXT type;
13143 deUint64 memoryObjectId;
13145 VkObjectType objectType;
13146 deUint64 objectHandle;
13147 deUint32 heapIndex;
13148 } VkDeviceMemoryReportCallbackDataEXT;
13150 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
13151 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
13154 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
13155 VkStructureType sType;
13157 VkDeviceMemoryReportFlagsEXT flags;
13158 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
13160 } VkDeviceDeviceMemoryReportCreateInfoEXT;
13164 #define VK_EXT_acquire_drm_display 1
13165 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
13166 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
13167 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, VkDisplayKHR display);
13168 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, deUint32 connectorId, VkDisplayKHR* display);
13170 #ifndef VK_NO_PROTOTYPES
13171 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
13172 VkPhysicalDevice physicalDevice,
13174 VkDisplayKHR display);
13176 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
13177 VkPhysicalDevice physicalDevice,
13179 deUint32 connectorId,
13180 VkDisplayKHR* display);
13184 #define VK_EXT_robustness2 1
13185 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
13186 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
13187 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
13188 VkStructureType sType;
13190 VkBool32 robustBufferAccess2;
13191 VkBool32 robustImageAccess2;
13192 VkBool32 nullDescriptor;
13193 } VkPhysicalDeviceRobustness2FeaturesEXT;
13195 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
13196 VkStructureType sType;
13198 VkDeviceSize robustStorageBufferAccessSizeAlignment;
13199 VkDeviceSize robustUniformBufferAccessSizeAlignment;
13200 } VkPhysicalDeviceRobustness2PropertiesEXT;
13204 #define VK_EXT_custom_border_color 1
13205 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
13206 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
13207 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
13208 VkStructureType sType;
13210 VkClearColorValue customBorderColor;
13212 } VkSamplerCustomBorderColorCreateInfoEXT;
13214 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
13215 VkStructureType sType;
13217 deUint32 maxCustomBorderColorSamplers;
13218 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
13220 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
13221 VkStructureType sType;
13223 VkBool32 customBorderColors;
13224 VkBool32 customBorderColorWithoutFormat;
13225 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
13229 #define VK_GOOGLE_user_type 1
13230 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
13231 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
13234 #define VK_EXT_private_data 1
13235 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
13236 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
13237 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
13239 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
13240 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
13241 } VkPrivateDataSlotCreateFlagBitsEXT;
13242 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
13243 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
13244 VkStructureType sType;
13246 VkBool32 privateData;
13247 } VkPhysicalDevicePrivateDataFeaturesEXT;
13249 typedef struct VkDevicePrivateDataCreateInfoEXT {
13250 VkStructureType sType;
13252 deUint32 privateDataSlotRequestCount;
13253 } VkDevicePrivateDataCreateInfoEXT;
13255 typedef struct VkPrivateDataSlotCreateInfoEXT {
13256 VkStructureType sType;
13258 VkPrivateDataSlotCreateFlagsEXT flags;
13259 } VkPrivateDataSlotCreateInfoEXT;
13261 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
13262 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
13263 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
13264 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
13266 #ifndef VK_NO_PROTOTYPES
13267 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
13269 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
13270 const VkAllocationCallbacks* pAllocator,
13271 VkPrivateDataSlotEXT* pPrivateDataSlot);
13273 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
13275 VkPrivateDataSlotEXT privateDataSlot,
13276 const VkAllocationCallbacks* pAllocator);
13278 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
13280 VkObjectType objectType,
13281 deUint64 objectHandle,
13282 VkPrivateDataSlotEXT privateDataSlot,
13285 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
13287 VkObjectType objectType,
13288 deUint64 objectHandle,
13289 VkPrivateDataSlotEXT privateDataSlot,
13294 #define VK_EXT_pipeline_creation_cache_control 1
13295 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
13296 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
13297 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
13298 VkStructureType sType;
13300 VkBool32 pipelineCreationCacheControl;
13301 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
13305 #define VK_NV_device_diagnostics_config 1
13306 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
13307 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
13309 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
13310 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
13311 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
13312 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
13313 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
13314 } VkDeviceDiagnosticsConfigFlagBitsNV;
13315 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
13316 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
13317 VkStructureType sType;
13319 VkBool32 diagnosticsConfig;
13320 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
13322 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
13323 VkStructureType sType;
13325 VkDeviceDiagnosticsConfigFlagsNV flags;
13326 } VkDeviceDiagnosticsConfigCreateInfoNV;
13330 #define VK_QCOM_render_pass_store_ops 1
13331 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
13332 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
13335 #define VK_NV_fragment_shading_rate_enums 1
13336 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
13337 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
13339 typedef enum VkFragmentShadingRateTypeNV {
13340 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
13341 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
13342 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13343 } VkFragmentShadingRateTypeNV;
13345 typedef enum VkFragmentShadingRateNV {
13346 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
13347 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
13348 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
13349 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
13350 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
13351 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
13352 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
13353 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
13354 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
13355 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
13356 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
13357 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
13358 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
13359 } VkFragmentShadingRateNV;
13360 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
13361 VkStructureType sType;
13363 VkBool32 fragmentShadingRateEnums;
13364 VkBool32 supersampleFragmentShadingRates;
13365 VkBool32 noInvocationFragmentShadingRates;
13366 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
13368 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
13369 VkStructureType sType;
13371 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
13372 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
13374 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
13375 VkStructureType sType;
13377 VkFragmentShadingRateTypeNV shadingRateType;
13378 VkFragmentShadingRateNV shadingRate;
13379 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
13380 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
13382 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13384 #ifndef VK_NO_PROTOTYPES
13385 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
13386 VkCommandBuffer commandBuffer,
13387 VkFragmentShadingRateNV shadingRate,
13388 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13392 #define VK_NV_ray_tracing_motion_blur 1
13393 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
13394 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
13396 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
13397 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
13398 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
13399 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
13400 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13401 } VkAccelerationStructureMotionInstanceTypeNV;
13402 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
13403 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
13404 typedef union VkDeviceOrHostAddressConstKHR {
13405 VkDeviceAddress deviceAddress;
13406 const void* hostAddress;
13407 } VkDeviceOrHostAddressConstKHR;
13409 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
13410 VkStructureType sType;
13412 VkDeviceOrHostAddressConstKHR vertexData;
13413 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
13415 typedef struct VkAccelerationStructureMotionInfoNV {
13416 VkStructureType sType;
13418 deUint32 maxInstances;
13419 VkAccelerationStructureMotionInfoFlagsNV flags;
13420 } VkAccelerationStructureMotionInfoNV;
13422 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
13423 VkTransformMatrixKHR transformT0;
13424 VkTransformMatrixKHR transformT1;
13425 deUint32 instanceCustomIndex:24;
13427 deUint32 instanceShaderBindingTableRecordOffset:24;
13428 VkGeometryInstanceFlagsKHR flags:8;
13429 deUint64 accelerationStructureReference;
13430 } VkAccelerationStructureMatrixMotionInstanceNV;
13432 typedef struct VkSRTDataNV {
13451 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
13452 VkSRTDataNV transformT0;
13453 VkSRTDataNV transformT1;
13454 deUint32 instanceCustomIndex:24;
13456 deUint32 instanceShaderBindingTableRecordOffset:24;
13457 VkGeometryInstanceFlagsKHR flags:8;
13458 deUint64 accelerationStructureReference;
13459 } VkAccelerationStructureSRTMotionInstanceNV;
13461 typedef union VkAccelerationStructureMotionInstanceDataNV {
13462 VkAccelerationStructureInstanceKHR staticInstance;
13463 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
13464 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
13465 } VkAccelerationStructureMotionInstanceDataNV;
13467 typedef struct VkAccelerationStructureMotionInstanceNV {
13468 VkAccelerationStructureMotionInstanceTypeNV type;
13469 VkAccelerationStructureMotionInstanceFlagsNV flags;
13470 VkAccelerationStructureMotionInstanceDataNV data;
13471 } VkAccelerationStructureMotionInstanceNV;
13473 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
13474 VkStructureType sType;
13476 VkBool32 rayTracingMotionBlur;
13477 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
13478 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
13482 #define VK_EXT_ycbcr_2plane_444_formats 1
13483 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
13484 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
13485 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
13486 VkStructureType sType;
13488 VkBool32 ycbcr2plane444Formats;
13489 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
13493 #define VK_EXT_fragment_density_map2 1
13494 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
13495 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
13496 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
13497 VkStructureType sType;
13499 VkBool32 fragmentDensityMapDeferred;
13500 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
13502 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
13503 VkStructureType sType;
13505 VkBool32 subsampledLoads;
13506 VkBool32 subsampledCoarseReconstructionEarlyAccess;
13507 deUint32 maxSubsampledArrayLayers;
13508 deUint32 maxDescriptorSetSubsampledSamplers;
13509 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
13513 #define VK_QCOM_rotated_copy_commands 1
13514 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
13515 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
13516 typedef struct VkCopyCommandTransformInfoQCOM {
13517 VkStructureType sType;
13519 VkSurfaceTransformFlagBitsKHR transform;
13520 } VkCopyCommandTransformInfoQCOM;
13524 #define VK_EXT_image_robustness 1
13525 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
13526 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
13527 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
13528 VkStructureType sType;
13530 VkBool32 robustImageAccess;
13531 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
13535 #define VK_EXT_4444_formats 1
13536 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
13537 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
13538 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
13539 VkStructureType sType;
13541 VkBool32 formatA4R4G4B4;
13542 VkBool32 formatA4B4G4R4;
13543 } VkPhysicalDevice4444FormatsFeaturesEXT;
13547 #define VK_NV_acquire_winrt_display 1
13548 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
13549 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
13550 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
13551 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
13553 #ifndef VK_NO_PROTOTYPES
13554 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
13555 VkPhysicalDevice physicalDevice,
13556 VkDisplayKHR display);
13558 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
13559 VkPhysicalDevice physicalDevice,
13560 deUint32 deviceRelativeId,
13561 VkDisplayKHR* pDisplay);
13565 #define VK_VALVE_mutable_descriptor_type 1
13566 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
13567 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
13568 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
13569 VkStructureType sType;
13571 VkBool32 mutableDescriptorType;
13572 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
13574 typedef struct VkMutableDescriptorTypeListVALVE {
13575 deUint32 descriptorTypeCount;
13576 const VkDescriptorType* pDescriptorTypes;
13577 } VkMutableDescriptorTypeListVALVE;
13579 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
13580 VkStructureType sType;
13582 deUint32 mutableDescriptorTypeListCount;
13583 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
13584 } VkMutableDescriptorTypeCreateInfoVALVE;
13588 #define VK_EXT_vertex_input_dynamic_state 1
13589 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
13590 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
13591 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
13592 VkStructureType sType;
13594 VkBool32 vertexInputDynamicState;
13595 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
13597 typedef struct VkVertexInputBindingDescription2EXT {
13598 VkStructureType sType;
13602 VkVertexInputRate inputRate;
13604 } VkVertexInputBindingDescription2EXT;
13606 typedef struct VkVertexInputAttributeDescription2EXT {
13607 VkStructureType sType;
13613 } VkVertexInputAttributeDescription2EXT;
13615 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13617 #ifndef VK_NO_PROTOTYPES
13618 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
13619 VkCommandBuffer commandBuffer,
13620 deUint32 vertexBindingDescriptionCount,
13621 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
13622 deUint32 vertexAttributeDescriptionCount,
13623 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13627 #define VK_EXT_physical_device_drm 1
13628 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
13629 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
13630 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
13631 VkStructureType sType;
13633 VkBool32 hasPrimary;
13634 VkBool32 hasRender;
13635 deInt64 primaryMajor;
13636 deInt64 primaryMinor;
13637 deInt64 renderMajor;
13638 deInt64 renderMinor;
13639 } VkPhysicalDeviceDrmPropertiesEXT;
13643 #define VK_HUAWEI_subpass_shading 1
13644 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
13645 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
13646 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
13647 VkStructureType sType;
13649 VkRenderPass renderPass;
13651 } VkSubpassShadingPipelineCreateInfoHUAWEI;
13653 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
13654 VkStructureType sType;
13656 VkBool32 subpassShading;
13657 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
13659 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
13660 VkStructureType sType;
13662 deUint32 maxSubpassShadingWorkgroupSizeAspectRatio;
13663 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
13665 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
13666 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
13668 #ifndef VK_NO_PROTOTYPES
13669 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
13671 VkRenderPass renderpass,
13672 VkExtent2D* pMaxWorkgroupSize);
13674 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
13675 VkCommandBuffer commandBuffer);
13679 #define VK_HUAWEI_invocation_mask 1
13680 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
13681 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
13682 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
13683 VkStructureType sType;
13685 VkBool32 invocationMask;
13686 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
13688 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
13690 #ifndef VK_NO_PROTOTYPES
13691 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
13692 VkCommandBuffer commandBuffer,
13693 VkImageView imageView,
13694 VkImageLayout imageLayout);
13698 #define VK_NV_external_memory_rdma 1
13699 typedef void* VkRemoteAddressNV;
13700 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
13701 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
13702 typedef struct VkMemoryGetRemoteAddressInfoNV {
13703 VkStructureType sType;
13705 VkDeviceMemory memory;
13706 VkExternalMemoryHandleTypeFlagBits handleType;
13707 } VkMemoryGetRemoteAddressInfoNV;
13709 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
13710 VkStructureType sType;
13712 VkBool32 externalMemoryRDMA;
13713 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
13715 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
13717 #ifndef VK_NO_PROTOTYPES
13718 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
13720 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
13721 VkRemoteAddressNV* pAddress);
13725 #define VK_EXT_extended_dynamic_state2 1
13726 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
13727 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
13728 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
13729 VkStructureType sType;
13731 VkBool32 extendedDynamicState2;
13732 VkBool32 extendedDynamicState2LogicOp;
13733 VkBool32 extendedDynamicState2PatchControlPoints;
13734 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
13736 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
13737 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
13738 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
13739 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
13740 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
13742 #ifndef VK_NO_PROTOTYPES
13743 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
13744 VkCommandBuffer commandBuffer,
13745 deUint32 patchControlPoints);
13747 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
13748 VkCommandBuffer commandBuffer,
13749 VkBool32 rasterizerDiscardEnable);
13751 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
13752 VkCommandBuffer commandBuffer,
13753 VkBool32 depthBiasEnable);
13755 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
13756 VkCommandBuffer commandBuffer,
13757 VkLogicOp logicOp);
13759 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
13760 VkCommandBuffer commandBuffer,
13761 VkBool32 primitiveRestartEnable);
13765 #define VK_EXT_color_write_enable 1
13766 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
13767 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
13768 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
13769 VkStructureType sType;
13771 VkBool32 colorWriteEnable;
13772 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
13774 typedef struct VkPipelineColorWriteCreateInfoEXT {
13775 VkStructureType sType;
13777 deUint32 attachmentCount;
13778 const VkBool32* pColorWriteEnables;
13779 } VkPipelineColorWriteCreateInfoEXT;
13781 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
13783 #ifndef VK_NO_PROTOTYPES
13784 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
13785 VkCommandBuffer commandBuffer,
13786 deUint32 attachmentCount,
13787 const VkBool32* pColorWriteEnables);
13791 #define VK_EXT_global_priority_query 1
13792 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U
13793 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
13794 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
13795 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT {
13796 VkStructureType sType;
13798 VkBool32 globalPriorityQuery;
13799 } VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
13801 typedef struct VkQueueFamilyGlobalPriorityPropertiesEXT {
13802 VkStructureType sType;
13804 deUint32 priorityCount;
13805 VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT];
13806 } VkQueueFamilyGlobalPriorityPropertiesEXT;
13810 #define VK_EXT_multi_draw 1
13811 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
13812 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
13813 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
13814 VkStructureType sType;
13816 VkBool32 multiDraw;
13817 } VkPhysicalDeviceMultiDrawFeaturesEXT;
13819 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
13820 VkStructureType sType;
13822 deUint32 maxMultiDrawCount;
13823 } VkPhysicalDeviceMultiDrawPropertiesEXT;
13825 typedef struct VkMultiDrawInfoEXT {
13826 deUint32 firstVertex;
13827 deUint32 vertexCount;
13828 } VkMultiDrawInfoEXT;
13830 typedef struct VkMultiDrawIndexedInfoEXT {
13831 deUint32 firstIndex;
13832 deUint32 indexCount;
13833 deInt32 vertexOffset;
13834 } VkMultiDrawIndexedInfoEXT;
13836 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawInfoEXT* pVertexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride);
13837 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride, const deInt32* pVertexOffset);
13839 #ifndef VK_NO_PROTOTYPES
13840 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
13841 VkCommandBuffer commandBuffer,
13842 deUint32 drawCount,
13843 const VkMultiDrawInfoEXT* pVertexInfo,
13844 deUint32 instanceCount,
13845 deUint32 firstInstance,
13848 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
13849 VkCommandBuffer commandBuffer,
13850 deUint32 drawCount,
13851 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
13852 deUint32 instanceCount,
13853 deUint32 firstInstance,
13855 const deInt32* pVertexOffset);
13859 #define VK_EXT_load_store_op_none 1
13860 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
13861 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
13864 #define VK_KHR_acceleration_structure 1
13865 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
13866 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 12
13867 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
13869 typedef enum VkBuildAccelerationStructureModeKHR {
13870 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
13871 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
13872 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13873 } VkBuildAccelerationStructureModeKHR;
13875 typedef enum VkAccelerationStructureBuildTypeKHR {
13876 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
13877 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
13878 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
13879 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13880 } VkAccelerationStructureBuildTypeKHR;
13882 typedef enum VkAccelerationStructureCompatibilityKHR {
13883 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
13884 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
13885 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
13886 } VkAccelerationStructureCompatibilityKHR;
13888 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
13889 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
13890 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
13891 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13892 } VkAccelerationStructureCreateFlagBitsKHR;
13893 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
13894 typedef union VkDeviceOrHostAddressKHR {
13895 VkDeviceAddress deviceAddress;
13897 } VkDeviceOrHostAddressKHR;
13899 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
13900 deUint32 primitiveCount;
13901 deUint32 primitiveOffset;
13902 deUint32 firstVertex;
13903 deUint32 transformOffset;
13904 } VkAccelerationStructureBuildRangeInfoKHR;
13906 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
13907 VkStructureType sType;
13909 VkFormat vertexFormat;
13910 VkDeviceOrHostAddressConstKHR vertexData;
13911 VkDeviceSize vertexStride;
13912 deUint32 maxVertex;
13913 VkIndexType indexType;
13914 VkDeviceOrHostAddressConstKHR indexData;
13915 VkDeviceOrHostAddressConstKHR transformData;
13916 } VkAccelerationStructureGeometryTrianglesDataKHR;
13918 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
13919 VkStructureType sType;
13921 VkDeviceOrHostAddressConstKHR data;
13922 VkDeviceSize stride;
13923 } VkAccelerationStructureGeometryAabbsDataKHR;
13925 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
13926 VkStructureType sType;
13928 VkBool32 arrayOfPointers;
13929 VkDeviceOrHostAddressConstKHR data;
13930 } VkAccelerationStructureGeometryInstancesDataKHR;
13932 typedef union VkAccelerationStructureGeometryDataKHR {
13933 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
13934 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
13935 VkAccelerationStructureGeometryInstancesDataKHR instances;
13936 } VkAccelerationStructureGeometryDataKHR;
13938 typedef struct VkAccelerationStructureGeometryKHR {
13939 VkStructureType sType;
13941 VkGeometryTypeKHR geometryType;
13942 VkAccelerationStructureGeometryDataKHR geometry;
13943 VkGeometryFlagsKHR flags;
13944 } VkAccelerationStructureGeometryKHR;
13946 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
13947 VkStructureType sType;
13949 VkAccelerationStructureTypeKHR type;
13950 VkBuildAccelerationStructureFlagsKHR flags;
13951 VkBuildAccelerationStructureModeKHR mode;
13952 VkAccelerationStructureKHR srcAccelerationStructure;
13953 VkAccelerationStructureKHR dstAccelerationStructure;
13954 deUint32 geometryCount;
13955 const VkAccelerationStructureGeometryKHR* pGeometries;
13956 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
13957 VkDeviceOrHostAddressKHR scratchData;
13958 } VkAccelerationStructureBuildGeometryInfoKHR;
13960 typedef struct VkAccelerationStructureCreateInfoKHR {
13961 VkStructureType sType;
13963 VkAccelerationStructureCreateFlagsKHR createFlags;
13965 VkDeviceSize offset;
13967 VkAccelerationStructureTypeKHR type;
13968 VkDeviceAddress deviceAddress;
13969 } VkAccelerationStructureCreateInfoKHR;
13971 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13972 VkStructureType sType;
13974 deUint32 accelerationStructureCount;
13975 const VkAccelerationStructureKHR* pAccelerationStructures;
13976 } VkWriteDescriptorSetAccelerationStructureKHR;
13978 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13979 VkStructureType sType;
13981 VkBool32 accelerationStructure;
13982 VkBool32 accelerationStructureCaptureReplay;
13983 VkBool32 accelerationStructureIndirectBuild;
13984 VkBool32 accelerationStructureHostCommands;
13985 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13986 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13988 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13989 VkStructureType sType;
13991 deUint64 maxGeometryCount;
13992 deUint64 maxInstanceCount;
13993 deUint64 maxPrimitiveCount;
13994 deUint32 maxPerStageDescriptorAccelerationStructures;
13995 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
13996 deUint32 maxDescriptorSetAccelerationStructures;
13997 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
13998 deUint32 minAccelerationStructureScratchOffsetAlignment;
13999 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
14001 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
14002 VkStructureType sType;
14004 VkAccelerationStructureKHR accelerationStructure;
14005 } VkAccelerationStructureDeviceAddressInfoKHR;
14007 typedef struct VkAccelerationStructureVersionInfoKHR {
14008 VkStructureType sType;
14010 const deUint8* pVersionData;
14011 } VkAccelerationStructureVersionInfoKHR;
14013 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
14014 VkStructureType sType;
14016 VkAccelerationStructureKHR src;
14017 VkDeviceOrHostAddressKHR dst;
14018 VkCopyAccelerationStructureModeKHR mode;
14019 } VkCopyAccelerationStructureToMemoryInfoKHR;
14021 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
14022 VkStructureType sType;
14024 VkDeviceOrHostAddressConstKHR src;
14025 VkAccelerationStructureKHR dst;
14026 VkCopyAccelerationStructureModeKHR mode;
14027 } VkCopyMemoryToAccelerationStructureInfoKHR;
14029 typedef struct VkCopyAccelerationStructureInfoKHR {
14030 VkStructureType sType;
14032 VkAccelerationStructureKHR src;
14033 VkAccelerationStructureKHR dst;
14034 VkCopyAccelerationStructureModeKHR mode;
14035 } VkCopyAccelerationStructureInfoKHR;
14037 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
14038 VkStructureType sType;
14040 VkDeviceSize accelerationStructureSize;
14041 VkDeviceSize updateScratchSize;
14042 VkDeviceSize buildScratchSize;
14043 } VkAccelerationStructureBuildSizesInfoKHR;
14045 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
14046 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
14047 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
14048 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
14049 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
14050 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
14051 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
14052 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
14053 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
14054 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
14055 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
14056 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
14057 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
14058 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
14059 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
14060 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
14062 #ifndef VK_NO_PROTOTYPES
14063 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
14065 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
14066 const VkAllocationCallbacks* pAllocator,
14067 VkAccelerationStructureKHR* pAccelerationStructure);
14069 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
14071 VkAccelerationStructureKHR accelerationStructure,
14072 const VkAllocationCallbacks* pAllocator);
14074 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
14075 VkCommandBuffer commandBuffer,
14076 deUint32 infoCount,
14077 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
14078 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
14080 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
14081 VkCommandBuffer commandBuffer,
14082 deUint32 infoCount,
14083 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
14084 const VkDeviceAddress* pIndirectDeviceAddresses,
14085 const deUint32* pIndirectStrides,
14086 const deUint32* const* ppMaxPrimitiveCounts);
14088 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
14090 VkDeferredOperationKHR deferredOperation,
14091 deUint32 infoCount,
14092 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
14093 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
14095 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
14097 VkDeferredOperationKHR deferredOperation,
14098 const VkCopyAccelerationStructureInfoKHR* pInfo);
14100 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
14102 VkDeferredOperationKHR deferredOperation,
14103 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
14105 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
14107 VkDeferredOperationKHR deferredOperation,
14108 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
14110 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
14112 deUint32 accelerationStructureCount,
14113 const VkAccelerationStructureKHR* pAccelerationStructures,
14114 VkQueryType queryType,
14115 deUintptr dataSize,
14119 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
14120 VkCommandBuffer commandBuffer,
14121 const VkCopyAccelerationStructureInfoKHR* pInfo);
14123 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
14124 VkCommandBuffer commandBuffer,
14125 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
14127 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
14128 VkCommandBuffer commandBuffer,
14129 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
14131 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
14133 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
14135 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
14136 VkCommandBuffer commandBuffer,
14137 deUint32 accelerationStructureCount,
14138 const VkAccelerationStructureKHR* pAccelerationStructures,
14139 VkQueryType queryType,
14140 VkQueryPool queryPool,
14141 deUint32 firstQuery);
14143 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
14145 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
14146 VkAccelerationStructureCompatibilityKHR* pCompatibility);
14148 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
14150 VkAccelerationStructureBuildTypeKHR buildType,
14151 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
14152 const deUint32* pMaxPrimitiveCounts,
14153 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
14157 #define VK_KHR_ray_tracing_pipeline 1
14158 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
14159 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
14161 typedef enum VkShaderGroupShaderKHR {
14162 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
14163 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
14164 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
14165 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
14166 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
14167 } VkShaderGroupShaderKHR;
14168 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
14169 VkStructureType sType;
14171 VkRayTracingShaderGroupTypeKHR type;
14172 deUint32 generalShader;
14173 deUint32 closestHitShader;
14174 deUint32 anyHitShader;
14175 deUint32 intersectionShader;
14176 const void* pShaderGroupCaptureReplayHandle;
14177 } VkRayTracingShaderGroupCreateInfoKHR;
14179 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
14180 VkStructureType sType;
14182 deUint32 maxPipelineRayPayloadSize;
14183 deUint32 maxPipelineRayHitAttributeSize;
14184 } VkRayTracingPipelineInterfaceCreateInfoKHR;
14186 typedef struct VkRayTracingPipelineCreateInfoKHR {
14187 VkStructureType sType;
14189 VkPipelineCreateFlags flags;
14190 deUint32 stageCount;
14191 const VkPipelineShaderStageCreateInfo* pStages;
14192 deUint32 groupCount;
14193 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
14194 deUint32 maxPipelineRayRecursionDepth;
14195 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
14196 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
14197 const VkPipelineDynamicStateCreateInfo* pDynamicState;
14198 VkPipelineLayout layout;
14199 VkPipeline basePipelineHandle;
14200 deInt32 basePipelineIndex;
14201 } VkRayTracingPipelineCreateInfoKHR;
14203 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
14204 VkStructureType sType;
14206 VkBool32 rayTracingPipeline;
14207 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
14208 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
14209 VkBool32 rayTracingPipelineTraceRaysIndirect;
14210 VkBool32 rayTraversalPrimitiveCulling;
14211 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
14213 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
14214 VkStructureType sType;
14216 deUint32 shaderGroupHandleSize;
14217 deUint32 maxRayRecursionDepth;
14218 deUint32 maxShaderGroupStride;
14219 deUint32 shaderGroupBaseAlignment;
14220 deUint32 shaderGroupHandleCaptureReplaySize;
14221 deUint32 maxRayDispatchInvocationCount;
14222 deUint32 shaderGroupHandleAlignment;
14223 deUint32 maxRayHitAttributeSize;
14224 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
14226 typedef struct VkStridedDeviceAddressRegionKHR {
14227 VkDeviceAddress deviceAddress;
14228 VkDeviceSize stride;
14230 } VkStridedDeviceAddressRegionKHR;
14232 typedef struct VkTraceRaysIndirectCommandKHR {
14236 } VkTraceRaysIndirectCommandKHR;
14238 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);
14239 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
14240 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
14241 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
14242 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
14243 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
14245 #ifndef VK_NO_PROTOTYPES
14246 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
14247 VkCommandBuffer commandBuffer,
14248 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
14249 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
14250 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
14251 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
14256 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
14258 VkDeferredOperationKHR deferredOperation,
14259 VkPipelineCache pipelineCache,
14260 deUint32 createInfoCount,
14261 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
14262 const VkAllocationCallbacks* pAllocator,
14263 VkPipeline* pPipelines);
14265 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
14267 VkPipeline pipeline,
14268 deUint32 firstGroup,
14269 deUint32 groupCount,
14270 deUintptr dataSize,
14273 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
14274 VkCommandBuffer commandBuffer,
14275 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
14276 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
14277 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
14278 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
14279 VkDeviceAddress indirectDeviceAddress);
14281 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
14283 VkPipeline pipeline,
14285 VkShaderGroupShaderKHR groupShader);
14287 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
14288 VkCommandBuffer commandBuffer,
14289 deUint32 pipelineStackSize);
14293 #define VK_KHR_ray_query 1
14294 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
14295 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
14296 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
14297 VkStructureType sType;
14300 } VkPhysicalDeviceRayQueryFeaturesKHR;