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_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1393 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1394 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1395 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1396 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1397 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1398 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1399 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
1401 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1403 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1404 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1405 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1406 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1407 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1408 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1409 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1410 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1411 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1412 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1413 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1414 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1415 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1416 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1418 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1420 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1421 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1422 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1423 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1424 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1425 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1426 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1427 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1428 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1429 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1430 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1432 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1433 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1434 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1436 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1437 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1438 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1439 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1440 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1441 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1442 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1443 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1444 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1445 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1446 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1447 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1448 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1449 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1450 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1452 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1453 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1454 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1455 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1456 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1457 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1458 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1459 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1460 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1461 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1462 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1463 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1464 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1465 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1466 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1467 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1468 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1469 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1470 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1471 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
1473 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
1474 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
1475 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
1476 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1477 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1478 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1479 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1480 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1481 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1482 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1483 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1484 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1485 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1486 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1487 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1488 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1489 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1490 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1491 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1492 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1493 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1494 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1495 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1497 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1498 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1499 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1500 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1501 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1502 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1503 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1504 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1506 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1509 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1511 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1512 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1513 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1514 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1515 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1516 #ifdef VK_ENABLE_BETA_EXTENSIONS
1517 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1519 #ifdef VK_ENABLE_BETA_EXTENSIONS
1520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1522 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1523 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1524 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1525 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1526 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1527 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1528 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1529 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1530 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1531 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1532 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1533 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1534 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1535 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1536 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1538 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1540 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1541 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
1542 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1543 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1546 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1547 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1549 #ifdef VK_ENABLE_BETA_EXTENSIONS
1550 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1552 #ifdef VK_ENABLE_BETA_EXTENSIONS
1553 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
1555 #ifdef VK_ENABLE_BETA_EXTENSIONS
1556 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
1558 #ifdef VK_ENABLE_BETA_EXTENSIONS
1559 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
1561 #ifdef VK_ENABLE_BETA_EXTENSIONS
1562 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
1564 #ifdef VK_ENABLE_BETA_EXTENSIONS
1565 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
1567 #ifdef VK_ENABLE_BETA_EXTENSIONS
1568 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
1570 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1572 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1573 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1574 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1575 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
1576 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1577 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1579 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
1580 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1581 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1582 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1583 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1584 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1585 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1586 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1587 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1588 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1589 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1590 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1591 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1592 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1593 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1594 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1595 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
1597 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1600 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
1602 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
1603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
1604 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1605 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1607 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1608 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1614 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1615 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1618 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
1620 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
1622 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
1623 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
1624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
1625 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
1626 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
1627 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
1628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
1629 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
1630 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
1631 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
1632 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
1633 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
1634 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
1635 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
1636 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
1637 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
1638 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
1639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
1640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
1641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
1642 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
1643 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
1644 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
1645 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
1646 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
1647 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
1648 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
1649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
1650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
1651 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
1652 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
1653 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
1654 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
1655 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
1656 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
1657 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
1658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
1659 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
1660 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
1661 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
1662 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
1663 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
1664 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
1665 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
1666 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
1667 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
1668 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
1669 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
1670 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
1671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
1672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
1673 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
1674 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
1675 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
1676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
1677 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
1678 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
1679 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
1680 #ifdef VK_ENABLE_BETA_EXTENSIONS
1681 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
1683 #ifdef VK_ENABLE_BETA_EXTENSIONS
1684 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
1686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1687 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1688 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
1689 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
1690 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
1691 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
1692 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
1693 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
1694 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
1695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
1696 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1697 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
1699 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
1700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1701 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1702 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1703 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
1704 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
1705 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
1706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1709 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
1711 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1712 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
1713 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
1714 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
1715 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
1716 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
1717 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
1718 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
1719 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
1720 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
1721 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
1722 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
1723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1724 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1726 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1728 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1729 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
1731 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1732 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1733 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1734 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1735 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1736 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
1737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
1738 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
1739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
1740 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
1741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
1742 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1743 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1745 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000,
1747 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001,
1748 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
1749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
1750 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1752 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1753 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1754 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1756 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1757 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1758 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1759 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1760 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1761 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1762 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1763 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1764 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1765 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1766 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1767 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1768 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1769 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1770 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1771 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1772 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1773 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1775 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1776 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1777 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1779 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1780 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1781 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1783 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1784 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1785 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1786 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1788 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1789 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1790 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1791 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1792 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1793 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1794 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1795 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1796 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1797 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1798 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1799 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1800 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1802 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1803 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1805 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1806 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1807 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1808 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1810 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1811 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1812 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1813 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1814 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1815 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1816 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1817 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1818 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1819 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1820 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1821 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1822 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1823 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1825 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1826 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1827 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1828 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1831 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1832 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1834 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1836 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1837 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1839 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1840 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1841 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1843 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1844 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1845 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1846 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1847 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1848 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1852 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1853 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1854 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1855 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1856 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1857 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1859 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1860 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1861 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1862 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1863 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1864 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1867 typedef enum VkImageLayout {
1868 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1869 VK_IMAGE_LAYOUT_GENERAL = 1,
1870 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1871 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1872 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1873 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1874 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1875 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1876 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1877 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1878 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1879 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1880 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1881 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1882 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1883 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1884 #ifdef VK_ENABLE_BETA_EXTENSIONS
1885 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1887 #ifdef VK_ENABLE_BETA_EXTENSIONS
1888 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1890 #ifdef VK_ENABLE_BETA_EXTENSIONS
1891 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1893 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1894 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1895 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
1896 #ifdef VK_ENABLE_BETA_EXTENSIONS
1897 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1899 #ifdef VK_ENABLE_BETA_EXTENSIONS
1900 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1902 #ifdef VK_ENABLE_BETA_EXTENSIONS
1903 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1905 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1906 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1907 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1908 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1909 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1910 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1911 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1912 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1913 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1914 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1917 typedef enum VkObjectType {
1918 VK_OBJECT_TYPE_UNKNOWN = 0,
1919 VK_OBJECT_TYPE_INSTANCE = 1,
1920 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1921 VK_OBJECT_TYPE_DEVICE = 3,
1922 VK_OBJECT_TYPE_QUEUE = 4,
1923 VK_OBJECT_TYPE_SEMAPHORE = 5,
1924 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1925 VK_OBJECT_TYPE_FENCE = 7,
1926 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1927 VK_OBJECT_TYPE_BUFFER = 9,
1928 VK_OBJECT_TYPE_IMAGE = 10,
1929 VK_OBJECT_TYPE_EVENT = 11,
1930 VK_OBJECT_TYPE_QUERY_POOL = 12,
1931 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1932 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1933 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1934 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1935 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1936 VK_OBJECT_TYPE_RENDER_PASS = 18,
1937 VK_OBJECT_TYPE_PIPELINE = 19,
1938 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1939 VK_OBJECT_TYPE_SAMPLER = 21,
1940 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1941 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1942 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1943 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1944 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1945 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1946 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1947 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1948 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1949 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1950 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1951 #ifdef VK_ENABLE_BETA_EXTENSIONS
1952 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1954 #ifdef VK_ENABLE_BETA_EXTENSIONS
1955 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1957 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1958 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1959 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1960 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1961 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1962 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1963 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1964 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1965 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1966 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1967 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1968 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1969 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1972 typedef enum VkPipelineCacheHeaderVersion {
1973 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1974 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1975 } VkPipelineCacheHeaderVersion;
1977 typedef enum VkVendorId {
1978 VK_VENDOR_ID_VIV = 0x10001,
1979 VK_VENDOR_ID_VSI = 0x10002,
1980 VK_VENDOR_ID_KAZAN = 0x10003,
1981 VK_VENDOR_ID_CODEPLAY = 0x10004,
1982 VK_VENDOR_ID_MESA = 0x10005,
1983 VK_VENDOR_ID_POCL = 0x10006,
1984 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1987 typedef enum VkSystemAllocationScope {
1988 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1989 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1990 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1991 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1992 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1993 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1994 } VkSystemAllocationScope;
1996 typedef enum VkInternalAllocationType {
1997 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1998 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1999 } VkInternalAllocationType;
2001 typedef enum VkFormat {
2002 VK_FORMAT_UNDEFINED = 0,
2003 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
2004 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
2005 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
2006 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
2007 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
2008 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
2009 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
2010 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
2011 VK_FORMAT_R8_UNORM = 9,
2012 VK_FORMAT_R8_SNORM = 10,
2013 VK_FORMAT_R8_USCALED = 11,
2014 VK_FORMAT_R8_SSCALED = 12,
2015 VK_FORMAT_R8_UINT = 13,
2016 VK_FORMAT_R8_SINT = 14,
2017 VK_FORMAT_R8_SRGB = 15,
2018 VK_FORMAT_R8G8_UNORM = 16,
2019 VK_FORMAT_R8G8_SNORM = 17,
2020 VK_FORMAT_R8G8_USCALED = 18,
2021 VK_FORMAT_R8G8_SSCALED = 19,
2022 VK_FORMAT_R8G8_UINT = 20,
2023 VK_FORMAT_R8G8_SINT = 21,
2024 VK_FORMAT_R8G8_SRGB = 22,
2025 VK_FORMAT_R8G8B8_UNORM = 23,
2026 VK_FORMAT_R8G8B8_SNORM = 24,
2027 VK_FORMAT_R8G8B8_USCALED = 25,
2028 VK_FORMAT_R8G8B8_SSCALED = 26,
2029 VK_FORMAT_R8G8B8_UINT = 27,
2030 VK_FORMAT_R8G8B8_SINT = 28,
2031 VK_FORMAT_R8G8B8_SRGB = 29,
2032 VK_FORMAT_B8G8R8_UNORM = 30,
2033 VK_FORMAT_B8G8R8_SNORM = 31,
2034 VK_FORMAT_B8G8R8_USCALED = 32,
2035 VK_FORMAT_B8G8R8_SSCALED = 33,
2036 VK_FORMAT_B8G8R8_UINT = 34,
2037 VK_FORMAT_B8G8R8_SINT = 35,
2038 VK_FORMAT_B8G8R8_SRGB = 36,
2039 VK_FORMAT_R8G8B8A8_UNORM = 37,
2040 VK_FORMAT_R8G8B8A8_SNORM = 38,
2041 VK_FORMAT_R8G8B8A8_USCALED = 39,
2042 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2043 VK_FORMAT_R8G8B8A8_UINT = 41,
2044 VK_FORMAT_R8G8B8A8_SINT = 42,
2045 VK_FORMAT_R8G8B8A8_SRGB = 43,
2046 VK_FORMAT_B8G8R8A8_UNORM = 44,
2047 VK_FORMAT_B8G8R8A8_SNORM = 45,
2048 VK_FORMAT_B8G8R8A8_USCALED = 46,
2049 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2050 VK_FORMAT_B8G8R8A8_UINT = 48,
2051 VK_FORMAT_B8G8R8A8_SINT = 49,
2052 VK_FORMAT_B8G8R8A8_SRGB = 50,
2053 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2054 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2055 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2056 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2057 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2058 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2059 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2060 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2061 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2062 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2063 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2064 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2065 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2066 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2067 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2068 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2069 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2070 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2071 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2072 VK_FORMAT_R16_UNORM = 70,
2073 VK_FORMAT_R16_SNORM = 71,
2074 VK_FORMAT_R16_USCALED = 72,
2075 VK_FORMAT_R16_SSCALED = 73,
2076 VK_FORMAT_R16_UINT = 74,
2077 VK_FORMAT_R16_SINT = 75,
2078 VK_FORMAT_R16_SFLOAT = 76,
2079 VK_FORMAT_R16G16_UNORM = 77,
2080 VK_FORMAT_R16G16_SNORM = 78,
2081 VK_FORMAT_R16G16_USCALED = 79,
2082 VK_FORMAT_R16G16_SSCALED = 80,
2083 VK_FORMAT_R16G16_UINT = 81,
2084 VK_FORMAT_R16G16_SINT = 82,
2085 VK_FORMAT_R16G16_SFLOAT = 83,
2086 VK_FORMAT_R16G16B16_UNORM = 84,
2087 VK_FORMAT_R16G16B16_SNORM = 85,
2088 VK_FORMAT_R16G16B16_USCALED = 86,
2089 VK_FORMAT_R16G16B16_SSCALED = 87,
2090 VK_FORMAT_R16G16B16_UINT = 88,
2091 VK_FORMAT_R16G16B16_SINT = 89,
2092 VK_FORMAT_R16G16B16_SFLOAT = 90,
2093 VK_FORMAT_R16G16B16A16_UNORM = 91,
2094 VK_FORMAT_R16G16B16A16_SNORM = 92,
2095 VK_FORMAT_R16G16B16A16_USCALED = 93,
2096 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2097 VK_FORMAT_R16G16B16A16_UINT = 95,
2098 VK_FORMAT_R16G16B16A16_SINT = 96,
2099 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2100 VK_FORMAT_R32_UINT = 98,
2101 VK_FORMAT_R32_SINT = 99,
2102 VK_FORMAT_R32_SFLOAT = 100,
2103 VK_FORMAT_R32G32_UINT = 101,
2104 VK_FORMAT_R32G32_SINT = 102,
2105 VK_FORMAT_R32G32_SFLOAT = 103,
2106 VK_FORMAT_R32G32B32_UINT = 104,
2107 VK_FORMAT_R32G32B32_SINT = 105,
2108 VK_FORMAT_R32G32B32_SFLOAT = 106,
2109 VK_FORMAT_R32G32B32A32_UINT = 107,
2110 VK_FORMAT_R32G32B32A32_SINT = 108,
2111 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2112 VK_FORMAT_R64_UINT = 110,
2113 VK_FORMAT_R64_SINT = 111,
2114 VK_FORMAT_R64_SFLOAT = 112,
2115 VK_FORMAT_R64G64_UINT = 113,
2116 VK_FORMAT_R64G64_SINT = 114,
2117 VK_FORMAT_R64G64_SFLOAT = 115,
2118 VK_FORMAT_R64G64B64_UINT = 116,
2119 VK_FORMAT_R64G64B64_SINT = 117,
2120 VK_FORMAT_R64G64B64_SFLOAT = 118,
2121 VK_FORMAT_R64G64B64A64_UINT = 119,
2122 VK_FORMAT_R64G64B64A64_SINT = 120,
2123 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2124 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2125 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2126 VK_FORMAT_D16_UNORM = 124,
2127 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2128 VK_FORMAT_D32_SFLOAT = 126,
2129 VK_FORMAT_S8_UINT = 127,
2130 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2131 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2132 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2133 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2134 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2135 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2136 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2137 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2138 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2139 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2140 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2141 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2142 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2143 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2144 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2145 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2146 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2147 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2148 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2149 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2150 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2151 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2152 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2153 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2154 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2155 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2156 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2157 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2158 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2159 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2160 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2161 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2162 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2163 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2164 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2165 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2166 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2167 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2168 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2169 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2170 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2171 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2172 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2173 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2174 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2175 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2176 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2177 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2178 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2179 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2180 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2181 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2182 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2183 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2184 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2185 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2186 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2187 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2188 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2189 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2190 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2191 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2192 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2193 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2194 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2195 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2196 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2197 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2198 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2199 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2200 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2201 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2202 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2203 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2204 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2205 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2206 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2207 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2208 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2209 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2210 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2211 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2212 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2213 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2214 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2215 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2216 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2217 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2218 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2219 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2220 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2221 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2222 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2223 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2224 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2225 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2226 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2227 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2228 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2229 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
2230 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
2231 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
2232 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
2233 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
2234 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
2235 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
2236 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
2237 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
2238 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
2239 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
2240 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
2241 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
2242 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
2243 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
2244 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
2245 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
2246 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
2247 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
2248 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
2249 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2250 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2251 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2252 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2253 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2254 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2255 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2256 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2257 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2258 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2259 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2260 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2261 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2262 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2263 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2264 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2265 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2266 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2267 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2268 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2269 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2270 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2271 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2272 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2273 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2274 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2275 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2276 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2277 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2278 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2279 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2280 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2281 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2282 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2283 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2286 typedef enum VkImageTiling {
2287 VK_IMAGE_TILING_OPTIMAL = 0,
2288 VK_IMAGE_TILING_LINEAR = 1,
2289 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2290 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2293 typedef enum VkImageType {
2294 VK_IMAGE_TYPE_1D = 0,
2295 VK_IMAGE_TYPE_2D = 1,
2296 VK_IMAGE_TYPE_3D = 2,
2297 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2300 typedef enum VkPhysicalDeviceType {
2301 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2302 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2303 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2304 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2305 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2306 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2307 } VkPhysicalDeviceType;
2309 typedef enum VkQueryType {
2310 VK_QUERY_TYPE_OCCLUSION = 0,
2311 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2312 VK_QUERY_TYPE_TIMESTAMP = 2,
2313 #ifdef VK_ENABLE_BETA_EXTENSIONS
2314 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2316 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2317 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2318 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2319 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2320 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2321 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2322 #ifdef VK_ENABLE_BETA_EXTENSIONS
2323 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2325 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2328 typedef enum VkSharingMode {
2329 VK_SHARING_MODE_EXCLUSIVE = 0,
2330 VK_SHARING_MODE_CONCURRENT = 1,
2331 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2334 typedef enum VkComponentSwizzle {
2335 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2336 VK_COMPONENT_SWIZZLE_ZERO = 1,
2337 VK_COMPONENT_SWIZZLE_ONE = 2,
2338 VK_COMPONENT_SWIZZLE_R = 3,
2339 VK_COMPONENT_SWIZZLE_G = 4,
2340 VK_COMPONENT_SWIZZLE_B = 5,
2341 VK_COMPONENT_SWIZZLE_A = 6,
2342 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2343 } VkComponentSwizzle;
2345 typedef enum VkImageViewType {
2346 VK_IMAGE_VIEW_TYPE_1D = 0,
2347 VK_IMAGE_VIEW_TYPE_2D = 1,
2348 VK_IMAGE_VIEW_TYPE_3D = 2,
2349 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2350 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2351 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2352 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2353 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2356 typedef enum VkBlendFactor {
2357 VK_BLEND_FACTOR_ZERO = 0,
2358 VK_BLEND_FACTOR_ONE = 1,
2359 VK_BLEND_FACTOR_SRC_COLOR = 2,
2360 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2361 VK_BLEND_FACTOR_DST_COLOR = 4,
2362 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2363 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2364 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2365 VK_BLEND_FACTOR_DST_ALPHA = 8,
2366 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2367 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2368 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2369 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2370 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2371 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2372 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2373 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2374 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2375 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2376 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2379 typedef enum VkBlendOp {
2380 VK_BLEND_OP_ADD = 0,
2381 VK_BLEND_OP_SUBTRACT = 1,
2382 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2383 VK_BLEND_OP_MIN = 3,
2384 VK_BLEND_OP_MAX = 4,
2385 VK_BLEND_OP_ZERO_EXT = 1000148000,
2386 VK_BLEND_OP_SRC_EXT = 1000148001,
2387 VK_BLEND_OP_DST_EXT = 1000148002,
2388 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2389 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2390 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2391 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2392 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2393 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2394 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2395 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2396 VK_BLEND_OP_XOR_EXT = 1000148011,
2397 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2398 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2399 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2400 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2401 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2402 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2403 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2404 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2405 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2406 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2407 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2408 VK_BLEND_OP_INVERT_EXT = 1000148023,
2409 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2410 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2411 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2412 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2413 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2414 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2415 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2416 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2417 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2418 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2419 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2420 VK_BLEND_OP_PLUS_EXT = 1000148035,
2421 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2422 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2423 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2424 VK_BLEND_OP_MINUS_EXT = 1000148039,
2425 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2426 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2427 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2428 VK_BLEND_OP_RED_EXT = 1000148043,
2429 VK_BLEND_OP_GREEN_EXT = 1000148044,
2430 VK_BLEND_OP_BLUE_EXT = 1000148045,
2431 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2434 typedef enum VkCompareOp {
2435 VK_COMPARE_OP_NEVER = 0,
2436 VK_COMPARE_OP_LESS = 1,
2437 VK_COMPARE_OP_EQUAL = 2,
2438 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2439 VK_COMPARE_OP_GREATER = 4,
2440 VK_COMPARE_OP_NOT_EQUAL = 5,
2441 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2442 VK_COMPARE_OP_ALWAYS = 7,
2443 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2446 typedef enum VkDynamicState {
2447 VK_DYNAMIC_STATE_VIEWPORT = 0,
2448 VK_DYNAMIC_STATE_SCISSOR = 1,
2449 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2450 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2451 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2452 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2453 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2454 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2455 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2456 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2457 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2458 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2459 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2460 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2461 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2462 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2463 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2464 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2465 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
2466 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
2467 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
2468 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
2469 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
2470 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
2471 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
2472 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
2473 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
2474 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
2475 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
2476 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
2477 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2478 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2479 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
2480 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
2481 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2482 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
2483 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2484 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2487 typedef enum VkFrontFace {
2488 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2489 VK_FRONT_FACE_CLOCKWISE = 1,
2490 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2493 typedef enum VkVertexInputRate {
2494 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2495 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2496 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2497 } VkVertexInputRate;
2499 typedef enum VkPrimitiveTopology {
2500 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2501 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2502 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2503 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2504 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2505 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2506 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2507 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2508 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2509 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2510 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2511 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2512 } VkPrimitiveTopology;
2514 typedef enum VkPolygonMode {
2515 VK_POLYGON_MODE_FILL = 0,
2516 VK_POLYGON_MODE_LINE = 1,
2517 VK_POLYGON_MODE_POINT = 2,
2518 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2519 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2522 typedef enum VkStencilOp {
2523 VK_STENCIL_OP_KEEP = 0,
2524 VK_STENCIL_OP_ZERO = 1,
2525 VK_STENCIL_OP_REPLACE = 2,
2526 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2527 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2528 VK_STENCIL_OP_INVERT = 5,
2529 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2530 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2531 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2534 typedef enum VkLogicOp {
2535 VK_LOGIC_OP_CLEAR = 0,
2536 VK_LOGIC_OP_AND = 1,
2537 VK_LOGIC_OP_AND_REVERSE = 2,
2538 VK_LOGIC_OP_COPY = 3,
2539 VK_LOGIC_OP_AND_INVERTED = 4,
2540 VK_LOGIC_OP_NO_OP = 5,
2541 VK_LOGIC_OP_XOR = 6,
2543 VK_LOGIC_OP_NOR = 8,
2544 VK_LOGIC_OP_EQUIVALENT = 9,
2545 VK_LOGIC_OP_INVERT = 10,
2546 VK_LOGIC_OP_OR_REVERSE = 11,
2547 VK_LOGIC_OP_COPY_INVERTED = 12,
2548 VK_LOGIC_OP_OR_INVERTED = 13,
2549 VK_LOGIC_OP_NAND = 14,
2550 VK_LOGIC_OP_SET = 15,
2551 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2554 typedef enum VkBorderColor {
2555 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2556 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2557 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2558 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2559 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2560 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2561 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2562 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2563 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2566 typedef enum VkFilter {
2567 VK_FILTER_NEAREST = 0,
2568 VK_FILTER_LINEAR = 1,
2569 VK_FILTER_CUBIC_IMG = 1000015000,
2570 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2571 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2574 typedef enum VkSamplerAddressMode {
2575 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2576 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2577 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2578 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2579 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2580 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2581 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2582 } VkSamplerAddressMode;
2584 typedef enum VkSamplerMipmapMode {
2585 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2586 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2587 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2588 } VkSamplerMipmapMode;
2590 typedef enum VkDescriptorType {
2591 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2592 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2593 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2594 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2595 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2596 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2597 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2598 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2599 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2600 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2601 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2602 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
2603 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2604 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2605 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2606 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2609 typedef enum VkAttachmentLoadOp {
2610 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2611 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2612 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2613 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
2614 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2615 } VkAttachmentLoadOp;
2617 typedef enum VkAttachmentStoreOp {
2618 VK_ATTACHMENT_STORE_OP_STORE = 0,
2619 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2620 VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000,
2621 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE_EXT,
2622 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2623 } VkAttachmentStoreOp;
2625 typedef enum VkPipelineBindPoint {
2626 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2627 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2628 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2629 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
2630 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2631 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2632 } VkPipelineBindPoint;
2634 typedef enum VkCommandBufferLevel {
2635 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2636 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2637 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2638 } VkCommandBufferLevel;
2640 typedef enum VkIndexType {
2641 VK_INDEX_TYPE_UINT16 = 0,
2642 VK_INDEX_TYPE_UINT32 = 1,
2643 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2644 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2645 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2646 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2649 typedef enum VkSubpassContents {
2650 VK_SUBPASS_CONTENTS_INLINE = 0,
2651 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2652 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2653 } VkSubpassContents;
2655 typedef enum VkAccessFlagBits {
2656 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2657 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2658 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2659 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2660 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2661 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2662 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2663 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2664 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2665 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2666 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2667 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2668 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2669 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2670 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2671 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2672 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2673 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2674 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2675 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2676 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2677 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2678 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2679 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2680 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2681 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
2682 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2683 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2684 VK_ACCESS_NONE_KHR = 0,
2685 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2686 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2687 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2688 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2690 typedef VkFlags VkAccessFlags;
2692 typedef enum VkImageAspectFlagBits {
2693 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2694 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2695 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2696 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2697 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2698 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2699 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2700 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2701 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2702 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2703 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2704 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2705 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2706 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2707 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2708 } VkImageAspectFlagBits;
2709 typedef VkFlags VkImageAspectFlags;
2711 typedef enum VkFormatFeatureFlagBits {
2712 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2713 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2714 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2715 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2716 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2717 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2718 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2719 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2720 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2721 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2722 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2723 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2724 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2725 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2726 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2727 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2728 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2729 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2730 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2731 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2732 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2733 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2734 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2735 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2736 #ifdef VK_ENABLE_BETA_EXTENSIONS
2737 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2739 #ifdef VK_ENABLE_BETA_EXTENSIONS
2740 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2742 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2743 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2744 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2745 #ifdef VK_ENABLE_BETA_EXTENSIONS
2746 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2748 #ifdef VK_ENABLE_BETA_EXTENSIONS
2749 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2751 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2752 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2753 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2754 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2755 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2756 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2757 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2758 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,
2759 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2760 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2761 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2762 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2763 } VkFormatFeatureFlagBits;
2764 typedef VkFlags VkFormatFeatureFlags;
2766 typedef enum VkImageCreateFlagBits {
2767 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2768 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2769 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2770 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2771 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2772 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2773 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2774 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2775 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2776 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2777 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2778 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2779 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2780 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2781 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2782 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2783 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2784 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2785 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2786 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2787 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2788 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2789 } VkImageCreateFlagBits;
2790 typedef VkFlags VkImageCreateFlags;
2792 typedef enum VkSampleCountFlagBits {
2793 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2794 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2795 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2796 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2797 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2798 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2799 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2800 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2801 } VkSampleCountFlagBits;
2802 typedef VkFlags VkSampleCountFlags;
2804 typedef enum VkImageUsageFlagBits {
2805 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2806 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2807 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2808 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2809 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2810 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2811 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2812 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2813 #ifdef VK_ENABLE_BETA_EXTENSIONS
2814 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2816 #ifdef VK_ENABLE_BETA_EXTENSIONS
2817 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2819 #ifdef VK_ENABLE_BETA_EXTENSIONS
2820 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2822 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2823 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
2824 #ifdef VK_ENABLE_BETA_EXTENSIONS
2825 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2827 #ifdef VK_ENABLE_BETA_EXTENSIONS
2828 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2830 #ifdef VK_ENABLE_BETA_EXTENSIONS
2831 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2833 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
2834 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2835 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2836 } VkImageUsageFlagBits;
2837 typedef VkFlags VkImageUsageFlags;
2838 typedef VkFlags VkInstanceCreateFlags;
2840 typedef enum VkMemoryHeapFlagBits {
2841 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2842 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2843 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2844 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2845 } VkMemoryHeapFlagBits;
2846 typedef VkFlags VkMemoryHeapFlags;
2848 typedef enum VkMemoryPropertyFlagBits {
2849 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2850 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2851 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2852 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2853 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2854 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2855 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2856 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2857 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
2858 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2859 } VkMemoryPropertyFlagBits;
2860 typedef VkFlags VkMemoryPropertyFlags;
2862 typedef enum VkQueueFlagBits {
2863 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2864 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2865 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2866 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2867 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2868 #ifdef VK_ENABLE_BETA_EXTENSIONS
2869 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2871 #ifdef VK_ENABLE_BETA_EXTENSIONS
2872 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2874 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2876 typedef VkFlags VkQueueFlags;
2877 typedef VkFlags VkDeviceCreateFlags;
2879 typedef enum VkDeviceQueueCreateFlagBits {
2880 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2881 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2882 } VkDeviceQueueCreateFlagBits;
2883 typedef VkFlags VkDeviceQueueCreateFlags;
2885 typedef enum VkPipelineStageFlagBits {
2886 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2887 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2888 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2889 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2890 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2891 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2892 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2893 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2894 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2895 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2896 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2897 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2898 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2899 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2900 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2901 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2902 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2903 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2904 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2905 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2906 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2907 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2908 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2909 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2910 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2911 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2912 VK_PIPELINE_STAGE_NONE_KHR = 0,
2913 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2914 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2915 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2916 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2917 } VkPipelineStageFlagBits;
2918 typedef VkFlags VkPipelineStageFlags;
2919 typedef VkFlags VkMemoryMapFlags;
2921 typedef enum VkSparseMemoryBindFlagBits {
2922 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2923 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2924 } VkSparseMemoryBindFlagBits;
2925 typedef VkFlags VkSparseMemoryBindFlags;
2927 typedef enum VkSparseImageFormatFlagBits {
2928 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2929 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2930 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2931 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2932 } VkSparseImageFormatFlagBits;
2933 typedef VkFlags VkSparseImageFormatFlags;
2935 typedef enum VkFenceCreateFlagBits {
2936 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2937 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2938 } VkFenceCreateFlagBits;
2939 typedef VkFlags VkFenceCreateFlags;
2940 typedef VkFlags VkSemaphoreCreateFlags;
2942 typedef enum VkEventCreateFlagBits {
2943 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2944 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2945 } VkEventCreateFlagBits;
2946 typedef VkFlags VkEventCreateFlags;
2948 typedef enum VkQueryPipelineStatisticFlagBits {
2949 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2950 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2951 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2952 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2953 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2954 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2955 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2956 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2957 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2958 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2959 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2960 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2961 } VkQueryPipelineStatisticFlagBits;
2962 typedef VkFlags VkQueryPipelineStatisticFlags;
2963 typedef VkFlags VkQueryPoolCreateFlags;
2965 typedef enum VkQueryResultFlagBits {
2966 VK_QUERY_RESULT_64_BIT = 0x00000001,
2967 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2968 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2969 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2970 #ifdef VK_ENABLE_BETA_EXTENSIONS
2971 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2973 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2974 } VkQueryResultFlagBits;
2975 typedef VkFlags VkQueryResultFlags;
2977 typedef enum VkBufferCreateFlagBits {
2978 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2979 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2980 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2981 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2982 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2983 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2984 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2985 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2986 } VkBufferCreateFlagBits;
2987 typedef VkFlags VkBufferCreateFlags;
2989 typedef enum VkBufferUsageFlagBits {
2990 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2991 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2992 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2993 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2994 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2995 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2996 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2997 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2998 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2999 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
3000 #ifdef VK_ENABLE_BETA_EXTENSIONS
3001 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
3003 #ifdef VK_ENABLE_BETA_EXTENSIONS
3004 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
3006 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
3007 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
3008 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
3009 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
3010 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
3011 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
3012 #ifdef VK_ENABLE_BETA_EXTENSIONS
3013 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
3015 #ifdef VK_ENABLE_BETA_EXTENSIONS
3016 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
3018 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
3019 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3020 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3021 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3022 } VkBufferUsageFlagBits;
3023 typedef VkFlags VkBufferUsageFlags;
3024 typedef VkFlags VkBufferViewCreateFlags;
3026 typedef enum VkImageViewCreateFlagBits {
3027 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
3028 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
3029 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3030 } VkImageViewCreateFlagBits;
3031 typedef VkFlags VkImageViewCreateFlags;
3033 typedef enum VkShaderModuleCreateFlagBits {
3034 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3035 } VkShaderModuleCreateFlagBits;
3036 typedef VkFlags VkShaderModuleCreateFlags;
3038 typedef enum VkPipelineCacheCreateFlagBits {
3039 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
3040 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3041 } VkPipelineCacheCreateFlagBits;
3042 typedef VkFlags VkPipelineCacheCreateFlags;
3044 typedef enum VkColorComponentFlagBits {
3045 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3046 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3047 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3048 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3049 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3050 } VkColorComponentFlagBits;
3051 typedef VkFlags VkColorComponentFlags;
3053 typedef enum VkPipelineCreateFlagBits {
3054 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3055 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3056 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3057 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3058 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3059 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3060 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3061 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3062 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3063 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3064 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3065 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3066 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3067 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3068 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3069 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3070 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3071 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
3072 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
3073 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
3074 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3075 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3076 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3077 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3078 } VkPipelineCreateFlagBits;
3079 typedef VkFlags VkPipelineCreateFlags;
3081 typedef enum VkPipelineShaderStageCreateFlagBits {
3082 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
3083 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
3084 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3085 } VkPipelineShaderStageCreateFlagBits;
3086 typedef VkFlags VkPipelineShaderStageCreateFlags;
3088 typedef enum VkShaderStageFlagBits {
3089 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3090 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3091 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3092 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3093 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3094 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3095 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3096 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3097 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3098 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3099 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3100 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3101 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3102 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3103 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3104 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3105 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
3106 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3107 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3108 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3109 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3110 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3111 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3112 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3113 } VkShaderStageFlagBits;
3115 typedef enum VkCullModeFlagBits {
3116 VK_CULL_MODE_NONE = 0,
3117 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3118 VK_CULL_MODE_BACK_BIT = 0x00000002,
3119 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3120 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3121 } VkCullModeFlagBits;
3122 typedef VkFlags VkCullModeFlags;
3123 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3124 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3125 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3126 typedef VkFlags VkPipelineViewportStateCreateFlags;
3127 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3128 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3129 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3130 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3131 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3132 typedef VkFlags VkPipelineLayoutCreateFlags;
3133 typedef VkFlags VkShaderStageFlags;
3135 typedef enum VkSamplerCreateFlagBits {
3136 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3137 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3138 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3139 } VkSamplerCreateFlagBits;
3140 typedef VkFlags VkSamplerCreateFlags;
3142 typedef enum VkDescriptorPoolCreateFlagBits {
3143 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3144 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3145 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3146 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3147 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3148 } VkDescriptorPoolCreateFlagBits;
3149 typedef VkFlags VkDescriptorPoolCreateFlags;
3150 typedef VkFlags VkDescriptorPoolResetFlags;
3152 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3153 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3154 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3155 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3156 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3157 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3158 } VkDescriptorSetLayoutCreateFlagBits;
3159 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3161 typedef enum VkAttachmentDescriptionFlagBits {
3162 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3163 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3164 } VkAttachmentDescriptionFlagBits;
3165 typedef VkFlags VkAttachmentDescriptionFlags;
3167 typedef enum VkDependencyFlagBits {
3168 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3169 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3170 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3171 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3172 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3173 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3174 } VkDependencyFlagBits;
3175 typedef VkFlags VkDependencyFlags;
3177 typedef enum VkFramebufferCreateFlagBits {
3178 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3179 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3180 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3181 } VkFramebufferCreateFlagBits;
3182 typedef VkFlags VkFramebufferCreateFlags;
3184 typedef enum VkRenderPassCreateFlagBits {
3185 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3186 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3187 } VkRenderPassCreateFlagBits;
3188 typedef VkFlags VkRenderPassCreateFlags;
3190 typedef enum VkSubpassDescriptionFlagBits {
3191 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3192 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3193 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3194 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3195 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3196 } VkSubpassDescriptionFlagBits;
3197 typedef VkFlags VkSubpassDescriptionFlags;
3199 typedef enum VkCommandPoolCreateFlagBits {
3200 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3201 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3202 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3203 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3204 } VkCommandPoolCreateFlagBits;
3205 typedef VkFlags VkCommandPoolCreateFlags;
3207 typedef enum VkCommandPoolResetFlagBits {
3208 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3209 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3210 } VkCommandPoolResetFlagBits;
3211 typedef VkFlags VkCommandPoolResetFlags;
3213 typedef enum VkCommandBufferUsageFlagBits {
3214 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3215 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3216 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3217 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3218 } VkCommandBufferUsageFlagBits;
3219 typedef VkFlags VkCommandBufferUsageFlags;
3221 typedef enum VkQueryControlFlagBits {
3222 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3223 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3224 } VkQueryControlFlagBits;
3225 typedef VkFlags VkQueryControlFlags;
3227 typedef enum VkCommandBufferResetFlagBits {
3228 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3229 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3230 } VkCommandBufferResetFlagBits;
3231 typedef VkFlags VkCommandBufferResetFlags;
3233 typedef enum VkStencilFaceFlagBits {
3234 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3235 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3236 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3237 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3238 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3239 } VkStencilFaceFlagBits;
3240 typedef VkFlags VkStencilFaceFlags;
3241 typedef struct VkExtent2D {
3246 typedef struct VkExtent3D {
3252 typedef struct VkOffset2D {
3257 typedef struct VkOffset3D {
3263 typedef struct VkRect2D {
3268 typedef struct VkBaseInStructure {
3269 VkStructureType sType;
3270 const struct VkBaseInStructure* pNext;
3271 } VkBaseInStructure;
3273 typedef struct VkBaseOutStructure {
3274 VkStructureType sType;
3275 struct VkBaseOutStructure* pNext;
3276 } VkBaseOutStructure;
3278 typedef struct VkBufferMemoryBarrier {
3279 VkStructureType sType;
3281 VkAccessFlags srcAccessMask;
3282 VkAccessFlags dstAccessMask;
3283 deUint32 srcQueueFamilyIndex;
3284 deUint32 dstQueueFamilyIndex;
3286 VkDeviceSize offset;
3288 } VkBufferMemoryBarrier;
3290 typedef struct VkDispatchIndirectCommand {
3294 } VkDispatchIndirectCommand;
3296 typedef struct VkDrawIndexedIndirectCommand {
3297 deUint32 indexCount;
3298 deUint32 instanceCount;
3299 deUint32 firstIndex;
3300 deInt32 vertexOffset;
3301 deUint32 firstInstance;
3302 } VkDrawIndexedIndirectCommand;
3304 typedef struct VkDrawIndirectCommand {
3305 deUint32 vertexCount;
3306 deUint32 instanceCount;
3307 deUint32 firstVertex;
3308 deUint32 firstInstance;
3309 } VkDrawIndirectCommand;
3311 typedef struct VkImageSubresourceRange {
3312 VkImageAspectFlags aspectMask;
3313 deUint32 baseMipLevel;
3314 deUint32 levelCount;
3315 deUint32 baseArrayLayer;
3316 deUint32 layerCount;
3317 } VkImageSubresourceRange;
3319 typedef struct VkImageMemoryBarrier {
3320 VkStructureType sType;
3322 VkAccessFlags srcAccessMask;
3323 VkAccessFlags dstAccessMask;
3324 VkImageLayout oldLayout;
3325 VkImageLayout newLayout;
3326 deUint32 srcQueueFamilyIndex;
3327 deUint32 dstQueueFamilyIndex;
3329 VkImageSubresourceRange subresourceRange;
3330 } VkImageMemoryBarrier;
3332 typedef struct VkMemoryBarrier {
3333 VkStructureType sType;
3335 VkAccessFlags srcAccessMask;
3336 VkAccessFlags dstAccessMask;
3339 typedef struct VkPipelineCacheHeaderVersionOne {
3340 deUint32 headerSize;
3341 VkPipelineCacheHeaderVersion headerVersion;
3344 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3345 } VkPipelineCacheHeaderVersionOne;
3347 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3350 deUintptr alignment,
3351 VkSystemAllocationScope allocationScope);
3353 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3357 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3360 VkInternalAllocationType allocationType,
3361 VkSystemAllocationScope allocationScope);
3363 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3366 VkInternalAllocationType allocationType,
3367 VkSystemAllocationScope allocationScope);
3369 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3373 deUintptr alignment,
3374 VkSystemAllocationScope allocationScope);
3376 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3377 typedef struct VkAllocationCallbacks {
3379 PFN_vkAllocationFunction pfnAllocation;
3380 PFN_vkReallocationFunction pfnReallocation;
3381 PFN_vkFreeFunction pfnFree;
3382 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3383 PFN_vkInternalFreeNotification pfnInternalFree;
3384 } VkAllocationCallbacks;
3386 typedef struct VkApplicationInfo {
3387 VkStructureType sType;
3389 const char* pApplicationName;
3390 deUint32 applicationVersion;
3391 const char* pEngineName;
3392 deUint32 engineVersion;
3393 deUint32 apiVersion;
3394 } VkApplicationInfo;
3396 typedef struct VkFormatProperties {
3397 VkFormatFeatureFlags linearTilingFeatures;
3398 VkFormatFeatureFlags optimalTilingFeatures;
3399 VkFormatFeatureFlags bufferFeatures;
3400 } VkFormatProperties;
3402 typedef struct VkImageFormatProperties {
3403 VkExtent3D maxExtent;
3404 deUint32 maxMipLevels;
3405 deUint32 maxArrayLayers;
3406 VkSampleCountFlags sampleCounts;
3407 VkDeviceSize maxResourceSize;
3408 } VkImageFormatProperties;
3410 typedef struct VkInstanceCreateInfo {
3411 VkStructureType sType;
3413 VkInstanceCreateFlags flags;
3414 const VkApplicationInfo* pApplicationInfo;
3415 deUint32 enabledLayerCount;
3416 const char* const* ppEnabledLayerNames;
3417 deUint32 enabledExtensionCount;
3418 const char* const* ppEnabledExtensionNames;
3419 } VkInstanceCreateInfo;
3421 typedef struct VkMemoryHeap {
3423 VkMemoryHeapFlags flags;
3426 typedef struct VkMemoryType {
3427 VkMemoryPropertyFlags propertyFlags;
3431 typedef struct VkPhysicalDeviceFeatures {
3432 VkBool32 robustBufferAccess;
3433 VkBool32 fullDrawIndexUint32;
3434 VkBool32 imageCubeArray;
3435 VkBool32 independentBlend;
3436 VkBool32 geometryShader;
3437 VkBool32 tessellationShader;
3438 VkBool32 sampleRateShading;
3439 VkBool32 dualSrcBlend;
3441 VkBool32 multiDrawIndirect;
3442 VkBool32 drawIndirectFirstInstance;
3443 VkBool32 depthClamp;
3444 VkBool32 depthBiasClamp;
3445 VkBool32 fillModeNonSolid;
3446 VkBool32 depthBounds;
3448 VkBool32 largePoints;
3449 VkBool32 alphaToOne;
3450 VkBool32 multiViewport;
3451 VkBool32 samplerAnisotropy;
3452 VkBool32 textureCompressionETC2;
3453 VkBool32 textureCompressionASTC_LDR;
3454 VkBool32 textureCompressionBC;
3455 VkBool32 occlusionQueryPrecise;
3456 VkBool32 pipelineStatisticsQuery;
3457 VkBool32 vertexPipelineStoresAndAtomics;
3458 VkBool32 fragmentStoresAndAtomics;
3459 VkBool32 shaderTessellationAndGeometryPointSize;
3460 VkBool32 shaderImageGatherExtended;
3461 VkBool32 shaderStorageImageExtendedFormats;
3462 VkBool32 shaderStorageImageMultisample;
3463 VkBool32 shaderStorageImageReadWithoutFormat;
3464 VkBool32 shaderStorageImageWriteWithoutFormat;
3465 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3466 VkBool32 shaderSampledImageArrayDynamicIndexing;
3467 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3468 VkBool32 shaderStorageImageArrayDynamicIndexing;
3469 VkBool32 shaderClipDistance;
3470 VkBool32 shaderCullDistance;
3471 VkBool32 shaderFloat64;
3472 VkBool32 shaderInt64;
3473 VkBool32 shaderInt16;
3474 VkBool32 shaderResourceResidency;
3475 VkBool32 shaderResourceMinLod;
3476 VkBool32 sparseBinding;
3477 VkBool32 sparseResidencyBuffer;
3478 VkBool32 sparseResidencyImage2D;
3479 VkBool32 sparseResidencyImage3D;
3480 VkBool32 sparseResidency2Samples;
3481 VkBool32 sparseResidency4Samples;
3482 VkBool32 sparseResidency8Samples;
3483 VkBool32 sparseResidency16Samples;
3484 VkBool32 sparseResidencyAliased;
3485 VkBool32 variableMultisampleRate;
3486 VkBool32 inheritedQueries;
3487 } VkPhysicalDeviceFeatures;
3489 typedef struct VkPhysicalDeviceLimits {
3490 deUint32 maxImageDimension1D;
3491 deUint32 maxImageDimension2D;
3492 deUint32 maxImageDimension3D;
3493 deUint32 maxImageDimensionCube;
3494 deUint32 maxImageArrayLayers;
3495 deUint32 maxTexelBufferElements;
3496 deUint32 maxUniformBufferRange;
3497 deUint32 maxStorageBufferRange;
3498 deUint32 maxPushConstantsSize;
3499 deUint32 maxMemoryAllocationCount;
3500 deUint32 maxSamplerAllocationCount;
3501 VkDeviceSize bufferImageGranularity;
3502 VkDeviceSize sparseAddressSpaceSize;
3503 deUint32 maxBoundDescriptorSets;
3504 deUint32 maxPerStageDescriptorSamplers;
3505 deUint32 maxPerStageDescriptorUniformBuffers;
3506 deUint32 maxPerStageDescriptorStorageBuffers;
3507 deUint32 maxPerStageDescriptorSampledImages;
3508 deUint32 maxPerStageDescriptorStorageImages;
3509 deUint32 maxPerStageDescriptorInputAttachments;
3510 deUint32 maxPerStageResources;
3511 deUint32 maxDescriptorSetSamplers;
3512 deUint32 maxDescriptorSetUniformBuffers;
3513 deUint32 maxDescriptorSetUniformBuffersDynamic;
3514 deUint32 maxDescriptorSetStorageBuffers;
3515 deUint32 maxDescriptorSetStorageBuffersDynamic;
3516 deUint32 maxDescriptorSetSampledImages;
3517 deUint32 maxDescriptorSetStorageImages;
3518 deUint32 maxDescriptorSetInputAttachments;
3519 deUint32 maxVertexInputAttributes;
3520 deUint32 maxVertexInputBindings;
3521 deUint32 maxVertexInputAttributeOffset;
3522 deUint32 maxVertexInputBindingStride;
3523 deUint32 maxVertexOutputComponents;
3524 deUint32 maxTessellationGenerationLevel;
3525 deUint32 maxTessellationPatchSize;
3526 deUint32 maxTessellationControlPerVertexInputComponents;
3527 deUint32 maxTessellationControlPerVertexOutputComponents;
3528 deUint32 maxTessellationControlPerPatchOutputComponents;
3529 deUint32 maxTessellationControlTotalOutputComponents;
3530 deUint32 maxTessellationEvaluationInputComponents;
3531 deUint32 maxTessellationEvaluationOutputComponents;
3532 deUint32 maxGeometryShaderInvocations;
3533 deUint32 maxGeometryInputComponents;
3534 deUint32 maxGeometryOutputComponents;
3535 deUint32 maxGeometryOutputVertices;
3536 deUint32 maxGeometryTotalOutputComponents;
3537 deUint32 maxFragmentInputComponents;
3538 deUint32 maxFragmentOutputAttachments;
3539 deUint32 maxFragmentDualSrcAttachments;
3540 deUint32 maxFragmentCombinedOutputResources;
3541 deUint32 maxComputeSharedMemorySize;
3542 deUint32 maxComputeWorkGroupCount[3];
3543 deUint32 maxComputeWorkGroupInvocations;
3544 deUint32 maxComputeWorkGroupSize[3];
3545 deUint32 subPixelPrecisionBits;
3546 deUint32 subTexelPrecisionBits;
3547 deUint32 mipmapPrecisionBits;
3548 deUint32 maxDrawIndexedIndexValue;
3549 deUint32 maxDrawIndirectCount;
3550 float maxSamplerLodBias;
3551 float maxSamplerAnisotropy;
3552 deUint32 maxViewports;
3553 deUint32 maxViewportDimensions[2];
3554 float viewportBoundsRange[2];
3555 deUint32 viewportSubPixelBits;
3556 deUintptr minMemoryMapAlignment;
3557 VkDeviceSize minTexelBufferOffsetAlignment;
3558 VkDeviceSize minUniformBufferOffsetAlignment;
3559 VkDeviceSize minStorageBufferOffsetAlignment;
3560 deInt32 minTexelOffset;
3561 deUint32 maxTexelOffset;
3562 deInt32 minTexelGatherOffset;
3563 deUint32 maxTexelGatherOffset;
3564 float minInterpolationOffset;
3565 float maxInterpolationOffset;
3566 deUint32 subPixelInterpolationOffsetBits;
3567 deUint32 maxFramebufferWidth;
3568 deUint32 maxFramebufferHeight;
3569 deUint32 maxFramebufferLayers;
3570 VkSampleCountFlags framebufferColorSampleCounts;
3571 VkSampleCountFlags framebufferDepthSampleCounts;
3572 VkSampleCountFlags framebufferStencilSampleCounts;
3573 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3574 deUint32 maxColorAttachments;
3575 VkSampleCountFlags sampledImageColorSampleCounts;
3576 VkSampleCountFlags sampledImageIntegerSampleCounts;
3577 VkSampleCountFlags sampledImageDepthSampleCounts;
3578 VkSampleCountFlags sampledImageStencilSampleCounts;
3579 VkSampleCountFlags storageImageSampleCounts;
3580 deUint32 maxSampleMaskWords;
3581 VkBool32 timestampComputeAndGraphics;
3582 float timestampPeriod;
3583 deUint32 maxClipDistances;
3584 deUint32 maxCullDistances;
3585 deUint32 maxCombinedClipAndCullDistances;
3586 deUint32 discreteQueuePriorities;
3587 float pointSizeRange[2];
3588 float lineWidthRange[2];
3589 float pointSizeGranularity;
3590 float lineWidthGranularity;
3591 VkBool32 strictLines;
3592 VkBool32 standardSampleLocations;
3593 VkDeviceSize optimalBufferCopyOffsetAlignment;
3594 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3595 VkDeviceSize nonCoherentAtomSize;
3596 } VkPhysicalDeviceLimits;
3598 typedef struct VkPhysicalDeviceMemoryProperties {
3599 deUint32 memoryTypeCount;
3600 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3601 deUint32 memoryHeapCount;
3602 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3603 } VkPhysicalDeviceMemoryProperties;
3605 typedef struct VkPhysicalDeviceSparseProperties {
3606 VkBool32 residencyStandard2DBlockShape;
3607 VkBool32 residencyStandard2DMultisampleBlockShape;
3608 VkBool32 residencyStandard3DBlockShape;
3609 VkBool32 residencyAlignedMipSize;
3610 VkBool32 residencyNonResidentStrict;
3611 } VkPhysicalDeviceSparseProperties;
3613 typedef struct VkPhysicalDeviceProperties {
3614 deUint32 apiVersion;
3615 deUint32 driverVersion;
3618 VkPhysicalDeviceType deviceType;
3619 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3620 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3621 VkPhysicalDeviceLimits limits;
3622 VkPhysicalDeviceSparseProperties sparseProperties;
3623 } VkPhysicalDeviceProperties;
3625 typedef struct VkQueueFamilyProperties {
3626 VkQueueFlags queueFlags;
3627 deUint32 queueCount;
3628 deUint32 timestampValidBits;
3629 VkExtent3D minImageTransferGranularity;
3630 } VkQueueFamilyProperties;
3632 typedef struct VkDeviceQueueCreateInfo {
3633 VkStructureType sType;
3635 VkDeviceQueueCreateFlags flags;
3636 deUint32 queueFamilyIndex;
3637 deUint32 queueCount;
3638 const float* pQueuePriorities;
3639 } VkDeviceQueueCreateInfo;
3641 typedef struct VkDeviceCreateInfo {
3642 VkStructureType sType;
3644 VkDeviceCreateFlags flags;
3645 deUint32 queueCreateInfoCount;
3646 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3647 deUint32 enabledLayerCount;
3648 const char* const* ppEnabledLayerNames;
3649 deUint32 enabledExtensionCount;
3650 const char* const* ppEnabledExtensionNames;
3651 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3652 } VkDeviceCreateInfo;
3654 typedef struct VkExtensionProperties {
3655 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3656 deUint32 specVersion;
3657 } VkExtensionProperties;
3659 typedef struct VkLayerProperties {
3660 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3661 deUint32 specVersion;
3662 deUint32 implementationVersion;
3663 char description[VK_MAX_DESCRIPTION_SIZE];
3664 } VkLayerProperties;
3666 typedef struct VkSubmitInfo {
3667 VkStructureType sType;
3669 deUint32 waitSemaphoreCount;
3670 const VkSemaphore* pWaitSemaphores;
3671 const VkPipelineStageFlags* pWaitDstStageMask;
3672 deUint32 commandBufferCount;
3673 const VkCommandBuffer* pCommandBuffers;
3674 deUint32 signalSemaphoreCount;
3675 const VkSemaphore* pSignalSemaphores;
3678 typedef struct VkMappedMemoryRange {
3679 VkStructureType sType;
3681 VkDeviceMemory memory;
3682 VkDeviceSize offset;
3684 } VkMappedMemoryRange;
3686 typedef struct VkMemoryAllocateInfo {
3687 VkStructureType sType;
3689 VkDeviceSize allocationSize;
3690 deUint32 memoryTypeIndex;
3691 } VkMemoryAllocateInfo;
3693 typedef struct VkMemoryRequirements {
3695 VkDeviceSize alignment;
3696 deUint32 memoryTypeBits;
3697 } VkMemoryRequirements;
3699 typedef struct VkSparseMemoryBind {
3700 VkDeviceSize resourceOffset;
3702 VkDeviceMemory memory;
3703 VkDeviceSize memoryOffset;
3704 VkSparseMemoryBindFlags flags;
3705 } VkSparseMemoryBind;
3707 typedef struct VkSparseBufferMemoryBindInfo {
3710 const VkSparseMemoryBind* pBinds;
3711 } VkSparseBufferMemoryBindInfo;
3713 typedef struct VkSparseImageOpaqueMemoryBindInfo {
3716 const VkSparseMemoryBind* pBinds;
3717 } VkSparseImageOpaqueMemoryBindInfo;
3719 typedef struct VkImageSubresource {
3720 VkImageAspectFlags aspectMask;
3722 deUint32 arrayLayer;
3723 } VkImageSubresource;
3725 typedef struct VkSparseImageMemoryBind {
3726 VkImageSubresource subresource;
3729 VkDeviceMemory memory;
3730 VkDeviceSize memoryOffset;
3731 VkSparseMemoryBindFlags flags;
3732 } VkSparseImageMemoryBind;
3734 typedef struct VkSparseImageMemoryBindInfo {
3737 const VkSparseImageMemoryBind* pBinds;
3738 } VkSparseImageMemoryBindInfo;
3740 typedef struct VkBindSparseInfo {
3741 VkStructureType sType;
3743 deUint32 waitSemaphoreCount;
3744 const VkSemaphore* pWaitSemaphores;
3745 deUint32 bufferBindCount;
3746 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3747 deUint32 imageOpaqueBindCount;
3748 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3749 deUint32 imageBindCount;
3750 const VkSparseImageMemoryBindInfo* pImageBinds;
3751 deUint32 signalSemaphoreCount;
3752 const VkSemaphore* pSignalSemaphores;
3755 typedef struct VkSparseImageFormatProperties {
3756 VkImageAspectFlags aspectMask;
3757 VkExtent3D imageGranularity;
3758 VkSparseImageFormatFlags flags;
3759 } VkSparseImageFormatProperties;
3761 typedef struct VkSparseImageMemoryRequirements {
3762 VkSparseImageFormatProperties formatProperties;
3763 deUint32 imageMipTailFirstLod;
3764 VkDeviceSize imageMipTailSize;
3765 VkDeviceSize imageMipTailOffset;
3766 VkDeviceSize imageMipTailStride;
3767 } VkSparseImageMemoryRequirements;
3769 typedef struct VkFenceCreateInfo {
3770 VkStructureType sType;
3772 VkFenceCreateFlags flags;
3773 } VkFenceCreateInfo;
3775 typedef struct VkSemaphoreCreateInfo {
3776 VkStructureType sType;
3778 VkSemaphoreCreateFlags flags;
3779 } VkSemaphoreCreateInfo;
3781 typedef struct VkEventCreateInfo {
3782 VkStructureType sType;
3784 VkEventCreateFlags flags;
3785 } VkEventCreateInfo;
3787 typedef struct VkQueryPoolCreateInfo {
3788 VkStructureType sType;
3790 VkQueryPoolCreateFlags flags;
3791 VkQueryType queryType;
3792 deUint32 queryCount;
3793 VkQueryPipelineStatisticFlags pipelineStatistics;
3794 } VkQueryPoolCreateInfo;
3796 typedef struct VkBufferCreateInfo {
3797 VkStructureType sType;
3799 VkBufferCreateFlags flags;
3801 VkBufferUsageFlags usage;
3802 VkSharingMode sharingMode;
3803 deUint32 queueFamilyIndexCount;
3804 const deUint32* pQueueFamilyIndices;
3805 } VkBufferCreateInfo;
3807 typedef struct VkBufferViewCreateInfo {
3808 VkStructureType sType;
3810 VkBufferViewCreateFlags flags;
3813 VkDeviceSize offset;
3815 } VkBufferViewCreateInfo;
3817 typedef struct VkImageCreateInfo {
3818 VkStructureType sType;
3820 VkImageCreateFlags flags;
3821 VkImageType imageType;
3825 deUint32 arrayLayers;
3826 VkSampleCountFlagBits samples;
3827 VkImageTiling tiling;
3828 VkImageUsageFlags usage;
3829 VkSharingMode sharingMode;
3830 deUint32 queueFamilyIndexCount;
3831 const deUint32* pQueueFamilyIndices;
3832 VkImageLayout initialLayout;
3833 } VkImageCreateInfo;
3835 typedef struct VkSubresourceLayout {
3836 VkDeviceSize offset;
3838 VkDeviceSize rowPitch;
3839 VkDeviceSize arrayPitch;
3840 VkDeviceSize depthPitch;
3841 } VkSubresourceLayout;
3843 typedef struct VkComponentMapping {
3844 VkComponentSwizzle r;
3845 VkComponentSwizzle g;
3846 VkComponentSwizzle b;
3847 VkComponentSwizzle a;
3848 } VkComponentMapping;
3850 typedef struct VkImageViewCreateInfo {
3851 VkStructureType sType;
3853 VkImageViewCreateFlags flags;
3855 VkImageViewType viewType;
3857 VkComponentMapping components;
3858 VkImageSubresourceRange subresourceRange;
3859 } VkImageViewCreateInfo;
3861 typedef struct VkShaderModuleCreateInfo {
3862 VkStructureType sType;
3864 VkShaderModuleCreateFlags flags;
3866 const deUint32* pCode;
3867 } VkShaderModuleCreateInfo;
3869 typedef struct VkPipelineCacheCreateInfo {
3870 VkStructureType sType;
3872 VkPipelineCacheCreateFlags flags;
3873 deUintptr initialDataSize;
3874 const void* pInitialData;
3875 } VkPipelineCacheCreateInfo;
3877 typedef struct VkSpecializationMapEntry {
3878 deUint32 constantID;
3881 } VkSpecializationMapEntry;
3883 typedef struct VkSpecializationInfo {
3884 deUint32 mapEntryCount;
3885 const VkSpecializationMapEntry* pMapEntries;
3888 } VkSpecializationInfo;
3890 typedef struct VkPipelineShaderStageCreateInfo {
3891 VkStructureType sType;
3893 VkPipelineShaderStageCreateFlags flags;
3894 VkShaderStageFlagBits stage;
3895 VkShaderModule module;
3897 const VkSpecializationInfo* pSpecializationInfo;
3898 } VkPipelineShaderStageCreateInfo;
3900 typedef struct VkComputePipelineCreateInfo {
3901 VkStructureType sType;
3903 VkPipelineCreateFlags flags;
3904 VkPipelineShaderStageCreateInfo stage;
3905 VkPipelineLayout layout;
3906 VkPipeline basePipelineHandle;
3907 deInt32 basePipelineIndex;
3908 } VkComputePipelineCreateInfo;
3910 typedef struct VkVertexInputBindingDescription {
3913 VkVertexInputRate inputRate;
3914 } VkVertexInputBindingDescription;
3916 typedef struct VkVertexInputAttributeDescription {
3921 } VkVertexInputAttributeDescription;
3923 typedef struct VkPipelineVertexInputStateCreateInfo {
3924 VkStructureType sType;
3926 VkPipelineVertexInputStateCreateFlags flags;
3927 deUint32 vertexBindingDescriptionCount;
3928 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3929 deUint32 vertexAttributeDescriptionCount;
3930 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3931 } VkPipelineVertexInputStateCreateInfo;
3933 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3934 VkStructureType sType;
3936 VkPipelineInputAssemblyStateCreateFlags flags;
3937 VkPrimitiveTopology topology;
3938 VkBool32 primitiveRestartEnable;
3939 } VkPipelineInputAssemblyStateCreateInfo;
3941 typedef struct VkPipelineTessellationStateCreateInfo {
3942 VkStructureType sType;
3944 VkPipelineTessellationStateCreateFlags flags;
3945 deUint32 patchControlPoints;
3946 } VkPipelineTessellationStateCreateInfo;
3948 typedef struct VkViewport {
3957 typedef struct VkPipelineViewportStateCreateInfo {
3958 VkStructureType sType;
3960 VkPipelineViewportStateCreateFlags flags;
3961 deUint32 viewportCount;
3962 const VkViewport* pViewports;
3963 deUint32 scissorCount;
3964 const VkRect2D* pScissors;
3965 } VkPipelineViewportStateCreateInfo;
3967 typedef struct VkPipelineRasterizationStateCreateInfo {
3968 VkStructureType sType;
3970 VkPipelineRasterizationStateCreateFlags flags;
3971 VkBool32 depthClampEnable;
3972 VkBool32 rasterizerDiscardEnable;
3973 VkPolygonMode polygonMode;
3974 VkCullModeFlags cullMode;
3975 VkFrontFace frontFace;
3976 VkBool32 depthBiasEnable;
3977 float depthBiasConstantFactor;
3978 float depthBiasClamp;
3979 float depthBiasSlopeFactor;
3981 } VkPipelineRasterizationStateCreateInfo;
3983 typedef struct VkPipelineMultisampleStateCreateInfo {
3984 VkStructureType sType;
3986 VkPipelineMultisampleStateCreateFlags flags;
3987 VkSampleCountFlagBits rasterizationSamples;
3988 VkBool32 sampleShadingEnable;
3989 float minSampleShading;
3990 const VkSampleMask* pSampleMask;
3991 VkBool32 alphaToCoverageEnable;
3992 VkBool32 alphaToOneEnable;
3993 } VkPipelineMultisampleStateCreateInfo;
3995 typedef struct VkStencilOpState {
3998 VkStencilOp depthFailOp;
3999 VkCompareOp compareOp;
4000 deUint32 compareMask;
4005 typedef struct VkPipelineDepthStencilStateCreateInfo {
4006 VkStructureType sType;
4008 VkPipelineDepthStencilStateCreateFlags flags;
4009 VkBool32 depthTestEnable;
4010 VkBool32 depthWriteEnable;
4011 VkCompareOp depthCompareOp;
4012 VkBool32 depthBoundsTestEnable;
4013 VkBool32 stencilTestEnable;
4014 VkStencilOpState front;
4015 VkStencilOpState back;
4016 float minDepthBounds;
4017 float maxDepthBounds;
4018 } VkPipelineDepthStencilStateCreateInfo;
4020 typedef struct VkPipelineColorBlendAttachmentState {
4021 VkBool32 blendEnable;
4022 VkBlendFactor srcColorBlendFactor;
4023 VkBlendFactor dstColorBlendFactor;
4024 VkBlendOp colorBlendOp;
4025 VkBlendFactor srcAlphaBlendFactor;
4026 VkBlendFactor dstAlphaBlendFactor;
4027 VkBlendOp alphaBlendOp;
4028 VkColorComponentFlags colorWriteMask;
4029 } VkPipelineColorBlendAttachmentState;
4031 typedef struct VkPipelineColorBlendStateCreateInfo {
4032 VkStructureType sType;
4034 VkPipelineColorBlendStateCreateFlags flags;
4035 VkBool32 logicOpEnable;
4037 deUint32 attachmentCount;
4038 const VkPipelineColorBlendAttachmentState* pAttachments;
4039 float blendConstants[4];
4040 } VkPipelineColorBlendStateCreateInfo;
4042 typedef struct VkPipelineDynamicStateCreateInfo {
4043 VkStructureType sType;
4045 VkPipelineDynamicStateCreateFlags flags;
4046 deUint32 dynamicStateCount;
4047 const VkDynamicState* pDynamicStates;
4048 } VkPipelineDynamicStateCreateInfo;
4050 typedef struct VkGraphicsPipelineCreateInfo {
4051 VkStructureType sType;
4053 VkPipelineCreateFlags flags;
4054 deUint32 stageCount;
4055 const VkPipelineShaderStageCreateInfo* pStages;
4056 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4057 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4058 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4059 const VkPipelineViewportStateCreateInfo* pViewportState;
4060 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4061 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4062 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4063 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4064 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4065 VkPipelineLayout layout;
4066 VkRenderPass renderPass;
4068 VkPipeline basePipelineHandle;
4069 deInt32 basePipelineIndex;
4070 } VkGraphicsPipelineCreateInfo;
4072 typedef struct VkPushConstantRange {
4073 VkShaderStageFlags stageFlags;
4076 } VkPushConstantRange;
4078 typedef struct VkPipelineLayoutCreateInfo {
4079 VkStructureType sType;
4081 VkPipelineLayoutCreateFlags flags;
4082 deUint32 setLayoutCount;
4083 const VkDescriptorSetLayout* pSetLayouts;
4084 deUint32 pushConstantRangeCount;
4085 const VkPushConstantRange* pPushConstantRanges;
4086 } VkPipelineLayoutCreateInfo;
4088 typedef struct VkSamplerCreateInfo {
4089 VkStructureType sType;
4091 VkSamplerCreateFlags flags;
4094 VkSamplerMipmapMode mipmapMode;
4095 VkSamplerAddressMode addressModeU;
4096 VkSamplerAddressMode addressModeV;
4097 VkSamplerAddressMode addressModeW;
4099 VkBool32 anisotropyEnable;
4100 float maxAnisotropy;
4101 VkBool32 compareEnable;
4102 VkCompareOp compareOp;
4105 VkBorderColor borderColor;
4106 VkBool32 unnormalizedCoordinates;
4107 } VkSamplerCreateInfo;
4109 typedef struct VkCopyDescriptorSet {
4110 VkStructureType sType;
4112 VkDescriptorSet srcSet;
4113 deUint32 srcBinding;
4114 deUint32 srcArrayElement;
4115 VkDescriptorSet dstSet;
4116 deUint32 dstBinding;
4117 deUint32 dstArrayElement;
4118 deUint32 descriptorCount;
4119 } VkCopyDescriptorSet;
4121 typedef struct VkDescriptorBufferInfo {
4123 VkDeviceSize offset;
4125 } VkDescriptorBufferInfo;
4127 typedef struct VkDescriptorImageInfo {
4129 VkImageView imageView;
4130 VkImageLayout imageLayout;
4131 } VkDescriptorImageInfo;
4133 typedef struct VkDescriptorPoolSize {
4134 VkDescriptorType type;
4135 deUint32 descriptorCount;
4136 } VkDescriptorPoolSize;
4138 typedef struct VkDescriptorPoolCreateInfo {
4139 VkStructureType sType;
4141 VkDescriptorPoolCreateFlags flags;
4143 deUint32 poolSizeCount;
4144 const VkDescriptorPoolSize* pPoolSizes;
4145 } VkDescriptorPoolCreateInfo;
4147 typedef struct VkDescriptorSetAllocateInfo {
4148 VkStructureType sType;
4150 VkDescriptorPool descriptorPool;
4151 deUint32 descriptorSetCount;
4152 const VkDescriptorSetLayout* pSetLayouts;
4153 } VkDescriptorSetAllocateInfo;
4155 typedef struct VkDescriptorSetLayoutBinding {
4157 VkDescriptorType descriptorType;
4158 deUint32 descriptorCount;
4159 VkShaderStageFlags stageFlags;
4160 const VkSampler* pImmutableSamplers;
4161 } VkDescriptorSetLayoutBinding;
4163 typedef struct VkDescriptorSetLayoutCreateInfo {
4164 VkStructureType sType;
4166 VkDescriptorSetLayoutCreateFlags flags;
4167 deUint32 bindingCount;
4168 const VkDescriptorSetLayoutBinding* pBindings;
4169 } VkDescriptorSetLayoutCreateInfo;
4171 typedef struct VkWriteDescriptorSet {
4172 VkStructureType sType;
4174 VkDescriptorSet dstSet;
4175 deUint32 dstBinding;
4176 deUint32 dstArrayElement;
4177 deUint32 descriptorCount;
4178 VkDescriptorType descriptorType;
4179 const VkDescriptorImageInfo* pImageInfo;
4180 const VkDescriptorBufferInfo* pBufferInfo;
4181 const VkBufferView* pTexelBufferView;
4182 } VkWriteDescriptorSet;
4184 typedef struct VkAttachmentDescription {
4185 VkAttachmentDescriptionFlags flags;
4187 VkSampleCountFlagBits samples;
4188 VkAttachmentLoadOp loadOp;
4189 VkAttachmentStoreOp storeOp;
4190 VkAttachmentLoadOp stencilLoadOp;
4191 VkAttachmentStoreOp stencilStoreOp;
4192 VkImageLayout initialLayout;
4193 VkImageLayout finalLayout;
4194 } VkAttachmentDescription;
4196 typedef struct VkAttachmentReference {
4197 deUint32 attachment;
4198 VkImageLayout layout;
4199 } VkAttachmentReference;
4201 typedef struct VkFramebufferCreateInfo {
4202 VkStructureType sType;
4204 VkFramebufferCreateFlags flags;
4205 VkRenderPass renderPass;
4206 deUint32 attachmentCount;
4207 const VkImageView* pAttachments;
4211 } VkFramebufferCreateInfo;
4213 typedef struct VkSubpassDescription {
4214 VkSubpassDescriptionFlags flags;
4215 VkPipelineBindPoint pipelineBindPoint;
4216 deUint32 inputAttachmentCount;
4217 const VkAttachmentReference* pInputAttachments;
4218 deUint32 colorAttachmentCount;
4219 const VkAttachmentReference* pColorAttachments;
4220 const VkAttachmentReference* pResolveAttachments;
4221 const VkAttachmentReference* pDepthStencilAttachment;
4222 deUint32 preserveAttachmentCount;
4223 const deUint32* pPreserveAttachments;
4224 } VkSubpassDescription;
4226 typedef struct VkSubpassDependency {
4227 deUint32 srcSubpass;
4228 deUint32 dstSubpass;
4229 VkPipelineStageFlags srcStageMask;
4230 VkPipelineStageFlags dstStageMask;
4231 VkAccessFlags srcAccessMask;
4232 VkAccessFlags dstAccessMask;
4233 VkDependencyFlags dependencyFlags;
4234 } VkSubpassDependency;
4236 typedef struct VkRenderPassCreateInfo {
4237 VkStructureType sType;
4239 VkRenderPassCreateFlags flags;
4240 deUint32 attachmentCount;
4241 const VkAttachmentDescription* pAttachments;
4242 deUint32 subpassCount;
4243 const VkSubpassDescription* pSubpasses;
4244 deUint32 dependencyCount;
4245 const VkSubpassDependency* pDependencies;
4246 } VkRenderPassCreateInfo;
4248 typedef struct VkCommandPoolCreateInfo {
4249 VkStructureType sType;
4251 VkCommandPoolCreateFlags flags;
4252 deUint32 queueFamilyIndex;
4253 } VkCommandPoolCreateInfo;
4255 typedef struct VkCommandBufferAllocateInfo {
4256 VkStructureType sType;
4258 VkCommandPool commandPool;
4259 VkCommandBufferLevel level;
4260 deUint32 commandBufferCount;
4261 } VkCommandBufferAllocateInfo;
4263 typedef struct VkCommandBufferInheritanceInfo {
4264 VkStructureType sType;
4266 VkRenderPass renderPass;
4268 VkFramebuffer framebuffer;
4269 VkBool32 occlusionQueryEnable;
4270 VkQueryControlFlags queryFlags;
4271 VkQueryPipelineStatisticFlags pipelineStatistics;
4272 } VkCommandBufferInheritanceInfo;
4274 typedef struct VkCommandBufferBeginInfo {
4275 VkStructureType sType;
4277 VkCommandBufferUsageFlags flags;
4278 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4279 } VkCommandBufferBeginInfo;
4281 typedef struct VkBufferCopy {
4282 VkDeviceSize srcOffset;
4283 VkDeviceSize dstOffset;
4287 typedef struct VkImageSubresourceLayers {
4288 VkImageAspectFlags aspectMask;
4290 deUint32 baseArrayLayer;
4291 deUint32 layerCount;
4292 } VkImageSubresourceLayers;
4294 typedef struct VkBufferImageCopy {
4295 VkDeviceSize bufferOffset;
4296 deUint32 bufferRowLength;
4297 deUint32 bufferImageHeight;
4298 VkImageSubresourceLayers imageSubresource;
4299 VkOffset3D imageOffset;
4300 VkExtent3D imageExtent;
4301 } VkBufferImageCopy;
4303 typedef union VkClearColorValue {
4307 } VkClearColorValue;
4309 typedef struct VkClearDepthStencilValue {
4312 } VkClearDepthStencilValue;
4314 typedef union VkClearValue {
4315 VkClearColorValue color;
4316 VkClearDepthStencilValue depthStencil;
4319 typedef struct VkClearAttachment {
4320 VkImageAspectFlags aspectMask;
4321 deUint32 colorAttachment;
4322 VkClearValue clearValue;
4323 } VkClearAttachment;
4325 typedef struct VkClearRect {
4327 deUint32 baseArrayLayer;
4328 deUint32 layerCount;
4331 typedef struct VkImageBlit {
4332 VkImageSubresourceLayers srcSubresource;
4333 VkOffset3D srcOffsets[2];
4334 VkImageSubresourceLayers dstSubresource;
4335 VkOffset3D dstOffsets[2];
4338 typedef struct VkImageCopy {
4339 VkImageSubresourceLayers srcSubresource;
4340 VkOffset3D srcOffset;
4341 VkImageSubresourceLayers dstSubresource;
4342 VkOffset3D dstOffset;
4346 typedef struct VkImageResolve {
4347 VkImageSubresourceLayers srcSubresource;
4348 VkOffset3D srcOffset;
4349 VkImageSubresourceLayers dstSubresource;
4350 VkOffset3D dstOffset;
4354 typedef struct VkRenderPassBeginInfo {
4355 VkStructureType sType;
4357 VkRenderPass renderPass;
4358 VkFramebuffer framebuffer;
4359 VkRect2D renderArea;
4360 deUint32 clearValueCount;
4361 const VkClearValue* pClearValues;
4362 } VkRenderPassBeginInfo;
4364 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4365 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4366 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4367 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4368 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4369 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4370 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4371 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4372 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4373 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4374 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4375 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4376 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4377 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4378 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4379 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4380 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4381 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4382 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4383 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4384 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4385 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4386 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4387 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4388 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4389 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4390 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4391 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4392 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4393 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4394 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4395 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4396 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4397 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4398 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4399 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4400 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4401 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4402 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4403 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4404 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4405 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4406 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4407 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4408 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4409 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4410 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4411 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4412 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4413 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4414 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4415 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4416 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4417 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4418 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4419 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4420 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4421 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4422 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4423 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4424 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4425 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4426 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4427 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4428 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4429 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4430 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4431 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4432 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4433 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4434 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4435 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4436 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4437 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4438 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4439 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4440 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4441 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4442 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4443 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4444 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4445 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4446 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4447 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4448 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4449 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4450 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4451 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4452 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4453 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4454 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4455 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4456 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4457 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4458 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4459 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4460 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4461 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4462 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4463 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4464 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4465 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4466 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4467 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4468 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4469 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4470 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4471 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4472 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4473 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4474 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4475 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4476 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4477 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4478 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4479 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4480 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4481 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4482 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4483 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4484 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4485 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4486 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4487 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4488 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4489 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);
4490 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);
4491 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4492 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4493 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4494 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4495 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4496 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4497 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4498 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4499 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4500 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4502 #ifndef VK_NO_PROTOTYPES
4503 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4504 const VkInstanceCreateInfo* pCreateInfo,
4505 const VkAllocationCallbacks* pAllocator,
4506 VkInstance* pInstance);
4508 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4509 VkInstance instance,
4510 const VkAllocationCallbacks* pAllocator);
4512 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4513 VkInstance instance,
4514 deUint32* pPhysicalDeviceCount,
4515 VkPhysicalDevice* pPhysicalDevices);
4517 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4518 VkPhysicalDevice physicalDevice,
4519 VkPhysicalDeviceFeatures* pFeatures);
4521 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4522 VkPhysicalDevice physicalDevice,
4524 VkFormatProperties* pFormatProperties);
4526 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4527 VkPhysicalDevice physicalDevice,
4530 VkImageTiling tiling,
4531 VkImageUsageFlags usage,
4532 VkImageCreateFlags flags,
4533 VkImageFormatProperties* pImageFormatProperties);
4535 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4536 VkPhysicalDevice physicalDevice,
4537 VkPhysicalDeviceProperties* pProperties);
4539 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4540 VkPhysicalDevice physicalDevice,
4541 deUint32* pQueueFamilyPropertyCount,
4542 VkQueueFamilyProperties* pQueueFamilyProperties);
4544 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4545 VkPhysicalDevice physicalDevice,
4546 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4548 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4549 VkInstance instance,
4552 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4556 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4557 VkPhysicalDevice physicalDevice,
4558 const VkDeviceCreateInfo* pCreateInfo,
4559 const VkAllocationCallbacks* pAllocator,
4562 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4564 const VkAllocationCallbacks* pAllocator);
4566 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4567 const char* pLayerName,
4568 deUint32* pPropertyCount,
4569 VkExtensionProperties* pProperties);
4571 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4572 VkPhysicalDevice physicalDevice,
4573 const char* pLayerName,
4574 deUint32* pPropertyCount,
4575 VkExtensionProperties* pProperties);
4577 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4578 deUint32* pPropertyCount,
4579 VkLayerProperties* pProperties);
4581 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4582 VkPhysicalDevice physicalDevice,
4583 deUint32* pPropertyCount,
4584 VkLayerProperties* pProperties);
4586 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4588 deUint32 queueFamilyIndex,
4589 deUint32 queueIndex,
4592 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4594 deUint32 submitCount,
4595 const VkSubmitInfo* pSubmits,
4598 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4601 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4604 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4606 const VkMemoryAllocateInfo* pAllocateInfo,
4607 const VkAllocationCallbacks* pAllocator,
4608 VkDeviceMemory* pMemory);
4610 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4612 VkDeviceMemory memory,
4613 const VkAllocationCallbacks* pAllocator);
4615 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4617 VkDeviceMemory memory,
4618 VkDeviceSize offset,
4620 VkMemoryMapFlags flags,
4623 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4625 VkDeviceMemory memory);
4627 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4629 deUint32 memoryRangeCount,
4630 const VkMappedMemoryRange* pMemoryRanges);
4632 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4634 deUint32 memoryRangeCount,
4635 const VkMappedMemoryRange* pMemoryRanges);
4637 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4639 VkDeviceMemory memory,
4640 VkDeviceSize* pCommittedMemoryInBytes);
4642 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4645 VkDeviceMemory memory,
4646 VkDeviceSize memoryOffset);
4648 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4651 VkDeviceMemory memory,
4652 VkDeviceSize memoryOffset);
4654 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4657 VkMemoryRequirements* pMemoryRequirements);
4659 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4662 VkMemoryRequirements* pMemoryRequirements);
4664 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4667 deUint32* pSparseMemoryRequirementCount,
4668 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4670 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4671 VkPhysicalDevice physicalDevice,
4674 VkSampleCountFlagBits samples,
4675 VkImageUsageFlags usage,
4676 VkImageTiling tiling,
4677 deUint32* pPropertyCount,
4678 VkSparseImageFormatProperties* pProperties);
4680 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4682 deUint32 bindInfoCount,
4683 const VkBindSparseInfo* pBindInfo,
4686 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4688 const VkFenceCreateInfo* pCreateInfo,
4689 const VkAllocationCallbacks* pAllocator,
4692 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4695 const VkAllocationCallbacks* pAllocator);
4697 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4699 deUint32 fenceCount,
4700 const VkFence* pFences);
4702 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4706 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4708 deUint32 fenceCount,
4709 const VkFence* pFences,
4713 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4715 const VkSemaphoreCreateInfo* pCreateInfo,
4716 const VkAllocationCallbacks* pAllocator,
4717 VkSemaphore* pSemaphore);
4719 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4721 VkSemaphore semaphore,
4722 const VkAllocationCallbacks* pAllocator);
4724 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4726 const VkEventCreateInfo* pCreateInfo,
4727 const VkAllocationCallbacks* pAllocator,
4730 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4733 const VkAllocationCallbacks* pAllocator);
4735 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4739 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4743 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4747 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4749 const VkQueryPoolCreateInfo* pCreateInfo,
4750 const VkAllocationCallbacks* pAllocator,
4751 VkQueryPool* pQueryPool);
4753 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4755 VkQueryPool queryPool,
4756 const VkAllocationCallbacks* pAllocator);
4758 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4760 VkQueryPool queryPool,
4761 deUint32 firstQuery,
4762 deUint32 queryCount,
4765 VkDeviceSize stride,
4766 VkQueryResultFlags flags);
4768 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4770 const VkBufferCreateInfo* pCreateInfo,
4771 const VkAllocationCallbacks* pAllocator,
4774 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4777 const VkAllocationCallbacks* pAllocator);
4779 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4781 const VkBufferViewCreateInfo* pCreateInfo,
4782 const VkAllocationCallbacks* pAllocator,
4783 VkBufferView* pView);
4785 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4787 VkBufferView bufferView,
4788 const VkAllocationCallbacks* pAllocator);
4790 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4792 const VkImageCreateInfo* pCreateInfo,
4793 const VkAllocationCallbacks* pAllocator,
4796 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4799 const VkAllocationCallbacks* pAllocator);
4801 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4804 const VkImageSubresource* pSubresource,
4805 VkSubresourceLayout* pLayout);
4807 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4809 const VkImageViewCreateInfo* pCreateInfo,
4810 const VkAllocationCallbacks* pAllocator,
4811 VkImageView* pView);
4813 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4815 VkImageView imageView,
4816 const VkAllocationCallbacks* pAllocator);
4818 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4820 const VkShaderModuleCreateInfo* pCreateInfo,
4821 const VkAllocationCallbacks* pAllocator,
4822 VkShaderModule* pShaderModule);
4824 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4826 VkShaderModule shaderModule,
4827 const VkAllocationCallbacks* pAllocator);
4829 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4831 const VkPipelineCacheCreateInfo* pCreateInfo,
4832 const VkAllocationCallbacks* pAllocator,
4833 VkPipelineCache* pPipelineCache);
4835 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4837 VkPipelineCache pipelineCache,
4838 const VkAllocationCallbacks* pAllocator);
4840 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4842 VkPipelineCache pipelineCache,
4843 deUintptr* pDataSize,
4846 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4848 VkPipelineCache dstCache,
4849 deUint32 srcCacheCount,
4850 const VkPipelineCache* pSrcCaches);
4852 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4854 VkPipelineCache pipelineCache,
4855 deUint32 createInfoCount,
4856 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4857 const VkAllocationCallbacks* pAllocator,
4858 VkPipeline* pPipelines);
4860 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4862 VkPipelineCache pipelineCache,
4863 deUint32 createInfoCount,
4864 const VkComputePipelineCreateInfo* pCreateInfos,
4865 const VkAllocationCallbacks* pAllocator,
4866 VkPipeline* pPipelines);
4868 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4870 VkPipeline pipeline,
4871 const VkAllocationCallbacks* pAllocator);
4873 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4875 const VkPipelineLayoutCreateInfo* pCreateInfo,
4876 const VkAllocationCallbacks* pAllocator,
4877 VkPipelineLayout* pPipelineLayout);
4879 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4881 VkPipelineLayout pipelineLayout,
4882 const VkAllocationCallbacks* pAllocator);
4884 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4886 const VkSamplerCreateInfo* pCreateInfo,
4887 const VkAllocationCallbacks* pAllocator,
4888 VkSampler* pSampler);
4890 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4893 const VkAllocationCallbacks* pAllocator);
4895 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4897 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4898 const VkAllocationCallbacks* pAllocator,
4899 VkDescriptorSetLayout* pSetLayout);
4901 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4903 VkDescriptorSetLayout descriptorSetLayout,
4904 const VkAllocationCallbacks* pAllocator);
4906 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4908 const VkDescriptorPoolCreateInfo* pCreateInfo,
4909 const VkAllocationCallbacks* pAllocator,
4910 VkDescriptorPool* pDescriptorPool);
4912 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4914 VkDescriptorPool descriptorPool,
4915 const VkAllocationCallbacks* pAllocator);
4917 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4919 VkDescriptorPool descriptorPool,
4920 VkDescriptorPoolResetFlags flags);
4922 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4924 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4925 VkDescriptorSet* pDescriptorSets);
4927 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4929 VkDescriptorPool descriptorPool,
4930 deUint32 descriptorSetCount,
4931 const VkDescriptorSet* pDescriptorSets);
4933 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4935 deUint32 descriptorWriteCount,
4936 const VkWriteDescriptorSet* pDescriptorWrites,
4937 deUint32 descriptorCopyCount,
4938 const VkCopyDescriptorSet* pDescriptorCopies);
4940 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4942 const VkFramebufferCreateInfo* pCreateInfo,
4943 const VkAllocationCallbacks* pAllocator,
4944 VkFramebuffer* pFramebuffer);
4946 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4948 VkFramebuffer framebuffer,
4949 const VkAllocationCallbacks* pAllocator);
4951 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4953 const VkRenderPassCreateInfo* pCreateInfo,
4954 const VkAllocationCallbacks* pAllocator,
4955 VkRenderPass* pRenderPass);
4957 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4959 VkRenderPass renderPass,
4960 const VkAllocationCallbacks* pAllocator);
4962 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4964 VkRenderPass renderPass,
4965 VkExtent2D* pGranularity);
4967 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4969 const VkCommandPoolCreateInfo* pCreateInfo,
4970 const VkAllocationCallbacks* pAllocator,
4971 VkCommandPool* pCommandPool);
4973 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4975 VkCommandPool commandPool,
4976 const VkAllocationCallbacks* pAllocator);
4978 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4980 VkCommandPool commandPool,
4981 VkCommandPoolResetFlags flags);
4983 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4985 const VkCommandBufferAllocateInfo* pAllocateInfo,
4986 VkCommandBuffer* pCommandBuffers);
4988 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4990 VkCommandPool commandPool,
4991 deUint32 commandBufferCount,
4992 const VkCommandBuffer* pCommandBuffers);
4994 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4995 VkCommandBuffer commandBuffer,
4996 const VkCommandBufferBeginInfo* pBeginInfo);
4998 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4999 VkCommandBuffer commandBuffer);
5001 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
5002 VkCommandBuffer commandBuffer,
5003 VkCommandBufferResetFlags flags);
5005 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
5006 VkCommandBuffer commandBuffer,
5007 VkPipelineBindPoint pipelineBindPoint,
5008 VkPipeline pipeline);
5010 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
5011 VkCommandBuffer commandBuffer,
5012 deUint32 firstViewport,
5013 deUint32 viewportCount,
5014 const VkViewport* pViewports);
5016 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
5017 VkCommandBuffer commandBuffer,
5018 deUint32 firstScissor,
5019 deUint32 scissorCount,
5020 const VkRect2D* pScissors);
5022 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
5023 VkCommandBuffer commandBuffer,
5026 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
5027 VkCommandBuffer commandBuffer,
5028 float depthBiasConstantFactor,
5029 float depthBiasClamp,
5030 float depthBiasSlopeFactor);
5032 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
5033 VkCommandBuffer commandBuffer,
5034 const float blendConstants[4]);
5036 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
5037 VkCommandBuffer commandBuffer,
5038 float minDepthBounds,
5039 float maxDepthBounds);
5041 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5042 VkCommandBuffer commandBuffer,
5043 VkStencilFaceFlags faceMask,
5044 deUint32 compareMask);
5046 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5047 VkCommandBuffer commandBuffer,
5048 VkStencilFaceFlags faceMask,
5049 deUint32 writeMask);
5051 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5052 VkCommandBuffer commandBuffer,
5053 VkStencilFaceFlags faceMask,
5054 deUint32 reference);
5056 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5057 VkCommandBuffer commandBuffer,
5058 VkPipelineBindPoint pipelineBindPoint,
5059 VkPipelineLayout layout,
5061 deUint32 descriptorSetCount,
5062 const VkDescriptorSet* pDescriptorSets,
5063 deUint32 dynamicOffsetCount,
5064 const deUint32* pDynamicOffsets);
5066 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5067 VkCommandBuffer commandBuffer,
5069 VkDeviceSize offset,
5070 VkIndexType indexType);
5072 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5073 VkCommandBuffer commandBuffer,
5074 deUint32 firstBinding,
5075 deUint32 bindingCount,
5076 const VkBuffer* pBuffers,
5077 const VkDeviceSize* pOffsets);
5079 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5080 VkCommandBuffer commandBuffer,
5081 deUint32 vertexCount,
5082 deUint32 instanceCount,
5083 deUint32 firstVertex,
5084 deUint32 firstInstance);
5086 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5087 VkCommandBuffer commandBuffer,
5088 deUint32 indexCount,
5089 deUint32 instanceCount,
5090 deUint32 firstIndex,
5091 deInt32 vertexOffset,
5092 deUint32 firstInstance);
5094 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5095 VkCommandBuffer commandBuffer,
5097 VkDeviceSize offset,
5101 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5102 VkCommandBuffer commandBuffer,
5104 VkDeviceSize offset,
5108 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5109 VkCommandBuffer commandBuffer,
5110 deUint32 groupCountX,
5111 deUint32 groupCountY,
5112 deUint32 groupCountZ);
5114 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5115 VkCommandBuffer commandBuffer,
5117 VkDeviceSize offset);
5119 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5120 VkCommandBuffer commandBuffer,
5123 deUint32 regionCount,
5124 const VkBufferCopy* pRegions);
5126 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5127 VkCommandBuffer commandBuffer,
5129 VkImageLayout srcImageLayout,
5131 VkImageLayout dstImageLayout,
5132 deUint32 regionCount,
5133 const VkImageCopy* pRegions);
5135 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5136 VkCommandBuffer commandBuffer,
5138 VkImageLayout srcImageLayout,
5140 VkImageLayout dstImageLayout,
5141 deUint32 regionCount,
5142 const VkImageBlit* pRegions,
5145 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5146 VkCommandBuffer commandBuffer,
5149 VkImageLayout dstImageLayout,
5150 deUint32 regionCount,
5151 const VkBufferImageCopy* pRegions);
5153 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5154 VkCommandBuffer commandBuffer,
5156 VkImageLayout srcImageLayout,
5158 deUint32 regionCount,
5159 const VkBufferImageCopy* pRegions);
5161 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5162 VkCommandBuffer commandBuffer,
5164 VkDeviceSize dstOffset,
5165 VkDeviceSize dataSize,
5168 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5169 VkCommandBuffer commandBuffer,
5171 VkDeviceSize dstOffset,
5175 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5176 VkCommandBuffer commandBuffer,
5178 VkImageLayout imageLayout,
5179 const VkClearColorValue* pColor,
5180 deUint32 rangeCount,
5181 const VkImageSubresourceRange* pRanges);
5183 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5184 VkCommandBuffer commandBuffer,
5186 VkImageLayout imageLayout,
5187 const VkClearDepthStencilValue* pDepthStencil,
5188 deUint32 rangeCount,
5189 const VkImageSubresourceRange* pRanges);
5191 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5192 VkCommandBuffer commandBuffer,
5193 deUint32 attachmentCount,
5194 const VkClearAttachment* pAttachments,
5196 const VkClearRect* pRects);
5198 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5199 VkCommandBuffer commandBuffer,
5201 VkImageLayout srcImageLayout,
5203 VkImageLayout dstImageLayout,
5204 deUint32 regionCount,
5205 const VkImageResolve* pRegions);
5207 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5208 VkCommandBuffer commandBuffer,
5210 VkPipelineStageFlags stageMask);
5212 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5213 VkCommandBuffer commandBuffer,
5215 VkPipelineStageFlags stageMask);
5217 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5218 VkCommandBuffer commandBuffer,
5219 deUint32 eventCount,
5220 const VkEvent* pEvents,
5221 VkPipelineStageFlags srcStageMask,
5222 VkPipelineStageFlags dstStageMask,
5223 deUint32 memoryBarrierCount,
5224 const VkMemoryBarrier* pMemoryBarriers,
5225 deUint32 bufferMemoryBarrierCount,
5226 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5227 deUint32 imageMemoryBarrierCount,
5228 const VkImageMemoryBarrier* pImageMemoryBarriers);
5230 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5231 VkCommandBuffer commandBuffer,
5232 VkPipelineStageFlags srcStageMask,
5233 VkPipelineStageFlags dstStageMask,
5234 VkDependencyFlags dependencyFlags,
5235 deUint32 memoryBarrierCount,
5236 const VkMemoryBarrier* pMemoryBarriers,
5237 deUint32 bufferMemoryBarrierCount,
5238 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5239 deUint32 imageMemoryBarrierCount,
5240 const VkImageMemoryBarrier* pImageMemoryBarriers);
5242 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5243 VkCommandBuffer commandBuffer,
5244 VkQueryPool queryPool,
5246 VkQueryControlFlags flags);
5248 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5249 VkCommandBuffer commandBuffer,
5250 VkQueryPool queryPool,
5253 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5254 VkCommandBuffer commandBuffer,
5255 VkQueryPool queryPool,
5256 deUint32 firstQuery,
5257 deUint32 queryCount);
5259 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5260 VkCommandBuffer commandBuffer,
5261 VkPipelineStageFlagBits pipelineStage,
5262 VkQueryPool queryPool,
5265 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5266 VkCommandBuffer commandBuffer,
5267 VkQueryPool queryPool,
5268 deUint32 firstQuery,
5269 deUint32 queryCount,
5271 VkDeviceSize dstOffset,
5272 VkDeviceSize stride,
5273 VkQueryResultFlags flags);
5275 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5276 VkCommandBuffer commandBuffer,
5277 VkPipelineLayout layout,
5278 VkShaderStageFlags stageFlags,
5281 const void* pValues);
5283 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5284 VkCommandBuffer commandBuffer,
5285 const VkRenderPassBeginInfo* pRenderPassBegin,
5286 VkSubpassContents contents);
5288 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5289 VkCommandBuffer commandBuffer,
5290 VkSubpassContents contents);
5292 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5293 VkCommandBuffer commandBuffer);
5295 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5296 VkCommandBuffer commandBuffer,
5297 deUint32 commandBufferCount,
5298 const VkCommandBuffer* pCommandBuffers);
5302 #define VK_VERSION_1_1 1
5303 // Vulkan 1.1 version number
5304 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5306 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5307 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5308 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5309 #define VK_LUID_SIZE 8U
5310 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5312 typedef enum VkPointClippingBehavior {
5313 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5314 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5315 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5316 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5317 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5318 } VkPointClippingBehavior;
5320 typedef enum VkTessellationDomainOrigin {
5321 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5322 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5323 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5324 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5325 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5326 } VkTessellationDomainOrigin;
5328 typedef enum VkSamplerYcbcrModelConversion {
5329 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5330 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5331 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5332 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5333 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5334 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5335 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5336 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5337 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5338 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5339 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5340 } VkSamplerYcbcrModelConversion;
5342 typedef enum VkSamplerYcbcrRange {
5343 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5344 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5345 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5346 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5347 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5348 } VkSamplerYcbcrRange;
5350 typedef enum VkChromaLocation {
5351 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5352 VK_CHROMA_LOCATION_MIDPOINT = 1,
5353 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5354 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5355 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5358 typedef enum VkDescriptorUpdateTemplateType {
5359 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5360 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5361 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5362 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5363 } VkDescriptorUpdateTemplateType;
5365 typedef enum VkSubgroupFeatureFlagBits {
5366 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5367 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5368 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5369 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5370 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5371 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5372 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5373 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5374 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5375 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5376 } VkSubgroupFeatureFlagBits;
5377 typedef VkFlags VkSubgroupFeatureFlags;
5379 typedef enum VkPeerMemoryFeatureFlagBits {
5380 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5381 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5382 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5383 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5384 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5385 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5386 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5387 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5388 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5389 } VkPeerMemoryFeatureFlagBits;
5390 typedef VkFlags VkPeerMemoryFeatureFlags;
5392 typedef enum VkMemoryAllocateFlagBits {
5393 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5394 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5395 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5396 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5397 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5398 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5399 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5400 } VkMemoryAllocateFlagBits;
5401 typedef VkFlags VkMemoryAllocateFlags;
5402 typedef VkFlags VkCommandPoolTrimFlags;
5403 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5405 typedef enum VkExternalMemoryHandleTypeFlagBits {
5406 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5407 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5408 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5409 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5410 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5411 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5412 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5413 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5414 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5415 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5416 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5417 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5418 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
5419 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5420 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5421 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5422 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5423 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5424 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5425 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5426 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5427 } VkExternalMemoryHandleTypeFlagBits;
5428 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5430 typedef enum VkExternalMemoryFeatureFlagBits {
5431 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5432 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5433 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5434 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5435 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5436 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5437 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5438 } VkExternalMemoryFeatureFlagBits;
5439 typedef VkFlags VkExternalMemoryFeatureFlags;
5441 typedef enum VkExternalFenceHandleTypeFlagBits {
5442 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5443 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5444 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5445 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5446 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5447 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5448 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5449 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5450 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5451 } VkExternalFenceHandleTypeFlagBits;
5452 typedef VkFlags VkExternalFenceHandleTypeFlags;
5454 typedef enum VkExternalFenceFeatureFlagBits {
5455 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5456 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5457 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5458 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5459 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5460 } VkExternalFenceFeatureFlagBits;
5461 typedef VkFlags VkExternalFenceFeatureFlags;
5463 typedef enum VkFenceImportFlagBits {
5464 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5465 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5466 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5467 } VkFenceImportFlagBits;
5468 typedef VkFlags VkFenceImportFlags;
5470 typedef enum VkSemaphoreImportFlagBits {
5471 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5472 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5473 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5474 } VkSemaphoreImportFlagBits;
5475 typedef VkFlags VkSemaphoreImportFlags;
5477 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5478 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5479 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5480 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5481 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5482 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5483 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5484 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5485 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5486 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5487 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5488 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5489 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5490 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5491 } VkExternalSemaphoreHandleTypeFlagBits;
5492 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5494 typedef enum VkExternalSemaphoreFeatureFlagBits {
5495 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5496 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5497 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5498 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5499 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5500 } VkExternalSemaphoreFeatureFlagBits;
5501 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5502 typedef struct VkPhysicalDeviceSubgroupProperties {
5503 VkStructureType sType;
5505 deUint32 subgroupSize;
5506 VkShaderStageFlags supportedStages;
5507 VkSubgroupFeatureFlags supportedOperations;
5508 VkBool32 quadOperationsInAllStages;
5509 } VkPhysicalDeviceSubgroupProperties;
5511 typedef struct VkBindBufferMemoryInfo {
5512 VkStructureType sType;
5515 VkDeviceMemory memory;
5516 VkDeviceSize memoryOffset;
5517 } VkBindBufferMemoryInfo;
5519 typedef struct VkBindImageMemoryInfo {
5520 VkStructureType sType;
5523 VkDeviceMemory memory;
5524 VkDeviceSize memoryOffset;
5525 } VkBindImageMemoryInfo;
5527 typedef struct VkPhysicalDevice16BitStorageFeatures {
5528 VkStructureType sType;
5530 VkBool32 storageBuffer16BitAccess;
5531 VkBool32 uniformAndStorageBuffer16BitAccess;
5532 VkBool32 storagePushConstant16;
5533 VkBool32 storageInputOutput16;
5534 } VkPhysicalDevice16BitStorageFeatures;
5536 typedef struct VkMemoryDedicatedRequirements {
5537 VkStructureType sType;
5539 VkBool32 prefersDedicatedAllocation;
5540 VkBool32 requiresDedicatedAllocation;
5541 } VkMemoryDedicatedRequirements;
5543 typedef struct VkMemoryDedicatedAllocateInfo {
5544 VkStructureType sType;
5548 } VkMemoryDedicatedAllocateInfo;
5550 typedef struct VkMemoryAllocateFlagsInfo {
5551 VkStructureType sType;
5553 VkMemoryAllocateFlags flags;
5554 deUint32 deviceMask;
5555 } VkMemoryAllocateFlagsInfo;
5557 typedef struct VkDeviceGroupRenderPassBeginInfo {
5558 VkStructureType sType;
5560 deUint32 deviceMask;
5561 deUint32 deviceRenderAreaCount;
5562 const VkRect2D* pDeviceRenderAreas;
5563 } VkDeviceGroupRenderPassBeginInfo;
5565 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5566 VkStructureType sType;
5568 deUint32 deviceMask;
5569 } VkDeviceGroupCommandBufferBeginInfo;
5571 typedef struct VkDeviceGroupSubmitInfo {
5572 VkStructureType sType;
5574 deUint32 waitSemaphoreCount;
5575 const deUint32* pWaitSemaphoreDeviceIndices;
5576 deUint32 commandBufferCount;
5577 const deUint32* pCommandBufferDeviceMasks;
5578 deUint32 signalSemaphoreCount;
5579 const deUint32* pSignalSemaphoreDeviceIndices;
5580 } VkDeviceGroupSubmitInfo;
5582 typedef struct VkDeviceGroupBindSparseInfo {
5583 VkStructureType sType;
5585 deUint32 resourceDeviceIndex;
5586 deUint32 memoryDeviceIndex;
5587 } VkDeviceGroupBindSparseInfo;
5589 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5590 VkStructureType sType;
5592 deUint32 deviceIndexCount;
5593 const deUint32* pDeviceIndices;
5594 } VkBindBufferMemoryDeviceGroupInfo;
5596 typedef struct VkBindImageMemoryDeviceGroupInfo {
5597 VkStructureType sType;
5599 deUint32 deviceIndexCount;
5600 const deUint32* pDeviceIndices;
5601 deUint32 splitInstanceBindRegionCount;
5602 const VkRect2D* pSplitInstanceBindRegions;
5603 } VkBindImageMemoryDeviceGroupInfo;
5605 typedef struct VkPhysicalDeviceGroupProperties {
5606 VkStructureType sType;
5608 deUint32 physicalDeviceCount;
5609 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5610 VkBool32 subsetAllocation;
5611 } VkPhysicalDeviceGroupProperties;
5613 typedef struct VkDeviceGroupDeviceCreateInfo {
5614 VkStructureType sType;
5616 deUint32 physicalDeviceCount;
5617 const VkPhysicalDevice* pPhysicalDevices;
5618 } VkDeviceGroupDeviceCreateInfo;
5620 typedef struct VkBufferMemoryRequirementsInfo2 {
5621 VkStructureType sType;
5624 } VkBufferMemoryRequirementsInfo2;
5626 typedef struct VkImageMemoryRequirementsInfo2 {
5627 VkStructureType sType;
5630 } VkImageMemoryRequirementsInfo2;
5632 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5633 VkStructureType sType;
5636 } VkImageSparseMemoryRequirementsInfo2;
5638 typedef struct VkMemoryRequirements2 {
5639 VkStructureType sType;
5641 VkMemoryRequirements memoryRequirements;
5642 } VkMemoryRequirements2;
5644 typedef struct VkSparseImageMemoryRequirements2 {
5645 VkStructureType sType;
5647 VkSparseImageMemoryRequirements memoryRequirements;
5648 } VkSparseImageMemoryRequirements2;
5650 typedef struct VkPhysicalDeviceFeatures2 {
5651 VkStructureType sType;
5653 VkPhysicalDeviceFeatures features;
5654 } VkPhysicalDeviceFeatures2;
5656 typedef struct VkPhysicalDeviceProperties2 {
5657 VkStructureType sType;
5659 VkPhysicalDeviceProperties properties;
5660 } VkPhysicalDeviceProperties2;
5662 typedef struct VkFormatProperties2 {
5663 VkStructureType sType;
5665 VkFormatProperties formatProperties;
5666 } VkFormatProperties2;
5668 typedef struct VkImageFormatProperties2 {
5669 VkStructureType sType;
5671 VkImageFormatProperties imageFormatProperties;
5672 } VkImageFormatProperties2;
5674 typedef struct VkPhysicalDeviceImageFormatInfo2 {
5675 VkStructureType sType;
5679 VkImageTiling tiling;
5680 VkImageUsageFlags usage;
5681 VkImageCreateFlags flags;
5682 } VkPhysicalDeviceImageFormatInfo2;
5684 typedef struct VkQueueFamilyProperties2 {
5685 VkStructureType sType;
5687 VkQueueFamilyProperties queueFamilyProperties;
5688 } VkQueueFamilyProperties2;
5690 typedef struct VkPhysicalDeviceMemoryProperties2 {
5691 VkStructureType sType;
5693 VkPhysicalDeviceMemoryProperties memoryProperties;
5694 } VkPhysicalDeviceMemoryProperties2;
5696 typedef struct VkSparseImageFormatProperties2 {
5697 VkStructureType sType;
5699 VkSparseImageFormatProperties properties;
5700 } VkSparseImageFormatProperties2;
5702 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5703 VkStructureType sType;
5707 VkSampleCountFlagBits samples;
5708 VkImageUsageFlags usage;
5709 VkImageTiling tiling;
5710 } VkPhysicalDeviceSparseImageFormatInfo2;
5712 typedef struct VkPhysicalDevicePointClippingProperties {
5713 VkStructureType sType;
5715 VkPointClippingBehavior pointClippingBehavior;
5716 } VkPhysicalDevicePointClippingProperties;
5718 typedef struct VkInputAttachmentAspectReference {
5720 deUint32 inputAttachmentIndex;
5721 VkImageAspectFlags aspectMask;
5722 } VkInputAttachmentAspectReference;
5724 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5725 VkStructureType sType;
5727 deUint32 aspectReferenceCount;
5728 const VkInputAttachmentAspectReference* pAspectReferences;
5729 } VkRenderPassInputAttachmentAspectCreateInfo;
5731 typedef struct VkImageViewUsageCreateInfo {
5732 VkStructureType sType;
5734 VkImageUsageFlags usage;
5735 } VkImageViewUsageCreateInfo;
5737 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5738 VkStructureType sType;
5740 VkTessellationDomainOrigin domainOrigin;
5741 } VkPipelineTessellationDomainOriginStateCreateInfo;
5743 typedef struct VkRenderPassMultiviewCreateInfo {
5744 VkStructureType sType;
5746 deUint32 subpassCount;
5747 const deUint32* pViewMasks;
5748 deUint32 dependencyCount;
5749 const deInt32* pViewOffsets;
5750 deUint32 correlationMaskCount;
5751 const deUint32* pCorrelationMasks;
5752 } VkRenderPassMultiviewCreateInfo;
5754 typedef struct VkPhysicalDeviceMultiviewFeatures {
5755 VkStructureType sType;
5758 VkBool32 multiviewGeometryShader;
5759 VkBool32 multiviewTessellationShader;
5760 } VkPhysicalDeviceMultiviewFeatures;
5762 typedef struct VkPhysicalDeviceMultiviewProperties {
5763 VkStructureType sType;
5765 deUint32 maxMultiviewViewCount;
5766 deUint32 maxMultiviewInstanceIndex;
5767 } VkPhysicalDeviceMultiviewProperties;
5769 typedef struct VkPhysicalDeviceVariablePointersFeatures {
5770 VkStructureType sType;
5772 VkBool32 variablePointersStorageBuffer;
5773 VkBool32 variablePointers;
5774 } VkPhysicalDeviceVariablePointersFeatures;
5776 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5778 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5779 VkStructureType sType;
5781 VkBool32 protectedMemory;
5782 } VkPhysicalDeviceProtectedMemoryFeatures;
5784 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5785 VkStructureType sType;
5787 VkBool32 protectedNoFault;
5788 } VkPhysicalDeviceProtectedMemoryProperties;
5790 typedef struct VkDeviceQueueInfo2 {
5791 VkStructureType sType;
5793 VkDeviceQueueCreateFlags flags;
5794 deUint32 queueFamilyIndex;
5795 deUint32 queueIndex;
5796 } VkDeviceQueueInfo2;
5798 typedef struct VkProtectedSubmitInfo {
5799 VkStructureType sType;
5801 VkBool32 protectedSubmit;
5802 } VkProtectedSubmitInfo;
5804 typedef struct VkSamplerYcbcrConversionCreateInfo {
5805 VkStructureType sType;
5808 VkSamplerYcbcrModelConversion ycbcrModel;
5809 VkSamplerYcbcrRange ycbcrRange;
5810 VkComponentMapping components;
5811 VkChromaLocation xChromaOffset;
5812 VkChromaLocation yChromaOffset;
5813 VkFilter chromaFilter;
5814 VkBool32 forceExplicitReconstruction;
5815 } VkSamplerYcbcrConversionCreateInfo;
5817 typedef struct VkSamplerYcbcrConversionInfo {
5818 VkStructureType sType;
5820 VkSamplerYcbcrConversion conversion;
5821 } VkSamplerYcbcrConversionInfo;
5823 typedef struct VkBindImagePlaneMemoryInfo {
5824 VkStructureType sType;
5826 VkImageAspectFlagBits planeAspect;
5827 } VkBindImagePlaneMemoryInfo;
5829 typedef struct VkImagePlaneMemoryRequirementsInfo {
5830 VkStructureType sType;
5832 VkImageAspectFlagBits planeAspect;
5833 } VkImagePlaneMemoryRequirementsInfo;
5835 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5836 VkStructureType sType;
5838 VkBool32 samplerYcbcrConversion;
5839 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5841 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5842 VkStructureType sType;
5844 deUint32 combinedImageSamplerDescriptorCount;
5845 } VkSamplerYcbcrConversionImageFormatProperties;
5847 typedef struct VkDescriptorUpdateTemplateEntry {
5848 deUint32 dstBinding;
5849 deUint32 dstArrayElement;
5850 deUint32 descriptorCount;
5851 VkDescriptorType descriptorType;
5854 } VkDescriptorUpdateTemplateEntry;
5856 typedef struct VkDescriptorUpdateTemplateCreateInfo {
5857 VkStructureType sType;
5859 VkDescriptorUpdateTemplateCreateFlags flags;
5860 deUint32 descriptorUpdateEntryCount;
5861 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5862 VkDescriptorUpdateTemplateType templateType;
5863 VkDescriptorSetLayout descriptorSetLayout;
5864 VkPipelineBindPoint pipelineBindPoint;
5865 VkPipelineLayout pipelineLayout;
5867 } VkDescriptorUpdateTemplateCreateInfo;
5869 typedef struct VkExternalMemoryProperties {
5870 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5871 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5872 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5873 } VkExternalMemoryProperties;
5875 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5876 VkStructureType sType;
5878 VkExternalMemoryHandleTypeFlagBits handleType;
5879 } VkPhysicalDeviceExternalImageFormatInfo;
5881 typedef struct VkExternalImageFormatProperties {
5882 VkStructureType sType;
5884 VkExternalMemoryProperties externalMemoryProperties;
5885 } VkExternalImageFormatProperties;
5887 typedef struct VkPhysicalDeviceExternalBufferInfo {
5888 VkStructureType sType;
5890 VkBufferCreateFlags flags;
5891 VkBufferUsageFlags usage;
5892 VkExternalMemoryHandleTypeFlagBits handleType;
5893 } VkPhysicalDeviceExternalBufferInfo;
5895 typedef struct VkExternalBufferProperties {
5896 VkStructureType sType;
5898 VkExternalMemoryProperties externalMemoryProperties;
5899 } VkExternalBufferProperties;
5901 typedef struct VkPhysicalDeviceIDProperties {
5902 VkStructureType sType;
5904 deUint8 deviceUUID[VK_UUID_SIZE];
5905 deUint8 driverUUID[VK_UUID_SIZE];
5906 deUint8 deviceLUID[VK_LUID_SIZE];
5907 deUint32 deviceNodeMask;
5908 VkBool32 deviceLUIDValid;
5909 } VkPhysicalDeviceIDProperties;
5911 typedef struct VkExternalMemoryImageCreateInfo {
5912 VkStructureType sType;
5914 VkExternalMemoryHandleTypeFlags handleTypes;
5915 } VkExternalMemoryImageCreateInfo;
5917 typedef struct VkExternalMemoryBufferCreateInfo {
5918 VkStructureType sType;
5920 VkExternalMemoryHandleTypeFlags handleTypes;
5921 } VkExternalMemoryBufferCreateInfo;
5923 typedef struct VkExportMemoryAllocateInfo {
5924 VkStructureType sType;
5926 VkExternalMemoryHandleTypeFlags handleTypes;
5927 } VkExportMemoryAllocateInfo;
5929 typedef struct VkPhysicalDeviceExternalFenceInfo {
5930 VkStructureType sType;
5932 VkExternalFenceHandleTypeFlagBits handleType;
5933 } VkPhysicalDeviceExternalFenceInfo;
5935 typedef struct VkExternalFenceProperties {
5936 VkStructureType sType;
5938 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5939 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5940 VkExternalFenceFeatureFlags externalFenceFeatures;
5941 } VkExternalFenceProperties;
5943 typedef struct VkExportFenceCreateInfo {
5944 VkStructureType sType;
5946 VkExternalFenceHandleTypeFlags handleTypes;
5947 } VkExportFenceCreateInfo;
5949 typedef struct VkExportSemaphoreCreateInfo {
5950 VkStructureType sType;
5952 VkExternalSemaphoreHandleTypeFlags handleTypes;
5953 } VkExportSemaphoreCreateInfo;
5955 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5956 VkStructureType sType;
5958 VkExternalSemaphoreHandleTypeFlagBits handleType;
5959 } VkPhysicalDeviceExternalSemaphoreInfo;
5961 typedef struct VkExternalSemaphoreProperties {
5962 VkStructureType sType;
5964 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5965 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5966 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5967 } VkExternalSemaphoreProperties;
5969 typedef struct VkPhysicalDeviceMaintenance3Properties {
5970 VkStructureType sType;
5972 deUint32 maxPerSetDescriptors;
5973 VkDeviceSize maxMemoryAllocationSize;
5974 } VkPhysicalDeviceMaintenance3Properties;
5976 typedef struct VkDescriptorSetLayoutSupport {
5977 VkStructureType sType;
5980 } VkDescriptorSetLayoutSupport;
5982 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5983 VkStructureType sType;
5985 VkBool32 shaderDrawParameters;
5986 } VkPhysicalDeviceShaderDrawParametersFeatures;
5988 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5990 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
5991 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5992 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5993 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5994 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
5995 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
5996 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5997 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5998 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5999 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6000 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6001 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6002 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6003 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6004 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6005 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6006 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6007 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6008 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
6009 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6010 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6011 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6012 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6013 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6014 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6015 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6016 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6017 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
6019 #ifndef VK_NO_PROTOTYPES
6020 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
6021 deUint32* pApiVersion);
6023 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
6025 deUint32 bindInfoCount,
6026 const VkBindBufferMemoryInfo* pBindInfos);
6028 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
6030 deUint32 bindInfoCount,
6031 const VkBindImageMemoryInfo* pBindInfos);
6033 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
6036 deUint32 localDeviceIndex,
6037 deUint32 remoteDeviceIndex,
6038 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6040 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6041 VkCommandBuffer commandBuffer,
6042 deUint32 deviceMask);
6044 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6045 VkCommandBuffer commandBuffer,
6046 deUint32 baseGroupX,
6047 deUint32 baseGroupY,
6048 deUint32 baseGroupZ,
6049 deUint32 groupCountX,
6050 deUint32 groupCountY,
6051 deUint32 groupCountZ);
6053 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6054 VkInstance instance,
6055 deUint32* pPhysicalDeviceGroupCount,
6056 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6058 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6060 const VkImageMemoryRequirementsInfo2* pInfo,
6061 VkMemoryRequirements2* pMemoryRequirements);
6063 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6065 const VkBufferMemoryRequirementsInfo2* pInfo,
6066 VkMemoryRequirements2* pMemoryRequirements);
6068 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6070 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6071 deUint32* pSparseMemoryRequirementCount,
6072 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6074 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6075 VkPhysicalDevice physicalDevice,
6076 VkPhysicalDeviceFeatures2* pFeatures);
6078 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6079 VkPhysicalDevice physicalDevice,
6080 VkPhysicalDeviceProperties2* pProperties);
6082 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6083 VkPhysicalDevice physicalDevice,
6085 VkFormatProperties2* pFormatProperties);
6087 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6088 VkPhysicalDevice physicalDevice,
6089 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6090 VkImageFormatProperties2* pImageFormatProperties);
6092 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6093 VkPhysicalDevice physicalDevice,
6094 deUint32* pQueueFamilyPropertyCount,
6095 VkQueueFamilyProperties2* pQueueFamilyProperties);
6097 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6098 VkPhysicalDevice physicalDevice,
6099 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6101 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6102 VkPhysicalDevice physicalDevice,
6103 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6104 deUint32* pPropertyCount,
6105 VkSparseImageFormatProperties2* pProperties);
6107 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6109 VkCommandPool commandPool,
6110 VkCommandPoolTrimFlags flags);
6112 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6114 const VkDeviceQueueInfo2* pQueueInfo,
6117 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6119 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6120 const VkAllocationCallbacks* pAllocator,
6121 VkSamplerYcbcrConversion* pYcbcrConversion);
6123 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6125 VkSamplerYcbcrConversion ycbcrConversion,
6126 const VkAllocationCallbacks* pAllocator);
6128 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6130 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6131 const VkAllocationCallbacks* pAllocator,
6132 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6134 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6136 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6137 const VkAllocationCallbacks* pAllocator);
6139 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6141 VkDescriptorSet descriptorSet,
6142 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6145 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6146 VkPhysicalDevice physicalDevice,
6147 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6148 VkExternalBufferProperties* pExternalBufferProperties);
6150 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6151 VkPhysicalDevice physicalDevice,
6152 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6153 VkExternalFenceProperties* pExternalFenceProperties);
6155 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6156 VkPhysicalDevice physicalDevice,
6157 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6158 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6160 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6162 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6163 VkDescriptorSetLayoutSupport* pSupport);
6167 #define VK_VERSION_1_2 1
6168 // Vulkan 1.2 version number
6169 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6171 #define VK_MAX_DRIVER_NAME_SIZE 256U
6172 #define VK_MAX_DRIVER_INFO_SIZE 256U
6174 typedef enum VkDriverId {
6175 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6176 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6177 VK_DRIVER_ID_MESA_RADV = 3,
6178 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6179 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6180 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6181 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6182 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6183 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6184 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6185 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6186 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6187 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6188 VK_DRIVER_ID_MOLTENVK = 14,
6189 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6190 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
6191 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
6192 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6193 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6194 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6195 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6196 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6197 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6198 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6199 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6200 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6201 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6202 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6203 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6204 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6207 typedef enum VkShaderFloatControlsIndependence {
6208 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6209 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6210 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6211 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6212 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6213 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6214 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6215 } VkShaderFloatControlsIndependence;
6217 typedef enum VkSamplerReductionMode {
6218 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6219 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6220 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6221 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6222 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6223 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6224 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6225 } VkSamplerReductionMode;
6227 typedef enum VkSemaphoreType {
6228 VK_SEMAPHORE_TYPE_BINARY = 0,
6229 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6230 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6231 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6232 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6235 typedef enum VkResolveModeFlagBits {
6236 VK_RESOLVE_MODE_NONE = 0,
6237 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6238 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6239 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6240 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6241 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6242 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6243 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6244 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6245 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6246 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6247 } VkResolveModeFlagBits;
6248 typedef VkFlags VkResolveModeFlags;
6250 typedef enum VkDescriptorBindingFlagBits {
6251 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6252 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6253 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6254 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6255 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6256 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6257 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6258 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6259 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6260 } VkDescriptorBindingFlagBits;
6261 typedef VkFlags VkDescriptorBindingFlags;
6263 typedef enum VkSemaphoreWaitFlagBits {
6264 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6265 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6266 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6267 } VkSemaphoreWaitFlagBits;
6268 typedef VkFlags VkSemaphoreWaitFlags;
6269 typedef struct VkPhysicalDeviceVulkan11Features {
6270 VkStructureType sType;
6272 VkBool32 storageBuffer16BitAccess;
6273 VkBool32 uniformAndStorageBuffer16BitAccess;
6274 VkBool32 storagePushConstant16;
6275 VkBool32 storageInputOutput16;
6277 VkBool32 multiviewGeometryShader;
6278 VkBool32 multiviewTessellationShader;
6279 VkBool32 variablePointersStorageBuffer;
6280 VkBool32 variablePointers;
6281 VkBool32 protectedMemory;
6282 VkBool32 samplerYcbcrConversion;
6283 VkBool32 shaderDrawParameters;
6284 } VkPhysicalDeviceVulkan11Features;
6286 typedef struct VkPhysicalDeviceVulkan11Properties {
6287 VkStructureType sType;
6289 deUint8 deviceUUID[VK_UUID_SIZE];
6290 deUint8 driverUUID[VK_UUID_SIZE];
6291 deUint8 deviceLUID[VK_LUID_SIZE];
6292 deUint32 deviceNodeMask;
6293 VkBool32 deviceLUIDValid;
6294 deUint32 subgroupSize;
6295 VkShaderStageFlags subgroupSupportedStages;
6296 VkSubgroupFeatureFlags subgroupSupportedOperations;
6297 VkBool32 subgroupQuadOperationsInAllStages;
6298 VkPointClippingBehavior pointClippingBehavior;
6299 deUint32 maxMultiviewViewCount;
6300 deUint32 maxMultiviewInstanceIndex;
6301 VkBool32 protectedNoFault;
6302 deUint32 maxPerSetDescriptors;
6303 VkDeviceSize maxMemoryAllocationSize;
6304 } VkPhysicalDeviceVulkan11Properties;
6306 typedef struct VkPhysicalDeviceVulkan12Features {
6307 VkStructureType sType;
6309 VkBool32 samplerMirrorClampToEdge;
6310 VkBool32 drawIndirectCount;
6311 VkBool32 storageBuffer8BitAccess;
6312 VkBool32 uniformAndStorageBuffer8BitAccess;
6313 VkBool32 storagePushConstant8;
6314 VkBool32 shaderBufferInt64Atomics;
6315 VkBool32 shaderSharedInt64Atomics;
6316 VkBool32 shaderFloat16;
6317 VkBool32 shaderInt8;
6318 VkBool32 descriptorIndexing;
6319 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6320 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6321 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6322 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6323 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6324 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6325 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6326 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6327 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6328 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6329 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6330 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6331 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6332 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6333 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6334 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6335 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6336 VkBool32 descriptorBindingPartiallyBound;
6337 VkBool32 descriptorBindingVariableDescriptorCount;
6338 VkBool32 runtimeDescriptorArray;
6339 VkBool32 samplerFilterMinmax;
6340 VkBool32 scalarBlockLayout;
6341 VkBool32 imagelessFramebuffer;
6342 VkBool32 uniformBufferStandardLayout;
6343 VkBool32 shaderSubgroupExtendedTypes;
6344 VkBool32 separateDepthStencilLayouts;
6345 VkBool32 hostQueryReset;
6346 VkBool32 timelineSemaphore;
6347 VkBool32 bufferDeviceAddress;
6348 VkBool32 bufferDeviceAddressCaptureReplay;
6349 VkBool32 bufferDeviceAddressMultiDevice;
6350 VkBool32 vulkanMemoryModel;
6351 VkBool32 vulkanMemoryModelDeviceScope;
6352 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6353 VkBool32 shaderOutputViewportIndex;
6354 VkBool32 shaderOutputLayer;
6355 VkBool32 subgroupBroadcastDynamicId;
6356 } VkPhysicalDeviceVulkan12Features;
6358 typedef struct VkConformanceVersion {
6363 } VkConformanceVersion;
6365 typedef struct VkPhysicalDeviceVulkan12Properties {
6366 VkStructureType sType;
6368 VkDriverId driverID;
6369 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6370 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6371 VkConformanceVersion conformanceVersion;
6372 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6373 VkShaderFloatControlsIndependence roundingModeIndependence;
6374 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6375 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6376 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6377 VkBool32 shaderDenormPreserveFloat16;
6378 VkBool32 shaderDenormPreserveFloat32;
6379 VkBool32 shaderDenormPreserveFloat64;
6380 VkBool32 shaderDenormFlushToZeroFloat16;
6381 VkBool32 shaderDenormFlushToZeroFloat32;
6382 VkBool32 shaderDenormFlushToZeroFloat64;
6383 VkBool32 shaderRoundingModeRTEFloat16;
6384 VkBool32 shaderRoundingModeRTEFloat32;
6385 VkBool32 shaderRoundingModeRTEFloat64;
6386 VkBool32 shaderRoundingModeRTZFloat16;
6387 VkBool32 shaderRoundingModeRTZFloat32;
6388 VkBool32 shaderRoundingModeRTZFloat64;
6389 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6390 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6391 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6392 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6393 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6394 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6395 VkBool32 robustBufferAccessUpdateAfterBind;
6396 VkBool32 quadDivergentImplicitLod;
6397 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6398 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6399 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6400 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6401 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6402 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6403 deUint32 maxPerStageUpdateAfterBindResources;
6404 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6405 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6406 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6407 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6408 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6409 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6410 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6411 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6412 VkResolveModeFlags supportedDepthResolveModes;
6413 VkResolveModeFlags supportedStencilResolveModes;
6414 VkBool32 independentResolveNone;
6415 VkBool32 independentResolve;
6416 VkBool32 filterMinmaxSingleComponentFormats;
6417 VkBool32 filterMinmaxImageComponentMapping;
6418 deUint64 maxTimelineSemaphoreValueDifference;
6419 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6420 } VkPhysicalDeviceVulkan12Properties;
6422 typedef struct VkImageFormatListCreateInfo {
6423 VkStructureType sType;
6425 deUint32 viewFormatCount;
6426 const VkFormat* pViewFormats;
6427 } VkImageFormatListCreateInfo;
6429 typedef struct VkAttachmentDescription2 {
6430 VkStructureType sType;
6432 VkAttachmentDescriptionFlags flags;
6434 VkSampleCountFlagBits samples;
6435 VkAttachmentLoadOp loadOp;
6436 VkAttachmentStoreOp storeOp;
6437 VkAttachmentLoadOp stencilLoadOp;
6438 VkAttachmentStoreOp stencilStoreOp;
6439 VkImageLayout initialLayout;
6440 VkImageLayout finalLayout;
6441 } VkAttachmentDescription2;
6443 typedef struct VkAttachmentReference2 {
6444 VkStructureType sType;
6446 deUint32 attachment;
6447 VkImageLayout layout;
6448 VkImageAspectFlags aspectMask;
6449 } VkAttachmentReference2;
6451 typedef struct VkSubpassDescription2 {
6452 VkStructureType sType;
6454 VkSubpassDescriptionFlags flags;
6455 VkPipelineBindPoint pipelineBindPoint;
6457 deUint32 inputAttachmentCount;
6458 const VkAttachmentReference2* pInputAttachments;
6459 deUint32 colorAttachmentCount;
6460 const VkAttachmentReference2* pColorAttachments;
6461 const VkAttachmentReference2* pResolveAttachments;
6462 const VkAttachmentReference2* pDepthStencilAttachment;
6463 deUint32 preserveAttachmentCount;
6464 const deUint32* pPreserveAttachments;
6465 } VkSubpassDescription2;
6467 typedef struct VkSubpassDependency2 {
6468 VkStructureType sType;
6470 deUint32 srcSubpass;
6471 deUint32 dstSubpass;
6472 VkPipelineStageFlags srcStageMask;
6473 VkPipelineStageFlags dstStageMask;
6474 VkAccessFlags srcAccessMask;
6475 VkAccessFlags dstAccessMask;
6476 VkDependencyFlags dependencyFlags;
6478 } VkSubpassDependency2;
6480 typedef struct VkRenderPassCreateInfo2 {
6481 VkStructureType sType;
6483 VkRenderPassCreateFlags flags;
6484 deUint32 attachmentCount;
6485 const VkAttachmentDescription2* pAttachments;
6486 deUint32 subpassCount;
6487 const VkSubpassDescription2* pSubpasses;
6488 deUint32 dependencyCount;
6489 const VkSubpassDependency2* pDependencies;
6490 deUint32 correlatedViewMaskCount;
6491 const deUint32* pCorrelatedViewMasks;
6492 } VkRenderPassCreateInfo2;
6494 typedef struct VkSubpassBeginInfo {
6495 VkStructureType sType;
6497 VkSubpassContents contents;
6498 } VkSubpassBeginInfo;
6500 typedef struct VkSubpassEndInfo {
6501 VkStructureType sType;
6505 typedef struct VkPhysicalDevice8BitStorageFeatures {
6506 VkStructureType sType;
6508 VkBool32 storageBuffer8BitAccess;
6509 VkBool32 uniformAndStorageBuffer8BitAccess;
6510 VkBool32 storagePushConstant8;
6511 } VkPhysicalDevice8BitStorageFeatures;
6513 typedef struct VkPhysicalDeviceDriverProperties {
6514 VkStructureType sType;
6516 VkDriverId driverID;
6517 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6518 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6519 VkConformanceVersion conformanceVersion;
6520 } VkPhysicalDeviceDriverProperties;
6522 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6523 VkStructureType sType;
6525 VkBool32 shaderBufferInt64Atomics;
6526 VkBool32 shaderSharedInt64Atomics;
6527 } VkPhysicalDeviceShaderAtomicInt64Features;
6529 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6530 VkStructureType sType;
6532 VkBool32 shaderFloat16;
6533 VkBool32 shaderInt8;
6534 } VkPhysicalDeviceShaderFloat16Int8Features;
6536 typedef struct VkPhysicalDeviceFloatControlsProperties {
6537 VkStructureType sType;
6539 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6540 VkShaderFloatControlsIndependence roundingModeIndependence;
6541 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6542 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6543 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6544 VkBool32 shaderDenormPreserveFloat16;
6545 VkBool32 shaderDenormPreserveFloat32;
6546 VkBool32 shaderDenormPreserveFloat64;
6547 VkBool32 shaderDenormFlushToZeroFloat16;
6548 VkBool32 shaderDenormFlushToZeroFloat32;
6549 VkBool32 shaderDenormFlushToZeroFloat64;
6550 VkBool32 shaderRoundingModeRTEFloat16;
6551 VkBool32 shaderRoundingModeRTEFloat32;
6552 VkBool32 shaderRoundingModeRTEFloat64;
6553 VkBool32 shaderRoundingModeRTZFloat16;
6554 VkBool32 shaderRoundingModeRTZFloat32;
6555 VkBool32 shaderRoundingModeRTZFloat64;
6556 } VkPhysicalDeviceFloatControlsProperties;
6558 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6559 VkStructureType sType;
6561 deUint32 bindingCount;
6562 const VkDescriptorBindingFlags* pBindingFlags;
6563 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6565 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6566 VkStructureType sType;
6568 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6569 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6570 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6571 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6572 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6573 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6574 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6575 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6576 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6577 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6578 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6579 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6580 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6581 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6582 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6583 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6584 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6585 VkBool32 descriptorBindingPartiallyBound;
6586 VkBool32 descriptorBindingVariableDescriptorCount;
6587 VkBool32 runtimeDescriptorArray;
6588 } VkPhysicalDeviceDescriptorIndexingFeatures;
6590 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6591 VkStructureType sType;
6593 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6594 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6595 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6596 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6597 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6598 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6599 VkBool32 robustBufferAccessUpdateAfterBind;
6600 VkBool32 quadDivergentImplicitLod;
6601 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6602 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6603 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6604 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6605 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6606 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6607 deUint32 maxPerStageUpdateAfterBindResources;
6608 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6609 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6610 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6611 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6612 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6613 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6614 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6615 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6616 } VkPhysicalDeviceDescriptorIndexingProperties;
6618 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6619 VkStructureType sType;
6621 deUint32 descriptorSetCount;
6622 const deUint32* pDescriptorCounts;
6623 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6625 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6626 VkStructureType sType;
6628 deUint32 maxVariableDescriptorCount;
6629 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6631 typedef struct VkSubpassDescriptionDepthStencilResolve {
6632 VkStructureType sType;
6634 VkResolveModeFlagBits depthResolveMode;
6635 VkResolveModeFlagBits stencilResolveMode;
6636 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6637 } VkSubpassDescriptionDepthStencilResolve;
6639 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6640 VkStructureType sType;
6642 VkResolveModeFlags supportedDepthResolveModes;
6643 VkResolveModeFlags supportedStencilResolveModes;
6644 VkBool32 independentResolveNone;
6645 VkBool32 independentResolve;
6646 } VkPhysicalDeviceDepthStencilResolveProperties;
6648 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6649 VkStructureType sType;
6651 VkBool32 scalarBlockLayout;
6652 } VkPhysicalDeviceScalarBlockLayoutFeatures;
6654 typedef struct VkImageStencilUsageCreateInfo {
6655 VkStructureType sType;
6657 VkImageUsageFlags stencilUsage;
6658 } VkImageStencilUsageCreateInfo;
6660 typedef struct VkSamplerReductionModeCreateInfo {
6661 VkStructureType sType;
6663 VkSamplerReductionMode reductionMode;
6664 } VkSamplerReductionModeCreateInfo;
6666 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6667 VkStructureType sType;
6669 VkBool32 filterMinmaxSingleComponentFormats;
6670 VkBool32 filterMinmaxImageComponentMapping;
6671 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
6673 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6674 VkStructureType sType;
6676 VkBool32 vulkanMemoryModel;
6677 VkBool32 vulkanMemoryModelDeviceScope;
6678 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6679 } VkPhysicalDeviceVulkanMemoryModelFeatures;
6681 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6682 VkStructureType sType;
6684 VkBool32 imagelessFramebuffer;
6685 } VkPhysicalDeviceImagelessFramebufferFeatures;
6687 typedef struct VkFramebufferAttachmentImageInfo {
6688 VkStructureType sType;
6690 VkImageCreateFlags flags;
6691 VkImageUsageFlags usage;
6694 deUint32 layerCount;
6695 deUint32 viewFormatCount;
6696 const VkFormat* pViewFormats;
6697 } VkFramebufferAttachmentImageInfo;
6699 typedef struct VkFramebufferAttachmentsCreateInfo {
6700 VkStructureType sType;
6702 deUint32 attachmentImageInfoCount;
6703 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6704 } VkFramebufferAttachmentsCreateInfo;
6706 typedef struct VkRenderPassAttachmentBeginInfo {
6707 VkStructureType sType;
6709 deUint32 attachmentCount;
6710 const VkImageView* pAttachments;
6711 } VkRenderPassAttachmentBeginInfo;
6713 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6714 VkStructureType sType;
6716 VkBool32 uniformBufferStandardLayout;
6717 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6719 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6720 VkStructureType sType;
6722 VkBool32 shaderSubgroupExtendedTypes;
6723 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6725 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6726 VkStructureType sType;
6728 VkBool32 separateDepthStencilLayouts;
6729 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6731 typedef struct VkAttachmentReferenceStencilLayout {
6732 VkStructureType sType;
6734 VkImageLayout stencilLayout;
6735 } VkAttachmentReferenceStencilLayout;
6737 typedef struct VkAttachmentDescriptionStencilLayout {
6738 VkStructureType sType;
6740 VkImageLayout stencilInitialLayout;
6741 VkImageLayout stencilFinalLayout;
6742 } VkAttachmentDescriptionStencilLayout;
6744 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6745 VkStructureType sType;
6747 VkBool32 hostQueryReset;
6748 } VkPhysicalDeviceHostQueryResetFeatures;
6750 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6751 VkStructureType sType;
6753 VkBool32 timelineSemaphore;
6754 } VkPhysicalDeviceTimelineSemaphoreFeatures;
6756 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6757 VkStructureType sType;
6759 deUint64 maxTimelineSemaphoreValueDifference;
6760 } VkPhysicalDeviceTimelineSemaphoreProperties;
6762 typedef struct VkSemaphoreTypeCreateInfo {
6763 VkStructureType sType;
6765 VkSemaphoreType semaphoreType;
6766 deUint64 initialValue;
6767 } VkSemaphoreTypeCreateInfo;
6769 typedef struct VkTimelineSemaphoreSubmitInfo {
6770 VkStructureType sType;
6772 deUint32 waitSemaphoreValueCount;
6773 const deUint64* pWaitSemaphoreValues;
6774 deUint32 signalSemaphoreValueCount;
6775 const deUint64* pSignalSemaphoreValues;
6776 } VkTimelineSemaphoreSubmitInfo;
6778 typedef struct VkSemaphoreWaitInfo {
6779 VkStructureType sType;
6781 VkSemaphoreWaitFlags flags;
6782 deUint32 semaphoreCount;
6783 const VkSemaphore* pSemaphores;
6784 const deUint64* pValues;
6785 } VkSemaphoreWaitInfo;
6787 typedef struct VkSemaphoreSignalInfo {
6788 VkStructureType sType;
6790 VkSemaphore semaphore;
6792 } VkSemaphoreSignalInfo;
6794 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6795 VkStructureType sType;
6797 VkBool32 bufferDeviceAddress;
6798 VkBool32 bufferDeviceAddressCaptureReplay;
6799 VkBool32 bufferDeviceAddressMultiDevice;
6800 } VkPhysicalDeviceBufferDeviceAddressFeatures;
6802 typedef struct VkBufferDeviceAddressInfo {
6803 VkStructureType sType;
6806 } VkBufferDeviceAddressInfo;
6808 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6809 VkStructureType sType;
6811 deUint64 opaqueCaptureAddress;
6812 } VkBufferOpaqueCaptureAddressCreateInfo;
6814 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6815 VkStructureType sType;
6817 deUint64 opaqueCaptureAddress;
6818 } VkMemoryOpaqueCaptureAddressAllocateInfo;
6820 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6821 VkStructureType sType;
6823 VkDeviceMemory memory;
6824 } VkDeviceMemoryOpaqueCaptureAddressInfo;
6826 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6827 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6828 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6829 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6830 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6831 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6832 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
6833 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
6834 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
6835 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6836 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6837 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6838 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6840 #ifndef VK_NO_PROTOTYPES
6841 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6842 VkCommandBuffer commandBuffer,
6844 VkDeviceSize offset,
6845 VkBuffer countBuffer,
6846 VkDeviceSize countBufferOffset,
6847 deUint32 maxDrawCount,
6850 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6851 VkCommandBuffer commandBuffer,
6853 VkDeviceSize offset,
6854 VkBuffer countBuffer,
6855 VkDeviceSize countBufferOffset,
6856 deUint32 maxDrawCount,
6859 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6861 const VkRenderPassCreateInfo2* pCreateInfo,
6862 const VkAllocationCallbacks* pAllocator,
6863 VkRenderPass* pRenderPass);
6865 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6866 VkCommandBuffer commandBuffer,
6867 const VkRenderPassBeginInfo* pRenderPassBegin,
6868 const VkSubpassBeginInfo* pSubpassBeginInfo);
6870 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6871 VkCommandBuffer commandBuffer,
6872 const VkSubpassBeginInfo* pSubpassBeginInfo,
6873 const VkSubpassEndInfo* pSubpassEndInfo);
6875 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6876 VkCommandBuffer commandBuffer,
6877 const VkSubpassEndInfo* pSubpassEndInfo);
6879 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6881 VkQueryPool queryPool,
6882 deUint32 firstQuery,
6883 deUint32 queryCount);
6885 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6887 VkSemaphore semaphore,
6890 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6892 const VkSemaphoreWaitInfo* pWaitInfo,
6895 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6897 const VkSemaphoreSignalInfo* pSignalInfo);
6899 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6901 const VkBufferDeviceAddressInfo* pInfo);
6903 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6905 const VkBufferDeviceAddressInfo* pInfo);
6907 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6909 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6913 #define VK_KHR_surface 1
6914 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6915 #define VK_KHR_SURFACE_SPEC_VERSION 25
6916 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6918 typedef enum VkPresentModeKHR {
6919 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6920 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6921 VK_PRESENT_MODE_FIFO_KHR = 2,
6922 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6923 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6924 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6925 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6928 typedef enum VkColorSpaceKHR {
6929 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6930 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6931 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6932 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6933 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6934 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6935 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6936 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6937 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6938 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6939 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6940 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6941 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6942 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6943 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6944 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6945 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6946 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6947 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6950 typedef enum VkSurfaceTransformFlagBitsKHR {
6951 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6952 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6953 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6954 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6955 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6956 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6957 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6958 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6959 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6960 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6961 } VkSurfaceTransformFlagBitsKHR;
6963 typedef enum VkCompositeAlphaFlagBitsKHR {
6964 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6965 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6966 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6967 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6968 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6969 } VkCompositeAlphaFlagBitsKHR;
6970 typedef VkFlags VkCompositeAlphaFlagsKHR;
6971 typedef VkFlags VkSurfaceTransformFlagsKHR;
6972 typedef struct VkSurfaceCapabilitiesKHR {
6973 deUint32 minImageCount;
6974 deUint32 maxImageCount;
6975 VkExtent2D currentExtent;
6976 VkExtent2D minImageExtent;
6977 VkExtent2D maxImageExtent;
6978 deUint32 maxImageArrayLayers;
6979 VkSurfaceTransformFlagsKHR supportedTransforms;
6980 VkSurfaceTransformFlagBitsKHR currentTransform;
6981 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6982 VkImageUsageFlags supportedUsageFlags;
6983 } VkSurfaceCapabilitiesKHR;
6985 typedef struct VkSurfaceFormatKHR {
6987 VkColorSpaceKHR colorSpace;
6988 } VkSurfaceFormatKHR;
6990 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6991 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6992 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6993 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6994 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6996 #ifndef VK_NO_PROTOTYPES
6997 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6998 VkInstance instance,
6999 VkSurfaceKHR surface,
7000 const VkAllocationCallbacks* pAllocator);
7002 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
7003 VkPhysicalDevice physicalDevice,
7004 deUint32 queueFamilyIndex,
7005 VkSurfaceKHR surface,
7006 VkBool32* pSupported);
7008 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
7009 VkPhysicalDevice physicalDevice,
7010 VkSurfaceKHR surface,
7011 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7013 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
7014 VkPhysicalDevice physicalDevice,
7015 VkSurfaceKHR surface,
7016 deUint32* pSurfaceFormatCount,
7017 VkSurfaceFormatKHR* pSurfaceFormats);
7019 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
7020 VkPhysicalDevice physicalDevice,
7021 VkSurfaceKHR surface,
7022 deUint32* pPresentModeCount,
7023 VkPresentModeKHR* pPresentModes);
7027 #define VK_KHR_swapchain 1
7028 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
7029 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
7030 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
7032 typedef enum VkSwapchainCreateFlagBitsKHR {
7033 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
7034 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
7035 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
7036 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7037 } VkSwapchainCreateFlagBitsKHR;
7038 typedef VkFlags VkSwapchainCreateFlagsKHR;
7040 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
7041 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
7042 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
7043 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
7044 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7045 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7046 } VkDeviceGroupPresentModeFlagBitsKHR;
7047 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7048 typedef struct VkSwapchainCreateInfoKHR {
7049 VkStructureType sType;
7051 VkSwapchainCreateFlagsKHR flags;
7052 VkSurfaceKHR surface;
7053 deUint32 minImageCount;
7054 VkFormat imageFormat;
7055 VkColorSpaceKHR imageColorSpace;
7056 VkExtent2D imageExtent;
7057 deUint32 imageArrayLayers;
7058 VkImageUsageFlags imageUsage;
7059 VkSharingMode imageSharingMode;
7060 deUint32 queueFamilyIndexCount;
7061 const deUint32* pQueueFamilyIndices;
7062 VkSurfaceTransformFlagBitsKHR preTransform;
7063 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7064 VkPresentModeKHR presentMode;
7066 VkSwapchainKHR oldSwapchain;
7067 } VkSwapchainCreateInfoKHR;
7069 typedef struct VkPresentInfoKHR {
7070 VkStructureType sType;
7072 deUint32 waitSemaphoreCount;
7073 const VkSemaphore* pWaitSemaphores;
7074 deUint32 swapchainCount;
7075 const VkSwapchainKHR* pSwapchains;
7076 const deUint32* pImageIndices;
7080 typedef struct VkImageSwapchainCreateInfoKHR {
7081 VkStructureType sType;
7083 VkSwapchainKHR swapchain;
7084 } VkImageSwapchainCreateInfoKHR;
7086 typedef struct VkBindImageMemorySwapchainInfoKHR {
7087 VkStructureType sType;
7089 VkSwapchainKHR swapchain;
7090 deUint32 imageIndex;
7091 } VkBindImageMemorySwapchainInfoKHR;
7093 typedef struct VkAcquireNextImageInfoKHR {
7094 VkStructureType sType;
7096 VkSwapchainKHR swapchain;
7098 VkSemaphore semaphore;
7100 deUint32 deviceMask;
7101 } VkAcquireNextImageInfoKHR;
7103 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7104 VkStructureType sType;
7106 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7107 VkDeviceGroupPresentModeFlagsKHR modes;
7108 } VkDeviceGroupPresentCapabilitiesKHR;
7110 typedef struct VkDeviceGroupPresentInfoKHR {
7111 VkStructureType sType;
7113 deUint32 swapchainCount;
7114 const deUint32* pDeviceMasks;
7115 VkDeviceGroupPresentModeFlagBitsKHR mode;
7116 } VkDeviceGroupPresentInfoKHR;
7118 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7119 VkStructureType sType;
7121 VkDeviceGroupPresentModeFlagsKHR modes;
7122 } VkDeviceGroupSwapchainCreateInfoKHR;
7124 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7125 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7126 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
7127 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
7128 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7129 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7130 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7131 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
7132 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
7134 #ifndef VK_NO_PROTOTYPES
7135 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7137 const VkSwapchainCreateInfoKHR* pCreateInfo,
7138 const VkAllocationCallbacks* pAllocator,
7139 VkSwapchainKHR* pSwapchain);
7141 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7143 VkSwapchainKHR swapchain,
7144 const VkAllocationCallbacks* pAllocator);
7146 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7148 VkSwapchainKHR swapchain,
7149 deUint32* pSwapchainImageCount,
7150 VkImage* pSwapchainImages);
7152 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7154 VkSwapchainKHR swapchain,
7156 VkSemaphore semaphore,
7158 deUint32* pImageIndex);
7160 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7162 const VkPresentInfoKHR* pPresentInfo);
7164 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7166 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7168 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7170 VkSurfaceKHR surface,
7171 VkDeviceGroupPresentModeFlagsKHR* pModes);
7173 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7174 VkPhysicalDevice physicalDevice,
7175 VkSurfaceKHR surface,
7176 deUint32* pRectCount,
7179 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7181 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7182 deUint32* pImageIndex);
7186 #define VK_KHR_display 1
7187 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7188 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7189 #define VK_KHR_DISPLAY_SPEC_VERSION 23
7190 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7191 typedef VkFlags VkDisplayModeCreateFlagsKHR;
7193 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7194 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7195 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7196 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7197 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7198 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7199 } VkDisplayPlaneAlphaFlagBitsKHR;
7200 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7201 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7202 typedef struct VkDisplayModeParametersKHR {
7203 VkExtent2D visibleRegion;
7204 deUint32 refreshRate;
7205 } VkDisplayModeParametersKHR;
7207 typedef struct VkDisplayModeCreateInfoKHR {
7208 VkStructureType sType;
7210 VkDisplayModeCreateFlagsKHR flags;
7211 VkDisplayModeParametersKHR parameters;
7212 } VkDisplayModeCreateInfoKHR;
7214 typedef struct VkDisplayModePropertiesKHR {
7215 VkDisplayModeKHR displayMode;
7216 VkDisplayModeParametersKHR parameters;
7217 } VkDisplayModePropertiesKHR;
7219 typedef struct VkDisplayPlaneCapabilitiesKHR {
7220 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7221 VkOffset2D minSrcPosition;
7222 VkOffset2D maxSrcPosition;
7223 VkExtent2D minSrcExtent;
7224 VkExtent2D maxSrcExtent;
7225 VkOffset2D minDstPosition;
7226 VkOffset2D maxDstPosition;
7227 VkExtent2D minDstExtent;
7228 VkExtent2D maxDstExtent;
7229 } VkDisplayPlaneCapabilitiesKHR;
7231 typedef struct VkDisplayPlanePropertiesKHR {
7232 VkDisplayKHR currentDisplay;
7233 deUint32 currentStackIndex;
7234 } VkDisplayPlanePropertiesKHR;
7236 typedef struct VkDisplayPropertiesKHR {
7237 VkDisplayKHR display;
7238 const char* displayName;
7239 VkExtent2D physicalDimensions;
7240 VkExtent2D physicalResolution;
7241 VkSurfaceTransformFlagsKHR supportedTransforms;
7242 VkBool32 planeReorderPossible;
7243 VkBool32 persistentContent;
7244 } VkDisplayPropertiesKHR;
7246 typedef struct VkDisplaySurfaceCreateInfoKHR {
7247 VkStructureType sType;
7249 VkDisplaySurfaceCreateFlagsKHR flags;
7250 VkDisplayModeKHR displayMode;
7251 deUint32 planeIndex;
7252 deUint32 planeStackIndex;
7253 VkSurfaceTransformFlagBitsKHR transform;
7255 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7256 VkExtent2D imageExtent;
7257 } VkDisplaySurfaceCreateInfoKHR;
7259 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7260 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7261 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
7262 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7263 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7264 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7265 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7267 #ifndef VK_NO_PROTOTYPES
7268 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7269 VkPhysicalDevice physicalDevice,
7270 deUint32* pPropertyCount,
7271 VkDisplayPropertiesKHR* pProperties);
7273 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7274 VkPhysicalDevice physicalDevice,
7275 deUint32* pPropertyCount,
7276 VkDisplayPlanePropertiesKHR* pProperties);
7278 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7279 VkPhysicalDevice physicalDevice,
7280 deUint32 planeIndex,
7281 deUint32* pDisplayCount,
7282 VkDisplayKHR* pDisplays);
7284 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7285 VkPhysicalDevice physicalDevice,
7286 VkDisplayKHR display,
7287 deUint32* pPropertyCount,
7288 VkDisplayModePropertiesKHR* pProperties);
7290 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7291 VkPhysicalDevice physicalDevice,
7292 VkDisplayKHR display,
7293 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7294 const VkAllocationCallbacks* pAllocator,
7295 VkDisplayModeKHR* pMode);
7297 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7298 VkPhysicalDevice physicalDevice,
7299 VkDisplayModeKHR mode,
7300 deUint32 planeIndex,
7301 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7303 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7304 VkInstance instance,
7305 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7306 const VkAllocationCallbacks* pAllocator,
7307 VkSurfaceKHR* pSurface);
7311 #define VK_KHR_display_swapchain 1
7312 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7313 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7314 typedef struct VkDisplayPresentInfoKHR {
7315 VkStructureType sType;
7319 VkBool32 persistent;
7320 } VkDisplayPresentInfoKHR;
7322 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7324 #ifndef VK_NO_PROTOTYPES
7325 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7327 deUint32 swapchainCount,
7328 const VkSwapchainCreateInfoKHR* pCreateInfos,
7329 const VkAllocationCallbacks* pAllocator,
7330 VkSwapchainKHR* pSwapchains);
7334 #define VK_KHR_sampler_mirror_clamp_to_edge 1
7335 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7336 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7339 #define VK_KHR_multiview 1
7340 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
7341 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
7342 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
7344 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
7346 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
7350 #define VK_KHR_get_physical_device_properties2 1
7351 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
7352 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
7353 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
7355 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
7357 typedef VkFormatProperties2 VkFormatProperties2KHR;
7359 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
7361 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
7363 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
7365 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
7367 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
7369 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
7371 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
7372 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
7373 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
7374 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
7375 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
7376 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7377 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
7379 #ifndef VK_NO_PROTOTYPES
7380 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
7381 VkPhysicalDevice physicalDevice,
7382 VkPhysicalDeviceFeatures2* pFeatures);
7384 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
7385 VkPhysicalDevice physicalDevice,
7386 VkPhysicalDeviceProperties2* pProperties);
7388 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
7389 VkPhysicalDevice physicalDevice,
7391 VkFormatProperties2* pFormatProperties);
7393 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
7394 VkPhysicalDevice physicalDevice,
7395 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
7396 VkImageFormatProperties2* pImageFormatProperties);
7398 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7399 VkPhysicalDevice physicalDevice,
7400 deUint32* pQueueFamilyPropertyCount,
7401 VkQueueFamilyProperties2* pQueueFamilyProperties);
7403 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
7404 VkPhysicalDevice physicalDevice,
7405 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7407 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7408 VkPhysicalDevice physicalDevice,
7409 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
7410 deUint32* pPropertyCount,
7411 VkSparseImageFormatProperties2* pProperties);
7415 #define VK_KHR_device_group 1
7416 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
7417 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
7418 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
7420 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
7422 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
7424 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
7426 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
7428 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
7430 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
7432 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
7434 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
7436 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
7438 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
7440 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7441 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
7442 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
7444 #ifndef VK_NO_PROTOTYPES
7445 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
7448 deUint32 localDeviceIndex,
7449 deUint32 remoteDeviceIndex,
7450 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7452 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
7453 VkCommandBuffer commandBuffer,
7454 deUint32 deviceMask);
7456 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
7457 VkCommandBuffer commandBuffer,
7458 deUint32 baseGroupX,
7459 deUint32 baseGroupY,
7460 deUint32 baseGroupZ,
7461 deUint32 groupCountX,
7462 deUint32 groupCountY,
7463 deUint32 groupCountZ);
7467 #define VK_KHR_shader_draw_parameters 1
7468 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
7469 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
7472 #define VK_KHR_maintenance1 1
7473 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
7474 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
7475 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
7477 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
7479 #ifndef VK_NO_PROTOTYPES
7480 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
7482 VkCommandPool commandPool,
7483 VkCommandPoolTrimFlags flags);
7487 #define VK_KHR_device_group_creation 1
7488 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
7489 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
7490 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
7491 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
7493 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
7495 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7497 #ifndef VK_NO_PROTOTYPES
7498 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
7499 VkInstance instance,
7500 deUint32* pPhysicalDeviceGroupCount,
7501 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7505 #define VK_KHR_external_memory_capabilities 1
7506 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7507 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
7508 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
7509 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
7511 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
7513 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
7515 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
7517 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
7519 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
7521 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
7523 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
7525 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
7527 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
7529 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
7531 #ifndef VK_NO_PROTOTYPES
7532 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7533 VkPhysicalDevice physicalDevice,
7534 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
7535 VkExternalBufferProperties* pExternalBufferProperties);
7539 #define VK_KHR_external_memory 1
7540 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
7541 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
7542 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
7543 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
7545 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
7547 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
7551 #define VK_KHR_external_memory_fd 1
7552 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
7553 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
7554 typedef struct VkImportMemoryFdInfoKHR {
7555 VkStructureType sType;
7557 VkExternalMemoryHandleTypeFlagBits handleType;
7559 } VkImportMemoryFdInfoKHR;
7561 typedef struct VkMemoryFdPropertiesKHR {
7562 VkStructureType sType;
7564 deUint32 memoryTypeBits;
7565 } VkMemoryFdPropertiesKHR;
7567 typedef struct VkMemoryGetFdInfoKHR {
7568 VkStructureType sType;
7570 VkDeviceMemory memory;
7571 VkExternalMemoryHandleTypeFlagBits handleType;
7572 } VkMemoryGetFdInfoKHR;
7574 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
7575 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7577 #ifndef VK_NO_PROTOTYPES
7578 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
7580 const VkMemoryGetFdInfoKHR* pGetFdInfo,
7583 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
7585 VkExternalMemoryHandleTypeFlagBits handleType,
7587 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7591 #define VK_KHR_external_semaphore_capabilities 1
7592 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
7593 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
7594 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
7596 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
7598 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
7600 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
7602 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
7604 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
7606 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7608 #ifndef VK_NO_PROTOTYPES
7609 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
7610 VkPhysicalDevice physicalDevice,
7611 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
7612 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7616 #define VK_KHR_external_semaphore 1
7617 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
7618 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
7619 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
7621 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
7623 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
7627 #define VK_KHR_external_semaphore_fd 1
7628 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
7629 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
7630 typedef struct VkImportSemaphoreFdInfoKHR {
7631 VkStructureType sType;
7633 VkSemaphore semaphore;
7634 VkSemaphoreImportFlags flags;
7635 VkExternalSemaphoreHandleTypeFlagBits handleType;
7637 } VkImportSemaphoreFdInfoKHR;
7639 typedef struct VkSemaphoreGetFdInfoKHR {
7640 VkStructureType sType;
7642 VkSemaphore semaphore;
7643 VkExternalSemaphoreHandleTypeFlagBits handleType;
7644 } VkSemaphoreGetFdInfoKHR;
7646 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7647 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
7649 #ifndef VK_NO_PROTOTYPES
7650 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
7652 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7654 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
7656 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
7661 #define VK_KHR_push_descriptor 1
7662 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
7663 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
7664 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7665 VkStructureType sType;
7667 deUint32 maxPushDescriptors;
7668 } VkPhysicalDevicePushDescriptorPropertiesKHR;
7670 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
7671 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
7673 #ifndef VK_NO_PROTOTYPES
7674 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
7675 VkCommandBuffer commandBuffer,
7676 VkPipelineBindPoint pipelineBindPoint,
7677 VkPipelineLayout layout,
7679 deUint32 descriptorWriteCount,
7680 const VkWriteDescriptorSet* pDescriptorWrites);
7682 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
7683 VkCommandBuffer commandBuffer,
7684 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7685 VkPipelineLayout layout,
7691 #define VK_KHR_shader_float16_int8 1
7692 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
7693 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
7694 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
7696 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
7700 #define VK_KHR_16bit_storage 1
7701 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
7702 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
7703 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
7707 #define VK_KHR_incremental_present 1
7708 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
7709 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
7710 typedef struct VkRectLayerKHR {
7716 typedef struct VkPresentRegionKHR {
7717 deUint32 rectangleCount;
7718 const VkRectLayerKHR* pRectangles;
7719 } VkPresentRegionKHR;
7721 typedef struct VkPresentRegionsKHR {
7722 VkStructureType sType;
7724 deUint32 swapchainCount;
7725 const VkPresentRegionKHR* pRegions;
7726 } VkPresentRegionsKHR;
7730 #define VK_KHR_descriptor_update_template 1
7731 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
7733 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
7734 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
7735 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
7737 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
7739 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
7741 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
7743 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7744 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
7745 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
7747 #ifndef VK_NO_PROTOTYPES
7748 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
7750 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
7751 const VkAllocationCallbacks* pAllocator,
7752 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7754 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
7756 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7757 const VkAllocationCallbacks* pAllocator);
7759 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
7761 VkDescriptorSet descriptorSet,
7762 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7767 #define VK_KHR_imageless_framebuffer 1
7768 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
7769 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
7770 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
7772 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
7774 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
7776 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
7780 #define VK_KHR_create_renderpass2 1
7781 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
7782 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
7783 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
7785 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
7787 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
7789 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
7791 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
7793 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
7795 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
7797 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7798 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7799 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7800 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7802 #ifndef VK_NO_PROTOTYPES
7803 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
7805 const VkRenderPassCreateInfo2* pCreateInfo,
7806 const VkAllocationCallbacks* pAllocator,
7807 VkRenderPass* pRenderPass);
7809 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
7810 VkCommandBuffer commandBuffer,
7811 const VkRenderPassBeginInfo* pRenderPassBegin,
7812 const VkSubpassBeginInfo* pSubpassBeginInfo);
7814 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
7815 VkCommandBuffer commandBuffer,
7816 const VkSubpassBeginInfo* pSubpassBeginInfo,
7817 const VkSubpassEndInfo* pSubpassEndInfo);
7819 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
7820 VkCommandBuffer commandBuffer,
7821 const VkSubpassEndInfo* pSubpassEndInfo);
7825 #define VK_KHR_shared_presentable_image 1
7826 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
7827 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
7828 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
7829 VkStructureType sType;
7831 VkImageUsageFlags sharedPresentSupportedUsageFlags;
7832 } VkSharedPresentSurfaceCapabilitiesKHR;
7834 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
7836 #ifndef VK_NO_PROTOTYPES
7837 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
7839 VkSwapchainKHR swapchain);
7843 #define VK_KHR_external_fence_capabilities 1
7844 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
7845 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
7846 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
7848 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
7850 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
7852 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
7854 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
7856 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
7858 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
7860 #ifndef VK_NO_PROTOTYPES
7861 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
7862 VkPhysicalDevice physicalDevice,
7863 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
7864 VkExternalFenceProperties* pExternalFenceProperties);
7868 #define VK_KHR_external_fence 1
7869 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
7870 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
7871 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
7873 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
7875 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
7879 #define VK_KHR_external_fence_fd 1
7880 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
7881 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
7882 typedef struct VkImportFenceFdInfoKHR {
7883 VkStructureType sType;
7886 VkFenceImportFlags flags;
7887 VkExternalFenceHandleTypeFlagBits handleType;
7889 } VkImportFenceFdInfoKHR;
7891 typedef struct VkFenceGetFdInfoKHR {
7892 VkStructureType sType;
7895 VkExternalFenceHandleTypeFlagBits handleType;
7896 } VkFenceGetFdInfoKHR;
7898 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7899 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
7901 #ifndef VK_NO_PROTOTYPES
7902 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
7904 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7906 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
7908 const VkFenceGetFdInfoKHR* pGetFdInfo,
7913 #define VK_KHR_performance_query 1
7914 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7915 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7917 typedef enum VkPerformanceCounterUnitKHR {
7918 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7919 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7920 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7921 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7922 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7923 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7924 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7925 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7926 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7927 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7928 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7929 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7930 } VkPerformanceCounterUnitKHR;
7932 typedef enum VkPerformanceCounterScopeKHR {
7933 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7934 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7935 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7936 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7937 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7938 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7939 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7940 } VkPerformanceCounterScopeKHR;
7942 typedef enum VkPerformanceCounterStorageKHR {
7943 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7944 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7945 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7946 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7947 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7948 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7949 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7950 } VkPerformanceCounterStorageKHR;
7952 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7953 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7954 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7955 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7956 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7957 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7958 } VkPerformanceCounterDescriptionFlagBitsKHR;
7959 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7961 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7962 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7963 } VkAcquireProfilingLockFlagBitsKHR;
7964 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7965 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7966 VkStructureType sType;
7968 VkBool32 performanceCounterQueryPools;
7969 VkBool32 performanceCounterMultipleQueryPools;
7970 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7972 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7973 VkStructureType sType;
7975 VkBool32 allowCommandBufferQueryCopies;
7976 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7978 typedef struct VkPerformanceCounterKHR {
7979 VkStructureType sType;
7981 VkPerformanceCounterUnitKHR unit;
7982 VkPerformanceCounterScopeKHR scope;
7983 VkPerformanceCounterStorageKHR storage;
7984 deUint8 uuid[VK_UUID_SIZE];
7985 } VkPerformanceCounterKHR;
7987 typedef struct VkPerformanceCounterDescriptionKHR {
7988 VkStructureType sType;
7990 VkPerformanceCounterDescriptionFlagsKHR flags;
7991 char name[VK_MAX_DESCRIPTION_SIZE];
7992 char category[VK_MAX_DESCRIPTION_SIZE];
7993 char description[VK_MAX_DESCRIPTION_SIZE];
7994 } VkPerformanceCounterDescriptionKHR;
7996 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7997 VkStructureType sType;
7999 deUint32 queueFamilyIndex;
8000 deUint32 counterIndexCount;
8001 const deUint32* pCounterIndices;
8002 } VkQueryPoolPerformanceCreateInfoKHR;
8004 typedef union VkPerformanceCounterResultKHR {
8011 } VkPerformanceCounterResultKHR;
8013 typedef struct VkAcquireProfilingLockInfoKHR {
8014 VkStructureType sType;
8016 VkAcquireProfilingLockFlagsKHR flags;
8018 } VkAcquireProfilingLockInfoKHR;
8020 typedef struct VkPerformanceQuerySubmitInfoKHR {
8021 VkStructureType sType;
8023 deUint32 counterPassIndex;
8024 } VkPerformanceQuerySubmitInfoKHR;
8026 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8027 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
8028 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
8029 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
8031 #ifndef VK_NO_PROTOTYPES
8032 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
8033 VkPhysicalDevice physicalDevice,
8034 deUint32 queueFamilyIndex,
8035 deUint32* pCounterCount,
8036 VkPerformanceCounterKHR* pCounters,
8037 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8039 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
8040 VkPhysicalDevice physicalDevice,
8041 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
8042 deUint32* pNumPasses);
8044 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
8046 const VkAcquireProfilingLockInfoKHR* pInfo);
8048 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
8053 #define VK_KHR_maintenance2 1
8054 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
8055 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
8056 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
8058 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
8060 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
8062 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
8064 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
8066 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
8068 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
8072 #define VK_KHR_get_surface_capabilities2 1
8073 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
8074 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
8075 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
8076 VkStructureType sType;
8078 VkSurfaceKHR surface;
8079 } VkPhysicalDeviceSurfaceInfo2KHR;
8081 typedef struct VkSurfaceCapabilities2KHR {
8082 VkStructureType sType;
8084 VkSurfaceCapabilitiesKHR surfaceCapabilities;
8085 } VkSurfaceCapabilities2KHR;
8087 typedef struct VkSurfaceFormat2KHR {
8088 VkStructureType sType;
8090 VkSurfaceFormatKHR surfaceFormat;
8091 } VkSurfaceFormat2KHR;
8093 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8094 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
8096 #ifndef VK_NO_PROTOTYPES
8097 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
8098 VkPhysicalDevice physicalDevice,
8099 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8100 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8102 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
8103 VkPhysicalDevice physicalDevice,
8104 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8105 deUint32* pSurfaceFormatCount,
8106 VkSurfaceFormat2KHR* pSurfaceFormats);
8110 #define VK_KHR_variable_pointers 1
8111 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
8112 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
8113 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
8115 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
8119 #define VK_KHR_get_display_properties2 1
8120 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
8121 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
8122 typedef struct VkDisplayProperties2KHR {
8123 VkStructureType sType;
8125 VkDisplayPropertiesKHR displayProperties;
8126 } VkDisplayProperties2KHR;
8128 typedef struct VkDisplayPlaneProperties2KHR {
8129 VkStructureType sType;
8131 VkDisplayPlanePropertiesKHR displayPlaneProperties;
8132 } VkDisplayPlaneProperties2KHR;
8134 typedef struct VkDisplayModeProperties2KHR {
8135 VkStructureType sType;
8137 VkDisplayModePropertiesKHR displayModeProperties;
8138 } VkDisplayModeProperties2KHR;
8140 typedef struct VkDisplayPlaneInfo2KHR {
8141 VkStructureType sType;
8143 VkDisplayModeKHR mode;
8144 deUint32 planeIndex;
8145 } VkDisplayPlaneInfo2KHR;
8147 typedef struct VkDisplayPlaneCapabilities2KHR {
8148 VkStructureType sType;
8150 VkDisplayPlaneCapabilitiesKHR capabilities;
8151 } VkDisplayPlaneCapabilities2KHR;
8153 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
8154 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
8155 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
8156 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
8158 #ifndef VK_NO_PROTOTYPES
8159 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
8160 VkPhysicalDevice physicalDevice,
8161 deUint32* pPropertyCount,
8162 VkDisplayProperties2KHR* pProperties);
8164 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
8165 VkPhysicalDevice physicalDevice,
8166 deUint32* pPropertyCount,
8167 VkDisplayPlaneProperties2KHR* pProperties);
8169 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
8170 VkPhysicalDevice physicalDevice,
8171 VkDisplayKHR display,
8172 deUint32* pPropertyCount,
8173 VkDisplayModeProperties2KHR* pProperties);
8175 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
8176 VkPhysicalDevice physicalDevice,
8177 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
8178 VkDisplayPlaneCapabilities2KHR* pCapabilities);
8182 #define VK_KHR_dedicated_allocation 1
8183 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
8184 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
8185 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
8187 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
8191 #define VK_KHR_storage_buffer_storage_class 1
8192 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
8193 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
8196 #define VK_KHR_relaxed_block_layout 1
8197 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
8198 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
8201 #define VK_KHR_get_memory_requirements2 1
8202 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
8203 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
8204 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
8206 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
8208 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
8210 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
8212 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
8214 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8215 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8216 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8218 #ifndef VK_NO_PROTOTYPES
8219 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
8221 const VkImageMemoryRequirementsInfo2* pInfo,
8222 VkMemoryRequirements2* pMemoryRequirements);
8224 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
8226 const VkBufferMemoryRequirementsInfo2* pInfo,
8227 VkMemoryRequirements2* pMemoryRequirements);
8229 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
8231 const VkImageSparseMemoryRequirementsInfo2* pInfo,
8232 deUint32* pSparseMemoryRequirementCount,
8233 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8237 #define VK_KHR_image_format_list 1
8238 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
8239 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
8240 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
8244 #define VK_KHR_sampler_ycbcr_conversion 1
8245 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
8247 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
8248 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
8249 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
8251 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
8253 typedef VkChromaLocation VkChromaLocationKHR;
8255 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
8257 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
8259 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
8261 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
8263 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
8265 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
8267 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
8268 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
8270 #ifndef VK_NO_PROTOTYPES
8271 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
8273 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
8274 const VkAllocationCallbacks* pAllocator,
8275 VkSamplerYcbcrConversion* pYcbcrConversion);
8277 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
8279 VkSamplerYcbcrConversion ycbcrConversion,
8280 const VkAllocationCallbacks* pAllocator);
8284 #define VK_KHR_bind_memory2 1
8285 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
8286 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
8287 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
8289 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
8291 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
8292 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
8294 #ifndef VK_NO_PROTOTYPES
8295 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
8297 deUint32 bindInfoCount,
8298 const VkBindBufferMemoryInfo* pBindInfos);
8300 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
8302 deUint32 bindInfoCount,
8303 const VkBindImageMemoryInfo* pBindInfos);
8307 #define VK_KHR_maintenance3 1
8308 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
8309 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
8310 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
8312 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
8314 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
8316 #ifndef VK_NO_PROTOTYPES
8317 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
8319 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
8320 VkDescriptorSetLayoutSupport* pSupport);
8324 #define VK_KHR_draw_indirect_count 1
8325 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
8326 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
8327 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8328 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8330 #ifndef VK_NO_PROTOTYPES
8331 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
8332 VkCommandBuffer commandBuffer,
8334 VkDeviceSize offset,
8335 VkBuffer countBuffer,
8336 VkDeviceSize countBufferOffset,
8337 deUint32 maxDrawCount,
8340 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
8341 VkCommandBuffer commandBuffer,
8343 VkDeviceSize offset,
8344 VkBuffer countBuffer,
8345 VkDeviceSize countBufferOffset,
8346 deUint32 maxDrawCount,
8351 #define VK_KHR_shader_subgroup_extended_types 1
8352 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
8353 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
8354 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
8358 #define VK_KHR_8bit_storage 1
8359 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
8360 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
8361 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
8365 #define VK_KHR_shader_atomic_int64 1
8366 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
8367 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
8368 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
8372 #define VK_KHR_shader_clock 1
8373 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
8374 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
8375 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
8376 VkStructureType sType;
8378 VkBool32 shaderSubgroupClock;
8379 VkBool32 shaderDeviceClock;
8380 } VkPhysicalDeviceShaderClockFeaturesKHR;
8384 #define VK_KHR_driver_properties 1
8385 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
8386 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
8387 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
8388 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
8389 typedef VkDriverId VkDriverIdKHR;
8391 typedef VkConformanceVersion VkConformanceVersionKHR;
8393 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
8397 #define VK_KHR_shader_float_controls 1
8398 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
8399 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
8400 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
8402 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
8406 #define VK_KHR_depth_stencil_resolve 1
8407 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
8408 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
8409 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
8411 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
8413 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
8415 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
8419 #define VK_KHR_swapchain_mutable_format 1
8420 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
8421 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
8424 #define VK_KHR_timeline_semaphore 1
8425 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
8426 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
8427 typedef VkSemaphoreType VkSemaphoreTypeKHR;
8429 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
8431 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
8433 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
8435 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
8437 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
8439 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
8441 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
8443 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
8445 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
8446 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
8447 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
8449 #ifndef VK_NO_PROTOTYPES
8450 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
8452 VkSemaphore semaphore,
8455 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
8457 const VkSemaphoreWaitInfo* pWaitInfo,
8460 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
8462 const VkSemaphoreSignalInfo* pSignalInfo);
8466 #define VK_KHR_vulkan_memory_model 1
8467 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
8468 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
8469 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
8473 #define VK_KHR_shader_terminate_invocation 1
8474 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
8475 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
8476 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
8477 VkStructureType sType;
8479 VkBool32 shaderTerminateInvocation;
8480 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
8484 #define VK_KHR_fragment_shading_rate 1
8485 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
8486 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
8488 typedef enum VkFragmentShadingRateCombinerOpKHR {
8489 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
8490 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
8491 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
8492 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
8493 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
8494 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
8495 } VkFragmentShadingRateCombinerOpKHR;
8496 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
8497 VkStructureType sType;
8499 const VkAttachmentReference2* pFragmentShadingRateAttachment;
8500 VkExtent2D shadingRateAttachmentTexelSize;
8501 } VkFragmentShadingRateAttachmentInfoKHR;
8503 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
8504 VkStructureType sType;
8506 VkExtent2D fragmentSize;
8507 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
8508 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
8510 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
8511 VkStructureType sType;
8513 VkBool32 pipelineFragmentShadingRate;
8514 VkBool32 primitiveFragmentShadingRate;
8515 VkBool32 attachmentFragmentShadingRate;
8516 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
8518 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
8519 VkStructureType sType;
8521 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
8522 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
8523 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
8524 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
8525 VkBool32 layeredShadingRateAttachments;
8526 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
8527 VkExtent2D maxFragmentSize;
8528 deUint32 maxFragmentSizeAspectRatio;
8529 deUint32 maxFragmentShadingRateCoverageSamples;
8530 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
8531 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
8532 VkBool32 fragmentShadingRateWithSampleMask;
8533 VkBool32 fragmentShadingRateWithShaderSampleMask;
8534 VkBool32 fragmentShadingRateWithConservativeRasterization;
8535 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
8536 VkBool32 fragmentShadingRateWithCustomSampleLocations;
8537 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
8538 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
8540 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
8541 VkStructureType sType;
8543 VkSampleCountFlags sampleCounts;
8544 VkExtent2D fragmentSize;
8545 } VkPhysicalDeviceFragmentShadingRateKHR;
8547 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8548 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8550 #ifndef VK_NO_PROTOTYPES
8551 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
8552 VkPhysicalDevice physicalDevice,
8553 deUint32* pFragmentShadingRateCount,
8554 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8556 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
8557 VkCommandBuffer commandBuffer,
8558 const VkExtent2D* pFragmentSize,
8559 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8563 #define VK_KHR_spirv_1_4 1
8564 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
8565 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
8568 #define VK_KHR_surface_protected_capabilities 1
8569 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
8570 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
8571 typedef struct VkSurfaceProtectedCapabilitiesKHR {
8572 VkStructureType sType;
8574 VkBool32 supportsProtected;
8575 } VkSurfaceProtectedCapabilitiesKHR;
8579 #define VK_KHR_separate_depth_stencil_layouts 1
8580 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
8581 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
8582 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
8584 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
8586 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
8590 #define VK_KHR_present_wait 1
8591 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
8592 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
8593 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
8594 VkStructureType sType;
8596 VkBool32 presentWait;
8597 } VkPhysicalDevicePresentWaitFeaturesKHR;
8599 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 presentId, deUint64 timeout);
8601 #ifndef VK_NO_PROTOTYPES
8602 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
8604 VkSwapchainKHR swapchain,
8610 #define VK_KHR_uniform_buffer_standard_layout 1
8611 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
8612 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
8613 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
8617 #define VK_KHR_buffer_device_address 1
8618 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
8619 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
8620 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
8622 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
8624 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
8626 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
8628 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
8630 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8631 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8632 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8634 #ifndef VK_NO_PROTOTYPES
8635 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
8637 const VkBufferDeviceAddressInfo* pInfo);
8639 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
8641 const VkBufferDeviceAddressInfo* pInfo);
8643 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
8645 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8649 #define VK_KHR_deferred_host_operations 1
8650 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
8651 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
8652 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
8653 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
8654 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
8655 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
8656 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
8657 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
8659 #ifndef VK_NO_PROTOTYPES
8660 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
8662 const VkAllocationCallbacks* pAllocator,
8663 VkDeferredOperationKHR* pDeferredOperation);
8665 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
8667 VkDeferredOperationKHR operation,
8668 const VkAllocationCallbacks* pAllocator);
8670 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
8672 VkDeferredOperationKHR operation);
8674 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
8676 VkDeferredOperationKHR operation);
8678 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
8680 VkDeferredOperationKHR operation);
8684 #define VK_KHR_pipeline_executable_properties 1
8685 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
8686 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
8688 typedef enum VkPipelineExecutableStatisticFormatKHR {
8689 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
8690 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
8691 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
8692 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
8693 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
8694 } VkPipelineExecutableStatisticFormatKHR;
8695 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
8696 VkStructureType sType;
8698 VkBool32 pipelineExecutableInfo;
8699 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
8701 typedef struct VkPipelineInfoKHR {
8702 VkStructureType sType;
8704 VkPipeline pipeline;
8705 } VkPipelineInfoKHR;
8707 typedef struct VkPipelineExecutablePropertiesKHR {
8708 VkStructureType sType;
8710 VkShaderStageFlags stages;
8711 char name[VK_MAX_DESCRIPTION_SIZE];
8712 char description[VK_MAX_DESCRIPTION_SIZE];
8713 deUint32 subgroupSize;
8714 } VkPipelineExecutablePropertiesKHR;
8716 typedef struct VkPipelineExecutableInfoKHR {
8717 VkStructureType sType;
8719 VkPipeline pipeline;
8720 deUint32 executableIndex;
8721 } VkPipelineExecutableInfoKHR;
8723 typedef union VkPipelineExecutableStatisticValueKHR {
8728 } VkPipelineExecutableStatisticValueKHR;
8730 typedef struct VkPipelineExecutableStatisticKHR {
8731 VkStructureType sType;
8733 char name[VK_MAX_DESCRIPTION_SIZE];
8734 char description[VK_MAX_DESCRIPTION_SIZE];
8735 VkPipelineExecutableStatisticFormatKHR format;
8736 VkPipelineExecutableStatisticValueKHR value;
8737 } VkPipelineExecutableStatisticKHR;
8739 typedef struct VkPipelineExecutableInternalRepresentationKHR {
8740 VkStructureType sType;
8742 char name[VK_MAX_DESCRIPTION_SIZE];
8743 char description[VK_MAX_DESCRIPTION_SIZE];
8747 } VkPipelineExecutableInternalRepresentationKHR;
8749 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
8750 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
8751 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8753 #ifndef VK_NO_PROTOTYPES
8754 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
8756 const VkPipelineInfoKHR* pPipelineInfo,
8757 deUint32* pExecutableCount,
8758 VkPipelineExecutablePropertiesKHR* pProperties);
8760 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
8762 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8763 deUint32* pStatisticCount,
8764 VkPipelineExecutableStatisticKHR* pStatistics);
8766 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
8768 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8769 deUint32* pInternalRepresentationCount,
8770 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8774 #define VK_KHR_pipeline_library 1
8775 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
8776 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
8777 typedef struct VkPipelineLibraryCreateInfoKHR {
8778 VkStructureType sType;
8780 deUint32 libraryCount;
8781 const VkPipeline* pLibraries;
8782 } VkPipelineLibraryCreateInfoKHR;
8786 #define VK_KHR_shader_non_semantic_info 1
8787 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
8788 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
8791 #define VK_KHR_present_id 1
8792 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
8793 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
8794 typedef struct VkPresentIdKHR {
8795 VkStructureType sType;
8797 deUint32 swapchainCount;
8798 const deUint64* pPresentIds;
8801 typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
8802 VkStructureType sType;
8805 } VkPhysicalDevicePresentIdFeaturesKHR;
8809 #define VK_KHR_synchronization2 1
8810 typedef deUint64 VkFlags64;
8811 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
8812 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
8813 typedef VkFlags64 VkPipelineStageFlags2KHR;
8815 // Flag bits for VkPipelineStageFlagBits2KHR
8816 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
8817 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
8818 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
8819 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
8820 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
8821 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
8822 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
8823 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
8824 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
8825 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
8826 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
8827 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
8828 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
8829 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
8830 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
8831 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
8832 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
8833 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
8834 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
8835 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
8836 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
8837 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
8838 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
8839 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
8840 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
8841 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
8842 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
8843 #ifdef VK_ENABLE_BETA_EXTENSIONS
8844 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
8846 #ifdef VK_ENABLE_BETA_EXTENSIONS
8847 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
8849 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
8850 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
8851 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
8852 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
8853 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
8854 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
8855 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
8856 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
8857 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
8858 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
8859 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
8860 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
8861 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
8862 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
8864 typedef VkFlags64 VkAccessFlags2KHR;
8866 // Flag bits for VkAccessFlagBits2KHR
8867 typedef VkFlags64 VkAccessFlagBits2KHR;
8868 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
8869 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
8870 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
8871 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
8872 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
8873 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
8874 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
8875 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
8876 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
8877 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
8878 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
8879 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
8880 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
8881 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
8882 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
8883 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
8884 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
8885 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
8886 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
8887 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
8888 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
8889 #ifdef VK_ENABLE_BETA_EXTENSIONS
8890 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
8892 #ifdef VK_ENABLE_BETA_EXTENSIONS
8893 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
8895 #ifdef VK_ENABLE_BETA_EXTENSIONS
8896 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
8898 #ifdef VK_ENABLE_BETA_EXTENSIONS
8899 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
8901 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
8902 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
8903 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
8904 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
8905 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
8906 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
8907 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
8908 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
8909 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
8910 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
8911 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
8912 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
8913 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
8914 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
8915 static const VkAccessFlagBits2KHR VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
8918 typedef enum VkSubmitFlagBitsKHR {
8919 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
8920 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8921 } VkSubmitFlagBitsKHR;
8922 typedef VkFlags VkSubmitFlagsKHR;
8923 typedef struct VkMemoryBarrier2KHR {
8924 VkStructureType sType;
8926 VkPipelineStageFlags2KHR srcStageMask;
8927 VkAccessFlags2KHR srcAccessMask;
8928 VkPipelineStageFlags2KHR dstStageMask;
8929 VkAccessFlags2KHR dstAccessMask;
8930 } VkMemoryBarrier2KHR;
8932 typedef struct VkBufferMemoryBarrier2KHR {
8933 VkStructureType sType;
8935 VkPipelineStageFlags2KHR srcStageMask;
8936 VkAccessFlags2KHR srcAccessMask;
8937 VkPipelineStageFlags2KHR dstStageMask;
8938 VkAccessFlags2KHR dstAccessMask;
8939 deUint32 srcQueueFamilyIndex;
8940 deUint32 dstQueueFamilyIndex;
8942 VkDeviceSize offset;
8944 } VkBufferMemoryBarrier2KHR;
8946 typedef struct VkImageMemoryBarrier2KHR {
8947 VkStructureType sType;
8949 VkPipelineStageFlags2KHR srcStageMask;
8950 VkAccessFlags2KHR srcAccessMask;
8951 VkPipelineStageFlags2KHR dstStageMask;
8952 VkAccessFlags2KHR dstAccessMask;
8953 VkImageLayout oldLayout;
8954 VkImageLayout newLayout;
8955 deUint32 srcQueueFamilyIndex;
8956 deUint32 dstQueueFamilyIndex;
8958 VkImageSubresourceRange subresourceRange;
8959 } VkImageMemoryBarrier2KHR;
8961 typedef struct VkDependencyInfoKHR {
8962 VkStructureType sType;
8964 VkDependencyFlags dependencyFlags;
8965 deUint32 memoryBarrierCount;
8966 const VkMemoryBarrier2KHR* pMemoryBarriers;
8967 deUint32 bufferMemoryBarrierCount;
8968 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
8969 deUint32 imageMemoryBarrierCount;
8970 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
8971 } VkDependencyInfoKHR;
8973 typedef struct VkSemaphoreSubmitInfoKHR {
8974 VkStructureType sType;
8976 VkSemaphore semaphore;
8978 VkPipelineStageFlags2KHR stageMask;
8979 deUint32 deviceIndex;
8980 } VkSemaphoreSubmitInfoKHR;
8982 typedef struct VkCommandBufferSubmitInfoKHR {
8983 VkStructureType sType;
8985 VkCommandBuffer commandBuffer;
8986 deUint32 deviceMask;
8987 } VkCommandBufferSubmitInfoKHR;
8989 typedef struct VkSubmitInfo2KHR {
8990 VkStructureType sType;
8992 VkSubmitFlagsKHR flags;
8993 deUint32 waitSemaphoreInfoCount;
8994 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8995 deUint32 commandBufferInfoCount;
8996 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8997 deUint32 signalSemaphoreInfoCount;
8998 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
9001 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
9002 VkStructureType sType;
9004 VkBool32 synchronization2;
9005 } VkPhysicalDeviceSynchronization2FeaturesKHR;
9007 typedef struct VkQueueFamilyCheckpointProperties2NV {
9008 VkStructureType sType;
9010 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
9011 } VkQueueFamilyCheckpointProperties2NV;
9013 typedef struct VkCheckpointData2NV {
9014 VkStructureType sType;
9016 VkPipelineStageFlags2KHR stage;
9017 void* pCheckpointMarker;
9018 } VkCheckpointData2NV;
9020 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
9021 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
9022 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
9023 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
9024 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
9025 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
9026 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
9027 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
9029 #ifndef VK_NO_PROTOTYPES
9030 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
9031 VkCommandBuffer commandBuffer,
9033 const VkDependencyInfoKHR* pDependencyInfo);
9035 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
9036 VkCommandBuffer commandBuffer,
9038 VkPipelineStageFlags2KHR stageMask);
9040 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
9041 VkCommandBuffer commandBuffer,
9042 deUint32 eventCount,
9043 const VkEvent* pEvents,
9044 const VkDependencyInfoKHR* pDependencyInfos);
9046 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
9047 VkCommandBuffer commandBuffer,
9048 const VkDependencyInfoKHR* pDependencyInfo);
9050 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
9051 VkCommandBuffer commandBuffer,
9052 VkPipelineStageFlags2KHR stage,
9053 VkQueryPool queryPool,
9056 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
9058 deUint32 submitCount,
9059 const VkSubmitInfo2KHR* pSubmits,
9062 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
9063 VkCommandBuffer commandBuffer,
9064 VkPipelineStageFlags2KHR stage,
9066 VkDeviceSize dstOffset,
9069 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
9071 deUint32* pCheckpointDataCount,
9072 VkCheckpointData2NV* pCheckpointData);
9076 #define VK_KHR_shader_subgroup_uniform_control_flow 1
9077 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
9078 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
9079 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
9080 VkStructureType sType;
9082 VkBool32 shaderSubgroupUniformControlFlow;
9083 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
9087 #define VK_KHR_zero_initialize_workgroup_memory 1
9088 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
9089 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
9090 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
9091 VkStructureType sType;
9093 VkBool32 shaderZeroInitializeWorkgroupMemory;
9094 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
9098 #define VK_KHR_workgroup_memory_explicit_layout 1
9099 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
9100 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
9101 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
9102 VkStructureType sType;
9104 VkBool32 workgroupMemoryExplicitLayout;
9105 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
9106 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
9107 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
9108 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
9112 #define VK_KHR_copy_commands2 1
9113 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
9114 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
9115 typedef struct VkBufferCopy2KHR {
9116 VkStructureType sType;
9118 VkDeviceSize srcOffset;
9119 VkDeviceSize dstOffset;
9123 typedef struct VkCopyBufferInfo2KHR {
9124 VkStructureType sType;
9128 deUint32 regionCount;
9129 const VkBufferCopy2KHR* pRegions;
9130 } VkCopyBufferInfo2KHR;
9132 typedef struct VkImageCopy2KHR {
9133 VkStructureType sType;
9135 VkImageSubresourceLayers srcSubresource;
9136 VkOffset3D srcOffset;
9137 VkImageSubresourceLayers dstSubresource;
9138 VkOffset3D dstOffset;
9142 typedef struct VkCopyImageInfo2KHR {
9143 VkStructureType sType;
9146 VkImageLayout srcImageLayout;
9148 VkImageLayout dstImageLayout;
9149 deUint32 regionCount;
9150 const VkImageCopy2KHR* pRegions;
9151 } VkCopyImageInfo2KHR;
9153 typedef struct VkBufferImageCopy2KHR {
9154 VkStructureType sType;
9156 VkDeviceSize bufferOffset;
9157 deUint32 bufferRowLength;
9158 deUint32 bufferImageHeight;
9159 VkImageSubresourceLayers imageSubresource;
9160 VkOffset3D imageOffset;
9161 VkExtent3D imageExtent;
9162 } VkBufferImageCopy2KHR;
9164 typedef struct VkCopyBufferToImageInfo2KHR {
9165 VkStructureType sType;
9169 VkImageLayout dstImageLayout;
9170 deUint32 regionCount;
9171 const VkBufferImageCopy2KHR* pRegions;
9172 } VkCopyBufferToImageInfo2KHR;
9174 typedef struct VkCopyImageToBufferInfo2KHR {
9175 VkStructureType sType;
9178 VkImageLayout srcImageLayout;
9180 deUint32 regionCount;
9181 const VkBufferImageCopy2KHR* pRegions;
9182 } VkCopyImageToBufferInfo2KHR;
9184 typedef struct VkImageBlit2KHR {
9185 VkStructureType sType;
9187 VkImageSubresourceLayers srcSubresource;
9188 VkOffset3D srcOffsets[2];
9189 VkImageSubresourceLayers dstSubresource;
9190 VkOffset3D dstOffsets[2];
9193 typedef struct VkBlitImageInfo2KHR {
9194 VkStructureType sType;
9197 VkImageLayout srcImageLayout;
9199 VkImageLayout dstImageLayout;
9200 deUint32 regionCount;
9201 const VkImageBlit2KHR* pRegions;
9203 } VkBlitImageInfo2KHR;
9205 typedef struct VkImageResolve2KHR {
9206 VkStructureType sType;
9208 VkImageSubresourceLayers srcSubresource;
9209 VkOffset3D srcOffset;
9210 VkImageSubresourceLayers dstSubresource;
9211 VkOffset3D dstOffset;
9213 } VkImageResolve2KHR;
9215 typedef struct VkResolveImageInfo2KHR {
9216 VkStructureType sType;
9219 VkImageLayout srcImageLayout;
9221 VkImageLayout dstImageLayout;
9222 deUint32 regionCount;
9223 const VkImageResolve2KHR* pRegions;
9224 } VkResolveImageInfo2KHR;
9226 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9227 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
9228 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9229 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9230 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
9231 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
9233 #ifndef VK_NO_PROTOTYPES
9234 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
9235 VkCommandBuffer commandBuffer,
9236 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9238 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
9239 VkCommandBuffer commandBuffer,
9240 const VkCopyImageInfo2KHR* pCopyImageInfo);
9242 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
9243 VkCommandBuffer commandBuffer,
9244 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9246 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
9247 VkCommandBuffer commandBuffer,
9248 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9250 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
9251 VkCommandBuffer commandBuffer,
9252 const VkBlitImageInfo2KHR* pBlitImageInfo);
9254 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
9255 VkCommandBuffer commandBuffer,
9256 const VkResolveImageInfo2KHR* pResolveImageInfo);
9260 #define VK_EXT_debug_report 1
9261 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
9262 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
9263 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
9265 typedef enum VkDebugReportObjectTypeEXT {
9266 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
9267 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
9268 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
9269 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
9270 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
9271 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
9272 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
9273 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
9274 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
9275 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
9276 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
9277 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
9278 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
9279 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
9280 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
9281 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
9282 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
9283 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
9284 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
9285 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
9286 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
9287 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
9288 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
9289 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
9290 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
9291 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
9292 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
9293 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
9294 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
9295 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
9296 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
9297 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
9298 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
9299 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
9300 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
9301 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
9302 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
9303 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
9304 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
9305 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
9306 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
9307 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
9308 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9309 } VkDebugReportObjectTypeEXT;
9311 typedef enum VkDebugReportFlagBitsEXT {
9312 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
9313 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
9314 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
9315 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
9316 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
9317 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9318 } VkDebugReportFlagBitsEXT;
9319 typedef VkFlags VkDebugReportFlagsEXT;
9320 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
9321 VkDebugReportFlagsEXT flags,
9322 VkDebugReportObjectTypeEXT objectType,
9325 deInt32 messageCode,
9326 const char* pLayerPrefix,
9327 const char* pMessage,
9330 typedef struct VkDebugReportCallbackCreateInfoEXT {
9331 VkStructureType sType;
9333 VkDebugReportFlagsEXT flags;
9334 PFN_vkDebugReportCallbackEXT pfnCallback;
9336 } VkDebugReportCallbackCreateInfoEXT;
9338 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
9339 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
9340 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
9342 #ifndef VK_NO_PROTOTYPES
9343 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
9344 VkInstance instance,
9345 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
9346 const VkAllocationCallbacks* pAllocator,
9347 VkDebugReportCallbackEXT* pCallback);
9349 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
9350 VkInstance instance,
9351 VkDebugReportCallbackEXT callback,
9352 const VkAllocationCallbacks* pAllocator);
9354 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
9355 VkInstance instance,
9356 VkDebugReportFlagsEXT flags,
9357 VkDebugReportObjectTypeEXT objectType,
9360 deInt32 messageCode,
9361 const char* pLayerPrefix,
9362 const char* pMessage);
9366 #define VK_NV_glsl_shader 1
9367 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
9368 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
9371 #define VK_EXT_depth_range_unrestricted 1
9372 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
9373 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
9376 #define VK_IMG_filter_cubic 1
9377 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
9378 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
9381 #define VK_AMD_rasterization_order 1
9382 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
9383 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
9385 typedef enum VkRasterizationOrderAMD {
9386 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
9387 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
9388 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
9389 } VkRasterizationOrderAMD;
9390 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
9391 VkStructureType sType;
9393 VkRasterizationOrderAMD rasterizationOrder;
9394 } VkPipelineRasterizationStateRasterizationOrderAMD;
9398 #define VK_AMD_shader_trinary_minmax 1
9399 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
9400 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
9403 #define VK_AMD_shader_explicit_vertex_parameter 1
9404 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
9405 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
9408 #define VK_EXT_debug_marker 1
9409 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
9410 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
9411 typedef struct VkDebugMarkerObjectNameInfoEXT {
9412 VkStructureType sType;
9414 VkDebugReportObjectTypeEXT objectType;
9416 const char* pObjectName;
9417 } VkDebugMarkerObjectNameInfoEXT;
9419 typedef struct VkDebugMarkerObjectTagInfoEXT {
9420 VkStructureType sType;
9422 VkDebugReportObjectTypeEXT objectType;
9427 } VkDebugMarkerObjectTagInfoEXT;
9429 typedef struct VkDebugMarkerMarkerInfoEXT {
9430 VkStructureType sType;
9432 const char* pMarkerName;
9434 } VkDebugMarkerMarkerInfoEXT;
9436 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9437 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9438 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9439 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
9440 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9442 #ifndef VK_NO_PROTOTYPES
9443 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
9445 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9447 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
9449 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9451 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
9452 VkCommandBuffer commandBuffer,
9453 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9455 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
9456 VkCommandBuffer commandBuffer);
9458 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
9459 VkCommandBuffer commandBuffer,
9460 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9464 #define VK_AMD_gcn_shader 1
9465 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
9466 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
9469 #define VK_NV_dedicated_allocation 1
9470 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
9471 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
9472 typedef struct VkDedicatedAllocationImageCreateInfoNV {
9473 VkStructureType sType;
9475 VkBool32 dedicatedAllocation;
9476 } VkDedicatedAllocationImageCreateInfoNV;
9478 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
9479 VkStructureType sType;
9481 VkBool32 dedicatedAllocation;
9482 } VkDedicatedAllocationBufferCreateInfoNV;
9484 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
9485 VkStructureType sType;
9489 } VkDedicatedAllocationMemoryAllocateInfoNV;
9493 #define VK_EXT_transform_feedback 1
9494 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
9495 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
9496 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
9497 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
9498 VkStructureType sType;
9500 VkBool32 transformFeedback;
9501 VkBool32 geometryStreams;
9502 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
9504 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
9505 VkStructureType sType;
9507 deUint32 maxTransformFeedbackStreams;
9508 deUint32 maxTransformFeedbackBuffers;
9509 VkDeviceSize maxTransformFeedbackBufferSize;
9510 deUint32 maxTransformFeedbackStreamDataSize;
9511 deUint32 maxTransformFeedbackBufferDataSize;
9512 deUint32 maxTransformFeedbackBufferDataStride;
9513 VkBool32 transformFeedbackQueries;
9514 VkBool32 transformFeedbackStreamsLinesTriangles;
9515 VkBool32 transformFeedbackRasterizationStreamSelect;
9516 VkBool32 transformFeedbackDraw;
9517 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
9519 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
9520 VkStructureType sType;
9522 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
9523 deUint32 rasterizationStream;
9524 } VkPipelineRasterizationStateStreamCreateInfoEXT;
9526 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
9527 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9528 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9529 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
9530 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
9531 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
9533 #ifndef VK_NO_PROTOTYPES
9534 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
9535 VkCommandBuffer commandBuffer,
9536 deUint32 firstBinding,
9537 deUint32 bindingCount,
9538 const VkBuffer* pBuffers,
9539 const VkDeviceSize* pOffsets,
9540 const VkDeviceSize* pSizes);
9542 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
9543 VkCommandBuffer commandBuffer,
9544 deUint32 firstCounterBuffer,
9545 deUint32 counterBufferCount,
9546 const VkBuffer* pCounterBuffers,
9547 const VkDeviceSize* pCounterBufferOffsets);
9549 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
9550 VkCommandBuffer commandBuffer,
9551 deUint32 firstCounterBuffer,
9552 deUint32 counterBufferCount,
9553 const VkBuffer* pCounterBuffers,
9554 const VkDeviceSize* pCounterBufferOffsets);
9556 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
9557 VkCommandBuffer commandBuffer,
9558 VkQueryPool queryPool,
9560 VkQueryControlFlags flags,
9563 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
9564 VkCommandBuffer commandBuffer,
9565 VkQueryPool queryPool,
9569 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
9570 VkCommandBuffer commandBuffer,
9571 deUint32 instanceCount,
9572 deUint32 firstInstance,
9573 VkBuffer counterBuffer,
9574 VkDeviceSize counterBufferOffset,
9575 deUint32 counterOffset,
9576 deUint32 vertexStride);
9580 #define VK_NVX_binary_import 1
9581 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
9582 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
9583 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
9584 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
9585 typedef struct VkCuModuleCreateInfoNVX {
9586 VkStructureType sType;
9590 } VkCuModuleCreateInfoNVX;
9592 typedef struct VkCuFunctionCreateInfoNVX {
9593 VkStructureType sType;
9595 VkCuModuleNVX module;
9597 } VkCuFunctionCreateInfoNVX;
9599 typedef struct VkCuLaunchInfoNVX {
9600 VkStructureType sType;
9602 VkCuFunctionNVX function;
9609 deUint32 sharedMemBytes;
9610 deUintptr paramCount;
9611 const void* const * pParams;
9612 deUintptr extraCount;
9613 const void* const * pExtras;
9614 } VkCuLaunchInfoNVX;
9616 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
9617 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
9618 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
9619 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
9620 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
9622 #ifndef VK_NO_PROTOTYPES
9623 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
9625 const VkCuModuleCreateInfoNVX* pCreateInfo,
9626 const VkAllocationCallbacks* pAllocator,
9627 VkCuModuleNVX* pModule);
9629 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
9631 const VkCuFunctionCreateInfoNVX* pCreateInfo,
9632 const VkAllocationCallbacks* pAllocator,
9633 VkCuFunctionNVX* pFunction);
9635 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
9637 VkCuModuleNVX module,
9638 const VkAllocationCallbacks* pAllocator);
9640 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
9642 VkCuFunctionNVX function,
9643 const VkAllocationCallbacks* pAllocator);
9645 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
9646 VkCommandBuffer commandBuffer,
9647 const VkCuLaunchInfoNVX* pLaunchInfo);
9651 #define VK_NVX_image_view_handle 1
9652 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
9653 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
9654 typedef struct VkImageViewHandleInfoNVX {
9655 VkStructureType sType;
9657 VkImageView imageView;
9658 VkDescriptorType descriptorType;
9660 } VkImageViewHandleInfoNVX;
9662 typedef struct VkImageViewAddressPropertiesNVX {
9663 VkStructureType sType;
9665 VkDeviceAddress deviceAddress;
9667 } VkImageViewAddressPropertiesNVX;
9669 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
9670 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
9672 #ifndef VK_NO_PROTOTYPES
9673 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
9675 const VkImageViewHandleInfoNVX* pInfo);
9677 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
9679 VkImageView imageView,
9680 VkImageViewAddressPropertiesNVX* pProperties);
9684 #define VK_AMD_draw_indirect_count 1
9685 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
9686 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
9687 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9688 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9690 #ifndef VK_NO_PROTOTYPES
9691 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
9692 VkCommandBuffer commandBuffer,
9694 VkDeviceSize offset,
9695 VkBuffer countBuffer,
9696 VkDeviceSize countBufferOffset,
9697 deUint32 maxDrawCount,
9700 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
9701 VkCommandBuffer commandBuffer,
9703 VkDeviceSize offset,
9704 VkBuffer countBuffer,
9705 VkDeviceSize countBufferOffset,
9706 deUint32 maxDrawCount,
9711 #define VK_AMD_negative_viewport_height 1
9712 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
9713 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
9716 #define VK_AMD_gpu_shader_half_float 1
9717 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
9718 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
9721 #define VK_AMD_shader_ballot 1
9722 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
9723 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
9726 #define VK_AMD_texture_gather_bias_lod 1
9727 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
9728 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
9729 typedef struct VkTextureLODGatherFormatPropertiesAMD {
9730 VkStructureType sType;
9732 VkBool32 supportsTextureGatherLODBiasAMD;
9733 } VkTextureLODGatherFormatPropertiesAMD;
9737 #define VK_AMD_shader_info 1
9738 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
9739 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
9741 typedef enum VkShaderInfoTypeAMD {
9742 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
9743 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
9744 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
9745 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
9746 } VkShaderInfoTypeAMD;
9747 typedef struct VkShaderResourceUsageAMD {
9748 deUint32 numUsedVgprs;
9749 deUint32 numUsedSgprs;
9750 deUint32 ldsSizePerLocalWorkGroup;
9751 deUintptr ldsUsageSizeInBytes;
9752 deUintptr scratchMemUsageInBytes;
9753 } VkShaderResourceUsageAMD;
9755 typedef struct VkShaderStatisticsInfoAMD {
9756 VkShaderStageFlags shaderStageMask;
9757 VkShaderResourceUsageAMD resourceUsage;
9758 deUint32 numPhysicalVgprs;
9759 deUint32 numPhysicalSgprs;
9760 deUint32 numAvailableVgprs;
9761 deUint32 numAvailableSgprs;
9762 deUint32 computeWorkGroupSize[3];
9763 } VkShaderStatisticsInfoAMD;
9765 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
9767 #ifndef VK_NO_PROTOTYPES
9768 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
9770 VkPipeline pipeline,
9771 VkShaderStageFlagBits shaderStage,
9772 VkShaderInfoTypeAMD infoType,
9773 deUintptr* pInfoSize,
9778 #define VK_AMD_shader_image_load_store_lod 1
9779 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
9780 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
9783 #define VK_NV_corner_sampled_image 1
9784 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
9785 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
9786 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
9787 VkStructureType sType;
9789 VkBool32 cornerSampledImage;
9790 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
9794 #define VK_IMG_format_pvrtc 1
9795 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
9796 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
9799 #define VK_NV_external_memory_capabilities 1
9800 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9801 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
9803 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
9804 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
9805 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
9806 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
9807 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
9808 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9809 } VkExternalMemoryHandleTypeFlagBitsNV;
9810 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
9812 typedef enum VkExternalMemoryFeatureFlagBitsNV {
9813 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
9814 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
9815 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
9816 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9817 } VkExternalMemoryFeatureFlagBitsNV;
9818 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
9819 typedef struct VkExternalImageFormatPropertiesNV {
9820 VkImageFormatProperties imageFormatProperties;
9821 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
9822 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
9823 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
9824 } VkExternalImageFormatPropertiesNV;
9826 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9828 #ifndef VK_NO_PROTOTYPES
9829 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
9830 VkPhysicalDevice physicalDevice,
9833 VkImageTiling tiling,
9834 VkImageUsageFlags usage,
9835 VkImageCreateFlags flags,
9836 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
9837 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9841 #define VK_NV_external_memory 1
9842 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
9843 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
9844 typedef struct VkExternalMemoryImageCreateInfoNV {
9845 VkStructureType sType;
9847 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9848 } VkExternalMemoryImageCreateInfoNV;
9850 typedef struct VkExportMemoryAllocateInfoNV {
9851 VkStructureType sType;
9853 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9854 } VkExportMemoryAllocateInfoNV;
9858 #define VK_EXT_validation_flags 1
9859 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
9860 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
9862 typedef enum VkValidationCheckEXT {
9863 VK_VALIDATION_CHECK_ALL_EXT = 0,
9864 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
9865 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
9866 } VkValidationCheckEXT;
9867 typedef struct VkValidationFlagsEXT {
9868 VkStructureType sType;
9870 deUint32 disabledValidationCheckCount;
9871 const VkValidationCheckEXT* pDisabledValidationChecks;
9872 } VkValidationFlagsEXT;
9876 #define VK_EXT_shader_subgroup_ballot 1
9877 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
9878 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
9881 #define VK_EXT_shader_subgroup_vote 1
9882 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
9883 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
9886 #define VK_EXT_texture_compression_astc_hdr 1
9887 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
9888 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
9889 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
9890 VkStructureType sType;
9892 VkBool32 textureCompressionASTC_HDR;
9893 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
9897 #define VK_EXT_astc_decode_mode 1
9898 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
9899 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
9900 typedef struct VkImageViewASTCDecodeModeEXT {
9901 VkStructureType sType;
9903 VkFormat decodeMode;
9904 } VkImageViewASTCDecodeModeEXT;
9906 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
9907 VkStructureType sType;
9909 VkBool32 decodeModeSharedExponent;
9910 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
9914 #define VK_EXT_conditional_rendering 1
9915 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
9916 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
9918 typedef enum VkConditionalRenderingFlagBitsEXT {
9919 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
9920 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9921 } VkConditionalRenderingFlagBitsEXT;
9922 typedef VkFlags VkConditionalRenderingFlagsEXT;
9923 typedef struct VkConditionalRenderingBeginInfoEXT {
9924 VkStructureType sType;
9927 VkDeviceSize offset;
9928 VkConditionalRenderingFlagsEXT flags;
9929 } VkConditionalRenderingBeginInfoEXT;
9931 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
9932 VkStructureType sType;
9934 VkBool32 conditionalRendering;
9935 VkBool32 inheritedConditionalRendering;
9936 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
9938 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
9939 VkStructureType sType;
9941 VkBool32 conditionalRenderingEnable;
9942 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
9944 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9945 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
9947 #ifndef VK_NO_PROTOTYPES
9948 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
9949 VkCommandBuffer commandBuffer,
9950 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9952 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
9953 VkCommandBuffer commandBuffer);
9957 #define VK_NV_clip_space_w_scaling 1
9958 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
9959 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
9960 typedef struct VkViewportWScalingNV {
9963 } VkViewportWScalingNV;
9965 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
9966 VkStructureType sType;
9968 VkBool32 viewportWScalingEnable;
9969 deUint32 viewportCount;
9970 const VkViewportWScalingNV* pViewportWScalings;
9971 } VkPipelineViewportWScalingStateCreateInfoNV;
9973 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
9975 #ifndef VK_NO_PROTOTYPES
9976 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
9977 VkCommandBuffer commandBuffer,
9978 deUint32 firstViewport,
9979 deUint32 viewportCount,
9980 const VkViewportWScalingNV* pViewportWScalings);
9984 #define VK_EXT_direct_mode_display 1
9985 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
9986 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
9987 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
9989 #ifndef VK_NO_PROTOTYPES
9990 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
9991 VkPhysicalDevice physicalDevice,
9992 VkDisplayKHR display);
9996 #define VK_EXT_display_surface_counter 1
9997 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
9998 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
10000 typedef enum VkSurfaceCounterFlagBitsEXT {
10001 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
10002 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
10003 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10004 } VkSurfaceCounterFlagBitsEXT;
10005 typedef VkFlags VkSurfaceCounterFlagsEXT;
10006 typedef struct VkSurfaceCapabilities2EXT {
10007 VkStructureType sType;
10009 deUint32 minImageCount;
10010 deUint32 maxImageCount;
10011 VkExtent2D currentExtent;
10012 VkExtent2D minImageExtent;
10013 VkExtent2D maxImageExtent;
10014 deUint32 maxImageArrayLayers;
10015 VkSurfaceTransformFlagsKHR supportedTransforms;
10016 VkSurfaceTransformFlagBitsKHR currentTransform;
10017 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
10018 VkImageUsageFlags supportedUsageFlags;
10019 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
10020 } VkSurfaceCapabilities2EXT;
10022 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
10024 #ifndef VK_NO_PROTOTYPES
10025 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
10026 VkPhysicalDevice physicalDevice,
10027 VkSurfaceKHR surface,
10028 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
10032 #define VK_EXT_display_control 1
10033 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
10034 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
10036 typedef enum VkDisplayPowerStateEXT {
10037 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
10038 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
10039 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
10040 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
10041 } VkDisplayPowerStateEXT;
10043 typedef enum VkDeviceEventTypeEXT {
10044 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
10045 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10046 } VkDeviceEventTypeEXT;
10048 typedef enum VkDisplayEventTypeEXT {
10049 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
10050 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10051 } VkDisplayEventTypeEXT;
10052 typedef struct VkDisplayPowerInfoEXT {
10053 VkStructureType sType;
10055 VkDisplayPowerStateEXT powerState;
10056 } VkDisplayPowerInfoEXT;
10058 typedef struct VkDeviceEventInfoEXT {
10059 VkStructureType sType;
10061 VkDeviceEventTypeEXT deviceEvent;
10062 } VkDeviceEventInfoEXT;
10064 typedef struct VkDisplayEventInfoEXT {
10065 VkStructureType sType;
10067 VkDisplayEventTypeEXT displayEvent;
10068 } VkDisplayEventInfoEXT;
10070 typedef struct VkSwapchainCounterCreateInfoEXT {
10071 VkStructureType sType;
10073 VkSurfaceCounterFlagsEXT surfaceCounters;
10074 } VkSwapchainCounterCreateInfoEXT;
10076 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10077 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10078 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10079 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
10081 #ifndef VK_NO_PROTOTYPES
10082 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
10084 VkDisplayKHR display,
10085 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10087 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
10089 const VkDeviceEventInfoEXT* pDeviceEventInfo,
10090 const VkAllocationCallbacks* pAllocator,
10093 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
10095 VkDisplayKHR display,
10096 const VkDisplayEventInfoEXT* pDisplayEventInfo,
10097 const VkAllocationCallbacks* pAllocator,
10100 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
10102 VkSwapchainKHR swapchain,
10103 VkSurfaceCounterFlagBitsEXT counter,
10104 deUint64* pCounterValue);
10108 #define VK_GOOGLE_display_timing 1
10109 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
10110 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
10111 typedef struct VkRefreshCycleDurationGOOGLE {
10112 deUint64 refreshDuration;
10113 } VkRefreshCycleDurationGOOGLE;
10115 typedef struct VkPastPresentationTimingGOOGLE {
10116 deUint32 presentID;
10117 deUint64 desiredPresentTime;
10118 deUint64 actualPresentTime;
10119 deUint64 earliestPresentTime;
10120 deUint64 presentMargin;
10121 } VkPastPresentationTimingGOOGLE;
10123 typedef struct VkPresentTimeGOOGLE {
10124 deUint32 presentID;
10125 deUint64 desiredPresentTime;
10126 } VkPresentTimeGOOGLE;
10128 typedef struct VkPresentTimesInfoGOOGLE {
10129 VkStructureType sType;
10131 deUint32 swapchainCount;
10132 const VkPresentTimeGOOGLE* pTimes;
10133 } VkPresentTimesInfoGOOGLE;
10135 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10136 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
10138 #ifndef VK_NO_PROTOTYPES
10139 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
10141 VkSwapchainKHR swapchain,
10142 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10144 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
10146 VkSwapchainKHR swapchain,
10147 deUint32* pPresentationTimingCount,
10148 VkPastPresentationTimingGOOGLE* pPresentationTimings);
10152 #define VK_NV_sample_mask_override_coverage 1
10153 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
10154 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
10157 #define VK_NV_geometry_shader_passthrough 1
10158 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
10159 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
10162 #define VK_NV_viewport_array2 1
10163 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
10164 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
10167 #define VK_NVX_multiview_per_view_attributes 1
10168 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
10169 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
10170 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10171 VkStructureType sType;
10173 VkBool32 perViewPositionAllComponents;
10174 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
10178 #define VK_NV_viewport_swizzle 1
10179 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
10180 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
10182 typedef enum VkViewportCoordinateSwizzleNV {
10183 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
10184 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
10185 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
10186 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
10187 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
10188 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
10189 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
10190 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
10191 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
10192 } VkViewportCoordinateSwizzleNV;
10193 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
10194 typedef struct VkViewportSwizzleNV {
10195 VkViewportCoordinateSwizzleNV x;
10196 VkViewportCoordinateSwizzleNV y;
10197 VkViewportCoordinateSwizzleNV z;
10198 VkViewportCoordinateSwizzleNV w;
10199 } VkViewportSwizzleNV;
10201 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
10202 VkStructureType sType;
10204 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
10205 deUint32 viewportCount;
10206 const VkViewportSwizzleNV* pViewportSwizzles;
10207 } VkPipelineViewportSwizzleStateCreateInfoNV;
10211 #define VK_EXT_discard_rectangles 1
10212 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
10213 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
10215 typedef enum VkDiscardRectangleModeEXT {
10216 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
10217 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
10218 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10219 } VkDiscardRectangleModeEXT;
10220 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
10221 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
10222 VkStructureType sType;
10224 deUint32 maxDiscardRectangles;
10225 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
10227 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
10228 VkStructureType sType;
10230 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
10231 VkDiscardRectangleModeEXT discardRectangleMode;
10232 deUint32 discardRectangleCount;
10233 const VkRect2D* pDiscardRectangles;
10234 } VkPipelineDiscardRectangleStateCreateInfoEXT;
10236 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
10238 #ifndef VK_NO_PROTOTYPES
10239 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
10240 VkCommandBuffer commandBuffer,
10241 deUint32 firstDiscardRectangle,
10242 deUint32 discardRectangleCount,
10243 const VkRect2D* pDiscardRectangles);
10247 #define VK_EXT_conservative_rasterization 1
10248 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
10249 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
10251 typedef enum VkConservativeRasterizationModeEXT {
10252 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
10253 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
10254 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
10255 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10256 } VkConservativeRasterizationModeEXT;
10257 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
10258 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
10259 VkStructureType sType;
10261 float primitiveOverestimationSize;
10262 float maxExtraPrimitiveOverestimationSize;
10263 float extraPrimitiveOverestimationSizeGranularity;
10264 VkBool32 primitiveUnderestimation;
10265 VkBool32 conservativePointAndLineRasterization;
10266 VkBool32 degenerateTrianglesRasterized;
10267 VkBool32 degenerateLinesRasterized;
10268 VkBool32 fullyCoveredFragmentShaderInputVariable;
10269 VkBool32 conservativeRasterizationPostDepthCoverage;
10270 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
10272 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
10273 VkStructureType sType;
10275 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
10276 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
10277 float extraPrimitiveOverestimationSize;
10278 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
10282 #define VK_EXT_depth_clip_enable 1
10283 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
10284 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
10285 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
10286 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
10287 VkStructureType sType;
10289 VkBool32 depthClipEnable;
10290 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
10292 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
10293 VkStructureType sType;
10295 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
10296 VkBool32 depthClipEnable;
10297 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
10301 #define VK_EXT_swapchain_colorspace 1
10302 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
10303 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
10306 #define VK_EXT_hdr_metadata 1
10307 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
10308 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
10309 typedef struct VkXYColorEXT {
10314 typedef struct VkHdrMetadataEXT {
10315 VkStructureType sType;
10317 VkXYColorEXT displayPrimaryRed;
10318 VkXYColorEXT displayPrimaryGreen;
10319 VkXYColorEXT displayPrimaryBlue;
10320 VkXYColorEXT whitePoint;
10321 float maxLuminance;
10322 float minLuminance;
10323 float maxContentLightLevel;
10324 float maxFrameAverageLightLevel;
10325 } VkHdrMetadataEXT;
10327 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
10329 #ifndef VK_NO_PROTOTYPES
10330 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
10332 deUint32 swapchainCount,
10333 const VkSwapchainKHR* pSwapchains,
10334 const VkHdrMetadataEXT* pMetadata);
10338 #define VK_EXT_external_memory_dma_buf 1
10339 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
10340 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
10343 #define VK_EXT_queue_family_foreign 1
10344 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
10345 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
10346 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
10349 #define VK_EXT_debug_utils 1
10350 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
10351 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
10352 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
10353 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
10355 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
10356 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
10357 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
10358 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
10359 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
10360 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10361 } VkDebugUtilsMessageSeverityFlagBitsEXT;
10363 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
10364 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
10365 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
10366 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
10367 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10368 } VkDebugUtilsMessageTypeFlagBitsEXT;
10369 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
10370 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
10371 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
10372 typedef struct VkDebugUtilsLabelEXT {
10373 VkStructureType sType;
10375 const char* pLabelName;
10377 } VkDebugUtilsLabelEXT;
10379 typedef struct VkDebugUtilsObjectNameInfoEXT {
10380 VkStructureType sType;
10382 VkObjectType objectType;
10383 deUint64 objectHandle;
10384 const char* pObjectName;
10385 } VkDebugUtilsObjectNameInfoEXT;
10387 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
10388 VkStructureType sType;
10390 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
10391 const char* pMessageIdName;
10392 deInt32 messageIdNumber;
10393 const char* pMessage;
10394 deUint32 queueLabelCount;
10395 const VkDebugUtilsLabelEXT* pQueueLabels;
10396 deUint32 cmdBufLabelCount;
10397 const VkDebugUtilsLabelEXT* pCmdBufLabels;
10398 deUint32 objectCount;
10399 const VkDebugUtilsObjectNameInfoEXT* pObjects;
10400 } VkDebugUtilsMessengerCallbackDataEXT;
10402 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
10403 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10404 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10405 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
10408 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
10409 VkStructureType sType;
10411 VkDebugUtilsMessengerCreateFlagsEXT flags;
10412 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
10413 VkDebugUtilsMessageTypeFlagsEXT messageType;
10414 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
10416 } VkDebugUtilsMessengerCreateInfoEXT;
10418 typedef struct VkDebugUtilsObjectTagInfoEXT {
10419 VkStructureType sType;
10421 VkObjectType objectType;
10422 deUint64 objectHandle;
10426 } VkDebugUtilsObjectTagInfoEXT;
10428 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10429 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10430 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10431 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
10432 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10433 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10434 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
10435 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10436 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
10437 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
10438 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10440 #ifndef VK_NO_PROTOTYPES
10441 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
10443 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10445 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
10447 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10449 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
10451 const VkDebugUtilsLabelEXT* pLabelInfo);
10453 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
10456 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
10458 const VkDebugUtilsLabelEXT* pLabelInfo);
10460 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
10461 VkCommandBuffer commandBuffer,
10462 const VkDebugUtilsLabelEXT* pLabelInfo);
10464 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
10465 VkCommandBuffer commandBuffer);
10467 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
10468 VkCommandBuffer commandBuffer,
10469 const VkDebugUtilsLabelEXT* pLabelInfo);
10471 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
10472 VkInstance instance,
10473 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
10474 const VkAllocationCallbacks* pAllocator,
10475 VkDebugUtilsMessengerEXT* pMessenger);
10477 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
10478 VkInstance instance,
10479 VkDebugUtilsMessengerEXT messenger,
10480 const VkAllocationCallbacks* pAllocator);
10482 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
10483 VkInstance instance,
10484 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10485 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10486 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10490 #define VK_EXT_sampler_filter_minmax 1
10491 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
10492 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
10493 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
10495 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
10497 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
10501 #define VK_AMD_gpu_shader_int16 1
10502 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
10503 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
10506 #define VK_AMD_mixed_attachment_samples 1
10507 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
10508 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
10511 #define VK_AMD_shader_fragment_mask 1
10512 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
10513 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
10516 #define VK_EXT_inline_uniform_block 1
10517 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
10518 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
10519 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
10520 VkStructureType sType;
10522 VkBool32 inlineUniformBlock;
10523 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
10524 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
10526 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
10527 VkStructureType sType;
10529 deUint32 maxInlineUniformBlockSize;
10530 deUint32 maxPerStageDescriptorInlineUniformBlocks;
10531 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
10532 deUint32 maxDescriptorSetInlineUniformBlocks;
10533 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
10534 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
10536 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
10537 VkStructureType sType;
10541 } VkWriteDescriptorSetInlineUniformBlockEXT;
10543 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
10544 VkStructureType sType;
10546 deUint32 maxInlineUniformBlockBindings;
10547 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
10551 #define VK_EXT_shader_stencil_export 1
10552 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
10553 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
10556 #define VK_EXT_sample_locations 1
10557 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
10558 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
10559 typedef struct VkSampleLocationEXT {
10562 } VkSampleLocationEXT;
10564 typedef struct VkSampleLocationsInfoEXT {
10565 VkStructureType sType;
10567 VkSampleCountFlagBits sampleLocationsPerPixel;
10568 VkExtent2D sampleLocationGridSize;
10569 deUint32 sampleLocationsCount;
10570 const VkSampleLocationEXT* pSampleLocations;
10571 } VkSampleLocationsInfoEXT;
10573 typedef struct VkAttachmentSampleLocationsEXT {
10574 deUint32 attachmentIndex;
10575 VkSampleLocationsInfoEXT sampleLocationsInfo;
10576 } VkAttachmentSampleLocationsEXT;
10578 typedef struct VkSubpassSampleLocationsEXT {
10579 deUint32 subpassIndex;
10580 VkSampleLocationsInfoEXT sampleLocationsInfo;
10581 } VkSubpassSampleLocationsEXT;
10583 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
10584 VkStructureType sType;
10586 deUint32 attachmentInitialSampleLocationsCount;
10587 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
10588 deUint32 postSubpassSampleLocationsCount;
10589 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
10590 } VkRenderPassSampleLocationsBeginInfoEXT;
10592 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
10593 VkStructureType sType;
10595 VkBool32 sampleLocationsEnable;
10596 VkSampleLocationsInfoEXT sampleLocationsInfo;
10597 } VkPipelineSampleLocationsStateCreateInfoEXT;
10599 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
10600 VkStructureType sType;
10602 VkSampleCountFlags sampleLocationSampleCounts;
10603 VkExtent2D maxSampleLocationGridSize;
10604 float sampleLocationCoordinateRange[2];
10605 deUint32 sampleLocationSubPixelBits;
10606 VkBool32 variableSampleLocations;
10607 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
10609 typedef struct VkMultisamplePropertiesEXT {
10610 VkStructureType sType;
10612 VkExtent2D maxSampleLocationGridSize;
10613 } VkMultisamplePropertiesEXT;
10615 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10616 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
10618 #ifndef VK_NO_PROTOTYPES
10619 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
10620 VkCommandBuffer commandBuffer,
10621 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10623 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
10624 VkPhysicalDevice physicalDevice,
10625 VkSampleCountFlagBits samples,
10626 VkMultisamplePropertiesEXT* pMultisampleProperties);
10630 #define VK_EXT_blend_operation_advanced 1
10631 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
10632 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
10634 typedef enum VkBlendOverlapEXT {
10635 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
10636 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
10637 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
10638 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
10639 } VkBlendOverlapEXT;
10640 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
10641 VkStructureType sType;
10643 VkBool32 advancedBlendCoherentOperations;
10644 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
10646 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
10647 VkStructureType sType;
10649 deUint32 advancedBlendMaxColorAttachments;
10650 VkBool32 advancedBlendIndependentBlend;
10651 VkBool32 advancedBlendNonPremultipliedSrcColor;
10652 VkBool32 advancedBlendNonPremultipliedDstColor;
10653 VkBool32 advancedBlendCorrelatedOverlap;
10654 VkBool32 advancedBlendAllOperations;
10655 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
10657 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
10658 VkStructureType sType;
10660 VkBool32 srcPremultiplied;
10661 VkBool32 dstPremultiplied;
10662 VkBlendOverlapEXT blendOverlap;
10663 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
10667 #define VK_NV_fragment_coverage_to_color 1
10668 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
10669 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
10670 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
10671 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
10672 VkStructureType sType;
10674 VkPipelineCoverageToColorStateCreateFlagsNV flags;
10675 VkBool32 coverageToColorEnable;
10676 deUint32 coverageToColorLocation;
10677 } VkPipelineCoverageToColorStateCreateInfoNV;
10681 #define VK_NV_framebuffer_mixed_samples 1
10682 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
10683 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
10685 typedef enum VkCoverageModulationModeNV {
10686 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
10687 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
10688 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
10689 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
10690 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10691 } VkCoverageModulationModeNV;
10692 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
10693 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
10694 VkStructureType sType;
10696 VkPipelineCoverageModulationStateCreateFlagsNV flags;
10697 VkCoverageModulationModeNV coverageModulationMode;
10698 VkBool32 coverageModulationTableEnable;
10699 deUint32 coverageModulationTableCount;
10700 const float* pCoverageModulationTable;
10701 } VkPipelineCoverageModulationStateCreateInfoNV;
10705 #define VK_NV_fill_rectangle 1
10706 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
10707 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
10710 #define VK_NV_shader_sm_builtins 1
10711 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
10712 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
10713 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
10714 VkStructureType sType;
10716 deUint32 shaderSMCount;
10717 deUint32 shaderWarpsPerSM;
10718 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
10720 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
10721 VkStructureType sType;
10723 VkBool32 shaderSMBuiltins;
10724 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
10728 #define VK_EXT_post_depth_coverage 1
10729 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
10730 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
10733 #define VK_EXT_image_drm_format_modifier 1
10734 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
10735 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
10736 typedef struct VkDrmFormatModifierPropertiesEXT {
10737 deUint64 drmFormatModifier;
10738 deUint32 drmFormatModifierPlaneCount;
10739 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
10740 } VkDrmFormatModifierPropertiesEXT;
10742 typedef struct VkDrmFormatModifierPropertiesListEXT {
10743 VkStructureType sType;
10745 deUint32 drmFormatModifierCount;
10746 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
10747 } VkDrmFormatModifierPropertiesListEXT;
10749 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
10750 VkStructureType sType;
10752 deUint64 drmFormatModifier;
10753 VkSharingMode sharingMode;
10754 deUint32 queueFamilyIndexCount;
10755 const deUint32* pQueueFamilyIndices;
10756 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
10758 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
10759 VkStructureType sType;
10761 deUint32 drmFormatModifierCount;
10762 const deUint64* pDrmFormatModifiers;
10763 } VkImageDrmFormatModifierListCreateInfoEXT;
10765 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
10766 VkStructureType sType;
10768 deUint64 drmFormatModifier;
10769 deUint32 drmFormatModifierPlaneCount;
10770 const VkSubresourceLayout* pPlaneLayouts;
10771 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
10773 typedef struct VkImageDrmFormatModifierPropertiesEXT {
10774 VkStructureType sType;
10776 deUint64 drmFormatModifier;
10777 } VkImageDrmFormatModifierPropertiesEXT;
10779 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
10781 #ifndef VK_NO_PROTOTYPES
10782 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
10785 VkImageDrmFormatModifierPropertiesEXT* pProperties);
10789 #define VK_EXT_validation_cache 1
10790 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
10791 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
10792 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
10794 typedef enum VkValidationCacheHeaderVersionEXT {
10795 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
10796 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
10797 } VkValidationCacheHeaderVersionEXT;
10798 typedef VkFlags VkValidationCacheCreateFlagsEXT;
10799 typedef struct VkValidationCacheCreateInfoEXT {
10800 VkStructureType sType;
10802 VkValidationCacheCreateFlagsEXT flags;
10803 deUintptr initialDataSize;
10804 const void* pInitialData;
10805 } VkValidationCacheCreateInfoEXT;
10807 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
10808 VkStructureType sType;
10810 VkValidationCacheEXT validationCache;
10811 } VkShaderModuleValidationCacheCreateInfoEXT;
10813 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
10814 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
10815 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
10816 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
10818 #ifndef VK_NO_PROTOTYPES
10819 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
10821 const VkValidationCacheCreateInfoEXT* pCreateInfo,
10822 const VkAllocationCallbacks* pAllocator,
10823 VkValidationCacheEXT* pValidationCache);
10825 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
10827 VkValidationCacheEXT validationCache,
10828 const VkAllocationCallbacks* pAllocator);
10830 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
10832 VkValidationCacheEXT dstCache,
10833 deUint32 srcCacheCount,
10834 const VkValidationCacheEXT* pSrcCaches);
10836 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
10838 VkValidationCacheEXT validationCache,
10839 deUintptr* pDataSize,
10844 #define VK_EXT_descriptor_indexing 1
10845 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
10846 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
10847 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
10849 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
10851 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
10853 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
10855 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
10857 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
10859 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
10863 #define VK_EXT_shader_viewport_index_layer 1
10864 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
10865 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
10868 #define VK_NV_shading_rate_image 1
10869 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
10870 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
10872 typedef enum VkShadingRatePaletteEntryNV {
10873 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
10874 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
10875 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
10876 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
10877 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
10878 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
10879 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
10880 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
10881 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
10882 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
10883 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
10884 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
10885 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
10886 } VkShadingRatePaletteEntryNV;
10888 typedef enum VkCoarseSampleOrderTypeNV {
10889 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
10890 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
10891 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
10892 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
10893 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10894 } VkCoarseSampleOrderTypeNV;
10895 typedef struct VkShadingRatePaletteNV {
10896 deUint32 shadingRatePaletteEntryCount;
10897 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
10898 } VkShadingRatePaletteNV;
10900 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
10901 VkStructureType sType;
10903 VkBool32 shadingRateImageEnable;
10904 deUint32 viewportCount;
10905 const VkShadingRatePaletteNV* pShadingRatePalettes;
10906 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
10908 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10909 VkStructureType sType;
10911 VkBool32 shadingRateImage;
10912 VkBool32 shadingRateCoarseSampleOrder;
10913 } VkPhysicalDeviceShadingRateImageFeaturesNV;
10915 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10916 VkStructureType sType;
10918 VkExtent2D shadingRateTexelSize;
10919 deUint32 shadingRatePaletteSize;
10920 deUint32 shadingRateMaxCoarseSamples;
10921 } VkPhysicalDeviceShadingRateImagePropertiesNV;
10923 typedef struct VkCoarseSampleLocationNV {
10927 } VkCoarseSampleLocationNV;
10929 typedef struct VkCoarseSampleOrderCustomNV {
10930 VkShadingRatePaletteEntryNV shadingRate;
10931 deUint32 sampleCount;
10932 deUint32 sampleLocationCount;
10933 const VkCoarseSampleLocationNV* pSampleLocations;
10934 } VkCoarseSampleOrderCustomNV;
10936 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10937 VkStructureType sType;
10939 VkCoarseSampleOrderTypeNV sampleOrderType;
10940 deUint32 customSampleOrderCount;
10941 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
10942 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
10944 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
10945 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
10946 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10948 #ifndef VK_NO_PROTOTYPES
10949 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
10950 VkCommandBuffer commandBuffer,
10951 VkImageView imageView,
10952 VkImageLayout imageLayout);
10954 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
10955 VkCommandBuffer commandBuffer,
10956 deUint32 firstViewport,
10957 deUint32 viewportCount,
10958 const VkShadingRatePaletteNV* pShadingRatePalettes);
10960 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
10961 VkCommandBuffer commandBuffer,
10962 VkCoarseSampleOrderTypeNV sampleOrderType,
10963 deUint32 customSampleOrderCount,
10964 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10968 #define VK_NV_ray_tracing 1
10969 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
10970 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
10971 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
10972 #define VK_SHADER_UNUSED_KHR (~0U)
10973 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
10975 typedef enum VkRayTracingShaderGroupTypeKHR {
10976 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
10977 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
10978 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
10979 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
10980 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
10981 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
10982 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10983 } VkRayTracingShaderGroupTypeKHR;
10984 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
10987 typedef enum VkGeometryTypeKHR {
10988 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
10989 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
10990 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
10991 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
10992 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
10993 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10994 } VkGeometryTypeKHR;
10995 typedef VkGeometryTypeKHR VkGeometryTypeNV;
10998 typedef enum VkAccelerationStructureTypeKHR {
10999 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
11000 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
11001 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
11002 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
11003 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
11004 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11005 } VkAccelerationStructureTypeKHR;
11006 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
11009 typedef enum VkCopyAccelerationStructureModeKHR {
11010 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
11011 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
11012 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
11013 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
11014 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
11015 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
11016 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
11017 } VkCopyAccelerationStructureModeKHR;
11018 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
11021 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
11022 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
11023 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
11024 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
11025 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11026 } VkAccelerationStructureMemoryRequirementsTypeNV;
11028 typedef enum VkGeometryFlagBitsKHR {
11029 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
11030 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
11031 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
11032 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
11033 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11034 } VkGeometryFlagBitsKHR;
11035 typedef VkFlags VkGeometryFlagsKHR;
11036 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
11038 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
11041 typedef enum VkGeometryInstanceFlagBitsKHR {
11042 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
11043 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
11044 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
11045 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
11046 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
11047 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
11048 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
11049 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
11050 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
11051 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11052 } VkGeometryInstanceFlagBitsKHR;
11053 typedef VkFlags VkGeometryInstanceFlagsKHR;
11054 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
11056 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
11059 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
11060 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
11061 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
11062 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
11063 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
11064 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
11065 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
11066 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
11067 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
11068 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
11069 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
11070 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
11071 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11072 } VkBuildAccelerationStructureFlagBitsKHR;
11073 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
11074 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
11076 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
11078 typedef struct VkRayTracingShaderGroupCreateInfoNV {
11079 VkStructureType sType;
11081 VkRayTracingShaderGroupTypeKHR type;
11082 deUint32 generalShader;
11083 deUint32 closestHitShader;
11084 deUint32 anyHitShader;
11085 deUint32 intersectionShader;
11086 } VkRayTracingShaderGroupCreateInfoNV;
11088 typedef struct VkRayTracingPipelineCreateInfoNV {
11089 VkStructureType sType;
11091 VkPipelineCreateFlags flags;
11092 deUint32 stageCount;
11093 const VkPipelineShaderStageCreateInfo* pStages;
11094 deUint32 groupCount;
11095 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
11096 deUint32 maxRecursionDepth;
11097 VkPipelineLayout layout;
11098 VkPipeline basePipelineHandle;
11099 deInt32 basePipelineIndex;
11100 } VkRayTracingPipelineCreateInfoNV;
11102 typedef struct VkGeometryTrianglesNV {
11103 VkStructureType sType;
11105 VkBuffer vertexData;
11106 VkDeviceSize vertexOffset;
11107 deUint32 vertexCount;
11108 VkDeviceSize vertexStride;
11109 VkFormat vertexFormat;
11110 VkBuffer indexData;
11111 VkDeviceSize indexOffset;
11112 deUint32 indexCount;
11113 VkIndexType indexType;
11114 VkBuffer transformData;
11115 VkDeviceSize transformOffset;
11116 } VkGeometryTrianglesNV;
11118 typedef struct VkGeometryAABBNV {
11119 VkStructureType sType;
11124 VkDeviceSize offset;
11125 } VkGeometryAABBNV;
11127 typedef struct VkGeometryDataNV {
11128 VkGeometryTrianglesNV triangles;
11129 VkGeometryAABBNV aabbs;
11130 } VkGeometryDataNV;
11132 typedef struct VkGeometryNV {
11133 VkStructureType sType;
11135 VkGeometryTypeKHR geometryType;
11136 VkGeometryDataNV geometry;
11137 VkGeometryFlagsKHR flags;
11140 typedef struct VkAccelerationStructureInfoNV {
11141 VkStructureType sType;
11143 VkAccelerationStructureTypeNV type;
11144 VkBuildAccelerationStructureFlagsNV flags;
11145 deUint32 instanceCount;
11146 deUint32 geometryCount;
11147 const VkGeometryNV* pGeometries;
11148 } VkAccelerationStructureInfoNV;
11150 typedef struct VkAccelerationStructureCreateInfoNV {
11151 VkStructureType sType;
11153 VkDeviceSize compactedSize;
11154 VkAccelerationStructureInfoNV info;
11155 } VkAccelerationStructureCreateInfoNV;
11157 typedef struct VkBindAccelerationStructureMemoryInfoNV {
11158 VkStructureType sType;
11160 VkAccelerationStructureNV accelerationStructure;
11161 VkDeviceMemory memory;
11162 VkDeviceSize memoryOffset;
11163 deUint32 deviceIndexCount;
11164 const deUint32* pDeviceIndices;
11165 } VkBindAccelerationStructureMemoryInfoNV;
11167 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
11168 VkStructureType sType;
11170 deUint32 accelerationStructureCount;
11171 const VkAccelerationStructureNV* pAccelerationStructures;
11172 } VkWriteDescriptorSetAccelerationStructureNV;
11174 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
11175 VkStructureType sType;
11177 VkAccelerationStructureMemoryRequirementsTypeNV type;
11178 VkAccelerationStructureNV accelerationStructure;
11179 } VkAccelerationStructureMemoryRequirementsInfoNV;
11181 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
11182 VkStructureType sType;
11184 deUint32 shaderGroupHandleSize;
11185 deUint32 maxRecursionDepth;
11186 deUint32 maxShaderGroupStride;
11187 deUint32 shaderGroupBaseAlignment;
11188 deUint64 maxGeometryCount;
11189 deUint64 maxInstanceCount;
11190 deUint64 maxTriangleCount;
11191 deUint32 maxDescriptorSetAccelerationStructures;
11192 } VkPhysicalDeviceRayTracingPropertiesNV;
11194 typedef struct VkTransformMatrixKHR {
11195 float matrix[3][4];
11196 } VkTransformMatrixKHR;
11198 typedef VkTransformMatrixKHR VkTransformMatrixNV;
11200 typedef struct VkAabbPositionsKHR {
11207 } VkAabbPositionsKHR;
11209 typedef VkAabbPositionsKHR VkAabbPositionsNV;
11211 typedef struct VkAccelerationStructureInstanceKHR {
11212 VkTransformMatrixKHR transform;
11213 deUint32 instanceCustomIndex:24;
11215 deUint32 instanceShaderBindingTableRecordOffset:24;
11216 VkGeometryInstanceFlagsKHR flags:8;
11217 deUint64 accelerationStructureReference;
11218 } VkAccelerationStructureInstanceKHR;
11220 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
11222 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
11223 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
11224 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
11225 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11226 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);
11227 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
11228 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);
11229 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
11230 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11231 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11232 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
11233 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
11234 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
11236 #ifndef VK_NO_PROTOTYPES
11237 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
11239 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
11240 const VkAllocationCallbacks* pAllocator,
11241 VkAccelerationStructureNV* pAccelerationStructure);
11243 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
11245 VkAccelerationStructureNV accelerationStructure,
11246 const VkAllocationCallbacks* pAllocator);
11248 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
11250 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
11251 VkMemoryRequirements2KHR* pMemoryRequirements);
11253 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
11255 deUint32 bindInfoCount,
11256 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11258 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
11259 VkCommandBuffer commandBuffer,
11260 const VkAccelerationStructureInfoNV* pInfo,
11261 VkBuffer instanceData,
11262 VkDeviceSize instanceOffset,
11264 VkAccelerationStructureNV dst,
11265 VkAccelerationStructureNV src,
11267 VkDeviceSize scratchOffset);
11269 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
11270 VkCommandBuffer commandBuffer,
11271 VkAccelerationStructureNV dst,
11272 VkAccelerationStructureNV src,
11273 VkCopyAccelerationStructureModeKHR mode);
11275 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
11276 VkCommandBuffer commandBuffer,
11277 VkBuffer raygenShaderBindingTableBuffer,
11278 VkDeviceSize raygenShaderBindingOffset,
11279 VkBuffer missShaderBindingTableBuffer,
11280 VkDeviceSize missShaderBindingOffset,
11281 VkDeviceSize missShaderBindingStride,
11282 VkBuffer hitShaderBindingTableBuffer,
11283 VkDeviceSize hitShaderBindingOffset,
11284 VkDeviceSize hitShaderBindingStride,
11285 VkBuffer callableShaderBindingTableBuffer,
11286 VkDeviceSize callableShaderBindingOffset,
11287 VkDeviceSize callableShaderBindingStride,
11292 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
11294 VkPipelineCache pipelineCache,
11295 deUint32 createInfoCount,
11296 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
11297 const VkAllocationCallbacks* pAllocator,
11298 VkPipeline* pPipelines);
11300 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
11302 VkPipeline pipeline,
11303 deUint32 firstGroup,
11304 deUint32 groupCount,
11305 deUintptr dataSize,
11308 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
11310 VkPipeline pipeline,
11311 deUint32 firstGroup,
11312 deUint32 groupCount,
11313 deUintptr dataSize,
11316 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
11318 VkAccelerationStructureNV accelerationStructure,
11319 deUintptr dataSize,
11322 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
11323 VkCommandBuffer commandBuffer,
11324 deUint32 accelerationStructureCount,
11325 const VkAccelerationStructureNV* pAccelerationStructures,
11326 VkQueryType queryType,
11327 VkQueryPool queryPool,
11328 deUint32 firstQuery);
11330 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
11332 VkPipeline pipeline,
11337 #define VK_NV_representative_fragment_test 1
11338 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
11339 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
11340 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11341 VkStructureType sType;
11343 VkBool32 representativeFragmentTest;
11344 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
11346 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
11347 VkStructureType sType;
11349 VkBool32 representativeFragmentTestEnable;
11350 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
11354 #define VK_EXT_filter_cubic 1
11355 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
11356 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
11357 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
11358 VkStructureType sType;
11360 VkImageViewType imageViewType;
11361 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
11363 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
11364 VkStructureType sType;
11366 VkBool32 filterCubic;
11367 VkBool32 filterCubicMinmax;
11368 } VkFilterCubicImageViewImageFormatPropertiesEXT;
11372 #define VK_QCOM_render_pass_shader_resolve 1
11373 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
11374 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
11377 #define VK_EXT_global_priority 1
11378 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
11379 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
11381 typedef enum VkQueueGlobalPriorityEXT {
11382 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
11383 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
11384 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
11385 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
11386 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
11387 } VkQueueGlobalPriorityEXT;
11388 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
11389 VkStructureType sType;
11391 VkQueueGlobalPriorityEXT globalPriority;
11392 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
11396 #define VK_EXT_external_memory_host 1
11397 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
11398 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
11399 typedef struct VkImportMemoryHostPointerInfoEXT {
11400 VkStructureType sType;
11402 VkExternalMemoryHandleTypeFlagBits handleType;
11403 void* pHostPointer;
11404 } VkImportMemoryHostPointerInfoEXT;
11406 typedef struct VkMemoryHostPointerPropertiesEXT {
11407 VkStructureType sType;
11409 deUint32 memoryTypeBits;
11410 } VkMemoryHostPointerPropertiesEXT;
11412 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
11413 VkStructureType sType;
11415 VkDeviceSize minImportedHostPointerAlignment;
11416 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
11418 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11420 #ifndef VK_NO_PROTOTYPES
11421 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
11423 VkExternalMemoryHandleTypeFlagBits handleType,
11424 const void* pHostPointer,
11425 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11429 #define VK_AMD_buffer_marker 1
11430 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
11431 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
11432 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
11434 #ifndef VK_NO_PROTOTYPES
11435 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
11436 VkCommandBuffer commandBuffer,
11437 VkPipelineStageFlagBits pipelineStage,
11438 VkBuffer dstBuffer,
11439 VkDeviceSize dstOffset,
11444 #define VK_AMD_pipeline_compiler_control 1
11445 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
11446 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
11448 typedef enum VkPipelineCompilerControlFlagBitsAMD {
11449 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11450 } VkPipelineCompilerControlFlagBitsAMD;
11451 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
11452 typedef struct VkPipelineCompilerControlCreateInfoAMD {
11453 VkStructureType sType;
11455 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
11456 } VkPipelineCompilerControlCreateInfoAMD;
11460 #define VK_EXT_calibrated_timestamps 1
11461 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
11462 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
11464 typedef enum VkTimeDomainEXT {
11465 VK_TIME_DOMAIN_DEVICE_EXT = 0,
11466 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
11467 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
11468 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
11469 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
11471 typedef struct VkCalibratedTimestampInfoEXT {
11472 VkStructureType sType;
11474 VkTimeDomainEXT timeDomain;
11475 } VkCalibratedTimestampInfoEXT;
11477 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
11478 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
11480 #ifndef VK_NO_PROTOTYPES
11481 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11482 VkPhysicalDevice physicalDevice,
11483 deUint32* pTimeDomainCount,
11484 VkTimeDomainEXT* pTimeDomains);
11486 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
11488 deUint32 timestampCount,
11489 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
11490 deUint64* pTimestamps,
11491 deUint64* pMaxDeviation);
11495 #define VK_AMD_shader_core_properties 1
11496 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
11497 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
11498 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
11499 VkStructureType sType;
11501 deUint32 shaderEngineCount;
11502 deUint32 shaderArraysPerEngineCount;
11503 deUint32 computeUnitsPerShaderArray;
11504 deUint32 simdPerComputeUnit;
11505 deUint32 wavefrontsPerSimd;
11506 deUint32 wavefrontSize;
11507 deUint32 sgprsPerSimd;
11508 deUint32 minSgprAllocation;
11509 deUint32 maxSgprAllocation;
11510 deUint32 sgprAllocationGranularity;
11511 deUint32 vgprsPerSimd;
11512 deUint32 minVgprAllocation;
11513 deUint32 maxVgprAllocation;
11514 deUint32 vgprAllocationGranularity;
11515 } VkPhysicalDeviceShaderCorePropertiesAMD;
11519 #define VK_AMD_memory_overallocation_behavior 1
11520 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
11521 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
11523 typedef enum VkMemoryOverallocationBehaviorAMD {
11524 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
11525 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
11526 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
11527 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
11528 } VkMemoryOverallocationBehaviorAMD;
11529 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
11530 VkStructureType sType;
11532 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
11533 } VkDeviceMemoryOverallocationCreateInfoAMD;
11537 #define VK_EXT_vertex_attribute_divisor 1
11538 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
11539 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
11540 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
11541 VkStructureType sType;
11543 deUint32 maxVertexAttribDivisor;
11544 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
11546 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
11549 } VkVertexInputBindingDivisorDescriptionEXT;
11551 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
11552 VkStructureType sType;
11554 deUint32 vertexBindingDivisorCount;
11555 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
11556 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
11558 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
11559 VkStructureType sType;
11561 VkBool32 vertexAttributeInstanceRateDivisor;
11562 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11563 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
11567 #define VK_EXT_pipeline_creation_feedback 1
11568 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
11569 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
11571 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
11572 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
11573 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
11574 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
11575 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11576 } VkPipelineCreationFeedbackFlagBitsEXT;
11577 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
11578 typedef struct VkPipelineCreationFeedbackEXT {
11579 VkPipelineCreationFeedbackFlagsEXT flags;
11581 } VkPipelineCreationFeedbackEXT;
11583 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
11584 VkStructureType sType;
11586 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
11587 deUint32 pipelineStageCreationFeedbackCount;
11588 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
11589 } VkPipelineCreationFeedbackCreateInfoEXT;
11593 #define VK_NV_shader_subgroup_partitioned 1
11594 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
11595 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
11598 #define VK_NV_compute_shader_derivatives 1
11599 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
11600 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
11601 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
11602 VkStructureType sType;
11604 VkBool32 computeDerivativeGroupQuads;
11605 VkBool32 computeDerivativeGroupLinear;
11606 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
11610 #define VK_NV_mesh_shader 1
11611 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
11612 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
11613 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
11614 VkStructureType sType;
11616 VkBool32 taskShader;
11617 VkBool32 meshShader;
11618 } VkPhysicalDeviceMeshShaderFeaturesNV;
11620 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
11621 VkStructureType sType;
11623 deUint32 maxDrawMeshTasksCount;
11624 deUint32 maxTaskWorkGroupInvocations;
11625 deUint32 maxTaskWorkGroupSize[3];
11626 deUint32 maxTaskTotalMemorySize;
11627 deUint32 maxTaskOutputCount;
11628 deUint32 maxMeshWorkGroupInvocations;
11629 deUint32 maxMeshWorkGroupSize[3];
11630 deUint32 maxMeshTotalMemorySize;
11631 deUint32 maxMeshOutputVertices;
11632 deUint32 maxMeshOutputPrimitives;
11633 deUint32 maxMeshMultiviewViewCount;
11634 deUint32 meshOutputPerVertexGranularity;
11635 deUint32 meshOutputPerPrimitiveGranularity;
11636 } VkPhysicalDeviceMeshShaderPropertiesNV;
11638 typedef struct VkDrawMeshTasksIndirectCommandNV {
11639 deUint32 taskCount;
11640 deUint32 firstTask;
11641 } VkDrawMeshTasksIndirectCommandNV;
11643 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
11644 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
11645 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11647 #ifndef VK_NO_PROTOTYPES
11648 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
11649 VkCommandBuffer commandBuffer,
11650 deUint32 taskCount,
11651 deUint32 firstTask);
11653 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
11654 VkCommandBuffer commandBuffer,
11656 VkDeviceSize offset,
11657 deUint32 drawCount,
11660 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
11661 VkCommandBuffer commandBuffer,
11663 VkDeviceSize offset,
11664 VkBuffer countBuffer,
11665 VkDeviceSize countBufferOffset,
11666 deUint32 maxDrawCount,
11671 #define VK_NV_fragment_shader_barycentric 1
11672 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
11673 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
11674 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11675 VkStructureType sType;
11677 VkBool32 fragmentShaderBarycentric;
11678 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
11682 #define VK_NV_shader_image_footprint 1
11683 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
11684 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
11685 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11686 VkStructureType sType;
11688 VkBool32 imageFootprint;
11689 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
11693 #define VK_NV_scissor_exclusive 1
11694 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
11695 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
11696 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11697 VkStructureType sType;
11699 deUint32 exclusiveScissorCount;
11700 const VkRect2D* pExclusiveScissors;
11701 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
11703 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11704 VkStructureType sType;
11706 VkBool32 exclusiveScissor;
11707 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
11709 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
11711 #ifndef VK_NO_PROTOTYPES
11712 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
11713 VkCommandBuffer commandBuffer,
11714 deUint32 firstExclusiveScissor,
11715 deUint32 exclusiveScissorCount,
11716 const VkRect2D* pExclusiveScissors);
11720 #define VK_NV_device_diagnostic_checkpoints 1
11721 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
11722 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
11723 typedef struct VkQueueFamilyCheckpointPropertiesNV {
11724 VkStructureType sType;
11726 VkPipelineStageFlags checkpointExecutionStageMask;
11727 } VkQueueFamilyCheckpointPropertiesNV;
11729 typedef struct VkCheckpointDataNV {
11730 VkStructureType sType;
11732 VkPipelineStageFlagBits stage;
11733 void* pCheckpointMarker;
11734 } VkCheckpointDataNV;
11736 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
11737 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
11739 #ifndef VK_NO_PROTOTYPES
11740 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
11741 VkCommandBuffer commandBuffer,
11742 const void* pCheckpointMarker);
11744 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
11746 deUint32* pCheckpointDataCount,
11747 VkCheckpointDataNV* pCheckpointData);
11751 #define VK_INTEL_shader_integer_functions2 1
11752 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
11753 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
11754 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
11755 VkStructureType sType;
11757 VkBool32 shaderIntegerFunctions2;
11758 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
11762 #define VK_INTEL_performance_query 1
11763 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
11764 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
11765 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
11767 typedef enum VkPerformanceConfigurationTypeINTEL {
11768 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
11769 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11770 } VkPerformanceConfigurationTypeINTEL;
11772 typedef enum VkQueryPoolSamplingModeINTEL {
11773 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
11774 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
11775 } VkQueryPoolSamplingModeINTEL;
11777 typedef enum VkPerformanceOverrideTypeINTEL {
11778 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
11779 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
11780 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11781 } VkPerformanceOverrideTypeINTEL;
11783 typedef enum VkPerformanceParameterTypeINTEL {
11784 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
11785 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
11786 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11787 } VkPerformanceParameterTypeINTEL;
11789 typedef enum VkPerformanceValueTypeINTEL {
11790 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
11791 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
11792 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
11793 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
11794 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
11795 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11796 } VkPerformanceValueTypeINTEL;
11797 typedef union VkPerformanceValueDataINTEL {
11801 VkBool32 valueBool;
11802 const char* valueString;
11803 } VkPerformanceValueDataINTEL;
11805 typedef struct VkPerformanceValueINTEL {
11806 VkPerformanceValueTypeINTEL type;
11807 VkPerformanceValueDataINTEL data;
11808 } VkPerformanceValueINTEL;
11810 typedef struct VkInitializePerformanceApiInfoINTEL {
11811 VkStructureType sType;
11814 } VkInitializePerformanceApiInfoINTEL;
11816 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
11817 VkStructureType sType;
11819 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
11820 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
11822 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
11824 typedef struct VkPerformanceMarkerInfoINTEL {
11825 VkStructureType sType;
11828 } VkPerformanceMarkerInfoINTEL;
11830 typedef struct VkPerformanceStreamMarkerInfoINTEL {
11831 VkStructureType sType;
11834 } VkPerformanceStreamMarkerInfoINTEL;
11836 typedef struct VkPerformanceOverrideInfoINTEL {
11837 VkStructureType sType;
11839 VkPerformanceOverrideTypeINTEL type;
11841 deUint64 parameter;
11842 } VkPerformanceOverrideInfoINTEL;
11844 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
11845 VkStructureType sType;
11847 VkPerformanceConfigurationTypeINTEL type;
11848 } VkPerformanceConfigurationAcquireInfoINTEL;
11850 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11851 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
11852 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11853 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11854 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11855 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
11856 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
11857 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
11858 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
11860 #ifndef VK_NO_PROTOTYPES
11861 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
11863 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11865 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
11868 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
11869 VkCommandBuffer commandBuffer,
11870 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11872 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
11873 VkCommandBuffer commandBuffer,
11874 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11876 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
11877 VkCommandBuffer commandBuffer,
11878 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11880 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
11882 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
11883 VkPerformanceConfigurationINTEL* pConfiguration);
11885 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
11887 VkPerformanceConfigurationINTEL configuration);
11889 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
11891 VkPerformanceConfigurationINTEL configuration);
11893 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
11895 VkPerformanceParameterTypeINTEL parameter,
11896 VkPerformanceValueINTEL* pValue);
11900 #define VK_EXT_pci_bus_info 1
11901 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
11902 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
11903 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
11904 VkStructureType sType;
11906 deUint32 pciDomain;
11908 deUint32 pciDevice;
11909 deUint32 pciFunction;
11910 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
11914 #define VK_AMD_display_native_hdr 1
11915 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
11916 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
11917 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11918 VkStructureType sType;
11920 VkBool32 localDimmingSupport;
11921 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
11923 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11924 VkStructureType sType;
11926 VkBool32 localDimmingEnable;
11927 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
11929 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
11931 #ifndef VK_NO_PROTOTYPES
11932 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
11934 VkSwapchainKHR swapChain,
11935 VkBool32 localDimmingEnable);
11939 #define VK_EXT_fragment_density_map 1
11940 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
11941 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
11942 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11943 VkStructureType sType;
11945 VkBool32 fragmentDensityMap;
11946 VkBool32 fragmentDensityMapDynamic;
11947 VkBool32 fragmentDensityMapNonSubsampledImages;
11948 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
11950 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11951 VkStructureType sType;
11953 VkExtent2D minFragmentDensityTexelSize;
11954 VkExtent2D maxFragmentDensityTexelSize;
11955 VkBool32 fragmentDensityInvocations;
11956 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
11958 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11959 VkStructureType sType;
11961 VkAttachmentReference fragmentDensityMapAttachment;
11962 } VkRenderPassFragmentDensityMapCreateInfoEXT;
11966 #define VK_EXT_scalar_block_layout 1
11967 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
11968 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
11969 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
11973 #define VK_GOOGLE_hlsl_functionality1 1
11974 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
11975 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
11978 #define VK_GOOGLE_decorate_string 1
11979 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
11980 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
11983 #define VK_EXT_subgroup_size_control 1
11984 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
11985 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
11986 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
11987 VkStructureType sType;
11989 VkBool32 subgroupSizeControl;
11990 VkBool32 computeFullSubgroups;
11991 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
11993 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
11994 VkStructureType sType;
11996 deUint32 minSubgroupSize;
11997 deUint32 maxSubgroupSize;
11998 deUint32 maxComputeWorkgroupSubgroups;
11999 VkShaderStageFlags requiredSubgroupSizeStages;
12000 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
12002 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
12003 VkStructureType sType;
12005 deUint32 requiredSubgroupSize;
12006 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
12010 #define VK_AMD_shader_core_properties2 1
12011 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
12012 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
12014 typedef enum VkShaderCorePropertiesFlagBitsAMD {
12015 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
12016 } VkShaderCorePropertiesFlagBitsAMD;
12017 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
12018 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
12019 VkStructureType sType;
12021 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
12022 deUint32 activeComputeUnitCount;
12023 } VkPhysicalDeviceShaderCoreProperties2AMD;
12027 #define VK_AMD_device_coherent_memory 1
12028 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
12029 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
12030 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
12031 VkStructureType sType;
12033 VkBool32 deviceCoherentMemory;
12034 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
12038 #define VK_EXT_shader_image_atomic_int64 1
12039 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
12040 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
12041 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
12042 VkStructureType sType;
12044 VkBool32 shaderImageInt64Atomics;
12045 VkBool32 sparseImageInt64Atomics;
12046 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
12050 #define VK_EXT_memory_budget 1
12051 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
12052 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
12053 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
12054 VkStructureType sType;
12056 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
12057 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
12058 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
12062 #define VK_EXT_memory_priority 1
12063 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
12064 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
12065 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
12066 VkStructureType sType;
12068 VkBool32 memoryPriority;
12069 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
12071 typedef struct VkMemoryPriorityAllocateInfoEXT {
12072 VkStructureType sType;
12075 } VkMemoryPriorityAllocateInfoEXT;
12079 #define VK_NV_dedicated_allocation_image_aliasing 1
12080 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
12081 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
12082 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12083 VkStructureType sType;
12085 VkBool32 dedicatedAllocationImageAliasing;
12086 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
12090 #define VK_EXT_buffer_device_address 1
12091 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
12092 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
12093 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
12094 VkStructureType sType;
12096 VkBool32 bufferDeviceAddress;
12097 VkBool32 bufferDeviceAddressCaptureReplay;
12098 VkBool32 bufferDeviceAddressMultiDevice;
12099 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
12101 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
12103 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
12105 typedef struct VkBufferDeviceAddressCreateInfoEXT {
12106 VkStructureType sType;
12108 VkDeviceAddress deviceAddress;
12109 } VkBufferDeviceAddressCreateInfoEXT;
12111 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
12113 #ifndef VK_NO_PROTOTYPES
12114 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
12116 const VkBufferDeviceAddressInfo* pInfo);
12120 #define VK_EXT_tooling_info 1
12121 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
12122 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
12124 typedef enum VkToolPurposeFlagBitsEXT {
12125 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
12126 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
12127 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
12128 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
12129 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
12130 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
12131 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
12132 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12133 } VkToolPurposeFlagBitsEXT;
12134 typedef VkFlags VkToolPurposeFlagsEXT;
12135 typedef struct VkPhysicalDeviceToolPropertiesEXT {
12136 VkStructureType sType;
12138 char name[VK_MAX_EXTENSION_NAME_SIZE];
12139 char version[VK_MAX_EXTENSION_NAME_SIZE];
12140 VkToolPurposeFlagsEXT purposes;
12141 char description[VK_MAX_DESCRIPTION_SIZE];
12142 char layer[VK_MAX_EXTENSION_NAME_SIZE];
12143 } VkPhysicalDeviceToolPropertiesEXT;
12145 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12147 #ifndef VK_NO_PROTOTYPES
12148 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
12149 VkPhysicalDevice physicalDevice,
12150 deUint32* pToolCount,
12151 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12155 #define VK_EXT_separate_stencil_usage 1
12156 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
12157 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
12158 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
12162 #define VK_EXT_validation_features 1
12163 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
12164 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
12166 typedef enum VkValidationFeatureEnableEXT {
12167 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
12168 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
12169 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
12170 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
12171 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
12172 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12173 } VkValidationFeatureEnableEXT;
12175 typedef enum VkValidationFeatureDisableEXT {
12176 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
12177 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
12178 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
12179 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
12180 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
12181 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
12182 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
12183 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
12184 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12185 } VkValidationFeatureDisableEXT;
12186 typedef struct VkValidationFeaturesEXT {
12187 VkStructureType sType;
12189 deUint32 enabledValidationFeatureCount;
12190 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
12191 deUint32 disabledValidationFeatureCount;
12192 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
12193 } VkValidationFeaturesEXT;
12197 #define VK_NV_cooperative_matrix 1
12198 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
12199 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
12201 typedef enum VkComponentTypeNV {
12202 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
12203 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
12204 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
12205 VK_COMPONENT_TYPE_SINT8_NV = 3,
12206 VK_COMPONENT_TYPE_SINT16_NV = 4,
12207 VK_COMPONENT_TYPE_SINT32_NV = 5,
12208 VK_COMPONENT_TYPE_SINT64_NV = 6,
12209 VK_COMPONENT_TYPE_UINT8_NV = 7,
12210 VK_COMPONENT_TYPE_UINT16_NV = 8,
12211 VK_COMPONENT_TYPE_UINT32_NV = 9,
12212 VK_COMPONENT_TYPE_UINT64_NV = 10,
12213 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12214 } VkComponentTypeNV;
12216 typedef enum VkScopeNV {
12217 VK_SCOPE_DEVICE_NV = 1,
12218 VK_SCOPE_WORKGROUP_NV = 2,
12219 VK_SCOPE_SUBGROUP_NV = 3,
12220 VK_SCOPE_QUEUE_FAMILY_NV = 5,
12221 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
12223 typedef struct VkCooperativeMatrixPropertiesNV {
12224 VkStructureType sType;
12229 VkComponentTypeNV AType;
12230 VkComponentTypeNV BType;
12231 VkComponentTypeNV CType;
12232 VkComponentTypeNV DType;
12234 } VkCooperativeMatrixPropertiesNV;
12236 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
12237 VkStructureType sType;
12239 VkBool32 cooperativeMatrix;
12240 VkBool32 cooperativeMatrixRobustBufferAccess;
12241 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
12243 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
12244 VkStructureType sType;
12246 VkShaderStageFlags cooperativeMatrixSupportedStages;
12247 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
12249 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
12251 #ifndef VK_NO_PROTOTYPES
12252 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
12253 VkPhysicalDevice physicalDevice,
12254 deUint32* pPropertyCount,
12255 VkCooperativeMatrixPropertiesNV* pProperties);
12259 #define VK_NV_coverage_reduction_mode 1
12260 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
12261 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
12263 typedef enum VkCoverageReductionModeNV {
12264 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
12265 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
12266 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12267 } VkCoverageReductionModeNV;
12268 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
12269 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
12270 VkStructureType sType;
12272 VkBool32 coverageReductionMode;
12273 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
12275 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
12276 VkStructureType sType;
12278 VkPipelineCoverageReductionStateCreateFlagsNV flags;
12279 VkCoverageReductionModeNV coverageReductionMode;
12280 } VkPipelineCoverageReductionStateCreateInfoNV;
12282 typedef struct VkFramebufferMixedSamplesCombinationNV {
12283 VkStructureType sType;
12285 VkCoverageReductionModeNV coverageReductionMode;
12286 VkSampleCountFlagBits rasterizationSamples;
12287 VkSampleCountFlags depthStencilSamples;
12288 VkSampleCountFlags colorSamples;
12289 } VkFramebufferMixedSamplesCombinationNV;
12291 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
12293 #ifndef VK_NO_PROTOTYPES
12294 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
12295 VkPhysicalDevice physicalDevice,
12296 deUint32* pCombinationCount,
12297 VkFramebufferMixedSamplesCombinationNV* pCombinations);
12301 #define VK_EXT_fragment_shader_interlock 1
12302 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
12303 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
12304 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12305 VkStructureType sType;
12307 VkBool32 fragmentShaderSampleInterlock;
12308 VkBool32 fragmentShaderPixelInterlock;
12309 VkBool32 fragmentShaderShadingRateInterlock;
12310 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
12314 #define VK_EXT_ycbcr_image_arrays 1
12315 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
12316 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
12317 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
12318 VkStructureType sType;
12320 VkBool32 ycbcrImageArrays;
12321 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
12325 #define VK_EXT_provoking_vertex 1
12326 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
12327 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
12329 typedef enum VkProvokingVertexModeEXT {
12330 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
12331 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
12332 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12333 } VkProvokingVertexModeEXT;
12334 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
12335 VkStructureType sType;
12337 VkBool32 provokingVertexLast;
12338 VkBool32 transformFeedbackPreservesProvokingVertex;
12339 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
12341 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
12342 VkStructureType sType;
12344 VkBool32 provokingVertexModePerPipeline;
12345 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
12346 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
12348 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
12349 VkStructureType sType;
12351 VkProvokingVertexModeEXT provokingVertexMode;
12352 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
12356 #define VK_EXT_headless_surface 1
12357 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
12358 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
12359 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
12360 typedef struct VkHeadlessSurfaceCreateInfoEXT {
12361 VkStructureType sType;
12363 VkHeadlessSurfaceCreateFlagsEXT flags;
12364 } VkHeadlessSurfaceCreateInfoEXT;
12366 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
12368 #ifndef VK_NO_PROTOTYPES
12369 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
12370 VkInstance instance,
12371 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
12372 const VkAllocationCallbacks* pAllocator,
12373 VkSurfaceKHR* pSurface);
12377 #define VK_EXT_line_rasterization 1
12378 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
12379 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
12381 typedef enum VkLineRasterizationModeEXT {
12382 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
12383 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
12384 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
12385 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
12386 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12387 } VkLineRasterizationModeEXT;
12388 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
12389 VkStructureType sType;
12391 VkBool32 rectangularLines;
12392 VkBool32 bresenhamLines;
12393 VkBool32 smoothLines;
12394 VkBool32 stippledRectangularLines;
12395 VkBool32 stippledBresenhamLines;
12396 VkBool32 stippledSmoothLines;
12397 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
12399 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
12400 VkStructureType sType;
12402 deUint32 lineSubPixelPrecisionBits;
12403 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
12405 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
12406 VkStructureType sType;
12408 VkLineRasterizationModeEXT lineRasterizationMode;
12409 VkBool32 stippledLineEnable;
12410 deUint32 lineStippleFactor;
12411 deUint16 lineStipplePattern;
12412 } VkPipelineRasterizationLineStateCreateInfoEXT;
12414 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
12416 #ifndef VK_NO_PROTOTYPES
12417 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
12418 VkCommandBuffer commandBuffer,
12419 deUint32 lineStippleFactor,
12420 deUint16 lineStipplePattern);
12424 #define VK_EXT_shader_atomic_float 1
12425 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
12426 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
12427 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
12428 VkStructureType sType;
12430 VkBool32 shaderBufferFloat32Atomics;
12431 VkBool32 shaderBufferFloat32AtomicAdd;
12432 VkBool32 shaderBufferFloat64Atomics;
12433 VkBool32 shaderBufferFloat64AtomicAdd;
12434 VkBool32 shaderSharedFloat32Atomics;
12435 VkBool32 shaderSharedFloat32AtomicAdd;
12436 VkBool32 shaderSharedFloat64Atomics;
12437 VkBool32 shaderSharedFloat64AtomicAdd;
12438 VkBool32 shaderImageFloat32Atomics;
12439 VkBool32 shaderImageFloat32AtomicAdd;
12440 VkBool32 sparseImageFloat32Atomics;
12441 VkBool32 sparseImageFloat32AtomicAdd;
12442 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
12446 #define VK_EXT_host_query_reset 1
12447 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
12448 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
12449 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
12451 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
12453 #ifndef VK_NO_PROTOTYPES
12454 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
12456 VkQueryPool queryPool,
12457 deUint32 firstQuery,
12458 deUint32 queryCount);
12462 #define VK_EXT_index_type_uint8 1
12463 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
12464 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
12465 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
12466 VkStructureType sType;
12468 VkBool32 indexTypeUint8;
12469 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
12473 #define VK_EXT_extended_dynamic_state 1
12474 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
12475 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
12476 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
12477 VkStructureType sType;
12479 VkBool32 extendedDynamicState;
12480 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
12482 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
12483 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
12484 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
12485 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
12486 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
12487 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
12488 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
12489 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
12490 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
12491 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
12492 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
12493 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
12495 #ifndef VK_NO_PROTOTYPES
12496 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
12497 VkCommandBuffer commandBuffer,
12498 VkCullModeFlags cullMode);
12500 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
12501 VkCommandBuffer commandBuffer,
12502 VkFrontFace frontFace);
12504 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
12505 VkCommandBuffer commandBuffer,
12506 VkPrimitiveTopology primitiveTopology);
12508 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
12509 VkCommandBuffer commandBuffer,
12510 deUint32 viewportCount,
12511 const VkViewport* pViewports);
12513 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
12514 VkCommandBuffer commandBuffer,
12515 deUint32 scissorCount,
12516 const VkRect2D* pScissors);
12518 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
12519 VkCommandBuffer commandBuffer,
12520 deUint32 firstBinding,
12521 deUint32 bindingCount,
12522 const VkBuffer* pBuffers,
12523 const VkDeviceSize* pOffsets,
12524 const VkDeviceSize* pSizes,
12525 const VkDeviceSize* pStrides);
12527 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
12528 VkCommandBuffer commandBuffer,
12529 VkBool32 depthTestEnable);
12531 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
12532 VkCommandBuffer commandBuffer,
12533 VkBool32 depthWriteEnable);
12535 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
12536 VkCommandBuffer commandBuffer,
12537 VkCompareOp depthCompareOp);
12539 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
12540 VkCommandBuffer commandBuffer,
12541 VkBool32 depthBoundsTestEnable);
12543 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
12544 VkCommandBuffer commandBuffer,
12545 VkBool32 stencilTestEnable);
12547 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
12548 VkCommandBuffer commandBuffer,
12549 VkStencilFaceFlags faceMask,
12550 VkStencilOp failOp,
12551 VkStencilOp passOp,
12552 VkStencilOp depthFailOp,
12553 VkCompareOp compareOp);
12557 #define VK_EXT_shader_atomic_float2 1
12558 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
12559 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
12560 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
12561 VkStructureType sType;
12563 VkBool32 shaderBufferFloat16Atomics;
12564 VkBool32 shaderBufferFloat16AtomicAdd;
12565 VkBool32 shaderBufferFloat16AtomicMinMax;
12566 VkBool32 shaderBufferFloat32AtomicMinMax;
12567 VkBool32 shaderBufferFloat64AtomicMinMax;
12568 VkBool32 shaderSharedFloat16Atomics;
12569 VkBool32 shaderSharedFloat16AtomicAdd;
12570 VkBool32 shaderSharedFloat16AtomicMinMax;
12571 VkBool32 shaderSharedFloat32AtomicMinMax;
12572 VkBool32 shaderSharedFloat64AtomicMinMax;
12573 VkBool32 shaderImageFloat32AtomicMinMax;
12574 VkBool32 sparseImageFloat32AtomicMinMax;
12575 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
12579 #define VK_EXT_shader_demote_to_helper_invocation 1
12580 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
12581 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
12582 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
12583 VkStructureType sType;
12585 VkBool32 shaderDemoteToHelperInvocation;
12586 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
12590 #define VK_NV_device_generated_commands 1
12591 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
12592 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
12593 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
12595 typedef enum VkIndirectCommandsTokenTypeNV {
12596 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
12597 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
12598 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
12599 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
12600 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
12601 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
12602 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
12603 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
12604 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12605 } VkIndirectCommandsTokenTypeNV;
12607 typedef enum VkIndirectStateFlagBitsNV {
12608 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
12609 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12610 } VkIndirectStateFlagBitsNV;
12611 typedef VkFlags VkIndirectStateFlagsNV;
12613 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
12614 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
12615 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
12616 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
12617 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12618 } VkIndirectCommandsLayoutUsageFlagBitsNV;
12619 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
12620 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
12621 VkStructureType sType;
12623 deUint32 maxGraphicsShaderGroupCount;
12624 deUint32 maxIndirectSequenceCount;
12625 deUint32 maxIndirectCommandsTokenCount;
12626 deUint32 maxIndirectCommandsStreamCount;
12627 deUint32 maxIndirectCommandsTokenOffset;
12628 deUint32 maxIndirectCommandsStreamStride;
12629 deUint32 minSequencesCountBufferOffsetAlignment;
12630 deUint32 minSequencesIndexBufferOffsetAlignment;
12631 deUint32 minIndirectCommandsBufferOffsetAlignment;
12632 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
12634 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
12635 VkStructureType sType;
12637 VkBool32 deviceGeneratedCommands;
12638 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
12640 typedef struct VkGraphicsShaderGroupCreateInfoNV {
12641 VkStructureType sType;
12643 deUint32 stageCount;
12644 const VkPipelineShaderStageCreateInfo* pStages;
12645 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
12646 const VkPipelineTessellationStateCreateInfo* pTessellationState;
12647 } VkGraphicsShaderGroupCreateInfoNV;
12649 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
12650 VkStructureType sType;
12652 deUint32 groupCount;
12653 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
12654 deUint32 pipelineCount;
12655 const VkPipeline* pPipelines;
12656 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
12658 typedef struct VkBindShaderGroupIndirectCommandNV {
12659 deUint32 groupIndex;
12660 } VkBindShaderGroupIndirectCommandNV;
12662 typedef struct VkBindIndexBufferIndirectCommandNV {
12663 VkDeviceAddress bufferAddress;
12665 VkIndexType indexType;
12666 } VkBindIndexBufferIndirectCommandNV;
12668 typedef struct VkBindVertexBufferIndirectCommandNV {
12669 VkDeviceAddress bufferAddress;
12672 } VkBindVertexBufferIndirectCommandNV;
12674 typedef struct VkSetStateFlagsIndirectCommandNV {
12676 } VkSetStateFlagsIndirectCommandNV;
12678 typedef struct VkIndirectCommandsStreamNV {
12680 VkDeviceSize offset;
12681 } VkIndirectCommandsStreamNV;
12683 typedef struct VkIndirectCommandsLayoutTokenNV {
12684 VkStructureType sType;
12686 VkIndirectCommandsTokenTypeNV tokenType;
12689 deUint32 vertexBindingUnit;
12690 VkBool32 vertexDynamicStride;
12691 VkPipelineLayout pushconstantPipelineLayout;
12692 VkShaderStageFlags pushconstantShaderStageFlags;
12693 deUint32 pushconstantOffset;
12694 deUint32 pushconstantSize;
12695 VkIndirectStateFlagsNV indirectStateFlags;
12696 deUint32 indexTypeCount;
12697 const VkIndexType* pIndexTypes;
12698 const deUint32* pIndexTypeValues;
12699 } VkIndirectCommandsLayoutTokenNV;
12701 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
12702 VkStructureType sType;
12704 VkIndirectCommandsLayoutUsageFlagsNV flags;
12705 VkPipelineBindPoint pipelineBindPoint;
12706 deUint32 tokenCount;
12707 const VkIndirectCommandsLayoutTokenNV* pTokens;
12708 deUint32 streamCount;
12709 const deUint32* pStreamStrides;
12710 } VkIndirectCommandsLayoutCreateInfoNV;
12712 typedef struct VkGeneratedCommandsInfoNV {
12713 VkStructureType sType;
12715 VkPipelineBindPoint pipelineBindPoint;
12716 VkPipeline pipeline;
12717 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12718 deUint32 streamCount;
12719 const VkIndirectCommandsStreamNV* pStreams;
12720 deUint32 sequencesCount;
12721 VkBuffer preprocessBuffer;
12722 VkDeviceSize preprocessOffset;
12723 VkDeviceSize preprocessSize;
12724 VkBuffer sequencesCountBuffer;
12725 VkDeviceSize sequencesCountOffset;
12726 VkBuffer sequencesIndexBuffer;
12727 VkDeviceSize sequencesIndexOffset;
12728 } VkGeneratedCommandsInfoNV;
12730 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
12731 VkStructureType sType;
12733 VkPipelineBindPoint pipelineBindPoint;
12734 VkPipeline pipeline;
12735 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12736 deUint32 maxSequencesCount;
12737 } VkGeneratedCommandsMemoryRequirementsInfoNV;
12739 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12740 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12741 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12742 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
12743 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12744 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
12746 #ifndef VK_NO_PROTOTYPES
12747 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
12749 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
12750 VkMemoryRequirements2* pMemoryRequirements);
12752 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
12753 VkCommandBuffer commandBuffer,
12754 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12756 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
12757 VkCommandBuffer commandBuffer,
12758 VkBool32 isPreprocessed,
12759 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12761 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
12762 VkCommandBuffer commandBuffer,
12763 VkPipelineBindPoint pipelineBindPoint,
12764 VkPipeline pipeline,
12765 deUint32 groupIndex);
12767 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
12769 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
12770 const VkAllocationCallbacks* pAllocator,
12771 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12773 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
12775 VkIndirectCommandsLayoutNV indirectCommandsLayout,
12776 const VkAllocationCallbacks* pAllocator);
12780 #define VK_NV_inherited_viewport_scissor 1
12781 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
12782 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
12783 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
12784 VkStructureType sType;
12786 VkBool32 inheritedViewportScissor2D;
12787 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
12789 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
12790 VkStructureType sType;
12792 VkBool32 viewportScissor2D;
12793 deUint32 viewportDepthCount;
12794 const VkViewport* pViewportDepths;
12795 } VkCommandBufferInheritanceViewportScissorInfoNV;
12799 #define VK_EXT_texel_buffer_alignment 1
12800 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
12801 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
12802 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
12803 VkStructureType sType;
12805 VkBool32 texelBufferAlignment;
12806 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
12808 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
12809 VkStructureType sType;
12811 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
12812 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
12813 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
12814 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
12815 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
12819 #define VK_QCOM_render_pass_transform 1
12820 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
12821 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
12822 typedef struct VkRenderPassTransformBeginInfoQCOM {
12823 VkStructureType sType;
12825 VkSurfaceTransformFlagBitsKHR transform;
12826 } VkRenderPassTransformBeginInfoQCOM;
12828 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
12829 VkStructureType sType;
12831 VkSurfaceTransformFlagBitsKHR transform;
12832 VkRect2D renderArea;
12833 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
12837 #define VK_EXT_device_memory_report 1
12838 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
12839 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
12841 typedef enum VkDeviceMemoryReportEventTypeEXT {
12842 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
12843 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
12844 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
12845 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
12846 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
12847 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12848 } VkDeviceMemoryReportEventTypeEXT;
12849 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
12850 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
12851 VkStructureType sType;
12853 VkBool32 deviceMemoryReport;
12854 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
12856 typedef struct VkDeviceMemoryReportCallbackDataEXT {
12857 VkStructureType sType;
12859 VkDeviceMemoryReportFlagsEXT flags;
12860 VkDeviceMemoryReportEventTypeEXT type;
12861 deUint64 memoryObjectId;
12863 VkObjectType objectType;
12864 deUint64 objectHandle;
12865 deUint32 heapIndex;
12866 } VkDeviceMemoryReportCallbackDataEXT;
12868 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
12869 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
12872 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
12873 VkStructureType sType;
12875 VkDeviceMemoryReportFlagsEXT flags;
12876 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
12878 } VkDeviceDeviceMemoryReportCreateInfoEXT;
12882 #define VK_EXT_acquire_drm_display 1
12883 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
12884 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
12885 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, VkDisplayKHR display);
12886 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, deUint32 connectorId, VkDisplayKHR* display);
12888 #ifndef VK_NO_PROTOTYPES
12889 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
12890 VkPhysicalDevice physicalDevice,
12892 VkDisplayKHR display);
12894 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
12895 VkPhysicalDevice physicalDevice,
12897 deUint32 connectorId,
12898 VkDisplayKHR* display);
12902 #define VK_EXT_robustness2 1
12903 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
12904 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
12905 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
12906 VkStructureType sType;
12908 VkBool32 robustBufferAccess2;
12909 VkBool32 robustImageAccess2;
12910 VkBool32 nullDescriptor;
12911 } VkPhysicalDeviceRobustness2FeaturesEXT;
12913 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
12914 VkStructureType sType;
12916 VkDeviceSize robustStorageBufferAccessSizeAlignment;
12917 VkDeviceSize robustUniformBufferAccessSizeAlignment;
12918 } VkPhysicalDeviceRobustness2PropertiesEXT;
12922 #define VK_EXT_custom_border_color 1
12923 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
12924 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
12925 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
12926 VkStructureType sType;
12928 VkClearColorValue customBorderColor;
12930 } VkSamplerCustomBorderColorCreateInfoEXT;
12932 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
12933 VkStructureType sType;
12935 deUint32 maxCustomBorderColorSamplers;
12936 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
12938 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
12939 VkStructureType sType;
12941 VkBool32 customBorderColors;
12942 VkBool32 customBorderColorWithoutFormat;
12943 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
12947 #define VK_GOOGLE_user_type 1
12948 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
12949 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
12952 #define VK_EXT_private_data 1
12953 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
12954 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
12955 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
12957 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
12958 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12959 } VkPrivateDataSlotCreateFlagBitsEXT;
12960 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
12961 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
12962 VkStructureType sType;
12964 VkBool32 privateData;
12965 } VkPhysicalDevicePrivateDataFeaturesEXT;
12967 typedef struct VkDevicePrivateDataCreateInfoEXT {
12968 VkStructureType sType;
12970 deUint32 privateDataSlotRequestCount;
12971 } VkDevicePrivateDataCreateInfoEXT;
12973 typedef struct VkPrivateDataSlotCreateInfoEXT {
12974 VkStructureType sType;
12976 VkPrivateDataSlotCreateFlagsEXT flags;
12977 } VkPrivateDataSlotCreateInfoEXT;
12979 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
12980 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
12981 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
12982 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
12984 #ifndef VK_NO_PROTOTYPES
12985 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
12987 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
12988 const VkAllocationCallbacks* pAllocator,
12989 VkPrivateDataSlotEXT* pPrivateDataSlot);
12991 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
12993 VkPrivateDataSlotEXT privateDataSlot,
12994 const VkAllocationCallbacks* pAllocator);
12996 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
12998 VkObjectType objectType,
12999 deUint64 objectHandle,
13000 VkPrivateDataSlotEXT privateDataSlot,
13003 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
13005 VkObjectType objectType,
13006 deUint64 objectHandle,
13007 VkPrivateDataSlotEXT privateDataSlot,
13012 #define VK_EXT_pipeline_creation_cache_control 1
13013 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
13014 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
13015 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
13016 VkStructureType sType;
13018 VkBool32 pipelineCreationCacheControl;
13019 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
13023 #define VK_NV_device_diagnostics_config 1
13024 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
13025 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
13027 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
13028 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
13029 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
13030 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
13031 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
13032 } VkDeviceDiagnosticsConfigFlagBitsNV;
13033 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
13034 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
13035 VkStructureType sType;
13037 VkBool32 diagnosticsConfig;
13038 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
13040 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
13041 VkStructureType sType;
13043 VkDeviceDiagnosticsConfigFlagsNV flags;
13044 } VkDeviceDiagnosticsConfigCreateInfoNV;
13048 #define VK_QCOM_render_pass_store_ops 1
13049 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
13050 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
13053 #define VK_NV_fragment_shading_rate_enums 1
13054 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
13055 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
13057 typedef enum VkFragmentShadingRateTypeNV {
13058 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
13059 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
13060 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13061 } VkFragmentShadingRateTypeNV;
13063 typedef enum VkFragmentShadingRateNV {
13064 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
13065 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
13066 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
13067 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
13068 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
13069 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
13070 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
13071 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
13072 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
13073 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
13074 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
13075 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
13076 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
13077 } VkFragmentShadingRateNV;
13078 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
13079 VkStructureType sType;
13081 VkBool32 fragmentShadingRateEnums;
13082 VkBool32 supersampleFragmentShadingRates;
13083 VkBool32 noInvocationFragmentShadingRates;
13084 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
13086 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
13087 VkStructureType sType;
13089 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
13090 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
13092 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
13093 VkStructureType sType;
13095 VkFragmentShadingRateTypeNV shadingRateType;
13096 VkFragmentShadingRateNV shadingRate;
13097 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
13098 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
13100 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13102 #ifndef VK_NO_PROTOTYPES
13103 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
13104 VkCommandBuffer commandBuffer,
13105 VkFragmentShadingRateNV shadingRate,
13106 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13110 #define VK_NV_ray_tracing_motion_blur 1
13111 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
13112 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
13114 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
13115 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
13116 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
13117 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
13118 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13119 } VkAccelerationStructureMotionInstanceTypeNV;
13120 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
13121 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
13122 typedef union VkDeviceOrHostAddressConstKHR {
13123 VkDeviceAddress deviceAddress;
13124 const void* hostAddress;
13125 } VkDeviceOrHostAddressConstKHR;
13127 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
13128 VkStructureType sType;
13130 VkDeviceOrHostAddressConstKHR vertexData;
13131 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
13133 typedef struct VkAccelerationStructureMotionInfoNV {
13134 VkStructureType sType;
13136 deUint32 maxInstances;
13137 VkAccelerationStructureMotionInfoFlagsNV flags;
13138 } VkAccelerationStructureMotionInfoNV;
13140 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
13141 VkTransformMatrixKHR transformT0;
13142 VkTransformMatrixKHR transformT1;
13143 deUint32 instanceCustomIndex:24;
13145 deUint32 instanceShaderBindingTableRecordOffset:24;
13146 VkGeometryInstanceFlagsKHR flags:8;
13147 deUint64 accelerationStructureReference;
13148 } VkAccelerationStructureMatrixMotionInstanceNV;
13150 typedef struct VkSRTDataNV {
13169 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
13170 VkSRTDataNV transformT0;
13171 VkSRTDataNV transformT1;
13172 deUint32 instanceCustomIndex:24;
13174 deUint32 instanceShaderBindingTableRecordOffset:24;
13175 VkGeometryInstanceFlagsKHR flags:8;
13176 deUint64 accelerationStructureReference;
13177 } VkAccelerationStructureSRTMotionInstanceNV;
13179 typedef union VkAccelerationStructureMotionInstanceDataNV {
13180 VkAccelerationStructureInstanceKHR staticInstance;
13181 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
13182 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
13183 } VkAccelerationStructureMotionInstanceDataNV;
13185 typedef struct VkAccelerationStructureMotionInstanceNV {
13186 VkAccelerationStructureMotionInstanceTypeNV type;
13187 VkAccelerationStructureMotionInstanceFlagsNV flags;
13188 VkAccelerationStructureMotionInstanceDataNV data;
13189 } VkAccelerationStructureMotionInstanceNV;
13191 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
13192 VkStructureType sType;
13194 VkBool32 rayTracingMotionBlur;
13195 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
13196 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
13200 #define VK_EXT_ycbcr_2plane_444_formats 1
13201 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
13202 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
13203 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
13204 VkStructureType sType;
13206 VkBool32 ycbcr2plane444Formats;
13207 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
13211 #define VK_EXT_fragment_density_map2 1
13212 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
13213 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
13214 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
13215 VkStructureType sType;
13217 VkBool32 fragmentDensityMapDeferred;
13218 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
13220 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
13221 VkStructureType sType;
13223 VkBool32 subsampledLoads;
13224 VkBool32 subsampledCoarseReconstructionEarlyAccess;
13225 deUint32 maxSubsampledArrayLayers;
13226 deUint32 maxDescriptorSetSubsampledSamplers;
13227 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
13231 #define VK_QCOM_rotated_copy_commands 1
13232 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
13233 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
13234 typedef struct VkCopyCommandTransformInfoQCOM {
13235 VkStructureType sType;
13237 VkSurfaceTransformFlagBitsKHR transform;
13238 } VkCopyCommandTransformInfoQCOM;
13242 #define VK_EXT_image_robustness 1
13243 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
13244 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
13245 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
13246 VkStructureType sType;
13248 VkBool32 robustImageAccess;
13249 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
13253 #define VK_EXT_4444_formats 1
13254 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
13255 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
13256 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
13257 VkStructureType sType;
13259 VkBool32 formatA4R4G4B4;
13260 VkBool32 formatA4B4G4R4;
13261 } VkPhysicalDevice4444FormatsFeaturesEXT;
13265 #define VK_NV_acquire_winrt_display 1
13266 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
13267 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
13268 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
13269 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
13271 #ifndef VK_NO_PROTOTYPES
13272 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
13273 VkPhysicalDevice physicalDevice,
13274 VkDisplayKHR display);
13276 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
13277 VkPhysicalDevice physicalDevice,
13278 deUint32 deviceRelativeId,
13279 VkDisplayKHR* pDisplay);
13283 #define VK_VALVE_mutable_descriptor_type 1
13284 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
13285 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
13286 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
13287 VkStructureType sType;
13289 VkBool32 mutableDescriptorType;
13290 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
13292 typedef struct VkMutableDescriptorTypeListVALVE {
13293 deUint32 descriptorTypeCount;
13294 const VkDescriptorType* pDescriptorTypes;
13295 } VkMutableDescriptorTypeListVALVE;
13297 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
13298 VkStructureType sType;
13300 deUint32 mutableDescriptorTypeListCount;
13301 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
13302 } VkMutableDescriptorTypeCreateInfoVALVE;
13306 #define VK_EXT_vertex_input_dynamic_state 1
13307 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
13308 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
13309 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
13310 VkStructureType sType;
13312 VkBool32 vertexInputDynamicState;
13313 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
13315 typedef struct VkVertexInputBindingDescription2EXT {
13316 VkStructureType sType;
13320 VkVertexInputRate inputRate;
13322 } VkVertexInputBindingDescription2EXT;
13324 typedef struct VkVertexInputAttributeDescription2EXT {
13325 VkStructureType sType;
13331 } VkVertexInputAttributeDescription2EXT;
13333 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13335 #ifndef VK_NO_PROTOTYPES
13336 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
13337 VkCommandBuffer commandBuffer,
13338 deUint32 vertexBindingDescriptionCount,
13339 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
13340 deUint32 vertexAttributeDescriptionCount,
13341 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13345 #define VK_EXT_physical_device_drm 1
13346 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
13347 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
13348 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
13349 VkStructureType sType;
13351 VkBool32 hasPrimary;
13352 VkBool32 hasRender;
13353 deInt64 primaryMajor;
13354 deInt64 primaryMinor;
13355 deInt64 renderMajor;
13356 deInt64 renderMinor;
13357 } VkPhysicalDeviceDrmPropertiesEXT;
13361 #define VK_HUAWEI_subpass_shading 1
13362 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
13363 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
13364 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
13365 VkStructureType sType;
13367 VkRenderPass renderPass;
13369 } VkSubpassShadingPipelineCreateInfoHUAWEI;
13371 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
13372 VkStructureType sType;
13374 VkBool32 subpassShading;
13375 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
13377 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
13378 VkStructureType sType;
13380 deUint32 maxSubpassShadingWorkgroupSizeAspectRatio;
13381 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
13383 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
13384 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
13386 #ifndef VK_NO_PROTOTYPES
13387 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
13389 VkRenderPass renderpass,
13390 VkExtent2D* pMaxWorkgroupSize);
13392 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
13393 VkCommandBuffer commandBuffer);
13397 #define VK_HUAWEI_invocation_mask 1
13398 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
13399 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
13400 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
13401 VkStructureType sType;
13403 VkBool32 invocationMask;
13404 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
13406 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
13408 #ifndef VK_NO_PROTOTYPES
13409 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
13410 VkCommandBuffer commandBuffer,
13411 VkImageView imageView,
13412 VkImageLayout imageLayout);
13416 #define VK_NV_external_memory_rdma 1
13417 typedef void* VkRemoteAddressNV;
13418 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
13419 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
13420 typedef struct VkMemoryGetRemoteAddressInfoNV {
13421 VkStructureType sType;
13423 VkDeviceMemory memory;
13424 VkExternalMemoryHandleTypeFlagBits handleType;
13425 } VkMemoryGetRemoteAddressInfoNV;
13427 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
13428 VkStructureType sType;
13430 VkBool32 externalMemoryRDMA;
13431 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
13433 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
13435 #ifndef VK_NO_PROTOTYPES
13436 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
13438 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
13439 VkRemoteAddressNV* pAddress);
13443 #define VK_EXT_extended_dynamic_state2 1
13444 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
13445 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
13446 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
13447 VkStructureType sType;
13449 VkBool32 extendedDynamicState2;
13450 VkBool32 extendedDynamicState2LogicOp;
13451 VkBool32 extendedDynamicState2PatchControlPoints;
13452 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
13454 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
13455 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
13456 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
13457 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
13458 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
13460 #ifndef VK_NO_PROTOTYPES
13461 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
13462 VkCommandBuffer commandBuffer,
13463 deUint32 patchControlPoints);
13465 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
13466 VkCommandBuffer commandBuffer,
13467 VkBool32 rasterizerDiscardEnable);
13469 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
13470 VkCommandBuffer commandBuffer,
13471 VkBool32 depthBiasEnable);
13473 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
13474 VkCommandBuffer commandBuffer,
13475 VkLogicOp logicOp);
13477 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
13478 VkCommandBuffer commandBuffer,
13479 VkBool32 primitiveRestartEnable);
13483 #define VK_EXT_color_write_enable 1
13484 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
13485 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
13486 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
13487 VkStructureType sType;
13489 VkBool32 colorWriteEnable;
13490 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
13492 typedef struct VkPipelineColorWriteCreateInfoEXT {
13493 VkStructureType sType;
13495 deUint32 attachmentCount;
13496 const VkBool32* pColorWriteEnables;
13497 } VkPipelineColorWriteCreateInfoEXT;
13499 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
13501 #ifndef VK_NO_PROTOTYPES
13502 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
13503 VkCommandBuffer commandBuffer,
13504 deUint32 attachmentCount,
13505 const VkBool32* pColorWriteEnables);
13509 #define VK_EXT_global_priority_query 1
13510 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U
13511 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
13512 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
13513 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT {
13514 VkStructureType sType;
13516 VkBool32 globalPriorityQuery;
13517 } VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
13519 typedef struct VkQueueFamilyGlobalPriorityPropertiesEXT {
13520 VkStructureType sType;
13522 deUint32 priorityCount;
13523 VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT];
13524 } VkQueueFamilyGlobalPriorityPropertiesEXT;
13528 #define VK_EXT_multi_draw 1
13529 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
13530 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
13531 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
13532 VkStructureType sType;
13534 VkBool32 multiDraw;
13535 } VkPhysicalDeviceMultiDrawFeaturesEXT;
13537 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
13538 VkStructureType sType;
13540 deUint32 maxMultiDrawCount;
13541 } VkPhysicalDeviceMultiDrawPropertiesEXT;
13543 typedef struct VkMultiDrawInfoEXT {
13544 deUint32 firstVertex;
13545 deUint32 vertexCount;
13546 } VkMultiDrawInfoEXT;
13548 typedef struct VkMultiDrawIndexedInfoEXT {
13549 deUint32 firstIndex;
13550 deUint32 indexCount;
13551 deInt32 vertexOffset;
13552 } VkMultiDrawIndexedInfoEXT;
13554 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawInfoEXT* pVertexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride);
13555 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride, const deInt32* pVertexOffset);
13557 #ifndef VK_NO_PROTOTYPES
13558 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
13559 VkCommandBuffer commandBuffer,
13560 deUint32 drawCount,
13561 const VkMultiDrawInfoEXT* pVertexInfo,
13562 deUint32 instanceCount,
13563 deUint32 firstInstance,
13566 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
13567 VkCommandBuffer commandBuffer,
13568 deUint32 drawCount,
13569 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
13570 deUint32 instanceCount,
13571 deUint32 firstInstance,
13573 const deInt32* pVertexOffset);
13577 #define VK_EXT_load_store_op_none 1
13578 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
13579 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
13582 #define VK_KHR_acceleration_structure 1
13583 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
13584 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 12
13585 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
13587 typedef enum VkBuildAccelerationStructureModeKHR {
13588 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
13589 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
13590 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13591 } VkBuildAccelerationStructureModeKHR;
13593 typedef enum VkAccelerationStructureBuildTypeKHR {
13594 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
13595 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
13596 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
13597 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13598 } VkAccelerationStructureBuildTypeKHR;
13600 typedef enum VkAccelerationStructureCompatibilityKHR {
13601 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
13602 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
13603 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
13604 } VkAccelerationStructureCompatibilityKHR;
13606 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
13607 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
13608 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
13609 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13610 } VkAccelerationStructureCreateFlagBitsKHR;
13611 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
13612 typedef union VkDeviceOrHostAddressKHR {
13613 VkDeviceAddress deviceAddress;
13615 } VkDeviceOrHostAddressKHR;
13617 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
13618 deUint32 primitiveCount;
13619 deUint32 primitiveOffset;
13620 deUint32 firstVertex;
13621 deUint32 transformOffset;
13622 } VkAccelerationStructureBuildRangeInfoKHR;
13624 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
13625 VkStructureType sType;
13627 VkFormat vertexFormat;
13628 VkDeviceOrHostAddressConstKHR vertexData;
13629 VkDeviceSize vertexStride;
13630 deUint32 maxVertex;
13631 VkIndexType indexType;
13632 VkDeviceOrHostAddressConstKHR indexData;
13633 VkDeviceOrHostAddressConstKHR transformData;
13634 } VkAccelerationStructureGeometryTrianglesDataKHR;
13636 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
13637 VkStructureType sType;
13639 VkDeviceOrHostAddressConstKHR data;
13640 VkDeviceSize stride;
13641 } VkAccelerationStructureGeometryAabbsDataKHR;
13643 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
13644 VkStructureType sType;
13646 VkBool32 arrayOfPointers;
13647 VkDeviceOrHostAddressConstKHR data;
13648 } VkAccelerationStructureGeometryInstancesDataKHR;
13650 typedef union VkAccelerationStructureGeometryDataKHR {
13651 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
13652 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
13653 VkAccelerationStructureGeometryInstancesDataKHR instances;
13654 } VkAccelerationStructureGeometryDataKHR;
13656 typedef struct VkAccelerationStructureGeometryKHR {
13657 VkStructureType sType;
13659 VkGeometryTypeKHR geometryType;
13660 VkAccelerationStructureGeometryDataKHR geometry;
13661 VkGeometryFlagsKHR flags;
13662 } VkAccelerationStructureGeometryKHR;
13664 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
13665 VkStructureType sType;
13667 VkAccelerationStructureTypeKHR type;
13668 VkBuildAccelerationStructureFlagsKHR flags;
13669 VkBuildAccelerationStructureModeKHR mode;
13670 VkAccelerationStructureKHR srcAccelerationStructure;
13671 VkAccelerationStructureKHR dstAccelerationStructure;
13672 deUint32 geometryCount;
13673 const VkAccelerationStructureGeometryKHR* pGeometries;
13674 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
13675 VkDeviceOrHostAddressKHR scratchData;
13676 } VkAccelerationStructureBuildGeometryInfoKHR;
13678 typedef struct VkAccelerationStructureCreateInfoKHR {
13679 VkStructureType sType;
13681 VkAccelerationStructureCreateFlagsKHR createFlags;
13683 VkDeviceSize offset;
13685 VkAccelerationStructureTypeKHR type;
13686 VkDeviceAddress deviceAddress;
13687 } VkAccelerationStructureCreateInfoKHR;
13689 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13690 VkStructureType sType;
13692 deUint32 accelerationStructureCount;
13693 const VkAccelerationStructureKHR* pAccelerationStructures;
13694 } VkWriteDescriptorSetAccelerationStructureKHR;
13696 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13697 VkStructureType sType;
13699 VkBool32 accelerationStructure;
13700 VkBool32 accelerationStructureCaptureReplay;
13701 VkBool32 accelerationStructureIndirectBuild;
13702 VkBool32 accelerationStructureHostCommands;
13703 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13704 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13706 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13707 VkStructureType sType;
13709 deUint64 maxGeometryCount;
13710 deUint64 maxInstanceCount;
13711 deUint64 maxPrimitiveCount;
13712 deUint32 maxPerStageDescriptorAccelerationStructures;
13713 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
13714 deUint32 maxDescriptorSetAccelerationStructures;
13715 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
13716 deUint32 minAccelerationStructureScratchOffsetAlignment;
13717 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
13719 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
13720 VkStructureType sType;
13722 VkAccelerationStructureKHR accelerationStructure;
13723 } VkAccelerationStructureDeviceAddressInfoKHR;
13725 typedef struct VkAccelerationStructureVersionInfoKHR {
13726 VkStructureType sType;
13728 const deUint8* pVersionData;
13729 } VkAccelerationStructureVersionInfoKHR;
13731 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
13732 VkStructureType sType;
13734 VkAccelerationStructureKHR src;
13735 VkDeviceOrHostAddressKHR dst;
13736 VkCopyAccelerationStructureModeKHR mode;
13737 } VkCopyAccelerationStructureToMemoryInfoKHR;
13739 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
13740 VkStructureType sType;
13742 VkDeviceOrHostAddressConstKHR src;
13743 VkAccelerationStructureKHR dst;
13744 VkCopyAccelerationStructureModeKHR mode;
13745 } VkCopyMemoryToAccelerationStructureInfoKHR;
13747 typedef struct VkCopyAccelerationStructureInfoKHR {
13748 VkStructureType sType;
13750 VkAccelerationStructureKHR src;
13751 VkAccelerationStructureKHR dst;
13752 VkCopyAccelerationStructureModeKHR mode;
13753 } VkCopyAccelerationStructureInfoKHR;
13755 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
13756 VkStructureType sType;
13758 VkDeviceSize accelerationStructureSize;
13759 VkDeviceSize updateScratchSize;
13760 VkDeviceSize buildScratchSize;
13761 } VkAccelerationStructureBuildSizesInfoKHR;
13763 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
13764 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
13765 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13766 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
13767 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13768 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
13769 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13770 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13771 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
13772 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
13773 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13774 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13775 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13776 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
13777 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
13778 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13780 #ifndef VK_NO_PROTOTYPES
13781 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
13783 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
13784 const VkAllocationCallbacks* pAllocator,
13785 VkAccelerationStructureKHR* pAccelerationStructure);
13787 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
13789 VkAccelerationStructureKHR accelerationStructure,
13790 const VkAllocationCallbacks* pAllocator);
13792 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
13793 VkCommandBuffer commandBuffer,
13794 deUint32 infoCount,
13795 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13796 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13798 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
13799 VkCommandBuffer commandBuffer,
13800 deUint32 infoCount,
13801 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13802 const VkDeviceAddress* pIndirectDeviceAddresses,
13803 const deUint32* pIndirectStrides,
13804 const deUint32* const* ppMaxPrimitiveCounts);
13806 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
13808 VkDeferredOperationKHR deferredOperation,
13809 deUint32 infoCount,
13810 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13811 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13813 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
13815 VkDeferredOperationKHR deferredOperation,
13816 const VkCopyAccelerationStructureInfoKHR* pInfo);
13818 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
13820 VkDeferredOperationKHR deferredOperation,
13821 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13823 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
13825 VkDeferredOperationKHR deferredOperation,
13826 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13828 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
13830 deUint32 accelerationStructureCount,
13831 const VkAccelerationStructureKHR* pAccelerationStructures,
13832 VkQueryType queryType,
13833 deUintptr dataSize,
13837 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
13838 VkCommandBuffer commandBuffer,
13839 const VkCopyAccelerationStructureInfoKHR* pInfo);
13841 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
13842 VkCommandBuffer commandBuffer,
13843 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13845 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
13846 VkCommandBuffer commandBuffer,
13847 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13849 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
13851 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13853 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
13854 VkCommandBuffer commandBuffer,
13855 deUint32 accelerationStructureCount,
13856 const VkAccelerationStructureKHR* pAccelerationStructures,
13857 VkQueryType queryType,
13858 VkQueryPool queryPool,
13859 deUint32 firstQuery);
13861 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
13863 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
13864 VkAccelerationStructureCompatibilityKHR* pCompatibility);
13866 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
13868 VkAccelerationStructureBuildTypeKHR buildType,
13869 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
13870 const deUint32* pMaxPrimitiveCounts,
13871 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13875 #define VK_KHR_ray_tracing_pipeline 1
13876 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
13877 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
13879 typedef enum VkShaderGroupShaderKHR {
13880 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
13881 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
13882 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
13883 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
13884 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
13885 } VkShaderGroupShaderKHR;
13886 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
13887 VkStructureType sType;
13889 VkRayTracingShaderGroupTypeKHR type;
13890 deUint32 generalShader;
13891 deUint32 closestHitShader;
13892 deUint32 anyHitShader;
13893 deUint32 intersectionShader;
13894 const void* pShaderGroupCaptureReplayHandle;
13895 } VkRayTracingShaderGroupCreateInfoKHR;
13897 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
13898 VkStructureType sType;
13900 deUint32 maxPipelineRayPayloadSize;
13901 deUint32 maxPipelineRayHitAttributeSize;
13902 } VkRayTracingPipelineInterfaceCreateInfoKHR;
13904 typedef struct VkRayTracingPipelineCreateInfoKHR {
13905 VkStructureType sType;
13907 VkPipelineCreateFlags flags;
13908 deUint32 stageCount;
13909 const VkPipelineShaderStageCreateInfo* pStages;
13910 deUint32 groupCount;
13911 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
13912 deUint32 maxPipelineRayRecursionDepth;
13913 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
13914 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
13915 const VkPipelineDynamicStateCreateInfo* pDynamicState;
13916 VkPipelineLayout layout;
13917 VkPipeline basePipelineHandle;
13918 deInt32 basePipelineIndex;
13919 } VkRayTracingPipelineCreateInfoKHR;
13921 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
13922 VkStructureType sType;
13924 VkBool32 rayTracingPipeline;
13925 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
13926 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
13927 VkBool32 rayTracingPipelineTraceRaysIndirect;
13928 VkBool32 rayTraversalPrimitiveCulling;
13929 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
13931 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
13932 VkStructureType sType;
13934 deUint32 shaderGroupHandleSize;
13935 deUint32 maxRayRecursionDepth;
13936 deUint32 maxShaderGroupStride;
13937 deUint32 shaderGroupBaseAlignment;
13938 deUint32 shaderGroupHandleCaptureReplaySize;
13939 deUint32 maxRayDispatchInvocationCount;
13940 deUint32 shaderGroupHandleAlignment;
13941 deUint32 maxRayHitAttributeSize;
13942 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
13944 typedef struct VkStridedDeviceAddressRegionKHR {
13945 VkDeviceAddress deviceAddress;
13946 VkDeviceSize stride;
13948 } VkStridedDeviceAddressRegionKHR;
13950 typedef struct VkTraceRaysIndirectCommandKHR {
13954 } VkTraceRaysIndirectCommandKHR;
13956 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);
13957 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13958 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
13959 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
13960 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
13961 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
13963 #ifndef VK_NO_PROTOTYPES
13964 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
13965 VkCommandBuffer commandBuffer,
13966 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13967 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13968 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13969 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13974 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
13976 VkDeferredOperationKHR deferredOperation,
13977 VkPipelineCache pipelineCache,
13978 deUint32 createInfoCount,
13979 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
13980 const VkAllocationCallbacks* pAllocator,
13981 VkPipeline* pPipelines);
13983 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
13985 VkPipeline pipeline,
13986 deUint32 firstGroup,
13987 deUint32 groupCount,
13988 deUintptr dataSize,
13991 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
13992 VkCommandBuffer commandBuffer,
13993 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13994 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13995 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13996 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13997 VkDeviceAddress indirectDeviceAddress);
13999 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
14001 VkPipeline pipeline,
14003 VkShaderGroupShaderKHR groupShader);
14005 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
14006 VkCommandBuffer commandBuffer,
14007 deUint32 pipelineStackSize);
14011 #define VK_KHR_ray_query 1
14012 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
14013 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
14014 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
14015 VkStructureType sType;
14018 } VkPhysicalDeviceRayQueryFeaturesKHR;