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 __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 176
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_ATTACHMENT_UNUSED (~0U)
1029 #define VK_LOD_CLAMP_NONE 1000.0F
1030 #define VK_QUEUE_FAMILY_IGNORED (~0U)
1031 #define VK_REMAINING_ARRAY_LAYERS (~0U)
1032 #define VK_REMAINING_MIP_LEVELS (~0U)
1033 #define VK_SUBPASS_EXTERNAL (~0U)
1035 #define VK_WHOLE_SIZE (~0ULL)
1036 #define VK_MAX_MEMORY_TYPES 32U
1037 #define VK_MAX_MEMORY_HEAPS 16U
1038 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
1039 #define VK_UUID_SIZE 16U
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 #ifdef VK_ENABLE_BETA_EXTENSIONS
1329 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
1331 #ifdef VK_ENABLE_BETA_EXTENSIONS
1332 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
1334 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1335 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1336 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1337 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1338 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1339 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1340 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
1341 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
1342 #ifdef VK_ENABLE_BETA_EXTENSIONS
1343 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
1345 #ifdef VK_ENABLE_BETA_EXTENSIONS
1346 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
1348 #ifdef VK_ENABLE_BETA_EXTENSIONS
1349 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
1351 #ifdef VK_ENABLE_BETA_EXTENSIONS
1352 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
1354 #ifdef VK_ENABLE_BETA_EXTENSIONS
1355 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
1357 #ifdef VK_ENABLE_BETA_EXTENSIONS
1358 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
1360 #ifdef VK_ENABLE_BETA_EXTENSIONS
1361 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
1363 #ifdef VK_ENABLE_BETA_EXTENSIONS
1364 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
1366 #ifdef VK_ENABLE_BETA_EXTENSIONS
1367 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
1369 #ifdef VK_ENABLE_BETA_EXTENSIONS
1370 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
1372 #ifdef VK_ENABLE_BETA_EXTENSIONS
1373 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
1375 #ifdef VK_ENABLE_BETA_EXTENSIONS
1376 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
1378 #ifdef VK_ENABLE_BETA_EXTENSIONS
1379 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
1381 #ifdef VK_ENABLE_BETA_EXTENSIONS
1382 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
1384 #ifdef VK_ENABLE_BETA_EXTENSIONS
1385 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
1387 #ifdef VK_ENABLE_BETA_EXTENSIONS
1388 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
1390 #ifdef VK_ENABLE_BETA_EXTENSIONS
1391 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
1393 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1394 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1395 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1396 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1397 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1398 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1399 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1400 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1401 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1402 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1403 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
1404 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1405 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1406 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1407 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1408 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1409 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1410 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1411 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1412 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1413 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1414 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1415 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1416 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1417 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1418 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1419 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1420 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1421 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1422 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1423 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1424 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1425 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1426 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1427 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1428 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1429 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1430 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1431 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1432 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1433 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1434 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1435 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1436 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1437 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1438 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1439 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1440 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1441 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1442 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1443 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1444 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1445 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1446 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1447 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1448 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1449 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1450 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1451 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1452 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1453 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1454 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1455 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1456 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1457 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1458 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1459 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1460 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1461 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1462 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1463 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1464 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1465 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1466 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1467 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1468 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1469 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1470 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1471 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1472 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1473 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1474 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1475 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
1476 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
1477 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
1478 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
1479 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1480 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1481 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1482 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1483 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1484 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1485 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1486 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1487 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1488 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1489 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1490 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1491 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1492 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1493 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1494 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1495 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1496 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1497 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1498 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1499 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1500 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1501 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1502 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1503 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1504 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1505 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1506 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1507 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1509 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1511 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1512 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1513 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1514 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1515 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1516 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1517 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1518 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1519 #ifdef VK_ENABLE_BETA_EXTENSIONS
1520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1522 #ifdef VK_ENABLE_BETA_EXTENSIONS
1523 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1525 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1526 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1527 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1528 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1529 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1530 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1531 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1532 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1533 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1534 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1535 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1536 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1538 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1539 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1540 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1541 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1542 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1543 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1544 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
1545 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1546 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1547 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1549 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1550 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1551 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1552 #ifdef VK_ENABLE_BETA_EXTENSIONS
1553 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1555 #ifdef VK_ENABLE_BETA_EXTENSIONS
1556 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
1558 #ifdef VK_ENABLE_BETA_EXTENSIONS
1559 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
1561 #ifdef VK_ENABLE_BETA_EXTENSIONS
1562 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
1564 #ifdef VK_ENABLE_BETA_EXTENSIONS
1565 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
1567 #ifdef VK_ENABLE_BETA_EXTENSIONS
1568 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
1570 #ifdef VK_ENABLE_BETA_EXTENSIONS
1571 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
1573 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1574 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1575 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1576 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1577 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1578 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
1579 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1580 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1581 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1582 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
1583 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1584 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1585 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1586 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1587 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1588 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1589 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1590 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1591 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1592 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1593 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1594 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1595 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1596 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1597 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1598 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
1600 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1602 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1603 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1604 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
1605 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
1606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
1607 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1608 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1614 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1615 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1617 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1618 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1620 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1621 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1622 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
1623 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
1625 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
1626 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
1627 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
1628 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
1629 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
1630 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
1631 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
1632 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
1633 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
1634 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
1635 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
1636 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
1637 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
1638 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
1639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
1640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
1641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
1642 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
1643 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
1644 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
1645 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
1646 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
1647 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
1648 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
1649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
1650 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
1651 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
1652 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
1653 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
1654 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
1655 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
1656 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
1657 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
1658 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
1659 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = 1000280000,
1660 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = 1000280001,
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_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
1675 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
1676 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
1677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
1678 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1679 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1680 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
1681 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
1682 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
1683 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
1684 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
1685 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
1686 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
1687 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
1688 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1689 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
1691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1693 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1696 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1697 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1698 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
1699 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1700 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
1701 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
1702 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
1703 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
1704 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
1705 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
1706 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
1707 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
1708 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
1709 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
1710 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
1711 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1712 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1714 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1715 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1716 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1717 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1718 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1719 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1720 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1721 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1722 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1724 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1726 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1728 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1729 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1730 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1731 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1734 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1735 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1736 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1738 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1740 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1742 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1743 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1744 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1745 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1746 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1747 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1748 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1750 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1752 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1754 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1756 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1757 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1758 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1760 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1761 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1762 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1763 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1764 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1765 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1766 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1768 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1769 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1770 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1771 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1772 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1773 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1774 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1775 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1776 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1777 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1779 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1780 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1781 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1782 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1783 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1784 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1785 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1786 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1787 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1788 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1790 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1791 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1792 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1793 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1794 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1795 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1796 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1797 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1798 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1799 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1800 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1802 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1803 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1804 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1805 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1808 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1809 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1811 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1812 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1815 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1816 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1817 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1818 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1819 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1820 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1821 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1822 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1823 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1824 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1825 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1827 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1828 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1829 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1830 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1832 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1833 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1834 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1836 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1837 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1838 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1839 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1840 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1841 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1844 typedef enum VkImageLayout {
1845 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1846 VK_IMAGE_LAYOUT_GENERAL = 1,
1847 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1848 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1849 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1850 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1851 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1852 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1853 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1854 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1855 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1856 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1857 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1858 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1859 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1860 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1861 #ifdef VK_ENABLE_BETA_EXTENSIONS
1862 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1864 #ifdef VK_ENABLE_BETA_EXTENSIONS
1865 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1867 #ifdef VK_ENABLE_BETA_EXTENSIONS
1868 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1870 #ifdef VK_ENABLE_BETA_EXTENSIONS
1871 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1873 #ifdef VK_ENABLE_BETA_EXTENSIONS
1874 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1876 #ifdef VK_ENABLE_BETA_EXTENSIONS
1877 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1879 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1880 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
1881 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1882 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1883 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1884 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1885 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1886 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
1887 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1888 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1889 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1890 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1891 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1894 typedef enum VkObjectType {
1895 VK_OBJECT_TYPE_UNKNOWN = 0,
1896 VK_OBJECT_TYPE_INSTANCE = 1,
1897 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1898 VK_OBJECT_TYPE_DEVICE = 3,
1899 VK_OBJECT_TYPE_QUEUE = 4,
1900 VK_OBJECT_TYPE_SEMAPHORE = 5,
1901 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1902 VK_OBJECT_TYPE_FENCE = 7,
1903 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1904 VK_OBJECT_TYPE_BUFFER = 9,
1905 VK_OBJECT_TYPE_IMAGE = 10,
1906 VK_OBJECT_TYPE_EVENT = 11,
1907 VK_OBJECT_TYPE_QUERY_POOL = 12,
1908 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1909 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1910 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1911 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1912 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1913 VK_OBJECT_TYPE_RENDER_PASS = 18,
1914 VK_OBJECT_TYPE_PIPELINE = 19,
1915 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1916 VK_OBJECT_TYPE_SAMPLER = 21,
1917 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1918 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1919 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1920 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1921 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1922 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1923 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1924 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1925 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1926 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1927 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1928 #ifdef VK_ENABLE_BETA_EXTENSIONS
1929 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1931 #ifdef VK_ENABLE_BETA_EXTENSIONS
1932 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1934 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1935 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1936 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1937 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1938 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1939 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1940 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1941 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1942 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1943 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1944 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1947 typedef enum VkVendorId {
1948 VK_VENDOR_ID_VIV = 0x10001,
1949 VK_VENDOR_ID_VSI = 0x10002,
1950 VK_VENDOR_ID_KAZAN = 0x10003,
1951 VK_VENDOR_ID_CODEPLAY = 0x10004,
1952 VK_VENDOR_ID_MESA = 0x10005,
1953 VK_VENDOR_ID_POCL = 0x10006,
1954 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1957 typedef enum VkPipelineCacheHeaderVersion {
1958 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1959 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1960 } VkPipelineCacheHeaderVersion;
1962 typedef enum VkSystemAllocationScope {
1963 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1964 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1965 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1966 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1967 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1968 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1969 } VkSystemAllocationScope;
1971 typedef enum VkInternalAllocationType {
1972 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1973 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1974 } VkInternalAllocationType;
1976 typedef enum VkFormat {
1977 VK_FORMAT_UNDEFINED = 0,
1978 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1979 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1980 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1981 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1982 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1983 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1984 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1985 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1986 VK_FORMAT_R8_UNORM = 9,
1987 VK_FORMAT_R8_SNORM = 10,
1988 VK_FORMAT_R8_USCALED = 11,
1989 VK_FORMAT_R8_SSCALED = 12,
1990 VK_FORMAT_R8_UINT = 13,
1991 VK_FORMAT_R8_SINT = 14,
1992 VK_FORMAT_R8_SRGB = 15,
1993 VK_FORMAT_R8G8_UNORM = 16,
1994 VK_FORMAT_R8G8_SNORM = 17,
1995 VK_FORMAT_R8G8_USCALED = 18,
1996 VK_FORMAT_R8G8_SSCALED = 19,
1997 VK_FORMAT_R8G8_UINT = 20,
1998 VK_FORMAT_R8G8_SINT = 21,
1999 VK_FORMAT_R8G8_SRGB = 22,
2000 VK_FORMAT_R8G8B8_UNORM = 23,
2001 VK_FORMAT_R8G8B8_SNORM = 24,
2002 VK_FORMAT_R8G8B8_USCALED = 25,
2003 VK_FORMAT_R8G8B8_SSCALED = 26,
2004 VK_FORMAT_R8G8B8_UINT = 27,
2005 VK_FORMAT_R8G8B8_SINT = 28,
2006 VK_FORMAT_R8G8B8_SRGB = 29,
2007 VK_FORMAT_B8G8R8_UNORM = 30,
2008 VK_FORMAT_B8G8R8_SNORM = 31,
2009 VK_FORMAT_B8G8R8_USCALED = 32,
2010 VK_FORMAT_B8G8R8_SSCALED = 33,
2011 VK_FORMAT_B8G8R8_UINT = 34,
2012 VK_FORMAT_B8G8R8_SINT = 35,
2013 VK_FORMAT_B8G8R8_SRGB = 36,
2014 VK_FORMAT_R8G8B8A8_UNORM = 37,
2015 VK_FORMAT_R8G8B8A8_SNORM = 38,
2016 VK_FORMAT_R8G8B8A8_USCALED = 39,
2017 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2018 VK_FORMAT_R8G8B8A8_UINT = 41,
2019 VK_FORMAT_R8G8B8A8_SINT = 42,
2020 VK_FORMAT_R8G8B8A8_SRGB = 43,
2021 VK_FORMAT_B8G8R8A8_UNORM = 44,
2022 VK_FORMAT_B8G8R8A8_SNORM = 45,
2023 VK_FORMAT_B8G8R8A8_USCALED = 46,
2024 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2025 VK_FORMAT_B8G8R8A8_UINT = 48,
2026 VK_FORMAT_B8G8R8A8_SINT = 49,
2027 VK_FORMAT_B8G8R8A8_SRGB = 50,
2028 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2029 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2030 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2031 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2032 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2033 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2034 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2035 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2036 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2037 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2038 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2039 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2040 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2041 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2042 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2043 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2044 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2045 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2046 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2047 VK_FORMAT_R16_UNORM = 70,
2048 VK_FORMAT_R16_SNORM = 71,
2049 VK_FORMAT_R16_USCALED = 72,
2050 VK_FORMAT_R16_SSCALED = 73,
2051 VK_FORMAT_R16_UINT = 74,
2052 VK_FORMAT_R16_SINT = 75,
2053 VK_FORMAT_R16_SFLOAT = 76,
2054 VK_FORMAT_R16G16_UNORM = 77,
2055 VK_FORMAT_R16G16_SNORM = 78,
2056 VK_FORMAT_R16G16_USCALED = 79,
2057 VK_FORMAT_R16G16_SSCALED = 80,
2058 VK_FORMAT_R16G16_UINT = 81,
2059 VK_FORMAT_R16G16_SINT = 82,
2060 VK_FORMAT_R16G16_SFLOAT = 83,
2061 VK_FORMAT_R16G16B16_UNORM = 84,
2062 VK_FORMAT_R16G16B16_SNORM = 85,
2063 VK_FORMAT_R16G16B16_USCALED = 86,
2064 VK_FORMAT_R16G16B16_SSCALED = 87,
2065 VK_FORMAT_R16G16B16_UINT = 88,
2066 VK_FORMAT_R16G16B16_SINT = 89,
2067 VK_FORMAT_R16G16B16_SFLOAT = 90,
2068 VK_FORMAT_R16G16B16A16_UNORM = 91,
2069 VK_FORMAT_R16G16B16A16_SNORM = 92,
2070 VK_FORMAT_R16G16B16A16_USCALED = 93,
2071 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2072 VK_FORMAT_R16G16B16A16_UINT = 95,
2073 VK_FORMAT_R16G16B16A16_SINT = 96,
2074 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2075 VK_FORMAT_R32_UINT = 98,
2076 VK_FORMAT_R32_SINT = 99,
2077 VK_FORMAT_R32_SFLOAT = 100,
2078 VK_FORMAT_R32G32_UINT = 101,
2079 VK_FORMAT_R32G32_SINT = 102,
2080 VK_FORMAT_R32G32_SFLOAT = 103,
2081 VK_FORMAT_R32G32B32_UINT = 104,
2082 VK_FORMAT_R32G32B32_SINT = 105,
2083 VK_FORMAT_R32G32B32_SFLOAT = 106,
2084 VK_FORMAT_R32G32B32A32_UINT = 107,
2085 VK_FORMAT_R32G32B32A32_SINT = 108,
2086 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2087 VK_FORMAT_R64_UINT = 110,
2088 VK_FORMAT_R64_SINT = 111,
2089 VK_FORMAT_R64_SFLOAT = 112,
2090 VK_FORMAT_R64G64_UINT = 113,
2091 VK_FORMAT_R64G64_SINT = 114,
2092 VK_FORMAT_R64G64_SFLOAT = 115,
2093 VK_FORMAT_R64G64B64_UINT = 116,
2094 VK_FORMAT_R64G64B64_SINT = 117,
2095 VK_FORMAT_R64G64B64_SFLOAT = 118,
2096 VK_FORMAT_R64G64B64A64_UINT = 119,
2097 VK_FORMAT_R64G64B64A64_SINT = 120,
2098 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2099 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2100 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2101 VK_FORMAT_D16_UNORM = 124,
2102 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2103 VK_FORMAT_D32_SFLOAT = 126,
2104 VK_FORMAT_S8_UINT = 127,
2105 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2106 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2107 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2108 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2109 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2110 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2111 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2112 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2113 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2114 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2115 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2116 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2117 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2118 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2119 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2120 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2121 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2122 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2123 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2124 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2125 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2126 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2127 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2128 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2129 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2130 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2131 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2132 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2133 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2134 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2135 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2136 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2137 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2138 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2139 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2140 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2141 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2142 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2143 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2144 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2145 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2146 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2147 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2148 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2149 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2150 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2151 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2152 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2153 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2154 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2155 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2156 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2157 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2158 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2159 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2160 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2161 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2162 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2163 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2164 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2165 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2166 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2167 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2168 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2169 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2170 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2171 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2172 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2173 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2174 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2175 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2176 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2177 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2178 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2179 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2180 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2181 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2182 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2183 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2184 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2185 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2186 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2187 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2188 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2189 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2190 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2191 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2192 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2193 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2194 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2195 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2196 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2197 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2198 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2199 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2200 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2201 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2202 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2203 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2204 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
2205 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
2206 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
2207 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
2208 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
2209 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
2210 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
2211 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
2212 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
2213 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
2214 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
2215 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
2216 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
2217 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
2218 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
2219 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
2220 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
2221 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
2222 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
2223 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
2224 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2225 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2226 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2227 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2228 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2229 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2230 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2231 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2232 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2233 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2234 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2235 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2236 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2237 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2238 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2239 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2240 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2241 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2242 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2243 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2244 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2245 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2246 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2247 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2248 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2249 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2250 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2251 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2252 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2253 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2254 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2255 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2256 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2257 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2258 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2261 typedef enum VkImageTiling {
2262 VK_IMAGE_TILING_OPTIMAL = 0,
2263 VK_IMAGE_TILING_LINEAR = 1,
2264 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2265 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2268 typedef enum VkImageType {
2269 VK_IMAGE_TYPE_1D = 0,
2270 VK_IMAGE_TYPE_2D = 1,
2271 VK_IMAGE_TYPE_3D = 2,
2272 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2275 typedef enum VkPhysicalDeviceType {
2276 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2277 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2278 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2279 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2280 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2281 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2282 } VkPhysicalDeviceType;
2284 typedef enum VkQueryType {
2285 VK_QUERY_TYPE_OCCLUSION = 0,
2286 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2287 VK_QUERY_TYPE_TIMESTAMP = 2,
2288 #ifdef VK_ENABLE_BETA_EXTENSIONS
2289 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2291 #ifdef VK_ENABLE_BETA_EXTENSIONS
2292 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2294 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2295 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2296 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2297 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2298 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2299 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2300 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2303 typedef enum VkSharingMode {
2304 VK_SHARING_MODE_EXCLUSIVE = 0,
2305 VK_SHARING_MODE_CONCURRENT = 1,
2306 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2309 typedef enum VkComponentSwizzle {
2310 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2311 VK_COMPONENT_SWIZZLE_ZERO = 1,
2312 VK_COMPONENT_SWIZZLE_ONE = 2,
2313 VK_COMPONENT_SWIZZLE_R = 3,
2314 VK_COMPONENT_SWIZZLE_G = 4,
2315 VK_COMPONENT_SWIZZLE_B = 5,
2316 VK_COMPONENT_SWIZZLE_A = 6,
2317 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2318 } VkComponentSwizzle;
2320 typedef enum VkImageViewType {
2321 VK_IMAGE_VIEW_TYPE_1D = 0,
2322 VK_IMAGE_VIEW_TYPE_2D = 1,
2323 VK_IMAGE_VIEW_TYPE_3D = 2,
2324 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2325 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2326 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2327 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2328 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2331 typedef enum VkBlendFactor {
2332 VK_BLEND_FACTOR_ZERO = 0,
2333 VK_BLEND_FACTOR_ONE = 1,
2334 VK_BLEND_FACTOR_SRC_COLOR = 2,
2335 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2336 VK_BLEND_FACTOR_DST_COLOR = 4,
2337 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2338 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2339 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2340 VK_BLEND_FACTOR_DST_ALPHA = 8,
2341 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2342 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2343 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2344 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2345 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2346 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2347 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2348 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2349 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2350 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2351 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2354 typedef enum VkBlendOp {
2355 VK_BLEND_OP_ADD = 0,
2356 VK_BLEND_OP_SUBTRACT = 1,
2357 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2358 VK_BLEND_OP_MIN = 3,
2359 VK_BLEND_OP_MAX = 4,
2360 VK_BLEND_OP_ZERO_EXT = 1000148000,
2361 VK_BLEND_OP_SRC_EXT = 1000148001,
2362 VK_BLEND_OP_DST_EXT = 1000148002,
2363 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2364 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2365 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2366 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2367 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2368 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2369 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2370 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2371 VK_BLEND_OP_XOR_EXT = 1000148011,
2372 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2373 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2374 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2375 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2376 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2377 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2378 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2379 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2380 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2381 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2382 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2383 VK_BLEND_OP_INVERT_EXT = 1000148023,
2384 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2385 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2386 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2387 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2388 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2389 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2390 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2391 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2392 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2393 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2394 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2395 VK_BLEND_OP_PLUS_EXT = 1000148035,
2396 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2397 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2398 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2399 VK_BLEND_OP_MINUS_EXT = 1000148039,
2400 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2401 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2402 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2403 VK_BLEND_OP_RED_EXT = 1000148043,
2404 VK_BLEND_OP_GREEN_EXT = 1000148044,
2405 VK_BLEND_OP_BLUE_EXT = 1000148045,
2406 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2409 typedef enum VkCompareOp {
2410 VK_COMPARE_OP_NEVER = 0,
2411 VK_COMPARE_OP_LESS = 1,
2412 VK_COMPARE_OP_EQUAL = 2,
2413 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2414 VK_COMPARE_OP_GREATER = 4,
2415 VK_COMPARE_OP_NOT_EQUAL = 5,
2416 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2417 VK_COMPARE_OP_ALWAYS = 7,
2418 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2421 typedef enum VkDynamicState {
2422 VK_DYNAMIC_STATE_VIEWPORT = 0,
2423 VK_DYNAMIC_STATE_SCISSOR = 1,
2424 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2425 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2426 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2427 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2428 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2429 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2430 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2431 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2432 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2433 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2434 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2435 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2436 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2437 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2438 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2439 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2440 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
2441 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
2442 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
2443 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
2444 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
2445 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
2446 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
2447 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
2448 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
2449 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
2450 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
2451 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
2452 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2453 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2454 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
2455 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
2456 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2457 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
2458 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2459 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2462 typedef enum VkFrontFace {
2463 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2464 VK_FRONT_FACE_CLOCKWISE = 1,
2465 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2468 typedef enum VkVertexInputRate {
2469 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2470 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2471 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2472 } VkVertexInputRate;
2474 typedef enum VkPrimitiveTopology {
2475 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2476 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2477 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2478 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2479 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2480 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2481 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2482 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2483 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2484 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2485 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2486 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2487 } VkPrimitiveTopology;
2489 typedef enum VkPolygonMode {
2490 VK_POLYGON_MODE_FILL = 0,
2491 VK_POLYGON_MODE_LINE = 1,
2492 VK_POLYGON_MODE_POINT = 2,
2493 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2494 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2497 typedef enum VkStencilOp {
2498 VK_STENCIL_OP_KEEP = 0,
2499 VK_STENCIL_OP_ZERO = 1,
2500 VK_STENCIL_OP_REPLACE = 2,
2501 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2502 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2503 VK_STENCIL_OP_INVERT = 5,
2504 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2505 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2506 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2509 typedef enum VkLogicOp {
2510 VK_LOGIC_OP_CLEAR = 0,
2511 VK_LOGIC_OP_AND = 1,
2512 VK_LOGIC_OP_AND_REVERSE = 2,
2513 VK_LOGIC_OP_COPY = 3,
2514 VK_LOGIC_OP_AND_INVERTED = 4,
2515 VK_LOGIC_OP_NO_OP = 5,
2516 VK_LOGIC_OP_XOR = 6,
2518 VK_LOGIC_OP_NOR = 8,
2519 VK_LOGIC_OP_EQUIVALENT = 9,
2520 VK_LOGIC_OP_INVERT = 10,
2521 VK_LOGIC_OP_OR_REVERSE = 11,
2522 VK_LOGIC_OP_COPY_INVERTED = 12,
2523 VK_LOGIC_OP_OR_INVERTED = 13,
2524 VK_LOGIC_OP_NAND = 14,
2525 VK_LOGIC_OP_SET = 15,
2526 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2529 typedef enum VkBorderColor {
2530 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2531 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2532 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2533 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2534 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2535 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2536 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2537 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2538 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2541 typedef enum VkFilter {
2542 VK_FILTER_NEAREST = 0,
2543 VK_FILTER_LINEAR = 1,
2544 VK_FILTER_CUBIC_IMG = 1000015000,
2545 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2546 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2549 typedef enum VkSamplerAddressMode {
2550 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2551 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2552 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2553 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2554 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2555 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2556 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2557 } VkSamplerAddressMode;
2559 typedef enum VkSamplerMipmapMode {
2560 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2561 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2562 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2563 } VkSamplerMipmapMode;
2565 typedef enum VkDescriptorType {
2566 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2567 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2568 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2569 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2570 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2571 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2572 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2573 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2574 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2575 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2576 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2577 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
2578 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2579 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2580 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2581 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2584 typedef enum VkAttachmentLoadOp {
2585 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2586 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2587 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2588 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2589 } VkAttachmentLoadOp;
2591 typedef enum VkAttachmentStoreOp {
2592 VK_ATTACHMENT_STORE_OP_STORE = 0,
2593 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2594 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
2595 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2596 } VkAttachmentStoreOp;
2598 typedef enum VkPipelineBindPoint {
2599 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2600 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2601 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2602 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2603 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2604 } VkPipelineBindPoint;
2606 typedef enum VkCommandBufferLevel {
2607 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2608 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2609 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2610 } VkCommandBufferLevel;
2612 typedef enum VkIndexType {
2613 VK_INDEX_TYPE_UINT16 = 0,
2614 VK_INDEX_TYPE_UINT32 = 1,
2615 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2616 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2617 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2618 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2621 typedef enum VkSubpassContents {
2622 VK_SUBPASS_CONTENTS_INLINE = 0,
2623 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2624 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2625 } VkSubpassContents;
2627 typedef enum VkAccessFlagBits {
2628 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2629 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2630 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2631 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2632 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2633 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2634 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2635 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2636 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2637 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2638 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2639 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2640 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2641 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2642 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2643 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2644 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2645 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2646 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2647 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2648 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2649 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2650 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2651 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2652 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
2653 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2654 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2655 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2656 VK_ACCESS_NONE_KHR = 0,
2657 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2658 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2659 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
2660 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2662 typedef VkFlags VkAccessFlags;
2664 typedef enum VkImageAspectFlagBits {
2665 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2666 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2667 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2668 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2669 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2670 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2671 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2672 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2673 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2674 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2675 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2676 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2677 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2678 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2679 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2680 } VkImageAspectFlagBits;
2681 typedef VkFlags VkImageAspectFlags;
2683 typedef enum VkFormatFeatureFlagBits {
2684 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2685 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2686 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2687 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2688 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2689 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2690 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2691 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2692 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2693 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2694 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2695 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2696 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2697 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2698 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2699 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2700 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2701 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2702 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2703 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2704 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2705 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2706 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2707 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2708 #ifdef VK_ENABLE_BETA_EXTENSIONS
2709 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2711 #ifdef VK_ENABLE_BETA_EXTENSIONS
2712 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2714 #ifdef VK_ENABLE_BETA_EXTENSIONS
2715 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2717 #ifdef VK_ENABLE_BETA_EXTENSIONS
2718 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2720 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2721 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2722 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2723 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2724 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2725 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2726 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2727 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2728 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2729 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2730 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,
2731 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2732 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2733 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2734 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2735 } VkFormatFeatureFlagBits;
2736 typedef VkFlags VkFormatFeatureFlags;
2738 typedef enum VkImageCreateFlagBits {
2739 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2740 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2741 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2742 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2743 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2744 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2745 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2746 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2747 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2748 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2749 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2750 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2751 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2752 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2753 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2754 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2755 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2756 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2757 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2758 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2759 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2760 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2761 } VkImageCreateFlagBits;
2762 typedef VkFlags VkImageCreateFlags;
2764 typedef enum VkSampleCountFlagBits {
2765 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2766 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2767 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2768 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2769 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2770 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2771 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2772 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2773 } VkSampleCountFlagBits;
2774 typedef VkFlags VkSampleCountFlags;
2776 typedef enum VkImageUsageFlagBits {
2777 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2778 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2779 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2780 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2781 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2782 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2783 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2784 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2785 #ifdef VK_ENABLE_BETA_EXTENSIONS
2786 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2788 #ifdef VK_ENABLE_BETA_EXTENSIONS
2789 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2791 #ifdef VK_ENABLE_BETA_EXTENSIONS
2792 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2794 #ifdef VK_ENABLE_BETA_EXTENSIONS
2795 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2797 #ifdef VK_ENABLE_BETA_EXTENSIONS
2798 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2800 #ifdef VK_ENABLE_BETA_EXTENSIONS
2801 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2803 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
2804 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2805 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
2806 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2807 } VkImageUsageFlagBits;
2808 typedef VkFlags VkImageUsageFlags;
2809 typedef VkFlags VkInstanceCreateFlags;
2811 typedef enum VkMemoryHeapFlagBits {
2812 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2813 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2814 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2815 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2816 } VkMemoryHeapFlagBits;
2817 typedef VkFlags VkMemoryHeapFlags;
2819 typedef enum VkMemoryPropertyFlagBits {
2820 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2821 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2822 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2823 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2824 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2825 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2826 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2827 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2828 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2829 } VkMemoryPropertyFlagBits;
2830 typedef VkFlags VkMemoryPropertyFlags;
2832 typedef enum VkQueueFlagBits {
2833 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2834 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2835 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2836 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2837 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2838 #ifdef VK_ENABLE_BETA_EXTENSIONS
2839 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2841 #ifdef VK_ENABLE_BETA_EXTENSIONS
2842 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2844 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2846 typedef VkFlags VkQueueFlags;
2847 typedef VkFlags VkDeviceCreateFlags;
2849 typedef enum VkDeviceQueueCreateFlagBits {
2850 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2851 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2852 } VkDeviceQueueCreateFlagBits;
2853 typedef VkFlags VkDeviceQueueCreateFlags;
2855 typedef enum VkPipelineStageFlagBits {
2856 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2857 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2858 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2859 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2860 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2861 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2862 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2863 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2864 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2865 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2866 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2867 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2868 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2869 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2870 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2871 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2872 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2873 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2874 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2875 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2876 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2877 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
2878 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2879 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2880 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2881 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2882 VK_PIPELINE_STAGE_NONE_KHR = 0,
2883 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2884 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2885 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
2886 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2887 } VkPipelineStageFlagBits;
2888 typedef VkFlags VkPipelineStageFlags;
2889 typedef VkFlags VkMemoryMapFlags;
2891 typedef enum VkSparseMemoryBindFlagBits {
2892 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2893 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2894 } VkSparseMemoryBindFlagBits;
2895 typedef VkFlags VkSparseMemoryBindFlags;
2897 typedef enum VkSparseImageFormatFlagBits {
2898 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2899 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2900 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2901 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2902 } VkSparseImageFormatFlagBits;
2903 typedef VkFlags VkSparseImageFormatFlags;
2905 typedef enum VkFenceCreateFlagBits {
2906 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2907 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2908 } VkFenceCreateFlagBits;
2909 typedef VkFlags VkFenceCreateFlags;
2910 typedef VkFlags VkSemaphoreCreateFlags;
2912 typedef enum VkEventCreateFlagBits {
2913 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2914 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2915 } VkEventCreateFlagBits;
2916 typedef VkFlags VkEventCreateFlags;
2918 typedef enum VkQueryPipelineStatisticFlagBits {
2919 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2920 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2921 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2922 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2923 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2924 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2925 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2926 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2927 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2928 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2929 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2930 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2931 } VkQueryPipelineStatisticFlagBits;
2932 typedef VkFlags VkQueryPipelineStatisticFlags;
2933 typedef VkFlags VkQueryPoolCreateFlags;
2935 typedef enum VkQueryResultFlagBits {
2936 VK_QUERY_RESULT_64_BIT = 0x00000001,
2937 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2938 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2939 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2940 #ifdef VK_ENABLE_BETA_EXTENSIONS
2941 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2943 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2944 } VkQueryResultFlagBits;
2945 typedef VkFlags VkQueryResultFlags;
2947 typedef enum VkBufferCreateFlagBits {
2948 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2949 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2950 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2951 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2952 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2953 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2954 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2955 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2956 } VkBufferCreateFlagBits;
2957 typedef VkFlags VkBufferCreateFlags;
2959 typedef enum VkBufferUsageFlagBits {
2960 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2961 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2962 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2963 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2964 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2965 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2966 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2967 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2968 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2969 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2970 #ifdef VK_ENABLE_BETA_EXTENSIONS
2971 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2973 #ifdef VK_ENABLE_BETA_EXTENSIONS
2974 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2976 #ifdef VK_ENABLE_BETA_EXTENSIONS
2977 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2979 #ifdef VK_ENABLE_BETA_EXTENSIONS
2980 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2982 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2983 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2984 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2985 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2986 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2987 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2988 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2989 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2990 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2991 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2992 } VkBufferUsageFlagBits;
2993 typedef VkFlags VkBufferUsageFlags;
2994 typedef VkFlags VkBufferViewCreateFlags;
2996 typedef enum VkImageViewCreateFlagBits {
2997 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2998 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2999 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3000 } VkImageViewCreateFlagBits;
3001 typedef VkFlags VkImageViewCreateFlags;
3003 typedef enum VkShaderModuleCreateFlagBits {
3004 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3005 } VkShaderModuleCreateFlagBits;
3006 typedef VkFlags VkShaderModuleCreateFlags;
3008 typedef enum VkPipelineCacheCreateFlagBits {
3009 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
3010 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3011 } VkPipelineCacheCreateFlagBits;
3012 typedef VkFlags VkPipelineCacheCreateFlags;
3014 typedef enum VkColorComponentFlagBits {
3015 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3016 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3017 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3018 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3019 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3020 } VkColorComponentFlagBits;
3021 typedef VkFlags VkColorComponentFlags;
3023 typedef enum VkPipelineCreateFlagBits {
3024 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3025 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3026 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3027 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3028 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3029 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3030 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3031 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3032 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3033 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3034 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3035 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3036 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3037 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3038 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3039 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3040 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3041 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
3042 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
3043 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3044 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3045 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3046 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3047 } VkPipelineCreateFlagBits;
3048 typedef VkFlags VkPipelineCreateFlags;
3050 typedef enum VkPipelineShaderStageCreateFlagBits {
3051 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
3052 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
3053 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3054 } VkPipelineShaderStageCreateFlagBits;
3055 typedef VkFlags VkPipelineShaderStageCreateFlags;
3057 typedef enum VkShaderStageFlagBits {
3058 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3059 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3060 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3061 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3062 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3063 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3064 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3065 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3066 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3067 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3068 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3069 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3070 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3071 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3072 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3073 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3074 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3075 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3076 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3077 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3078 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3079 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3080 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3081 } VkShaderStageFlagBits;
3083 typedef enum VkCullModeFlagBits {
3084 VK_CULL_MODE_NONE = 0,
3085 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3086 VK_CULL_MODE_BACK_BIT = 0x00000002,
3087 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3088 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3089 } VkCullModeFlagBits;
3090 typedef VkFlags VkCullModeFlags;
3091 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3092 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3093 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3094 typedef VkFlags VkPipelineViewportStateCreateFlags;
3095 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3096 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3097 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3098 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3099 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3100 typedef VkFlags VkPipelineLayoutCreateFlags;
3101 typedef VkFlags VkShaderStageFlags;
3103 typedef enum VkSamplerCreateFlagBits {
3104 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3105 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3106 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3107 } VkSamplerCreateFlagBits;
3108 typedef VkFlags VkSamplerCreateFlags;
3110 typedef enum VkDescriptorPoolCreateFlagBits {
3111 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3112 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3113 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3114 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3115 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3116 } VkDescriptorPoolCreateFlagBits;
3117 typedef VkFlags VkDescriptorPoolCreateFlags;
3118 typedef VkFlags VkDescriptorPoolResetFlags;
3120 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3121 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3122 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3123 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3124 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3125 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3126 } VkDescriptorSetLayoutCreateFlagBits;
3127 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3129 typedef enum VkAttachmentDescriptionFlagBits {
3130 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3131 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3132 } VkAttachmentDescriptionFlagBits;
3133 typedef VkFlags VkAttachmentDescriptionFlags;
3135 typedef enum VkDependencyFlagBits {
3136 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3137 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3138 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3139 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3140 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3141 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3142 } VkDependencyFlagBits;
3143 typedef VkFlags VkDependencyFlags;
3145 typedef enum VkFramebufferCreateFlagBits {
3146 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3147 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3148 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3149 } VkFramebufferCreateFlagBits;
3150 typedef VkFlags VkFramebufferCreateFlags;
3152 typedef enum VkRenderPassCreateFlagBits {
3153 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3154 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3155 } VkRenderPassCreateFlagBits;
3156 typedef VkFlags VkRenderPassCreateFlags;
3158 typedef enum VkSubpassDescriptionFlagBits {
3159 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3160 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3161 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3162 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3163 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3164 } VkSubpassDescriptionFlagBits;
3165 typedef VkFlags VkSubpassDescriptionFlags;
3167 typedef enum VkCommandPoolCreateFlagBits {
3168 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3169 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3170 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3171 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3172 } VkCommandPoolCreateFlagBits;
3173 typedef VkFlags VkCommandPoolCreateFlags;
3175 typedef enum VkCommandPoolResetFlagBits {
3176 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3177 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3178 } VkCommandPoolResetFlagBits;
3179 typedef VkFlags VkCommandPoolResetFlags;
3181 typedef enum VkCommandBufferUsageFlagBits {
3182 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3183 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3184 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3185 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3186 } VkCommandBufferUsageFlagBits;
3187 typedef VkFlags VkCommandBufferUsageFlags;
3189 typedef enum VkQueryControlFlagBits {
3190 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3191 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3192 } VkQueryControlFlagBits;
3193 typedef VkFlags VkQueryControlFlags;
3195 typedef enum VkCommandBufferResetFlagBits {
3196 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3197 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3198 } VkCommandBufferResetFlagBits;
3199 typedef VkFlags VkCommandBufferResetFlags;
3201 typedef enum VkStencilFaceFlagBits {
3202 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3203 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3204 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3205 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3206 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3207 } VkStencilFaceFlagBits;
3208 typedef VkFlags VkStencilFaceFlags;
3209 typedef struct VkExtent2D {
3214 typedef struct VkExtent3D {
3220 typedef struct VkOffset2D {
3225 typedef struct VkOffset3D {
3231 typedef struct VkRect2D {
3236 typedef struct VkBaseInStructure {
3237 VkStructureType sType;
3238 const struct VkBaseInStructure* pNext;
3239 } VkBaseInStructure;
3241 typedef struct VkBaseOutStructure {
3242 VkStructureType sType;
3243 struct VkBaseOutStructure* pNext;
3244 } VkBaseOutStructure;
3246 typedef struct VkBufferMemoryBarrier {
3247 VkStructureType sType;
3249 VkAccessFlags srcAccessMask;
3250 VkAccessFlags dstAccessMask;
3251 deUint32 srcQueueFamilyIndex;
3252 deUint32 dstQueueFamilyIndex;
3254 VkDeviceSize offset;
3256 } VkBufferMemoryBarrier;
3258 typedef struct VkDispatchIndirectCommand {
3262 } VkDispatchIndirectCommand;
3264 typedef struct VkDrawIndexedIndirectCommand {
3265 deUint32 indexCount;
3266 deUint32 instanceCount;
3267 deUint32 firstIndex;
3268 deInt32 vertexOffset;
3269 deUint32 firstInstance;
3270 } VkDrawIndexedIndirectCommand;
3272 typedef struct VkDrawIndirectCommand {
3273 deUint32 vertexCount;
3274 deUint32 instanceCount;
3275 deUint32 firstVertex;
3276 deUint32 firstInstance;
3277 } VkDrawIndirectCommand;
3279 typedef struct VkImageSubresourceRange {
3280 VkImageAspectFlags aspectMask;
3281 deUint32 baseMipLevel;
3282 deUint32 levelCount;
3283 deUint32 baseArrayLayer;
3284 deUint32 layerCount;
3285 } VkImageSubresourceRange;
3287 typedef struct VkImageMemoryBarrier {
3288 VkStructureType sType;
3290 VkAccessFlags srcAccessMask;
3291 VkAccessFlags dstAccessMask;
3292 VkImageLayout oldLayout;
3293 VkImageLayout newLayout;
3294 deUint32 srcQueueFamilyIndex;
3295 deUint32 dstQueueFamilyIndex;
3297 VkImageSubresourceRange subresourceRange;
3298 } VkImageMemoryBarrier;
3300 typedef struct VkMemoryBarrier {
3301 VkStructureType sType;
3303 VkAccessFlags srcAccessMask;
3304 VkAccessFlags dstAccessMask;
3307 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3310 deUintptr alignment,
3311 VkSystemAllocationScope allocationScope);
3313 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3317 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3320 VkInternalAllocationType allocationType,
3321 VkSystemAllocationScope allocationScope);
3323 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3326 VkInternalAllocationType allocationType,
3327 VkSystemAllocationScope allocationScope);
3329 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3333 deUintptr alignment,
3334 VkSystemAllocationScope allocationScope);
3336 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3337 typedef struct VkAllocationCallbacks {
3339 PFN_vkAllocationFunction pfnAllocation;
3340 PFN_vkReallocationFunction pfnReallocation;
3341 PFN_vkFreeFunction pfnFree;
3342 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3343 PFN_vkInternalFreeNotification pfnInternalFree;
3344 } VkAllocationCallbacks;
3346 typedef struct VkApplicationInfo {
3347 VkStructureType sType;
3349 const char* pApplicationName;
3350 deUint32 applicationVersion;
3351 const char* pEngineName;
3352 deUint32 engineVersion;
3353 deUint32 apiVersion;
3354 } VkApplicationInfo;
3356 typedef struct VkFormatProperties {
3357 VkFormatFeatureFlags linearTilingFeatures;
3358 VkFormatFeatureFlags optimalTilingFeatures;
3359 VkFormatFeatureFlags bufferFeatures;
3360 } VkFormatProperties;
3362 typedef struct VkImageFormatProperties {
3363 VkExtent3D maxExtent;
3364 deUint32 maxMipLevels;
3365 deUint32 maxArrayLayers;
3366 VkSampleCountFlags sampleCounts;
3367 VkDeviceSize maxResourceSize;
3368 } VkImageFormatProperties;
3370 typedef struct VkInstanceCreateInfo {
3371 VkStructureType sType;
3373 VkInstanceCreateFlags flags;
3374 const VkApplicationInfo* pApplicationInfo;
3375 deUint32 enabledLayerCount;
3376 const char* const* ppEnabledLayerNames;
3377 deUint32 enabledExtensionCount;
3378 const char* const* ppEnabledExtensionNames;
3379 } VkInstanceCreateInfo;
3381 typedef struct VkMemoryHeap {
3383 VkMemoryHeapFlags flags;
3386 typedef struct VkMemoryType {
3387 VkMemoryPropertyFlags propertyFlags;
3391 typedef struct VkPhysicalDeviceFeatures {
3392 VkBool32 robustBufferAccess;
3393 VkBool32 fullDrawIndexUint32;
3394 VkBool32 imageCubeArray;
3395 VkBool32 independentBlend;
3396 VkBool32 geometryShader;
3397 VkBool32 tessellationShader;
3398 VkBool32 sampleRateShading;
3399 VkBool32 dualSrcBlend;
3401 VkBool32 multiDrawIndirect;
3402 VkBool32 drawIndirectFirstInstance;
3403 VkBool32 depthClamp;
3404 VkBool32 depthBiasClamp;
3405 VkBool32 fillModeNonSolid;
3406 VkBool32 depthBounds;
3408 VkBool32 largePoints;
3409 VkBool32 alphaToOne;
3410 VkBool32 multiViewport;
3411 VkBool32 samplerAnisotropy;
3412 VkBool32 textureCompressionETC2;
3413 VkBool32 textureCompressionASTC_LDR;
3414 VkBool32 textureCompressionBC;
3415 VkBool32 occlusionQueryPrecise;
3416 VkBool32 pipelineStatisticsQuery;
3417 VkBool32 vertexPipelineStoresAndAtomics;
3418 VkBool32 fragmentStoresAndAtomics;
3419 VkBool32 shaderTessellationAndGeometryPointSize;
3420 VkBool32 shaderImageGatherExtended;
3421 VkBool32 shaderStorageImageExtendedFormats;
3422 VkBool32 shaderStorageImageMultisample;
3423 VkBool32 shaderStorageImageReadWithoutFormat;
3424 VkBool32 shaderStorageImageWriteWithoutFormat;
3425 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3426 VkBool32 shaderSampledImageArrayDynamicIndexing;
3427 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3428 VkBool32 shaderStorageImageArrayDynamicIndexing;
3429 VkBool32 shaderClipDistance;
3430 VkBool32 shaderCullDistance;
3431 VkBool32 shaderFloat64;
3432 VkBool32 shaderInt64;
3433 VkBool32 shaderInt16;
3434 VkBool32 shaderResourceResidency;
3435 VkBool32 shaderResourceMinLod;
3436 VkBool32 sparseBinding;
3437 VkBool32 sparseResidencyBuffer;
3438 VkBool32 sparseResidencyImage2D;
3439 VkBool32 sparseResidencyImage3D;
3440 VkBool32 sparseResidency2Samples;
3441 VkBool32 sparseResidency4Samples;
3442 VkBool32 sparseResidency8Samples;
3443 VkBool32 sparseResidency16Samples;
3444 VkBool32 sparseResidencyAliased;
3445 VkBool32 variableMultisampleRate;
3446 VkBool32 inheritedQueries;
3447 } VkPhysicalDeviceFeatures;
3449 typedef struct VkPhysicalDeviceLimits {
3450 deUint32 maxImageDimension1D;
3451 deUint32 maxImageDimension2D;
3452 deUint32 maxImageDimension3D;
3453 deUint32 maxImageDimensionCube;
3454 deUint32 maxImageArrayLayers;
3455 deUint32 maxTexelBufferElements;
3456 deUint32 maxUniformBufferRange;
3457 deUint32 maxStorageBufferRange;
3458 deUint32 maxPushConstantsSize;
3459 deUint32 maxMemoryAllocationCount;
3460 deUint32 maxSamplerAllocationCount;
3461 VkDeviceSize bufferImageGranularity;
3462 VkDeviceSize sparseAddressSpaceSize;
3463 deUint32 maxBoundDescriptorSets;
3464 deUint32 maxPerStageDescriptorSamplers;
3465 deUint32 maxPerStageDescriptorUniformBuffers;
3466 deUint32 maxPerStageDescriptorStorageBuffers;
3467 deUint32 maxPerStageDescriptorSampledImages;
3468 deUint32 maxPerStageDescriptorStorageImages;
3469 deUint32 maxPerStageDescriptorInputAttachments;
3470 deUint32 maxPerStageResources;
3471 deUint32 maxDescriptorSetSamplers;
3472 deUint32 maxDescriptorSetUniformBuffers;
3473 deUint32 maxDescriptorSetUniformBuffersDynamic;
3474 deUint32 maxDescriptorSetStorageBuffers;
3475 deUint32 maxDescriptorSetStorageBuffersDynamic;
3476 deUint32 maxDescriptorSetSampledImages;
3477 deUint32 maxDescriptorSetStorageImages;
3478 deUint32 maxDescriptorSetInputAttachments;
3479 deUint32 maxVertexInputAttributes;
3480 deUint32 maxVertexInputBindings;
3481 deUint32 maxVertexInputAttributeOffset;
3482 deUint32 maxVertexInputBindingStride;
3483 deUint32 maxVertexOutputComponents;
3484 deUint32 maxTessellationGenerationLevel;
3485 deUint32 maxTessellationPatchSize;
3486 deUint32 maxTessellationControlPerVertexInputComponents;
3487 deUint32 maxTessellationControlPerVertexOutputComponents;
3488 deUint32 maxTessellationControlPerPatchOutputComponents;
3489 deUint32 maxTessellationControlTotalOutputComponents;
3490 deUint32 maxTessellationEvaluationInputComponents;
3491 deUint32 maxTessellationEvaluationOutputComponents;
3492 deUint32 maxGeometryShaderInvocations;
3493 deUint32 maxGeometryInputComponents;
3494 deUint32 maxGeometryOutputComponents;
3495 deUint32 maxGeometryOutputVertices;
3496 deUint32 maxGeometryTotalOutputComponents;
3497 deUint32 maxFragmentInputComponents;
3498 deUint32 maxFragmentOutputAttachments;
3499 deUint32 maxFragmentDualSrcAttachments;
3500 deUint32 maxFragmentCombinedOutputResources;
3501 deUint32 maxComputeSharedMemorySize;
3502 deUint32 maxComputeWorkGroupCount[3];
3503 deUint32 maxComputeWorkGroupInvocations;
3504 deUint32 maxComputeWorkGroupSize[3];
3505 deUint32 subPixelPrecisionBits;
3506 deUint32 subTexelPrecisionBits;
3507 deUint32 mipmapPrecisionBits;
3508 deUint32 maxDrawIndexedIndexValue;
3509 deUint32 maxDrawIndirectCount;
3510 float maxSamplerLodBias;
3511 float maxSamplerAnisotropy;
3512 deUint32 maxViewports;
3513 deUint32 maxViewportDimensions[2];
3514 float viewportBoundsRange[2];
3515 deUint32 viewportSubPixelBits;
3516 deUintptr minMemoryMapAlignment;
3517 VkDeviceSize minTexelBufferOffsetAlignment;
3518 VkDeviceSize minUniformBufferOffsetAlignment;
3519 VkDeviceSize minStorageBufferOffsetAlignment;
3520 deInt32 minTexelOffset;
3521 deUint32 maxTexelOffset;
3522 deInt32 minTexelGatherOffset;
3523 deUint32 maxTexelGatherOffset;
3524 float minInterpolationOffset;
3525 float maxInterpolationOffset;
3526 deUint32 subPixelInterpolationOffsetBits;
3527 deUint32 maxFramebufferWidth;
3528 deUint32 maxFramebufferHeight;
3529 deUint32 maxFramebufferLayers;
3530 VkSampleCountFlags framebufferColorSampleCounts;
3531 VkSampleCountFlags framebufferDepthSampleCounts;
3532 VkSampleCountFlags framebufferStencilSampleCounts;
3533 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3534 deUint32 maxColorAttachments;
3535 VkSampleCountFlags sampledImageColorSampleCounts;
3536 VkSampleCountFlags sampledImageIntegerSampleCounts;
3537 VkSampleCountFlags sampledImageDepthSampleCounts;
3538 VkSampleCountFlags sampledImageStencilSampleCounts;
3539 VkSampleCountFlags storageImageSampleCounts;
3540 deUint32 maxSampleMaskWords;
3541 VkBool32 timestampComputeAndGraphics;
3542 float timestampPeriod;
3543 deUint32 maxClipDistances;
3544 deUint32 maxCullDistances;
3545 deUint32 maxCombinedClipAndCullDistances;
3546 deUint32 discreteQueuePriorities;
3547 float pointSizeRange[2];
3548 float lineWidthRange[2];
3549 float pointSizeGranularity;
3550 float lineWidthGranularity;
3551 VkBool32 strictLines;
3552 VkBool32 standardSampleLocations;
3553 VkDeviceSize optimalBufferCopyOffsetAlignment;
3554 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3555 VkDeviceSize nonCoherentAtomSize;
3556 } VkPhysicalDeviceLimits;
3558 typedef struct VkPhysicalDeviceMemoryProperties {
3559 deUint32 memoryTypeCount;
3560 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3561 deUint32 memoryHeapCount;
3562 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3563 } VkPhysicalDeviceMemoryProperties;
3565 typedef struct VkPhysicalDeviceSparseProperties {
3566 VkBool32 residencyStandard2DBlockShape;
3567 VkBool32 residencyStandard2DMultisampleBlockShape;
3568 VkBool32 residencyStandard3DBlockShape;
3569 VkBool32 residencyAlignedMipSize;
3570 VkBool32 residencyNonResidentStrict;
3571 } VkPhysicalDeviceSparseProperties;
3573 typedef struct VkPhysicalDeviceProperties {
3574 deUint32 apiVersion;
3575 deUint32 driverVersion;
3578 VkPhysicalDeviceType deviceType;
3579 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3580 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3581 VkPhysicalDeviceLimits limits;
3582 VkPhysicalDeviceSparseProperties sparseProperties;
3583 } VkPhysicalDeviceProperties;
3585 typedef struct VkQueueFamilyProperties {
3586 VkQueueFlags queueFlags;
3587 deUint32 queueCount;
3588 deUint32 timestampValidBits;
3589 VkExtent3D minImageTransferGranularity;
3590 } VkQueueFamilyProperties;
3592 typedef struct VkDeviceQueueCreateInfo {
3593 VkStructureType sType;
3595 VkDeviceQueueCreateFlags flags;
3596 deUint32 queueFamilyIndex;
3597 deUint32 queueCount;
3598 const float* pQueuePriorities;
3599 } VkDeviceQueueCreateInfo;
3601 typedef struct VkDeviceCreateInfo {
3602 VkStructureType sType;
3604 VkDeviceCreateFlags flags;
3605 deUint32 queueCreateInfoCount;
3606 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3607 deUint32 enabledLayerCount;
3608 const char* const* ppEnabledLayerNames;
3609 deUint32 enabledExtensionCount;
3610 const char* const* ppEnabledExtensionNames;
3611 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3612 } VkDeviceCreateInfo;
3614 typedef struct VkExtensionProperties {
3615 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3616 deUint32 specVersion;
3617 } VkExtensionProperties;
3619 typedef struct VkLayerProperties {
3620 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3621 deUint32 specVersion;
3622 deUint32 implementationVersion;
3623 char description[VK_MAX_DESCRIPTION_SIZE];
3624 } VkLayerProperties;
3626 typedef struct VkSubmitInfo {
3627 VkStructureType sType;
3629 deUint32 waitSemaphoreCount;
3630 const VkSemaphore* pWaitSemaphores;
3631 const VkPipelineStageFlags* pWaitDstStageMask;
3632 deUint32 commandBufferCount;
3633 const VkCommandBuffer* pCommandBuffers;
3634 deUint32 signalSemaphoreCount;
3635 const VkSemaphore* pSignalSemaphores;
3638 typedef struct VkMappedMemoryRange {
3639 VkStructureType sType;
3641 VkDeviceMemory memory;
3642 VkDeviceSize offset;
3644 } VkMappedMemoryRange;
3646 typedef struct VkMemoryAllocateInfo {
3647 VkStructureType sType;
3649 VkDeviceSize allocationSize;
3650 deUint32 memoryTypeIndex;
3651 } VkMemoryAllocateInfo;
3653 typedef struct VkMemoryRequirements {
3655 VkDeviceSize alignment;
3656 deUint32 memoryTypeBits;
3657 } VkMemoryRequirements;
3659 typedef struct VkSparseMemoryBind {
3660 VkDeviceSize resourceOffset;
3662 VkDeviceMemory memory;
3663 VkDeviceSize memoryOffset;
3664 VkSparseMemoryBindFlags flags;
3665 } VkSparseMemoryBind;
3667 typedef struct VkSparseBufferMemoryBindInfo {
3670 const VkSparseMemoryBind* pBinds;
3671 } VkSparseBufferMemoryBindInfo;
3673 typedef struct VkSparseImageOpaqueMemoryBindInfo {
3676 const VkSparseMemoryBind* pBinds;
3677 } VkSparseImageOpaqueMemoryBindInfo;
3679 typedef struct VkImageSubresource {
3680 VkImageAspectFlags aspectMask;
3682 deUint32 arrayLayer;
3683 } VkImageSubresource;
3685 typedef struct VkSparseImageMemoryBind {
3686 VkImageSubresource subresource;
3689 VkDeviceMemory memory;
3690 VkDeviceSize memoryOffset;
3691 VkSparseMemoryBindFlags flags;
3692 } VkSparseImageMemoryBind;
3694 typedef struct VkSparseImageMemoryBindInfo {
3697 const VkSparseImageMemoryBind* pBinds;
3698 } VkSparseImageMemoryBindInfo;
3700 typedef struct VkBindSparseInfo {
3701 VkStructureType sType;
3703 deUint32 waitSemaphoreCount;
3704 const VkSemaphore* pWaitSemaphores;
3705 deUint32 bufferBindCount;
3706 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3707 deUint32 imageOpaqueBindCount;
3708 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3709 deUint32 imageBindCount;
3710 const VkSparseImageMemoryBindInfo* pImageBinds;
3711 deUint32 signalSemaphoreCount;
3712 const VkSemaphore* pSignalSemaphores;
3715 typedef struct VkSparseImageFormatProperties {
3716 VkImageAspectFlags aspectMask;
3717 VkExtent3D imageGranularity;
3718 VkSparseImageFormatFlags flags;
3719 } VkSparseImageFormatProperties;
3721 typedef struct VkSparseImageMemoryRequirements {
3722 VkSparseImageFormatProperties formatProperties;
3723 deUint32 imageMipTailFirstLod;
3724 VkDeviceSize imageMipTailSize;
3725 VkDeviceSize imageMipTailOffset;
3726 VkDeviceSize imageMipTailStride;
3727 } VkSparseImageMemoryRequirements;
3729 typedef struct VkFenceCreateInfo {
3730 VkStructureType sType;
3732 VkFenceCreateFlags flags;
3733 } VkFenceCreateInfo;
3735 typedef struct VkSemaphoreCreateInfo {
3736 VkStructureType sType;
3738 VkSemaphoreCreateFlags flags;
3739 } VkSemaphoreCreateInfo;
3741 typedef struct VkEventCreateInfo {
3742 VkStructureType sType;
3744 VkEventCreateFlags flags;
3745 } VkEventCreateInfo;
3747 typedef struct VkQueryPoolCreateInfo {
3748 VkStructureType sType;
3750 VkQueryPoolCreateFlags flags;
3751 VkQueryType queryType;
3752 deUint32 queryCount;
3753 VkQueryPipelineStatisticFlags pipelineStatistics;
3754 } VkQueryPoolCreateInfo;
3756 typedef struct VkBufferCreateInfo {
3757 VkStructureType sType;
3759 VkBufferCreateFlags flags;
3761 VkBufferUsageFlags usage;
3762 VkSharingMode sharingMode;
3763 deUint32 queueFamilyIndexCount;
3764 const deUint32* pQueueFamilyIndices;
3765 } VkBufferCreateInfo;
3767 typedef struct VkBufferViewCreateInfo {
3768 VkStructureType sType;
3770 VkBufferViewCreateFlags flags;
3773 VkDeviceSize offset;
3775 } VkBufferViewCreateInfo;
3777 typedef struct VkImageCreateInfo {
3778 VkStructureType sType;
3780 VkImageCreateFlags flags;
3781 VkImageType imageType;
3785 deUint32 arrayLayers;
3786 VkSampleCountFlagBits samples;
3787 VkImageTiling tiling;
3788 VkImageUsageFlags usage;
3789 VkSharingMode sharingMode;
3790 deUint32 queueFamilyIndexCount;
3791 const deUint32* pQueueFamilyIndices;
3792 VkImageLayout initialLayout;
3793 } VkImageCreateInfo;
3795 typedef struct VkSubresourceLayout {
3796 VkDeviceSize offset;
3798 VkDeviceSize rowPitch;
3799 VkDeviceSize arrayPitch;
3800 VkDeviceSize depthPitch;
3801 } VkSubresourceLayout;
3803 typedef struct VkComponentMapping {
3804 VkComponentSwizzle r;
3805 VkComponentSwizzle g;
3806 VkComponentSwizzle b;
3807 VkComponentSwizzle a;
3808 } VkComponentMapping;
3810 typedef struct VkImageViewCreateInfo {
3811 VkStructureType sType;
3813 VkImageViewCreateFlags flags;
3815 VkImageViewType viewType;
3817 VkComponentMapping components;
3818 VkImageSubresourceRange subresourceRange;
3819 } VkImageViewCreateInfo;
3821 typedef struct VkShaderModuleCreateInfo {
3822 VkStructureType sType;
3824 VkShaderModuleCreateFlags flags;
3826 const deUint32* pCode;
3827 } VkShaderModuleCreateInfo;
3829 typedef struct VkPipelineCacheCreateInfo {
3830 VkStructureType sType;
3832 VkPipelineCacheCreateFlags flags;
3833 deUintptr initialDataSize;
3834 const void* pInitialData;
3835 } VkPipelineCacheCreateInfo;
3837 typedef struct VkSpecializationMapEntry {
3838 deUint32 constantID;
3841 } VkSpecializationMapEntry;
3843 typedef struct VkSpecializationInfo {
3844 deUint32 mapEntryCount;
3845 const VkSpecializationMapEntry* pMapEntries;
3848 } VkSpecializationInfo;
3850 typedef struct VkPipelineShaderStageCreateInfo {
3851 VkStructureType sType;
3853 VkPipelineShaderStageCreateFlags flags;
3854 VkShaderStageFlagBits stage;
3855 VkShaderModule module;
3857 const VkSpecializationInfo* pSpecializationInfo;
3858 } VkPipelineShaderStageCreateInfo;
3860 typedef struct VkComputePipelineCreateInfo {
3861 VkStructureType sType;
3863 VkPipelineCreateFlags flags;
3864 VkPipelineShaderStageCreateInfo stage;
3865 VkPipelineLayout layout;
3866 VkPipeline basePipelineHandle;
3867 deInt32 basePipelineIndex;
3868 } VkComputePipelineCreateInfo;
3870 typedef struct VkVertexInputBindingDescription {
3873 VkVertexInputRate inputRate;
3874 } VkVertexInputBindingDescription;
3876 typedef struct VkVertexInputAttributeDescription {
3881 } VkVertexInputAttributeDescription;
3883 typedef struct VkPipelineVertexInputStateCreateInfo {
3884 VkStructureType sType;
3886 VkPipelineVertexInputStateCreateFlags flags;
3887 deUint32 vertexBindingDescriptionCount;
3888 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3889 deUint32 vertexAttributeDescriptionCount;
3890 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3891 } VkPipelineVertexInputStateCreateInfo;
3893 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3894 VkStructureType sType;
3896 VkPipelineInputAssemblyStateCreateFlags flags;
3897 VkPrimitiveTopology topology;
3898 VkBool32 primitiveRestartEnable;
3899 } VkPipelineInputAssemblyStateCreateInfo;
3901 typedef struct VkPipelineTessellationStateCreateInfo {
3902 VkStructureType sType;
3904 VkPipelineTessellationStateCreateFlags flags;
3905 deUint32 patchControlPoints;
3906 } VkPipelineTessellationStateCreateInfo;
3908 typedef struct VkViewport {
3917 typedef struct VkPipelineViewportStateCreateInfo {
3918 VkStructureType sType;
3920 VkPipelineViewportStateCreateFlags flags;
3921 deUint32 viewportCount;
3922 const VkViewport* pViewports;
3923 deUint32 scissorCount;
3924 const VkRect2D* pScissors;
3925 } VkPipelineViewportStateCreateInfo;
3927 typedef struct VkPipelineRasterizationStateCreateInfo {
3928 VkStructureType sType;
3930 VkPipelineRasterizationStateCreateFlags flags;
3931 VkBool32 depthClampEnable;
3932 VkBool32 rasterizerDiscardEnable;
3933 VkPolygonMode polygonMode;
3934 VkCullModeFlags cullMode;
3935 VkFrontFace frontFace;
3936 VkBool32 depthBiasEnable;
3937 float depthBiasConstantFactor;
3938 float depthBiasClamp;
3939 float depthBiasSlopeFactor;
3941 } VkPipelineRasterizationStateCreateInfo;
3943 typedef struct VkPipelineMultisampleStateCreateInfo {
3944 VkStructureType sType;
3946 VkPipelineMultisampleStateCreateFlags flags;
3947 VkSampleCountFlagBits rasterizationSamples;
3948 VkBool32 sampleShadingEnable;
3949 float minSampleShading;
3950 const VkSampleMask* pSampleMask;
3951 VkBool32 alphaToCoverageEnable;
3952 VkBool32 alphaToOneEnable;
3953 } VkPipelineMultisampleStateCreateInfo;
3955 typedef struct VkStencilOpState {
3958 VkStencilOp depthFailOp;
3959 VkCompareOp compareOp;
3960 deUint32 compareMask;
3965 typedef struct VkPipelineDepthStencilStateCreateInfo {
3966 VkStructureType sType;
3968 VkPipelineDepthStencilStateCreateFlags flags;
3969 VkBool32 depthTestEnable;
3970 VkBool32 depthWriteEnable;
3971 VkCompareOp depthCompareOp;
3972 VkBool32 depthBoundsTestEnable;
3973 VkBool32 stencilTestEnable;
3974 VkStencilOpState front;
3975 VkStencilOpState back;
3976 float minDepthBounds;
3977 float maxDepthBounds;
3978 } VkPipelineDepthStencilStateCreateInfo;
3980 typedef struct VkPipelineColorBlendAttachmentState {
3981 VkBool32 blendEnable;
3982 VkBlendFactor srcColorBlendFactor;
3983 VkBlendFactor dstColorBlendFactor;
3984 VkBlendOp colorBlendOp;
3985 VkBlendFactor srcAlphaBlendFactor;
3986 VkBlendFactor dstAlphaBlendFactor;
3987 VkBlendOp alphaBlendOp;
3988 VkColorComponentFlags colorWriteMask;
3989 } VkPipelineColorBlendAttachmentState;
3991 typedef struct VkPipelineColorBlendStateCreateInfo {
3992 VkStructureType sType;
3994 VkPipelineColorBlendStateCreateFlags flags;
3995 VkBool32 logicOpEnable;
3997 deUint32 attachmentCount;
3998 const VkPipelineColorBlendAttachmentState* pAttachments;
3999 float blendConstants[4];
4000 } VkPipelineColorBlendStateCreateInfo;
4002 typedef struct VkPipelineDynamicStateCreateInfo {
4003 VkStructureType sType;
4005 VkPipelineDynamicStateCreateFlags flags;
4006 deUint32 dynamicStateCount;
4007 const VkDynamicState* pDynamicStates;
4008 } VkPipelineDynamicStateCreateInfo;
4010 typedef struct VkGraphicsPipelineCreateInfo {
4011 VkStructureType sType;
4013 VkPipelineCreateFlags flags;
4014 deUint32 stageCount;
4015 const VkPipelineShaderStageCreateInfo* pStages;
4016 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4017 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4018 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4019 const VkPipelineViewportStateCreateInfo* pViewportState;
4020 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4021 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4022 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4023 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4024 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4025 VkPipelineLayout layout;
4026 VkRenderPass renderPass;
4028 VkPipeline basePipelineHandle;
4029 deInt32 basePipelineIndex;
4030 } VkGraphicsPipelineCreateInfo;
4032 typedef struct VkPushConstantRange {
4033 VkShaderStageFlags stageFlags;
4036 } VkPushConstantRange;
4038 typedef struct VkPipelineLayoutCreateInfo {
4039 VkStructureType sType;
4041 VkPipelineLayoutCreateFlags flags;
4042 deUint32 setLayoutCount;
4043 const VkDescriptorSetLayout* pSetLayouts;
4044 deUint32 pushConstantRangeCount;
4045 const VkPushConstantRange* pPushConstantRanges;
4046 } VkPipelineLayoutCreateInfo;
4048 typedef struct VkSamplerCreateInfo {
4049 VkStructureType sType;
4051 VkSamplerCreateFlags flags;
4054 VkSamplerMipmapMode mipmapMode;
4055 VkSamplerAddressMode addressModeU;
4056 VkSamplerAddressMode addressModeV;
4057 VkSamplerAddressMode addressModeW;
4059 VkBool32 anisotropyEnable;
4060 float maxAnisotropy;
4061 VkBool32 compareEnable;
4062 VkCompareOp compareOp;
4065 VkBorderColor borderColor;
4066 VkBool32 unnormalizedCoordinates;
4067 } VkSamplerCreateInfo;
4069 typedef struct VkCopyDescriptorSet {
4070 VkStructureType sType;
4072 VkDescriptorSet srcSet;
4073 deUint32 srcBinding;
4074 deUint32 srcArrayElement;
4075 VkDescriptorSet dstSet;
4076 deUint32 dstBinding;
4077 deUint32 dstArrayElement;
4078 deUint32 descriptorCount;
4079 } VkCopyDescriptorSet;
4081 typedef struct VkDescriptorBufferInfo {
4083 VkDeviceSize offset;
4085 } VkDescriptorBufferInfo;
4087 typedef struct VkDescriptorImageInfo {
4089 VkImageView imageView;
4090 VkImageLayout imageLayout;
4091 } VkDescriptorImageInfo;
4093 typedef struct VkDescriptorPoolSize {
4094 VkDescriptorType type;
4095 deUint32 descriptorCount;
4096 } VkDescriptorPoolSize;
4098 typedef struct VkDescriptorPoolCreateInfo {
4099 VkStructureType sType;
4101 VkDescriptorPoolCreateFlags flags;
4103 deUint32 poolSizeCount;
4104 const VkDescriptorPoolSize* pPoolSizes;
4105 } VkDescriptorPoolCreateInfo;
4107 typedef struct VkDescriptorSetAllocateInfo {
4108 VkStructureType sType;
4110 VkDescriptorPool descriptorPool;
4111 deUint32 descriptorSetCount;
4112 const VkDescriptorSetLayout* pSetLayouts;
4113 } VkDescriptorSetAllocateInfo;
4115 typedef struct VkDescriptorSetLayoutBinding {
4117 VkDescriptorType descriptorType;
4118 deUint32 descriptorCount;
4119 VkShaderStageFlags stageFlags;
4120 const VkSampler* pImmutableSamplers;
4121 } VkDescriptorSetLayoutBinding;
4123 typedef struct VkDescriptorSetLayoutCreateInfo {
4124 VkStructureType sType;
4126 VkDescriptorSetLayoutCreateFlags flags;
4127 deUint32 bindingCount;
4128 const VkDescriptorSetLayoutBinding* pBindings;
4129 } VkDescriptorSetLayoutCreateInfo;
4131 typedef struct VkWriteDescriptorSet {
4132 VkStructureType sType;
4134 VkDescriptorSet dstSet;
4135 deUint32 dstBinding;
4136 deUint32 dstArrayElement;
4137 deUint32 descriptorCount;
4138 VkDescriptorType descriptorType;
4139 const VkDescriptorImageInfo* pImageInfo;
4140 const VkDescriptorBufferInfo* pBufferInfo;
4141 const VkBufferView* pTexelBufferView;
4142 } VkWriteDescriptorSet;
4144 typedef struct VkAttachmentDescription {
4145 VkAttachmentDescriptionFlags flags;
4147 VkSampleCountFlagBits samples;
4148 VkAttachmentLoadOp loadOp;
4149 VkAttachmentStoreOp storeOp;
4150 VkAttachmentLoadOp stencilLoadOp;
4151 VkAttachmentStoreOp stencilStoreOp;
4152 VkImageLayout initialLayout;
4153 VkImageLayout finalLayout;
4154 } VkAttachmentDescription;
4156 typedef struct VkAttachmentReference {
4157 deUint32 attachment;
4158 VkImageLayout layout;
4159 } VkAttachmentReference;
4161 typedef struct VkFramebufferCreateInfo {
4162 VkStructureType sType;
4164 VkFramebufferCreateFlags flags;
4165 VkRenderPass renderPass;
4166 deUint32 attachmentCount;
4167 const VkImageView* pAttachments;
4171 } VkFramebufferCreateInfo;
4173 typedef struct VkSubpassDescription {
4174 VkSubpassDescriptionFlags flags;
4175 VkPipelineBindPoint pipelineBindPoint;
4176 deUint32 inputAttachmentCount;
4177 const VkAttachmentReference* pInputAttachments;
4178 deUint32 colorAttachmentCount;
4179 const VkAttachmentReference* pColorAttachments;
4180 const VkAttachmentReference* pResolveAttachments;
4181 const VkAttachmentReference* pDepthStencilAttachment;
4182 deUint32 preserveAttachmentCount;
4183 const deUint32* pPreserveAttachments;
4184 } VkSubpassDescription;
4186 typedef struct VkSubpassDependency {
4187 deUint32 srcSubpass;
4188 deUint32 dstSubpass;
4189 VkPipelineStageFlags srcStageMask;
4190 VkPipelineStageFlags dstStageMask;
4191 VkAccessFlags srcAccessMask;
4192 VkAccessFlags dstAccessMask;
4193 VkDependencyFlags dependencyFlags;
4194 } VkSubpassDependency;
4196 typedef struct VkRenderPassCreateInfo {
4197 VkStructureType sType;
4199 VkRenderPassCreateFlags flags;
4200 deUint32 attachmentCount;
4201 const VkAttachmentDescription* pAttachments;
4202 deUint32 subpassCount;
4203 const VkSubpassDescription* pSubpasses;
4204 deUint32 dependencyCount;
4205 const VkSubpassDependency* pDependencies;
4206 } VkRenderPassCreateInfo;
4208 typedef struct VkCommandPoolCreateInfo {
4209 VkStructureType sType;
4211 VkCommandPoolCreateFlags flags;
4212 deUint32 queueFamilyIndex;
4213 } VkCommandPoolCreateInfo;
4215 typedef struct VkCommandBufferAllocateInfo {
4216 VkStructureType sType;
4218 VkCommandPool commandPool;
4219 VkCommandBufferLevel level;
4220 deUint32 commandBufferCount;
4221 } VkCommandBufferAllocateInfo;
4223 typedef struct VkCommandBufferInheritanceInfo {
4224 VkStructureType sType;
4226 VkRenderPass renderPass;
4228 VkFramebuffer framebuffer;
4229 VkBool32 occlusionQueryEnable;
4230 VkQueryControlFlags queryFlags;
4231 VkQueryPipelineStatisticFlags pipelineStatistics;
4232 } VkCommandBufferInheritanceInfo;
4234 typedef struct VkCommandBufferBeginInfo {
4235 VkStructureType sType;
4237 VkCommandBufferUsageFlags flags;
4238 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4239 } VkCommandBufferBeginInfo;
4241 typedef struct VkBufferCopy {
4242 VkDeviceSize srcOffset;
4243 VkDeviceSize dstOffset;
4247 typedef struct VkImageSubresourceLayers {
4248 VkImageAspectFlags aspectMask;
4250 deUint32 baseArrayLayer;
4251 deUint32 layerCount;
4252 } VkImageSubresourceLayers;
4254 typedef struct VkBufferImageCopy {
4255 VkDeviceSize bufferOffset;
4256 deUint32 bufferRowLength;
4257 deUint32 bufferImageHeight;
4258 VkImageSubresourceLayers imageSubresource;
4259 VkOffset3D imageOffset;
4260 VkExtent3D imageExtent;
4261 } VkBufferImageCopy;
4263 typedef union VkClearColorValue {
4267 } VkClearColorValue;
4269 typedef struct VkClearDepthStencilValue {
4272 } VkClearDepthStencilValue;
4274 typedef union VkClearValue {
4275 VkClearColorValue color;
4276 VkClearDepthStencilValue depthStencil;
4279 typedef struct VkClearAttachment {
4280 VkImageAspectFlags aspectMask;
4281 deUint32 colorAttachment;
4282 VkClearValue clearValue;
4283 } VkClearAttachment;
4285 typedef struct VkClearRect {
4287 deUint32 baseArrayLayer;
4288 deUint32 layerCount;
4291 typedef struct VkImageBlit {
4292 VkImageSubresourceLayers srcSubresource;
4293 VkOffset3D srcOffsets[2];
4294 VkImageSubresourceLayers dstSubresource;
4295 VkOffset3D dstOffsets[2];
4298 typedef struct VkImageCopy {
4299 VkImageSubresourceLayers srcSubresource;
4300 VkOffset3D srcOffset;
4301 VkImageSubresourceLayers dstSubresource;
4302 VkOffset3D dstOffset;
4306 typedef struct VkImageResolve {
4307 VkImageSubresourceLayers srcSubresource;
4308 VkOffset3D srcOffset;
4309 VkImageSubresourceLayers dstSubresource;
4310 VkOffset3D dstOffset;
4314 typedef struct VkRenderPassBeginInfo {
4315 VkStructureType sType;
4317 VkRenderPass renderPass;
4318 VkFramebuffer framebuffer;
4319 VkRect2D renderArea;
4320 deUint32 clearValueCount;
4321 const VkClearValue* pClearValues;
4322 } VkRenderPassBeginInfo;
4324 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4325 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4326 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4327 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4328 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4329 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4330 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4331 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4332 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4333 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4334 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4335 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4336 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4337 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4338 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4339 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4340 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4341 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4342 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4343 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4344 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4345 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4346 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4347 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4348 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4349 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4350 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4351 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4352 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4353 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4354 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4355 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4356 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4357 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4358 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4359 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4360 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4361 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4362 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4363 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4364 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4365 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4366 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4367 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4368 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4369 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4370 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4371 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4372 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4373 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4374 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4375 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4376 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4377 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4378 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4379 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4380 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4381 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4382 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4383 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4384 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4385 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4386 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4387 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4388 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4389 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4390 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4391 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4392 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4393 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4394 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4395 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4396 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4397 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4398 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4399 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4400 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4401 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4402 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4403 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4404 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4405 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4406 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4407 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4408 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4409 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4410 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4411 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4412 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4413 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4414 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4415 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4416 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4417 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4418 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4419 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4420 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4421 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4422 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4423 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4424 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4425 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4426 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4427 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4428 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4429 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4430 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4431 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4432 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4433 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4434 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4435 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4436 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4437 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4438 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4439 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4440 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4441 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4442 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4443 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4444 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4445 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4446 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4447 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4448 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4449 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);
4450 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);
4451 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4452 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4453 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4454 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4455 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4456 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4457 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4458 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4459 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4460 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4462 #ifndef VK_NO_PROTOTYPES
4463 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4464 const VkInstanceCreateInfo* pCreateInfo,
4465 const VkAllocationCallbacks* pAllocator,
4466 VkInstance* pInstance);
4468 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4469 VkInstance instance,
4470 const VkAllocationCallbacks* pAllocator);
4472 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4473 VkInstance instance,
4474 deUint32* pPhysicalDeviceCount,
4475 VkPhysicalDevice* pPhysicalDevices);
4477 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4478 VkPhysicalDevice physicalDevice,
4479 VkPhysicalDeviceFeatures* pFeatures);
4481 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4482 VkPhysicalDevice physicalDevice,
4484 VkFormatProperties* pFormatProperties);
4486 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4487 VkPhysicalDevice physicalDevice,
4490 VkImageTiling tiling,
4491 VkImageUsageFlags usage,
4492 VkImageCreateFlags flags,
4493 VkImageFormatProperties* pImageFormatProperties);
4495 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4496 VkPhysicalDevice physicalDevice,
4497 VkPhysicalDeviceProperties* pProperties);
4499 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4500 VkPhysicalDevice physicalDevice,
4501 deUint32* pQueueFamilyPropertyCount,
4502 VkQueueFamilyProperties* pQueueFamilyProperties);
4504 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4505 VkPhysicalDevice physicalDevice,
4506 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4508 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4509 VkInstance instance,
4512 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4516 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4517 VkPhysicalDevice physicalDevice,
4518 const VkDeviceCreateInfo* pCreateInfo,
4519 const VkAllocationCallbacks* pAllocator,
4522 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4524 const VkAllocationCallbacks* pAllocator);
4526 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4527 const char* pLayerName,
4528 deUint32* pPropertyCount,
4529 VkExtensionProperties* pProperties);
4531 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4532 VkPhysicalDevice physicalDevice,
4533 const char* pLayerName,
4534 deUint32* pPropertyCount,
4535 VkExtensionProperties* pProperties);
4537 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4538 deUint32* pPropertyCount,
4539 VkLayerProperties* pProperties);
4541 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4542 VkPhysicalDevice physicalDevice,
4543 deUint32* pPropertyCount,
4544 VkLayerProperties* pProperties);
4546 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4548 deUint32 queueFamilyIndex,
4549 deUint32 queueIndex,
4552 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4554 deUint32 submitCount,
4555 const VkSubmitInfo* pSubmits,
4558 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4561 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4564 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4566 const VkMemoryAllocateInfo* pAllocateInfo,
4567 const VkAllocationCallbacks* pAllocator,
4568 VkDeviceMemory* pMemory);
4570 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4572 VkDeviceMemory memory,
4573 const VkAllocationCallbacks* pAllocator);
4575 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4577 VkDeviceMemory memory,
4578 VkDeviceSize offset,
4580 VkMemoryMapFlags flags,
4583 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4585 VkDeviceMemory memory);
4587 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4589 deUint32 memoryRangeCount,
4590 const VkMappedMemoryRange* pMemoryRanges);
4592 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4594 deUint32 memoryRangeCount,
4595 const VkMappedMemoryRange* pMemoryRanges);
4597 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4599 VkDeviceMemory memory,
4600 VkDeviceSize* pCommittedMemoryInBytes);
4602 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4605 VkDeviceMemory memory,
4606 VkDeviceSize memoryOffset);
4608 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4611 VkDeviceMemory memory,
4612 VkDeviceSize memoryOffset);
4614 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4617 VkMemoryRequirements* pMemoryRequirements);
4619 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4622 VkMemoryRequirements* pMemoryRequirements);
4624 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4627 deUint32* pSparseMemoryRequirementCount,
4628 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4630 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4631 VkPhysicalDevice physicalDevice,
4634 VkSampleCountFlagBits samples,
4635 VkImageUsageFlags usage,
4636 VkImageTiling tiling,
4637 deUint32* pPropertyCount,
4638 VkSparseImageFormatProperties* pProperties);
4640 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4642 deUint32 bindInfoCount,
4643 const VkBindSparseInfo* pBindInfo,
4646 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4648 const VkFenceCreateInfo* pCreateInfo,
4649 const VkAllocationCallbacks* pAllocator,
4652 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4655 const VkAllocationCallbacks* pAllocator);
4657 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4659 deUint32 fenceCount,
4660 const VkFence* pFences);
4662 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4666 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4668 deUint32 fenceCount,
4669 const VkFence* pFences,
4673 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4675 const VkSemaphoreCreateInfo* pCreateInfo,
4676 const VkAllocationCallbacks* pAllocator,
4677 VkSemaphore* pSemaphore);
4679 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4681 VkSemaphore semaphore,
4682 const VkAllocationCallbacks* pAllocator);
4684 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4686 const VkEventCreateInfo* pCreateInfo,
4687 const VkAllocationCallbacks* pAllocator,
4690 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4693 const VkAllocationCallbacks* pAllocator);
4695 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4699 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4703 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4707 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4709 const VkQueryPoolCreateInfo* pCreateInfo,
4710 const VkAllocationCallbacks* pAllocator,
4711 VkQueryPool* pQueryPool);
4713 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4715 VkQueryPool queryPool,
4716 const VkAllocationCallbacks* pAllocator);
4718 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4720 VkQueryPool queryPool,
4721 deUint32 firstQuery,
4722 deUint32 queryCount,
4725 VkDeviceSize stride,
4726 VkQueryResultFlags flags);
4728 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4730 const VkBufferCreateInfo* pCreateInfo,
4731 const VkAllocationCallbacks* pAllocator,
4734 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4737 const VkAllocationCallbacks* pAllocator);
4739 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4741 const VkBufferViewCreateInfo* pCreateInfo,
4742 const VkAllocationCallbacks* pAllocator,
4743 VkBufferView* pView);
4745 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4747 VkBufferView bufferView,
4748 const VkAllocationCallbacks* pAllocator);
4750 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4752 const VkImageCreateInfo* pCreateInfo,
4753 const VkAllocationCallbacks* pAllocator,
4756 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4759 const VkAllocationCallbacks* pAllocator);
4761 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4764 const VkImageSubresource* pSubresource,
4765 VkSubresourceLayout* pLayout);
4767 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4769 const VkImageViewCreateInfo* pCreateInfo,
4770 const VkAllocationCallbacks* pAllocator,
4771 VkImageView* pView);
4773 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4775 VkImageView imageView,
4776 const VkAllocationCallbacks* pAllocator);
4778 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4780 const VkShaderModuleCreateInfo* pCreateInfo,
4781 const VkAllocationCallbacks* pAllocator,
4782 VkShaderModule* pShaderModule);
4784 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4786 VkShaderModule shaderModule,
4787 const VkAllocationCallbacks* pAllocator);
4789 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4791 const VkPipelineCacheCreateInfo* pCreateInfo,
4792 const VkAllocationCallbacks* pAllocator,
4793 VkPipelineCache* pPipelineCache);
4795 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4797 VkPipelineCache pipelineCache,
4798 const VkAllocationCallbacks* pAllocator);
4800 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4802 VkPipelineCache pipelineCache,
4803 deUintptr* pDataSize,
4806 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4808 VkPipelineCache dstCache,
4809 deUint32 srcCacheCount,
4810 const VkPipelineCache* pSrcCaches);
4812 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4814 VkPipelineCache pipelineCache,
4815 deUint32 createInfoCount,
4816 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4817 const VkAllocationCallbacks* pAllocator,
4818 VkPipeline* pPipelines);
4820 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4822 VkPipelineCache pipelineCache,
4823 deUint32 createInfoCount,
4824 const VkComputePipelineCreateInfo* pCreateInfos,
4825 const VkAllocationCallbacks* pAllocator,
4826 VkPipeline* pPipelines);
4828 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4830 VkPipeline pipeline,
4831 const VkAllocationCallbacks* pAllocator);
4833 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4835 const VkPipelineLayoutCreateInfo* pCreateInfo,
4836 const VkAllocationCallbacks* pAllocator,
4837 VkPipelineLayout* pPipelineLayout);
4839 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4841 VkPipelineLayout pipelineLayout,
4842 const VkAllocationCallbacks* pAllocator);
4844 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4846 const VkSamplerCreateInfo* pCreateInfo,
4847 const VkAllocationCallbacks* pAllocator,
4848 VkSampler* pSampler);
4850 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4853 const VkAllocationCallbacks* pAllocator);
4855 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4857 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4858 const VkAllocationCallbacks* pAllocator,
4859 VkDescriptorSetLayout* pSetLayout);
4861 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4863 VkDescriptorSetLayout descriptorSetLayout,
4864 const VkAllocationCallbacks* pAllocator);
4866 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4868 const VkDescriptorPoolCreateInfo* pCreateInfo,
4869 const VkAllocationCallbacks* pAllocator,
4870 VkDescriptorPool* pDescriptorPool);
4872 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4874 VkDescriptorPool descriptorPool,
4875 const VkAllocationCallbacks* pAllocator);
4877 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4879 VkDescriptorPool descriptorPool,
4880 VkDescriptorPoolResetFlags flags);
4882 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4884 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4885 VkDescriptorSet* pDescriptorSets);
4887 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4889 VkDescriptorPool descriptorPool,
4890 deUint32 descriptorSetCount,
4891 const VkDescriptorSet* pDescriptorSets);
4893 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4895 deUint32 descriptorWriteCount,
4896 const VkWriteDescriptorSet* pDescriptorWrites,
4897 deUint32 descriptorCopyCount,
4898 const VkCopyDescriptorSet* pDescriptorCopies);
4900 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4902 const VkFramebufferCreateInfo* pCreateInfo,
4903 const VkAllocationCallbacks* pAllocator,
4904 VkFramebuffer* pFramebuffer);
4906 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4908 VkFramebuffer framebuffer,
4909 const VkAllocationCallbacks* pAllocator);
4911 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4913 const VkRenderPassCreateInfo* pCreateInfo,
4914 const VkAllocationCallbacks* pAllocator,
4915 VkRenderPass* pRenderPass);
4917 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4919 VkRenderPass renderPass,
4920 const VkAllocationCallbacks* pAllocator);
4922 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4924 VkRenderPass renderPass,
4925 VkExtent2D* pGranularity);
4927 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4929 const VkCommandPoolCreateInfo* pCreateInfo,
4930 const VkAllocationCallbacks* pAllocator,
4931 VkCommandPool* pCommandPool);
4933 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4935 VkCommandPool commandPool,
4936 const VkAllocationCallbacks* pAllocator);
4938 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4940 VkCommandPool commandPool,
4941 VkCommandPoolResetFlags flags);
4943 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4945 const VkCommandBufferAllocateInfo* pAllocateInfo,
4946 VkCommandBuffer* pCommandBuffers);
4948 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4950 VkCommandPool commandPool,
4951 deUint32 commandBufferCount,
4952 const VkCommandBuffer* pCommandBuffers);
4954 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4955 VkCommandBuffer commandBuffer,
4956 const VkCommandBufferBeginInfo* pBeginInfo);
4958 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4959 VkCommandBuffer commandBuffer);
4961 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4962 VkCommandBuffer commandBuffer,
4963 VkCommandBufferResetFlags flags);
4965 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4966 VkCommandBuffer commandBuffer,
4967 VkPipelineBindPoint pipelineBindPoint,
4968 VkPipeline pipeline);
4970 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4971 VkCommandBuffer commandBuffer,
4972 deUint32 firstViewport,
4973 deUint32 viewportCount,
4974 const VkViewport* pViewports);
4976 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4977 VkCommandBuffer commandBuffer,
4978 deUint32 firstScissor,
4979 deUint32 scissorCount,
4980 const VkRect2D* pScissors);
4982 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4983 VkCommandBuffer commandBuffer,
4986 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4987 VkCommandBuffer commandBuffer,
4988 float depthBiasConstantFactor,
4989 float depthBiasClamp,
4990 float depthBiasSlopeFactor);
4992 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4993 VkCommandBuffer commandBuffer,
4994 const float blendConstants[4]);
4996 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
4997 VkCommandBuffer commandBuffer,
4998 float minDepthBounds,
4999 float maxDepthBounds);
5001 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5002 VkCommandBuffer commandBuffer,
5003 VkStencilFaceFlags faceMask,
5004 deUint32 compareMask);
5006 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5007 VkCommandBuffer commandBuffer,
5008 VkStencilFaceFlags faceMask,
5009 deUint32 writeMask);
5011 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5012 VkCommandBuffer commandBuffer,
5013 VkStencilFaceFlags faceMask,
5014 deUint32 reference);
5016 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5017 VkCommandBuffer commandBuffer,
5018 VkPipelineBindPoint pipelineBindPoint,
5019 VkPipelineLayout layout,
5021 deUint32 descriptorSetCount,
5022 const VkDescriptorSet* pDescriptorSets,
5023 deUint32 dynamicOffsetCount,
5024 const deUint32* pDynamicOffsets);
5026 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5027 VkCommandBuffer commandBuffer,
5029 VkDeviceSize offset,
5030 VkIndexType indexType);
5032 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5033 VkCommandBuffer commandBuffer,
5034 deUint32 firstBinding,
5035 deUint32 bindingCount,
5036 const VkBuffer* pBuffers,
5037 const VkDeviceSize* pOffsets);
5039 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5040 VkCommandBuffer commandBuffer,
5041 deUint32 vertexCount,
5042 deUint32 instanceCount,
5043 deUint32 firstVertex,
5044 deUint32 firstInstance);
5046 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5047 VkCommandBuffer commandBuffer,
5048 deUint32 indexCount,
5049 deUint32 instanceCount,
5050 deUint32 firstIndex,
5051 deInt32 vertexOffset,
5052 deUint32 firstInstance);
5054 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5055 VkCommandBuffer commandBuffer,
5057 VkDeviceSize offset,
5061 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5062 VkCommandBuffer commandBuffer,
5064 VkDeviceSize offset,
5068 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5069 VkCommandBuffer commandBuffer,
5070 deUint32 groupCountX,
5071 deUint32 groupCountY,
5072 deUint32 groupCountZ);
5074 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5075 VkCommandBuffer commandBuffer,
5077 VkDeviceSize offset);
5079 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5080 VkCommandBuffer commandBuffer,
5083 deUint32 regionCount,
5084 const VkBufferCopy* pRegions);
5086 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5087 VkCommandBuffer commandBuffer,
5089 VkImageLayout srcImageLayout,
5091 VkImageLayout dstImageLayout,
5092 deUint32 regionCount,
5093 const VkImageCopy* pRegions);
5095 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5096 VkCommandBuffer commandBuffer,
5098 VkImageLayout srcImageLayout,
5100 VkImageLayout dstImageLayout,
5101 deUint32 regionCount,
5102 const VkImageBlit* pRegions,
5105 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5106 VkCommandBuffer commandBuffer,
5109 VkImageLayout dstImageLayout,
5110 deUint32 regionCount,
5111 const VkBufferImageCopy* pRegions);
5113 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5114 VkCommandBuffer commandBuffer,
5116 VkImageLayout srcImageLayout,
5118 deUint32 regionCount,
5119 const VkBufferImageCopy* pRegions);
5121 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5122 VkCommandBuffer commandBuffer,
5124 VkDeviceSize dstOffset,
5125 VkDeviceSize dataSize,
5128 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5129 VkCommandBuffer commandBuffer,
5131 VkDeviceSize dstOffset,
5135 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5136 VkCommandBuffer commandBuffer,
5138 VkImageLayout imageLayout,
5139 const VkClearColorValue* pColor,
5140 deUint32 rangeCount,
5141 const VkImageSubresourceRange* pRanges);
5143 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5144 VkCommandBuffer commandBuffer,
5146 VkImageLayout imageLayout,
5147 const VkClearDepthStencilValue* pDepthStencil,
5148 deUint32 rangeCount,
5149 const VkImageSubresourceRange* pRanges);
5151 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5152 VkCommandBuffer commandBuffer,
5153 deUint32 attachmentCount,
5154 const VkClearAttachment* pAttachments,
5156 const VkClearRect* pRects);
5158 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5159 VkCommandBuffer commandBuffer,
5161 VkImageLayout srcImageLayout,
5163 VkImageLayout dstImageLayout,
5164 deUint32 regionCount,
5165 const VkImageResolve* pRegions);
5167 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5168 VkCommandBuffer commandBuffer,
5170 VkPipelineStageFlags stageMask);
5172 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5173 VkCommandBuffer commandBuffer,
5175 VkPipelineStageFlags stageMask);
5177 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5178 VkCommandBuffer commandBuffer,
5179 deUint32 eventCount,
5180 const VkEvent* pEvents,
5181 VkPipelineStageFlags srcStageMask,
5182 VkPipelineStageFlags dstStageMask,
5183 deUint32 memoryBarrierCount,
5184 const VkMemoryBarrier* pMemoryBarriers,
5185 deUint32 bufferMemoryBarrierCount,
5186 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5187 deUint32 imageMemoryBarrierCount,
5188 const VkImageMemoryBarrier* pImageMemoryBarriers);
5190 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5191 VkCommandBuffer commandBuffer,
5192 VkPipelineStageFlags srcStageMask,
5193 VkPipelineStageFlags dstStageMask,
5194 VkDependencyFlags dependencyFlags,
5195 deUint32 memoryBarrierCount,
5196 const VkMemoryBarrier* pMemoryBarriers,
5197 deUint32 bufferMemoryBarrierCount,
5198 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5199 deUint32 imageMemoryBarrierCount,
5200 const VkImageMemoryBarrier* pImageMemoryBarriers);
5202 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5203 VkCommandBuffer commandBuffer,
5204 VkQueryPool queryPool,
5206 VkQueryControlFlags flags);
5208 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5209 VkCommandBuffer commandBuffer,
5210 VkQueryPool queryPool,
5213 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5214 VkCommandBuffer commandBuffer,
5215 VkQueryPool queryPool,
5216 deUint32 firstQuery,
5217 deUint32 queryCount);
5219 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5220 VkCommandBuffer commandBuffer,
5221 VkPipelineStageFlagBits pipelineStage,
5222 VkQueryPool queryPool,
5225 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5226 VkCommandBuffer commandBuffer,
5227 VkQueryPool queryPool,
5228 deUint32 firstQuery,
5229 deUint32 queryCount,
5231 VkDeviceSize dstOffset,
5232 VkDeviceSize stride,
5233 VkQueryResultFlags flags);
5235 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5236 VkCommandBuffer commandBuffer,
5237 VkPipelineLayout layout,
5238 VkShaderStageFlags stageFlags,
5241 const void* pValues);
5243 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5244 VkCommandBuffer commandBuffer,
5245 const VkRenderPassBeginInfo* pRenderPassBegin,
5246 VkSubpassContents contents);
5248 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5249 VkCommandBuffer commandBuffer,
5250 VkSubpassContents contents);
5252 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5253 VkCommandBuffer commandBuffer);
5255 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5256 VkCommandBuffer commandBuffer,
5257 deUint32 commandBufferCount,
5258 const VkCommandBuffer* pCommandBuffers);
5262 #define VK_VERSION_1_1 1
5263 // Vulkan 1.1 version number
5264 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5266 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5267 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5268 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5269 #define VK_LUID_SIZE 8U
5270 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5272 typedef enum VkPointClippingBehavior {
5273 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5274 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5275 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5276 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5277 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5278 } VkPointClippingBehavior;
5280 typedef enum VkTessellationDomainOrigin {
5281 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5282 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5283 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5284 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5285 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5286 } VkTessellationDomainOrigin;
5288 typedef enum VkSamplerYcbcrModelConversion {
5289 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5290 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5291 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5292 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5293 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5294 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5295 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5296 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5297 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5298 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5299 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5300 } VkSamplerYcbcrModelConversion;
5302 typedef enum VkSamplerYcbcrRange {
5303 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5304 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5305 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5306 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5307 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5308 } VkSamplerYcbcrRange;
5310 typedef enum VkChromaLocation {
5311 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5312 VK_CHROMA_LOCATION_MIDPOINT = 1,
5313 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5314 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5315 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5318 typedef enum VkDescriptorUpdateTemplateType {
5319 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5320 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5321 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5322 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5323 } VkDescriptorUpdateTemplateType;
5325 typedef enum VkSubgroupFeatureFlagBits {
5326 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5327 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5328 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5329 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5330 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5331 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5332 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5333 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5334 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5335 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5336 } VkSubgroupFeatureFlagBits;
5337 typedef VkFlags VkSubgroupFeatureFlags;
5339 typedef enum VkPeerMemoryFeatureFlagBits {
5340 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5341 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5342 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5343 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5344 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5345 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5346 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5347 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5348 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5349 } VkPeerMemoryFeatureFlagBits;
5350 typedef VkFlags VkPeerMemoryFeatureFlags;
5352 typedef enum VkMemoryAllocateFlagBits {
5353 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5354 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5355 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5356 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5357 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5358 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5359 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5360 } VkMemoryAllocateFlagBits;
5361 typedef VkFlags VkMemoryAllocateFlags;
5362 typedef VkFlags VkCommandPoolTrimFlags;
5363 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5365 typedef enum VkExternalMemoryHandleTypeFlagBits {
5366 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5367 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5368 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5369 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5370 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5371 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5372 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5373 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5374 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5375 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5376 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5377 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5378 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5379 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5380 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5381 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5382 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5383 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5384 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5385 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5386 } VkExternalMemoryHandleTypeFlagBits;
5387 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5389 typedef enum VkExternalMemoryFeatureFlagBits {
5390 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5391 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5392 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5393 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5394 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5395 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5396 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5397 } VkExternalMemoryFeatureFlagBits;
5398 typedef VkFlags VkExternalMemoryFeatureFlags;
5400 typedef enum VkExternalFenceHandleTypeFlagBits {
5401 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5402 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5403 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5404 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5405 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5406 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5407 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5408 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5409 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5410 } VkExternalFenceHandleTypeFlagBits;
5411 typedef VkFlags VkExternalFenceHandleTypeFlags;
5413 typedef enum VkExternalFenceFeatureFlagBits {
5414 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5415 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5416 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5417 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5418 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5419 } VkExternalFenceFeatureFlagBits;
5420 typedef VkFlags VkExternalFenceFeatureFlags;
5422 typedef enum VkFenceImportFlagBits {
5423 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5424 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5425 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5426 } VkFenceImportFlagBits;
5427 typedef VkFlags VkFenceImportFlags;
5429 typedef enum VkSemaphoreImportFlagBits {
5430 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5431 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5432 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5433 } VkSemaphoreImportFlagBits;
5434 typedef VkFlags VkSemaphoreImportFlags;
5436 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5437 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5438 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5439 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5440 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5441 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5442 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5443 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5444 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5445 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5446 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5447 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5448 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5449 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5450 } VkExternalSemaphoreHandleTypeFlagBits;
5451 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5453 typedef enum VkExternalSemaphoreFeatureFlagBits {
5454 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5455 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5456 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5457 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5458 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5459 } VkExternalSemaphoreFeatureFlagBits;
5460 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5461 typedef struct VkPhysicalDeviceSubgroupProperties {
5462 VkStructureType sType;
5464 deUint32 subgroupSize;
5465 VkShaderStageFlags supportedStages;
5466 VkSubgroupFeatureFlags supportedOperations;
5467 VkBool32 quadOperationsInAllStages;
5468 } VkPhysicalDeviceSubgroupProperties;
5470 typedef struct VkBindBufferMemoryInfo {
5471 VkStructureType sType;
5474 VkDeviceMemory memory;
5475 VkDeviceSize memoryOffset;
5476 } VkBindBufferMemoryInfo;
5478 typedef struct VkBindImageMemoryInfo {
5479 VkStructureType sType;
5482 VkDeviceMemory memory;
5483 VkDeviceSize memoryOffset;
5484 } VkBindImageMemoryInfo;
5486 typedef struct VkPhysicalDevice16BitStorageFeatures {
5487 VkStructureType sType;
5489 VkBool32 storageBuffer16BitAccess;
5490 VkBool32 uniformAndStorageBuffer16BitAccess;
5491 VkBool32 storagePushConstant16;
5492 VkBool32 storageInputOutput16;
5493 } VkPhysicalDevice16BitStorageFeatures;
5495 typedef struct VkMemoryDedicatedRequirements {
5496 VkStructureType sType;
5498 VkBool32 prefersDedicatedAllocation;
5499 VkBool32 requiresDedicatedAllocation;
5500 } VkMemoryDedicatedRequirements;
5502 typedef struct VkMemoryDedicatedAllocateInfo {
5503 VkStructureType sType;
5507 } VkMemoryDedicatedAllocateInfo;
5509 typedef struct VkMemoryAllocateFlagsInfo {
5510 VkStructureType sType;
5512 VkMemoryAllocateFlags flags;
5513 deUint32 deviceMask;
5514 } VkMemoryAllocateFlagsInfo;
5516 typedef struct VkDeviceGroupRenderPassBeginInfo {
5517 VkStructureType sType;
5519 deUint32 deviceMask;
5520 deUint32 deviceRenderAreaCount;
5521 const VkRect2D* pDeviceRenderAreas;
5522 } VkDeviceGroupRenderPassBeginInfo;
5524 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5525 VkStructureType sType;
5527 deUint32 deviceMask;
5528 } VkDeviceGroupCommandBufferBeginInfo;
5530 typedef struct VkDeviceGroupSubmitInfo {
5531 VkStructureType sType;
5533 deUint32 waitSemaphoreCount;
5534 const deUint32* pWaitSemaphoreDeviceIndices;
5535 deUint32 commandBufferCount;
5536 const deUint32* pCommandBufferDeviceMasks;
5537 deUint32 signalSemaphoreCount;
5538 const deUint32* pSignalSemaphoreDeviceIndices;
5539 } VkDeviceGroupSubmitInfo;
5541 typedef struct VkDeviceGroupBindSparseInfo {
5542 VkStructureType sType;
5544 deUint32 resourceDeviceIndex;
5545 deUint32 memoryDeviceIndex;
5546 } VkDeviceGroupBindSparseInfo;
5548 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5549 VkStructureType sType;
5551 deUint32 deviceIndexCount;
5552 const deUint32* pDeviceIndices;
5553 } VkBindBufferMemoryDeviceGroupInfo;
5555 typedef struct VkBindImageMemoryDeviceGroupInfo {
5556 VkStructureType sType;
5558 deUint32 deviceIndexCount;
5559 const deUint32* pDeviceIndices;
5560 deUint32 splitInstanceBindRegionCount;
5561 const VkRect2D* pSplitInstanceBindRegions;
5562 } VkBindImageMemoryDeviceGroupInfo;
5564 typedef struct VkPhysicalDeviceGroupProperties {
5565 VkStructureType sType;
5567 deUint32 physicalDeviceCount;
5568 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5569 VkBool32 subsetAllocation;
5570 } VkPhysicalDeviceGroupProperties;
5572 typedef struct VkDeviceGroupDeviceCreateInfo {
5573 VkStructureType sType;
5575 deUint32 physicalDeviceCount;
5576 const VkPhysicalDevice* pPhysicalDevices;
5577 } VkDeviceGroupDeviceCreateInfo;
5579 typedef struct VkBufferMemoryRequirementsInfo2 {
5580 VkStructureType sType;
5583 } VkBufferMemoryRequirementsInfo2;
5585 typedef struct VkImageMemoryRequirementsInfo2 {
5586 VkStructureType sType;
5589 } VkImageMemoryRequirementsInfo2;
5591 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5592 VkStructureType sType;
5595 } VkImageSparseMemoryRequirementsInfo2;
5597 typedef struct VkMemoryRequirements2 {
5598 VkStructureType sType;
5600 VkMemoryRequirements memoryRequirements;
5601 } VkMemoryRequirements2;
5603 typedef struct VkSparseImageMemoryRequirements2 {
5604 VkStructureType sType;
5606 VkSparseImageMemoryRequirements memoryRequirements;
5607 } VkSparseImageMemoryRequirements2;
5609 typedef struct VkPhysicalDeviceFeatures2 {
5610 VkStructureType sType;
5612 VkPhysicalDeviceFeatures features;
5613 } VkPhysicalDeviceFeatures2;
5615 typedef struct VkPhysicalDeviceProperties2 {
5616 VkStructureType sType;
5618 VkPhysicalDeviceProperties properties;
5619 } VkPhysicalDeviceProperties2;
5621 typedef struct VkFormatProperties2 {
5622 VkStructureType sType;
5624 VkFormatProperties formatProperties;
5625 } VkFormatProperties2;
5627 typedef struct VkImageFormatProperties2 {
5628 VkStructureType sType;
5630 VkImageFormatProperties imageFormatProperties;
5631 } VkImageFormatProperties2;
5633 typedef struct VkPhysicalDeviceImageFormatInfo2 {
5634 VkStructureType sType;
5638 VkImageTiling tiling;
5639 VkImageUsageFlags usage;
5640 VkImageCreateFlags flags;
5641 } VkPhysicalDeviceImageFormatInfo2;
5643 typedef struct VkQueueFamilyProperties2 {
5644 VkStructureType sType;
5646 VkQueueFamilyProperties queueFamilyProperties;
5647 } VkQueueFamilyProperties2;
5649 typedef struct VkPhysicalDeviceMemoryProperties2 {
5650 VkStructureType sType;
5652 VkPhysicalDeviceMemoryProperties memoryProperties;
5653 } VkPhysicalDeviceMemoryProperties2;
5655 typedef struct VkSparseImageFormatProperties2 {
5656 VkStructureType sType;
5658 VkSparseImageFormatProperties properties;
5659 } VkSparseImageFormatProperties2;
5661 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5662 VkStructureType sType;
5666 VkSampleCountFlagBits samples;
5667 VkImageUsageFlags usage;
5668 VkImageTiling tiling;
5669 } VkPhysicalDeviceSparseImageFormatInfo2;
5671 typedef struct VkPhysicalDevicePointClippingProperties {
5672 VkStructureType sType;
5674 VkPointClippingBehavior pointClippingBehavior;
5675 } VkPhysicalDevicePointClippingProperties;
5677 typedef struct VkInputAttachmentAspectReference {
5679 deUint32 inputAttachmentIndex;
5680 VkImageAspectFlags aspectMask;
5681 } VkInputAttachmentAspectReference;
5683 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5684 VkStructureType sType;
5686 deUint32 aspectReferenceCount;
5687 const VkInputAttachmentAspectReference* pAspectReferences;
5688 } VkRenderPassInputAttachmentAspectCreateInfo;
5690 typedef struct VkImageViewUsageCreateInfo {
5691 VkStructureType sType;
5693 VkImageUsageFlags usage;
5694 } VkImageViewUsageCreateInfo;
5696 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5697 VkStructureType sType;
5699 VkTessellationDomainOrigin domainOrigin;
5700 } VkPipelineTessellationDomainOriginStateCreateInfo;
5702 typedef struct VkRenderPassMultiviewCreateInfo {
5703 VkStructureType sType;
5705 deUint32 subpassCount;
5706 const deUint32* pViewMasks;
5707 deUint32 dependencyCount;
5708 const deInt32* pViewOffsets;
5709 deUint32 correlationMaskCount;
5710 const deUint32* pCorrelationMasks;
5711 } VkRenderPassMultiviewCreateInfo;
5713 typedef struct VkPhysicalDeviceMultiviewFeatures {
5714 VkStructureType sType;
5717 VkBool32 multiviewGeometryShader;
5718 VkBool32 multiviewTessellationShader;
5719 } VkPhysicalDeviceMultiviewFeatures;
5721 typedef struct VkPhysicalDeviceMultiviewProperties {
5722 VkStructureType sType;
5724 deUint32 maxMultiviewViewCount;
5725 deUint32 maxMultiviewInstanceIndex;
5726 } VkPhysicalDeviceMultiviewProperties;
5728 typedef struct VkPhysicalDeviceVariablePointersFeatures {
5729 VkStructureType sType;
5731 VkBool32 variablePointersStorageBuffer;
5732 VkBool32 variablePointers;
5733 } VkPhysicalDeviceVariablePointersFeatures;
5735 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5737 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5738 VkStructureType sType;
5740 VkBool32 protectedMemory;
5741 } VkPhysicalDeviceProtectedMemoryFeatures;
5743 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5744 VkStructureType sType;
5746 VkBool32 protectedNoFault;
5747 } VkPhysicalDeviceProtectedMemoryProperties;
5749 typedef struct VkDeviceQueueInfo2 {
5750 VkStructureType sType;
5752 VkDeviceQueueCreateFlags flags;
5753 deUint32 queueFamilyIndex;
5754 deUint32 queueIndex;
5755 } VkDeviceQueueInfo2;
5757 typedef struct VkProtectedSubmitInfo {
5758 VkStructureType sType;
5760 VkBool32 protectedSubmit;
5761 } VkProtectedSubmitInfo;
5763 typedef struct VkSamplerYcbcrConversionCreateInfo {
5764 VkStructureType sType;
5767 VkSamplerYcbcrModelConversion ycbcrModel;
5768 VkSamplerYcbcrRange ycbcrRange;
5769 VkComponentMapping components;
5770 VkChromaLocation xChromaOffset;
5771 VkChromaLocation yChromaOffset;
5772 VkFilter chromaFilter;
5773 VkBool32 forceExplicitReconstruction;
5774 } VkSamplerYcbcrConversionCreateInfo;
5776 typedef struct VkSamplerYcbcrConversionInfo {
5777 VkStructureType sType;
5779 VkSamplerYcbcrConversion conversion;
5780 } VkSamplerYcbcrConversionInfo;
5782 typedef struct VkBindImagePlaneMemoryInfo {
5783 VkStructureType sType;
5785 VkImageAspectFlagBits planeAspect;
5786 } VkBindImagePlaneMemoryInfo;
5788 typedef struct VkImagePlaneMemoryRequirementsInfo {
5789 VkStructureType sType;
5791 VkImageAspectFlagBits planeAspect;
5792 } VkImagePlaneMemoryRequirementsInfo;
5794 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5795 VkStructureType sType;
5797 VkBool32 samplerYcbcrConversion;
5798 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5800 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5801 VkStructureType sType;
5803 deUint32 combinedImageSamplerDescriptorCount;
5804 } VkSamplerYcbcrConversionImageFormatProperties;
5806 typedef struct VkDescriptorUpdateTemplateEntry {
5807 deUint32 dstBinding;
5808 deUint32 dstArrayElement;
5809 deUint32 descriptorCount;
5810 VkDescriptorType descriptorType;
5813 } VkDescriptorUpdateTemplateEntry;
5815 typedef struct VkDescriptorUpdateTemplateCreateInfo {
5816 VkStructureType sType;
5818 VkDescriptorUpdateTemplateCreateFlags flags;
5819 deUint32 descriptorUpdateEntryCount;
5820 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5821 VkDescriptorUpdateTemplateType templateType;
5822 VkDescriptorSetLayout descriptorSetLayout;
5823 VkPipelineBindPoint pipelineBindPoint;
5824 VkPipelineLayout pipelineLayout;
5826 } VkDescriptorUpdateTemplateCreateInfo;
5828 typedef struct VkExternalMemoryProperties {
5829 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5830 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5831 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5832 } VkExternalMemoryProperties;
5834 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5835 VkStructureType sType;
5837 VkExternalMemoryHandleTypeFlagBits handleType;
5838 } VkPhysicalDeviceExternalImageFormatInfo;
5840 typedef struct VkExternalImageFormatProperties {
5841 VkStructureType sType;
5843 VkExternalMemoryProperties externalMemoryProperties;
5844 } VkExternalImageFormatProperties;
5846 typedef struct VkPhysicalDeviceExternalBufferInfo {
5847 VkStructureType sType;
5849 VkBufferCreateFlags flags;
5850 VkBufferUsageFlags usage;
5851 VkExternalMemoryHandleTypeFlagBits handleType;
5852 } VkPhysicalDeviceExternalBufferInfo;
5854 typedef struct VkExternalBufferProperties {
5855 VkStructureType sType;
5857 VkExternalMemoryProperties externalMemoryProperties;
5858 } VkExternalBufferProperties;
5860 typedef struct VkPhysicalDeviceIDProperties {
5861 VkStructureType sType;
5863 deUint8 deviceUUID[VK_UUID_SIZE];
5864 deUint8 driverUUID[VK_UUID_SIZE];
5865 deUint8 deviceLUID[VK_LUID_SIZE];
5866 deUint32 deviceNodeMask;
5867 VkBool32 deviceLUIDValid;
5868 } VkPhysicalDeviceIDProperties;
5870 typedef struct VkExternalMemoryImageCreateInfo {
5871 VkStructureType sType;
5873 VkExternalMemoryHandleTypeFlags handleTypes;
5874 } VkExternalMemoryImageCreateInfo;
5876 typedef struct VkExternalMemoryBufferCreateInfo {
5877 VkStructureType sType;
5879 VkExternalMemoryHandleTypeFlags handleTypes;
5880 } VkExternalMemoryBufferCreateInfo;
5882 typedef struct VkExportMemoryAllocateInfo {
5883 VkStructureType sType;
5885 VkExternalMemoryHandleTypeFlags handleTypes;
5886 } VkExportMemoryAllocateInfo;
5888 typedef struct VkPhysicalDeviceExternalFenceInfo {
5889 VkStructureType sType;
5891 VkExternalFenceHandleTypeFlagBits handleType;
5892 } VkPhysicalDeviceExternalFenceInfo;
5894 typedef struct VkExternalFenceProperties {
5895 VkStructureType sType;
5897 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5898 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5899 VkExternalFenceFeatureFlags externalFenceFeatures;
5900 } VkExternalFenceProperties;
5902 typedef struct VkExportFenceCreateInfo {
5903 VkStructureType sType;
5905 VkExternalFenceHandleTypeFlags handleTypes;
5906 } VkExportFenceCreateInfo;
5908 typedef struct VkExportSemaphoreCreateInfo {
5909 VkStructureType sType;
5911 VkExternalSemaphoreHandleTypeFlags handleTypes;
5912 } VkExportSemaphoreCreateInfo;
5914 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5915 VkStructureType sType;
5917 VkExternalSemaphoreHandleTypeFlagBits handleType;
5918 } VkPhysicalDeviceExternalSemaphoreInfo;
5920 typedef struct VkExternalSemaphoreProperties {
5921 VkStructureType sType;
5923 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5924 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5925 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5926 } VkExternalSemaphoreProperties;
5928 typedef struct VkPhysicalDeviceMaintenance3Properties {
5929 VkStructureType sType;
5931 deUint32 maxPerSetDescriptors;
5932 VkDeviceSize maxMemoryAllocationSize;
5933 } VkPhysicalDeviceMaintenance3Properties;
5935 typedef struct VkDescriptorSetLayoutSupport {
5936 VkStructureType sType;
5939 } VkDescriptorSetLayoutSupport;
5941 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5942 VkStructureType sType;
5944 VkBool32 shaderDrawParameters;
5945 } VkPhysicalDeviceShaderDrawParametersFeatures;
5947 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5949 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
5950 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5951 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5952 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5953 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
5954 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
5955 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5956 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5957 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5958 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5959 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5960 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5961 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5962 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5963 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5964 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5965 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5966 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5967 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5968 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5969 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5970 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5971 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5972 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5973 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5974 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5975 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5976 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5978 #ifndef VK_NO_PROTOTYPES
5979 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5980 deUint32* pApiVersion);
5982 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5984 deUint32 bindInfoCount,
5985 const VkBindBufferMemoryInfo* pBindInfos);
5987 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5989 deUint32 bindInfoCount,
5990 const VkBindImageMemoryInfo* pBindInfos);
5992 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
5995 deUint32 localDeviceIndex,
5996 deUint32 remoteDeviceIndex,
5997 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5999 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6000 VkCommandBuffer commandBuffer,
6001 deUint32 deviceMask);
6003 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6004 VkCommandBuffer commandBuffer,
6005 deUint32 baseGroupX,
6006 deUint32 baseGroupY,
6007 deUint32 baseGroupZ,
6008 deUint32 groupCountX,
6009 deUint32 groupCountY,
6010 deUint32 groupCountZ);
6012 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6013 VkInstance instance,
6014 deUint32* pPhysicalDeviceGroupCount,
6015 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6017 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6019 const VkImageMemoryRequirementsInfo2* pInfo,
6020 VkMemoryRequirements2* pMemoryRequirements);
6022 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6024 const VkBufferMemoryRequirementsInfo2* pInfo,
6025 VkMemoryRequirements2* pMemoryRequirements);
6027 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6029 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6030 deUint32* pSparseMemoryRequirementCount,
6031 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6033 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6034 VkPhysicalDevice physicalDevice,
6035 VkPhysicalDeviceFeatures2* pFeatures);
6037 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6038 VkPhysicalDevice physicalDevice,
6039 VkPhysicalDeviceProperties2* pProperties);
6041 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6042 VkPhysicalDevice physicalDevice,
6044 VkFormatProperties2* pFormatProperties);
6046 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6047 VkPhysicalDevice physicalDevice,
6048 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6049 VkImageFormatProperties2* pImageFormatProperties);
6051 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6052 VkPhysicalDevice physicalDevice,
6053 deUint32* pQueueFamilyPropertyCount,
6054 VkQueueFamilyProperties2* pQueueFamilyProperties);
6056 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6057 VkPhysicalDevice physicalDevice,
6058 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6060 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6061 VkPhysicalDevice physicalDevice,
6062 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6063 deUint32* pPropertyCount,
6064 VkSparseImageFormatProperties2* pProperties);
6066 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6068 VkCommandPool commandPool,
6069 VkCommandPoolTrimFlags flags);
6071 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6073 const VkDeviceQueueInfo2* pQueueInfo,
6076 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6078 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6079 const VkAllocationCallbacks* pAllocator,
6080 VkSamplerYcbcrConversion* pYcbcrConversion);
6082 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6084 VkSamplerYcbcrConversion ycbcrConversion,
6085 const VkAllocationCallbacks* pAllocator);
6087 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6089 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6090 const VkAllocationCallbacks* pAllocator,
6091 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6093 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6095 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6096 const VkAllocationCallbacks* pAllocator);
6098 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6100 VkDescriptorSet descriptorSet,
6101 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6104 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6105 VkPhysicalDevice physicalDevice,
6106 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6107 VkExternalBufferProperties* pExternalBufferProperties);
6109 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6110 VkPhysicalDevice physicalDevice,
6111 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6112 VkExternalFenceProperties* pExternalFenceProperties);
6114 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6115 VkPhysicalDevice physicalDevice,
6116 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6117 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6119 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6121 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6122 VkDescriptorSetLayoutSupport* pSupport);
6126 #define VK_VERSION_1_2 1
6127 // Vulkan 1.2 version number
6128 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6130 #define VK_MAX_DRIVER_NAME_SIZE 256U
6131 #define VK_MAX_DRIVER_INFO_SIZE 256U
6133 typedef enum VkDriverId {
6134 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6135 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6136 VK_DRIVER_ID_MESA_RADV = 3,
6137 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6138 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6139 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6140 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6141 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6142 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6143 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6144 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6145 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6146 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6147 VK_DRIVER_ID_MOLTENVK = 14,
6148 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6149 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6150 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6151 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6152 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6153 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6154 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6155 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6156 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6157 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6158 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6159 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6160 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6161 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6164 typedef enum VkShaderFloatControlsIndependence {
6165 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6166 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6167 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6168 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6169 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6170 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6171 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6172 } VkShaderFloatControlsIndependence;
6174 typedef enum VkSamplerReductionMode {
6175 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6176 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6177 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6178 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6179 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6180 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6181 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6182 } VkSamplerReductionMode;
6184 typedef enum VkSemaphoreType {
6185 VK_SEMAPHORE_TYPE_BINARY = 0,
6186 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6187 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6188 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6189 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6192 typedef enum VkResolveModeFlagBits {
6193 VK_RESOLVE_MODE_NONE = 0,
6194 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6195 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6196 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6197 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6198 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6199 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6200 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6201 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6202 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6203 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6204 } VkResolveModeFlagBits;
6205 typedef VkFlags VkResolveModeFlags;
6207 typedef enum VkDescriptorBindingFlagBits {
6208 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6209 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6210 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6211 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6212 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6213 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6214 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6215 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6216 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6217 } VkDescriptorBindingFlagBits;
6218 typedef VkFlags VkDescriptorBindingFlags;
6220 typedef enum VkSemaphoreWaitFlagBits {
6221 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6222 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6223 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6224 } VkSemaphoreWaitFlagBits;
6225 typedef VkFlags VkSemaphoreWaitFlags;
6226 typedef struct VkPhysicalDeviceVulkan11Features {
6227 VkStructureType sType;
6229 VkBool32 storageBuffer16BitAccess;
6230 VkBool32 uniformAndStorageBuffer16BitAccess;
6231 VkBool32 storagePushConstant16;
6232 VkBool32 storageInputOutput16;
6234 VkBool32 multiviewGeometryShader;
6235 VkBool32 multiviewTessellationShader;
6236 VkBool32 variablePointersStorageBuffer;
6237 VkBool32 variablePointers;
6238 VkBool32 protectedMemory;
6239 VkBool32 samplerYcbcrConversion;
6240 VkBool32 shaderDrawParameters;
6241 } VkPhysicalDeviceVulkan11Features;
6243 typedef struct VkPhysicalDeviceVulkan11Properties {
6244 VkStructureType sType;
6246 deUint8 deviceUUID[VK_UUID_SIZE];
6247 deUint8 driverUUID[VK_UUID_SIZE];
6248 deUint8 deviceLUID[VK_LUID_SIZE];
6249 deUint32 deviceNodeMask;
6250 VkBool32 deviceLUIDValid;
6251 deUint32 subgroupSize;
6252 VkShaderStageFlags subgroupSupportedStages;
6253 VkSubgroupFeatureFlags subgroupSupportedOperations;
6254 VkBool32 subgroupQuadOperationsInAllStages;
6255 VkPointClippingBehavior pointClippingBehavior;
6256 deUint32 maxMultiviewViewCount;
6257 deUint32 maxMultiviewInstanceIndex;
6258 VkBool32 protectedNoFault;
6259 deUint32 maxPerSetDescriptors;
6260 VkDeviceSize maxMemoryAllocationSize;
6261 } VkPhysicalDeviceVulkan11Properties;
6263 typedef struct VkPhysicalDeviceVulkan12Features {
6264 VkStructureType sType;
6266 VkBool32 samplerMirrorClampToEdge;
6267 VkBool32 drawIndirectCount;
6268 VkBool32 storageBuffer8BitAccess;
6269 VkBool32 uniformAndStorageBuffer8BitAccess;
6270 VkBool32 storagePushConstant8;
6271 VkBool32 shaderBufferInt64Atomics;
6272 VkBool32 shaderSharedInt64Atomics;
6273 VkBool32 shaderFloat16;
6274 VkBool32 shaderInt8;
6275 VkBool32 descriptorIndexing;
6276 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6277 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6278 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6279 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6280 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6281 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6282 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6283 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6284 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6285 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6286 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6287 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6288 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6289 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6290 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6291 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6292 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6293 VkBool32 descriptorBindingPartiallyBound;
6294 VkBool32 descriptorBindingVariableDescriptorCount;
6295 VkBool32 runtimeDescriptorArray;
6296 VkBool32 samplerFilterMinmax;
6297 VkBool32 scalarBlockLayout;
6298 VkBool32 imagelessFramebuffer;
6299 VkBool32 uniformBufferStandardLayout;
6300 VkBool32 shaderSubgroupExtendedTypes;
6301 VkBool32 separateDepthStencilLayouts;
6302 VkBool32 hostQueryReset;
6303 VkBool32 timelineSemaphore;
6304 VkBool32 bufferDeviceAddress;
6305 VkBool32 bufferDeviceAddressCaptureReplay;
6306 VkBool32 bufferDeviceAddressMultiDevice;
6307 VkBool32 vulkanMemoryModel;
6308 VkBool32 vulkanMemoryModelDeviceScope;
6309 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6310 VkBool32 shaderOutputViewportIndex;
6311 VkBool32 shaderOutputLayer;
6312 VkBool32 subgroupBroadcastDynamicId;
6313 } VkPhysicalDeviceVulkan12Features;
6315 typedef struct VkConformanceVersion {
6320 } VkConformanceVersion;
6322 typedef struct VkPhysicalDeviceVulkan12Properties {
6323 VkStructureType sType;
6325 VkDriverId driverID;
6326 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6327 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6328 VkConformanceVersion conformanceVersion;
6329 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6330 VkShaderFloatControlsIndependence roundingModeIndependence;
6331 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6332 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6333 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6334 VkBool32 shaderDenormPreserveFloat16;
6335 VkBool32 shaderDenormPreserveFloat32;
6336 VkBool32 shaderDenormPreserveFloat64;
6337 VkBool32 shaderDenormFlushToZeroFloat16;
6338 VkBool32 shaderDenormFlushToZeroFloat32;
6339 VkBool32 shaderDenormFlushToZeroFloat64;
6340 VkBool32 shaderRoundingModeRTEFloat16;
6341 VkBool32 shaderRoundingModeRTEFloat32;
6342 VkBool32 shaderRoundingModeRTEFloat64;
6343 VkBool32 shaderRoundingModeRTZFloat16;
6344 VkBool32 shaderRoundingModeRTZFloat32;
6345 VkBool32 shaderRoundingModeRTZFloat64;
6346 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6347 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6348 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6349 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6350 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6351 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6352 VkBool32 robustBufferAccessUpdateAfterBind;
6353 VkBool32 quadDivergentImplicitLod;
6354 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6355 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6356 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6357 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6358 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6359 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6360 deUint32 maxPerStageUpdateAfterBindResources;
6361 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6362 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6363 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6364 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6365 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6366 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6367 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6368 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6369 VkResolveModeFlags supportedDepthResolveModes;
6370 VkResolveModeFlags supportedStencilResolveModes;
6371 VkBool32 independentResolveNone;
6372 VkBool32 independentResolve;
6373 VkBool32 filterMinmaxSingleComponentFormats;
6374 VkBool32 filterMinmaxImageComponentMapping;
6375 deUint64 maxTimelineSemaphoreValueDifference;
6376 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6377 } VkPhysicalDeviceVulkan12Properties;
6379 typedef struct VkImageFormatListCreateInfo {
6380 VkStructureType sType;
6382 deUint32 viewFormatCount;
6383 const VkFormat* pViewFormats;
6384 } VkImageFormatListCreateInfo;
6386 typedef struct VkAttachmentDescription2 {
6387 VkStructureType sType;
6389 VkAttachmentDescriptionFlags flags;
6391 VkSampleCountFlagBits samples;
6392 VkAttachmentLoadOp loadOp;
6393 VkAttachmentStoreOp storeOp;
6394 VkAttachmentLoadOp stencilLoadOp;
6395 VkAttachmentStoreOp stencilStoreOp;
6396 VkImageLayout initialLayout;
6397 VkImageLayout finalLayout;
6398 } VkAttachmentDescription2;
6400 typedef struct VkAttachmentReference2 {
6401 VkStructureType sType;
6403 deUint32 attachment;
6404 VkImageLayout layout;
6405 VkImageAspectFlags aspectMask;
6406 } VkAttachmentReference2;
6408 typedef struct VkSubpassDescription2 {
6409 VkStructureType sType;
6411 VkSubpassDescriptionFlags flags;
6412 VkPipelineBindPoint pipelineBindPoint;
6414 deUint32 inputAttachmentCount;
6415 const VkAttachmentReference2* pInputAttachments;
6416 deUint32 colorAttachmentCount;
6417 const VkAttachmentReference2* pColorAttachments;
6418 const VkAttachmentReference2* pResolveAttachments;
6419 const VkAttachmentReference2* pDepthStencilAttachment;
6420 deUint32 preserveAttachmentCount;
6421 const deUint32* pPreserveAttachments;
6422 } VkSubpassDescription2;
6424 typedef struct VkSubpassDependency2 {
6425 VkStructureType sType;
6427 deUint32 srcSubpass;
6428 deUint32 dstSubpass;
6429 VkPipelineStageFlags srcStageMask;
6430 VkPipelineStageFlags dstStageMask;
6431 VkAccessFlags srcAccessMask;
6432 VkAccessFlags dstAccessMask;
6433 VkDependencyFlags dependencyFlags;
6435 } VkSubpassDependency2;
6437 typedef struct VkRenderPassCreateInfo2 {
6438 VkStructureType sType;
6440 VkRenderPassCreateFlags flags;
6441 deUint32 attachmentCount;
6442 const VkAttachmentDescription2* pAttachments;
6443 deUint32 subpassCount;
6444 const VkSubpassDescription2* pSubpasses;
6445 deUint32 dependencyCount;
6446 const VkSubpassDependency2* pDependencies;
6447 deUint32 correlatedViewMaskCount;
6448 const deUint32* pCorrelatedViewMasks;
6449 } VkRenderPassCreateInfo2;
6451 typedef struct VkSubpassBeginInfo {
6452 VkStructureType sType;
6454 VkSubpassContents contents;
6455 } VkSubpassBeginInfo;
6457 typedef struct VkSubpassEndInfo {
6458 VkStructureType sType;
6462 typedef struct VkPhysicalDevice8BitStorageFeatures {
6463 VkStructureType sType;
6465 VkBool32 storageBuffer8BitAccess;
6466 VkBool32 uniformAndStorageBuffer8BitAccess;
6467 VkBool32 storagePushConstant8;
6468 } VkPhysicalDevice8BitStorageFeatures;
6470 typedef struct VkPhysicalDeviceDriverProperties {
6471 VkStructureType sType;
6473 VkDriverId driverID;
6474 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6475 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6476 VkConformanceVersion conformanceVersion;
6477 } VkPhysicalDeviceDriverProperties;
6479 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6480 VkStructureType sType;
6482 VkBool32 shaderBufferInt64Atomics;
6483 VkBool32 shaderSharedInt64Atomics;
6484 } VkPhysicalDeviceShaderAtomicInt64Features;
6486 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6487 VkStructureType sType;
6489 VkBool32 shaderFloat16;
6490 VkBool32 shaderInt8;
6491 } VkPhysicalDeviceShaderFloat16Int8Features;
6493 typedef struct VkPhysicalDeviceFloatControlsProperties {
6494 VkStructureType sType;
6496 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6497 VkShaderFloatControlsIndependence roundingModeIndependence;
6498 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6499 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6500 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6501 VkBool32 shaderDenormPreserveFloat16;
6502 VkBool32 shaderDenormPreserveFloat32;
6503 VkBool32 shaderDenormPreserveFloat64;
6504 VkBool32 shaderDenormFlushToZeroFloat16;
6505 VkBool32 shaderDenormFlushToZeroFloat32;
6506 VkBool32 shaderDenormFlushToZeroFloat64;
6507 VkBool32 shaderRoundingModeRTEFloat16;
6508 VkBool32 shaderRoundingModeRTEFloat32;
6509 VkBool32 shaderRoundingModeRTEFloat64;
6510 VkBool32 shaderRoundingModeRTZFloat16;
6511 VkBool32 shaderRoundingModeRTZFloat32;
6512 VkBool32 shaderRoundingModeRTZFloat64;
6513 } VkPhysicalDeviceFloatControlsProperties;
6515 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6516 VkStructureType sType;
6518 deUint32 bindingCount;
6519 const VkDescriptorBindingFlags* pBindingFlags;
6520 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6522 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6523 VkStructureType sType;
6525 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6526 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6527 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6528 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6529 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6530 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6531 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6532 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6533 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6534 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6535 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6536 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6537 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6538 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6539 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6540 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6541 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6542 VkBool32 descriptorBindingPartiallyBound;
6543 VkBool32 descriptorBindingVariableDescriptorCount;
6544 VkBool32 runtimeDescriptorArray;
6545 } VkPhysicalDeviceDescriptorIndexingFeatures;
6547 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6548 VkStructureType sType;
6550 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6551 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6552 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6553 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6554 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6555 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6556 VkBool32 robustBufferAccessUpdateAfterBind;
6557 VkBool32 quadDivergentImplicitLod;
6558 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6559 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6560 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6561 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6562 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6563 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6564 deUint32 maxPerStageUpdateAfterBindResources;
6565 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6566 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6567 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6568 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6569 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6570 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6571 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6572 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6573 } VkPhysicalDeviceDescriptorIndexingProperties;
6575 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6576 VkStructureType sType;
6578 deUint32 descriptorSetCount;
6579 const deUint32* pDescriptorCounts;
6580 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6582 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6583 VkStructureType sType;
6585 deUint32 maxVariableDescriptorCount;
6586 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6588 typedef struct VkSubpassDescriptionDepthStencilResolve {
6589 VkStructureType sType;
6591 VkResolveModeFlagBits depthResolveMode;
6592 VkResolveModeFlagBits stencilResolveMode;
6593 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6594 } VkSubpassDescriptionDepthStencilResolve;
6596 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6597 VkStructureType sType;
6599 VkResolveModeFlags supportedDepthResolveModes;
6600 VkResolveModeFlags supportedStencilResolveModes;
6601 VkBool32 independentResolveNone;
6602 VkBool32 independentResolve;
6603 } VkPhysicalDeviceDepthStencilResolveProperties;
6605 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6606 VkStructureType sType;
6608 VkBool32 scalarBlockLayout;
6609 } VkPhysicalDeviceScalarBlockLayoutFeatures;
6611 typedef struct VkImageStencilUsageCreateInfo {
6612 VkStructureType sType;
6614 VkImageUsageFlags stencilUsage;
6615 } VkImageStencilUsageCreateInfo;
6617 typedef struct VkSamplerReductionModeCreateInfo {
6618 VkStructureType sType;
6620 VkSamplerReductionMode reductionMode;
6621 } VkSamplerReductionModeCreateInfo;
6623 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6624 VkStructureType sType;
6626 VkBool32 filterMinmaxSingleComponentFormats;
6627 VkBool32 filterMinmaxImageComponentMapping;
6628 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
6630 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6631 VkStructureType sType;
6633 VkBool32 vulkanMemoryModel;
6634 VkBool32 vulkanMemoryModelDeviceScope;
6635 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6636 } VkPhysicalDeviceVulkanMemoryModelFeatures;
6638 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6639 VkStructureType sType;
6641 VkBool32 imagelessFramebuffer;
6642 } VkPhysicalDeviceImagelessFramebufferFeatures;
6644 typedef struct VkFramebufferAttachmentImageInfo {
6645 VkStructureType sType;
6647 VkImageCreateFlags flags;
6648 VkImageUsageFlags usage;
6651 deUint32 layerCount;
6652 deUint32 viewFormatCount;
6653 const VkFormat* pViewFormats;
6654 } VkFramebufferAttachmentImageInfo;
6656 typedef struct VkFramebufferAttachmentsCreateInfo {
6657 VkStructureType sType;
6659 deUint32 attachmentImageInfoCount;
6660 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6661 } VkFramebufferAttachmentsCreateInfo;
6663 typedef struct VkRenderPassAttachmentBeginInfo {
6664 VkStructureType sType;
6666 deUint32 attachmentCount;
6667 const VkImageView* pAttachments;
6668 } VkRenderPassAttachmentBeginInfo;
6670 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6671 VkStructureType sType;
6673 VkBool32 uniformBufferStandardLayout;
6674 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6676 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6677 VkStructureType sType;
6679 VkBool32 shaderSubgroupExtendedTypes;
6680 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6682 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6683 VkStructureType sType;
6685 VkBool32 separateDepthStencilLayouts;
6686 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6688 typedef struct VkAttachmentReferenceStencilLayout {
6689 VkStructureType sType;
6691 VkImageLayout stencilLayout;
6692 } VkAttachmentReferenceStencilLayout;
6694 typedef struct VkAttachmentDescriptionStencilLayout {
6695 VkStructureType sType;
6697 VkImageLayout stencilInitialLayout;
6698 VkImageLayout stencilFinalLayout;
6699 } VkAttachmentDescriptionStencilLayout;
6701 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6702 VkStructureType sType;
6704 VkBool32 hostQueryReset;
6705 } VkPhysicalDeviceHostQueryResetFeatures;
6707 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6708 VkStructureType sType;
6710 VkBool32 timelineSemaphore;
6711 } VkPhysicalDeviceTimelineSemaphoreFeatures;
6713 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6714 VkStructureType sType;
6716 deUint64 maxTimelineSemaphoreValueDifference;
6717 } VkPhysicalDeviceTimelineSemaphoreProperties;
6719 typedef struct VkSemaphoreTypeCreateInfo {
6720 VkStructureType sType;
6722 VkSemaphoreType semaphoreType;
6723 deUint64 initialValue;
6724 } VkSemaphoreTypeCreateInfo;
6726 typedef struct VkTimelineSemaphoreSubmitInfo {
6727 VkStructureType sType;
6729 deUint32 waitSemaphoreValueCount;
6730 const deUint64* pWaitSemaphoreValues;
6731 deUint32 signalSemaphoreValueCount;
6732 const deUint64* pSignalSemaphoreValues;
6733 } VkTimelineSemaphoreSubmitInfo;
6735 typedef struct VkSemaphoreWaitInfo {
6736 VkStructureType sType;
6738 VkSemaphoreWaitFlags flags;
6739 deUint32 semaphoreCount;
6740 const VkSemaphore* pSemaphores;
6741 const deUint64* pValues;
6742 } VkSemaphoreWaitInfo;
6744 typedef struct VkSemaphoreSignalInfo {
6745 VkStructureType sType;
6747 VkSemaphore semaphore;
6749 } VkSemaphoreSignalInfo;
6751 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6752 VkStructureType sType;
6754 VkBool32 bufferDeviceAddress;
6755 VkBool32 bufferDeviceAddressCaptureReplay;
6756 VkBool32 bufferDeviceAddressMultiDevice;
6757 } VkPhysicalDeviceBufferDeviceAddressFeatures;
6759 typedef struct VkBufferDeviceAddressInfo {
6760 VkStructureType sType;
6763 } VkBufferDeviceAddressInfo;
6765 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6766 VkStructureType sType;
6768 deUint64 opaqueCaptureAddress;
6769 } VkBufferOpaqueCaptureAddressCreateInfo;
6771 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6772 VkStructureType sType;
6774 deUint64 opaqueCaptureAddress;
6775 } VkMemoryOpaqueCaptureAddressAllocateInfo;
6777 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6778 VkStructureType sType;
6780 VkDeviceMemory memory;
6781 } VkDeviceMemoryOpaqueCaptureAddressInfo;
6783 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6784 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6785 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6786 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6787 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6788 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6789 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
6790 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
6791 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
6792 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6793 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6794 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6795 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6797 #ifndef VK_NO_PROTOTYPES
6798 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6799 VkCommandBuffer commandBuffer,
6801 VkDeviceSize offset,
6802 VkBuffer countBuffer,
6803 VkDeviceSize countBufferOffset,
6804 deUint32 maxDrawCount,
6807 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6808 VkCommandBuffer commandBuffer,
6810 VkDeviceSize offset,
6811 VkBuffer countBuffer,
6812 VkDeviceSize countBufferOffset,
6813 deUint32 maxDrawCount,
6816 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6818 const VkRenderPassCreateInfo2* pCreateInfo,
6819 const VkAllocationCallbacks* pAllocator,
6820 VkRenderPass* pRenderPass);
6822 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6823 VkCommandBuffer commandBuffer,
6824 const VkRenderPassBeginInfo* pRenderPassBegin,
6825 const VkSubpassBeginInfo* pSubpassBeginInfo);
6827 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6828 VkCommandBuffer commandBuffer,
6829 const VkSubpassBeginInfo* pSubpassBeginInfo,
6830 const VkSubpassEndInfo* pSubpassEndInfo);
6832 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6833 VkCommandBuffer commandBuffer,
6834 const VkSubpassEndInfo* pSubpassEndInfo);
6836 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6838 VkQueryPool queryPool,
6839 deUint32 firstQuery,
6840 deUint32 queryCount);
6842 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6844 VkSemaphore semaphore,
6847 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6849 const VkSemaphoreWaitInfo* pWaitInfo,
6852 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6854 const VkSemaphoreSignalInfo* pSignalInfo);
6856 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6858 const VkBufferDeviceAddressInfo* pInfo);
6860 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6862 const VkBufferDeviceAddressInfo* pInfo);
6864 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6866 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6870 #define VK_KHR_surface 1
6871 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6872 #define VK_KHR_SURFACE_SPEC_VERSION 25
6873 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6875 typedef enum VkPresentModeKHR {
6876 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6877 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6878 VK_PRESENT_MODE_FIFO_KHR = 2,
6879 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6880 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6881 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6882 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6885 typedef enum VkColorSpaceKHR {
6886 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6887 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6888 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6889 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6890 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6891 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6892 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6893 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6894 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6895 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6896 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6897 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6898 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6899 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6900 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6901 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6902 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6903 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6904 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6907 typedef enum VkSurfaceTransformFlagBitsKHR {
6908 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6909 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6910 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6911 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6912 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6913 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6914 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6915 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6916 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6917 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6918 } VkSurfaceTransformFlagBitsKHR;
6920 typedef enum VkCompositeAlphaFlagBitsKHR {
6921 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6922 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6923 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6924 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6925 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6926 } VkCompositeAlphaFlagBitsKHR;
6927 typedef VkFlags VkCompositeAlphaFlagsKHR;
6928 typedef VkFlags VkSurfaceTransformFlagsKHR;
6929 typedef struct VkSurfaceCapabilitiesKHR {
6930 deUint32 minImageCount;
6931 deUint32 maxImageCount;
6932 VkExtent2D currentExtent;
6933 VkExtent2D minImageExtent;
6934 VkExtent2D maxImageExtent;
6935 deUint32 maxImageArrayLayers;
6936 VkSurfaceTransformFlagsKHR supportedTransforms;
6937 VkSurfaceTransformFlagBitsKHR currentTransform;
6938 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6939 VkImageUsageFlags supportedUsageFlags;
6940 } VkSurfaceCapabilitiesKHR;
6942 typedef struct VkSurfaceFormatKHR {
6944 VkColorSpaceKHR colorSpace;
6945 } VkSurfaceFormatKHR;
6947 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6948 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6949 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6950 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6951 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6953 #ifndef VK_NO_PROTOTYPES
6954 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6955 VkInstance instance,
6956 VkSurfaceKHR surface,
6957 const VkAllocationCallbacks* pAllocator);
6959 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
6960 VkPhysicalDevice physicalDevice,
6961 deUint32 queueFamilyIndex,
6962 VkSurfaceKHR surface,
6963 VkBool32* pSupported);
6965 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
6966 VkPhysicalDevice physicalDevice,
6967 VkSurfaceKHR surface,
6968 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6970 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
6971 VkPhysicalDevice physicalDevice,
6972 VkSurfaceKHR surface,
6973 deUint32* pSurfaceFormatCount,
6974 VkSurfaceFormatKHR* pSurfaceFormats);
6976 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
6977 VkPhysicalDevice physicalDevice,
6978 VkSurfaceKHR surface,
6979 deUint32* pPresentModeCount,
6980 VkPresentModeKHR* pPresentModes);
6984 #define VK_KHR_swapchain 1
6985 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
6986 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
6987 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
6989 typedef enum VkSwapchainCreateFlagBitsKHR {
6990 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
6991 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
6992 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
6993 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6994 } VkSwapchainCreateFlagBitsKHR;
6995 typedef VkFlags VkSwapchainCreateFlagsKHR;
6997 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
6998 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
6999 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
7000 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
7001 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7002 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7003 } VkDeviceGroupPresentModeFlagBitsKHR;
7004 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7005 typedef struct VkSwapchainCreateInfoKHR {
7006 VkStructureType sType;
7008 VkSwapchainCreateFlagsKHR flags;
7009 VkSurfaceKHR surface;
7010 deUint32 minImageCount;
7011 VkFormat imageFormat;
7012 VkColorSpaceKHR imageColorSpace;
7013 VkExtent2D imageExtent;
7014 deUint32 imageArrayLayers;
7015 VkImageUsageFlags imageUsage;
7016 VkSharingMode imageSharingMode;
7017 deUint32 queueFamilyIndexCount;
7018 const deUint32* pQueueFamilyIndices;
7019 VkSurfaceTransformFlagBitsKHR preTransform;
7020 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7021 VkPresentModeKHR presentMode;
7023 VkSwapchainKHR oldSwapchain;
7024 } VkSwapchainCreateInfoKHR;
7026 typedef struct VkPresentInfoKHR {
7027 VkStructureType sType;
7029 deUint32 waitSemaphoreCount;
7030 const VkSemaphore* pWaitSemaphores;
7031 deUint32 swapchainCount;
7032 const VkSwapchainKHR* pSwapchains;
7033 const deUint32* pImageIndices;
7037 typedef struct VkImageSwapchainCreateInfoKHR {
7038 VkStructureType sType;
7040 VkSwapchainKHR swapchain;
7041 } VkImageSwapchainCreateInfoKHR;
7043 typedef struct VkBindImageMemorySwapchainInfoKHR {
7044 VkStructureType sType;
7046 VkSwapchainKHR swapchain;
7047 deUint32 imageIndex;
7048 } VkBindImageMemorySwapchainInfoKHR;
7050 typedef struct VkAcquireNextImageInfoKHR {
7051 VkStructureType sType;
7053 VkSwapchainKHR swapchain;
7055 VkSemaphore semaphore;
7057 deUint32 deviceMask;
7058 } VkAcquireNextImageInfoKHR;
7060 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7061 VkStructureType sType;
7063 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7064 VkDeviceGroupPresentModeFlagsKHR modes;
7065 } VkDeviceGroupPresentCapabilitiesKHR;
7067 typedef struct VkDeviceGroupPresentInfoKHR {
7068 VkStructureType sType;
7070 deUint32 swapchainCount;
7071 const deUint32* pDeviceMasks;
7072 VkDeviceGroupPresentModeFlagBitsKHR mode;
7073 } VkDeviceGroupPresentInfoKHR;
7075 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7076 VkStructureType sType;
7078 VkDeviceGroupPresentModeFlagsKHR modes;
7079 } VkDeviceGroupSwapchainCreateInfoKHR;
7081 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7082 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7083 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
7084 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
7085 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7086 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7087 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7088 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
7089 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
7091 #ifndef VK_NO_PROTOTYPES
7092 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7094 const VkSwapchainCreateInfoKHR* pCreateInfo,
7095 const VkAllocationCallbacks* pAllocator,
7096 VkSwapchainKHR* pSwapchain);
7098 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7100 VkSwapchainKHR swapchain,
7101 const VkAllocationCallbacks* pAllocator);
7103 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7105 VkSwapchainKHR swapchain,
7106 deUint32* pSwapchainImageCount,
7107 VkImage* pSwapchainImages);
7109 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7111 VkSwapchainKHR swapchain,
7113 VkSemaphore semaphore,
7115 deUint32* pImageIndex);
7117 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7119 const VkPresentInfoKHR* pPresentInfo);
7121 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7123 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7125 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7127 VkSurfaceKHR surface,
7128 VkDeviceGroupPresentModeFlagsKHR* pModes);
7130 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7131 VkPhysicalDevice physicalDevice,
7132 VkSurfaceKHR surface,
7133 deUint32* pRectCount,
7136 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7138 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7139 deUint32* pImageIndex);
7143 #define VK_KHR_display 1
7144 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7145 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7146 #define VK_KHR_DISPLAY_SPEC_VERSION 23
7147 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7148 typedef VkFlags VkDisplayModeCreateFlagsKHR;
7150 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7151 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7152 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7153 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7154 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7155 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7156 } VkDisplayPlaneAlphaFlagBitsKHR;
7157 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7158 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7159 typedef struct VkDisplayModeParametersKHR {
7160 VkExtent2D visibleRegion;
7161 deUint32 refreshRate;
7162 } VkDisplayModeParametersKHR;
7164 typedef struct VkDisplayModeCreateInfoKHR {
7165 VkStructureType sType;
7167 VkDisplayModeCreateFlagsKHR flags;
7168 VkDisplayModeParametersKHR parameters;
7169 } VkDisplayModeCreateInfoKHR;
7171 typedef struct VkDisplayModePropertiesKHR {
7172 VkDisplayModeKHR displayMode;
7173 VkDisplayModeParametersKHR parameters;
7174 } VkDisplayModePropertiesKHR;
7176 typedef struct VkDisplayPlaneCapabilitiesKHR {
7177 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7178 VkOffset2D minSrcPosition;
7179 VkOffset2D maxSrcPosition;
7180 VkExtent2D minSrcExtent;
7181 VkExtent2D maxSrcExtent;
7182 VkOffset2D minDstPosition;
7183 VkOffset2D maxDstPosition;
7184 VkExtent2D minDstExtent;
7185 VkExtent2D maxDstExtent;
7186 } VkDisplayPlaneCapabilitiesKHR;
7188 typedef struct VkDisplayPlanePropertiesKHR {
7189 VkDisplayKHR currentDisplay;
7190 deUint32 currentStackIndex;
7191 } VkDisplayPlanePropertiesKHR;
7193 typedef struct VkDisplayPropertiesKHR {
7194 VkDisplayKHR display;
7195 const char* displayName;
7196 VkExtent2D physicalDimensions;
7197 VkExtent2D physicalResolution;
7198 VkSurfaceTransformFlagsKHR supportedTransforms;
7199 VkBool32 planeReorderPossible;
7200 VkBool32 persistentContent;
7201 } VkDisplayPropertiesKHR;
7203 typedef struct VkDisplaySurfaceCreateInfoKHR {
7204 VkStructureType sType;
7206 VkDisplaySurfaceCreateFlagsKHR flags;
7207 VkDisplayModeKHR displayMode;
7208 deUint32 planeIndex;
7209 deUint32 planeStackIndex;
7210 VkSurfaceTransformFlagBitsKHR transform;
7212 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7213 VkExtent2D imageExtent;
7214 } VkDisplaySurfaceCreateInfoKHR;
7216 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7217 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7218 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
7219 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7220 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7221 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7222 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7224 #ifndef VK_NO_PROTOTYPES
7225 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7226 VkPhysicalDevice physicalDevice,
7227 deUint32* pPropertyCount,
7228 VkDisplayPropertiesKHR* pProperties);
7230 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7231 VkPhysicalDevice physicalDevice,
7232 deUint32* pPropertyCount,
7233 VkDisplayPlanePropertiesKHR* pProperties);
7235 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7236 VkPhysicalDevice physicalDevice,
7237 deUint32 planeIndex,
7238 deUint32* pDisplayCount,
7239 VkDisplayKHR* pDisplays);
7241 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7242 VkPhysicalDevice physicalDevice,
7243 VkDisplayKHR display,
7244 deUint32* pPropertyCount,
7245 VkDisplayModePropertiesKHR* pProperties);
7247 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7248 VkPhysicalDevice physicalDevice,
7249 VkDisplayKHR display,
7250 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7251 const VkAllocationCallbacks* pAllocator,
7252 VkDisplayModeKHR* pMode);
7254 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7255 VkPhysicalDevice physicalDevice,
7256 VkDisplayModeKHR mode,
7257 deUint32 planeIndex,
7258 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7260 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7261 VkInstance instance,
7262 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7263 const VkAllocationCallbacks* pAllocator,
7264 VkSurfaceKHR* pSurface);
7268 #define VK_KHR_display_swapchain 1
7269 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7270 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7271 typedef struct VkDisplayPresentInfoKHR {
7272 VkStructureType sType;
7276 VkBool32 persistent;
7277 } VkDisplayPresentInfoKHR;
7279 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7281 #ifndef VK_NO_PROTOTYPES
7282 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7284 deUint32 swapchainCount,
7285 const VkSwapchainCreateInfoKHR* pCreateInfos,
7286 const VkAllocationCallbacks* pAllocator,
7287 VkSwapchainKHR* pSwapchains);
7291 #define VK_KHR_sampler_mirror_clamp_to_edge 1
7292 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7293 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7296 #define VK_KHR_multiview 1
7297 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
7298 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
7299 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
7301 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
7303 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
7307 #define VK_KHR_get_physical_device_properties2 1
7308 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
7309 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
7310 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
7312 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
7314 typedef VkFormatProperties2 VkFormatProperties2KHR;
7316 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
7318 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
7320 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
7322 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
7324 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
7326 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
7328 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
7329 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
7330 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
7331 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
7332 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
7333 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7334 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
7336 #ifndef VK_NO_PROTOTYPES
7337 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
7338 VkPhysicalDevice physicalDevice,
7339 VkPhysicalDeviceFeatures2* pFeatures);
7341 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
7342 VkPhysicalDevice physicalDevice,
7343 VkPhysicalDeviceProperties2* pProperties);
7345 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
7346 VkPhysicalDevice physicalDevice,
7348 VkFormatProperties2* pFormatProperties);
7350 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
7351 VkPhysicalDevice physicalDevice,
7352 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
7353 VkImageFormatProperties2* pImageFormatProperties);
7355 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7356 VkPhysicalDevice physicalDevice,
7357 deUint32* pQueueFamilyPropertyCount,
7358 VkQueueFamilyProperties2* pQueueFamilyProperties);
7360 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
7361 VkPhysicalDevice physicalDevice,
7362 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7364 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7365 VkPhysicalDevice physicalDevice,
7366 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
7367 deUint32* pPropertyCount,
7368 VkSparseImageFormatProperties2* pProperties);
7372 #define VK_KHR_device_group 1
7373 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
7374 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
7375 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
7377 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
7379 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
7381 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
7383 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
7385 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
7387 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
7389 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
7391 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
7393 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
7395 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
7397 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7398 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
7399 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
7401 #ifndef VK_NO_PROTOTYPES
7402 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
7405 deUint32 localDeviceIndex,
7406 deUint32 remoteDeviceIndex,
7407 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7409 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
7410 VkCommandBuffer commandBuffer,
7411 deUint32 deviceMask);
7413 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
7414 VkCommandBuffer commandBuffer,
7415 deUint32 baseGroupX,
7416 deUint32 baseGroupY,
7417 deUint32 baseGroupZ,
7418 deUint32 groupCountX,
7419 deUint32 groupCountY,
7420 deUint32 groupCountZ);
7424 #define VK_KHR_shader_draw_parameters 1
7425 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
7426 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
7429 #define VK_KHR_maintenance1 1
7430 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
7431 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
7432 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
7434 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
7436 #ifndef VK_NO_PROTOTYPES
7437 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
7439 VkCommandPool commandPool,
7440 VkCommandPoolTrimFlags flags);
7444 #define VK_KHR_device_group_creation 1
7445 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
7446 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
7447 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
7448 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
7450 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
7452 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7454 #ifndef VK_NO_PROTOTYPES
7455 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
7456 VkInstance instance,
7457 deUint32* pPhysicalDeviceGroupCount,
7458 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7462 #define VK_KHR_external_memory_capabilities 1
7463 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7464 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
7465 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
7466 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
7468 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
7470 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
7472 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
7474 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
7476 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
7478 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
7480 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
7482 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
7484 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
7486 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
7488 #ifndef VK_NO_PROTOTYPES
7489 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7490 VkPhysicalDevice physicalDevice,
7491 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
7492 VkExternalBufferProperties* pExternalBufferProperties);
7496 #define VK_KHR_external_memory 1
7497 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
7498 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
7499 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
7500 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
7502 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
7504 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
7508 #define VK_KHR_external_memory_fd 1
7509 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
7510 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
7511 typedef struct VkImportMemoryFdInfoKHR {
7512 VkStructureType sType;
7514 VkExternalMemoryHandleTypeFlagBits handleType;
7516 } VkImportMemoryFdInfoKHR;
7518 typedef struct VkMemoryFdPropertiesKHR {
7519 VkStructureType sType;
7521 deUint32 memoryTypeBits;
7522 } VkMemoryFdPropertiesKHR;
7524 typedef struct VkMemoryGetFdInfoKHR {
7525 VkStructureType sType;
7527 VkDeviceMemory memory;
7528 VkExternalMemoryHandleTypeFlagBits handleType;
7529 } VkMemoryGetFdInfoKHR;
7531 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
7532 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7534 #ifndef VK_NO_PROTOTYPES
7535 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
7537 const VkMemoryGetFdInfoKHR* pGetFdInfo,
7540 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
7542 VkExternalMemoryHandleTypeFlagBits handleType,
7544 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7548 #define VK_KHR_external_semaphore_capabilities 1
7549 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
7550 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
7551 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
7553 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
7555 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
7557 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
7559 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
7561 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
7563 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7565 #ifndef VK_NO_PROTOTYPES
7566 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
7567 VkPhysicalDevice physicalDevice,
7568 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
7569 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7573 #define VK_KHR_external_semaphore 1
7574 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
7575 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
7576 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
7578 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
7580 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
7584 #define VK_KHR_external_semaphore_fd 1
7585 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
7586 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
7587 typedef struct VkImportSemaphoreFdInfoKHR {
7588 VkStructureType sType;
7590 VkSemaphore semaphore;
7591 VkSemaphoreImportFlags flags;
7592 VkExternalSemaphoreHandleTypeFlagBits handleType;
7594 } VkImportSemaphoreFdInfoKHR;
7596 typedef struct VkSemaphoreGetFdInfoKHR {
7597 VkStructureType sType;
7599 VkSemaphore semaphore;
7600 VkExternalSemaphoreHandleTypeFlagBits handleType;
7601 } VkSemaphoreGetFdInfoKHR;
7603 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7604 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
7606 #ifndef VK_NO_PROTOTYPES
7607 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
7609 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7611 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
7613 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
7618 #define VK_KHR_push_descriptor 1
7619 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
7620 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
7621 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7622 VkStructureType sType;
7624 deUint32 maxPushDescriptors;
7625 } VkPhysicalDevicePushDescriptorPropertiesKHR;
7627 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
7628 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
7630 #ifndef VK_NO_PROTOTYPES
7631 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
7632 VkCommandBuffer commandBuffer,
7633 VkPipelineBindPoint pipelineBindPoint,
7634 VkPipelineLayout layout,
7636 deUint32 descriptorWriteCount,
7637 const VkWriteDescriptorSet* pDescriptorWrites);
7639 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
7640 VkCommandBuffer commandBuffer,
7641 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7642 VkPipelineLayout layout,
7648 #define VK_KHR_shader_float16_int8 1
7649 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
7650 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
7651 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
7653 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
7657 #define VK_KHR_16bit_storage 1
7658 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
7659 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
7660 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
7664 #define VK_KHR_incremental_present 1
7665 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
7666 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
7667 typedef struct VkRectLayerKHR {
7673 typedef struct VkPresentRegionKHR {
7674 deUint32 rectangleCount;
7675 const VkRectLayerKHR* pRectangles;
7676 } VkPresentRegionKHR;
7678 typedef struct VkPresentRegionsKHR {
7679 VkStructureType sType;
7681 deUint32 swapchainCount;
7682 const VkPresentRegionKHR* pRegions;
7683 } VkPresentRegionsKHR;
7687 #define VK_KHR_descriptor_update_template 1
7688 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
7690 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
7691 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
7692 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
7694 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
7696 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
7698 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
7700 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7701 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
7702 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
7704 #ifndef VK_NO_PROTOTYPES
7705 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
7707 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
7708 const VkAllocationCallbacks* pAllocator,
7709 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7711 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
7713 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7714 const VkAllocationCallbacks* pAllocator);
7716 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
7718 VkDescriptorSet descriptorSet,
7719 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7724 #define VK_KHR_imageless_framebuffer 1
7725 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
7726 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
7727 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
7729 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
7731 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
7733 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
7737 #define VK_KHR_create_renderpass2 1
7738 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
7739 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
7740 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
7742 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
7744 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
7746 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
7748 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
7750 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
7752 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
7754 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7755 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7756 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7757 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7759 #ifndef VK_NO_PROTOTYPES
7760 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
7762 const VkRenderPassCreateInfo2* pCreateInfo,
7763 const VkAllocationCallbacks* pAllocator,
7764 VkRenderPass* pRenderPass);
7766 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
7767 VkCommandBuffer commandBuffer,
7768 const VkRenderPassBeginInfo* pRenderPassBegin,
7769 const VkSubpassBeginInfo* pSubpassBeginInfo);
7771 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
7772 VkCommandBuffer commandBuffer,
7773 const VkSubpassBeginInfo* pSubpassBeginInfo,
7774 const VkSubpassEndInfo* pSubpassEndInfo);
7776 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
7777 VkCommandBuffer commandBuffer,
7778 const VkSubpassEndInfo* pSubpassEndInfo);
7782 #define VK_KHR_shared_presentable_image 1
7783 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
7784 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
7785 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
7786 VkStructureType sType;
7788 VkImageUsageFlags sharedPresentSupportedUsageFlags;
7789 } VkSharedPresentSurfaceCapabilitiesKHR;
7791 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
7793 #ifndef VK_NO_PROTOTYPES
7794 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
7796 VkSwapchainKHR swapchain);
7800 #define VK_KHR_external_fence_capabilities 1
7801 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
7802 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
7803 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
7805 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
7807 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
7809 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
7811 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
7813 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
7815 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
7817 #ifndef VK_NO_PROTOTYPES
7818 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
7819 VkPhysicalDevice physicalDevice,
7820 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
7821 VkExternalFenceProperties* pExternalFenceProperties);
7825 #define VK_KHR_external_fence 1
7826 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
7827 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
7828 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
7830 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
7832 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
7836 #define VK_KHR_external_fence_fd 1
7837 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
7838 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
7839 typedef struct VkImportFenceFdInfoKHR {
7840 VkStructureType sType;
7843 VkFenceImportFlags flags;
7844 VkExternalFenceHandleTypeFlagBits handleType;
7846 } VkImportFenceFdInfoKHR;
7848 typedef struct VkFenceGetFdInfoKHR {
7849 VkStructureType sType;
7852 VkExternalFenceHandleTypeFlagBits handleType;
7853 } VkFenceGetFdInfoKHR;
7855 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7856 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
7858 #ifndef VK_NO_PROTOTYPES
7859 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
7861 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7863 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
7865 const VkFenceGetFdInfoKHR* pGetFdInfo,
7870 #define VK_KHR_performance_query 1
7871 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7872 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7874 typedef enum VkPerformanceCounterUnitKHR {
7875 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7876 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7877 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7878 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7879 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7880 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7881 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7882 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7883 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7884 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7885 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7886 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7887 } VkPerformanceCounterUnitKHR;
7889 typedef enum VkPerformanceCounterScopeKHR {
7890 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7891 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7892 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7893 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7894 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7895 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7896 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7897 } VkPerformanceCounterScopeKHR;
7899 typedef enum VkPerformanceCounterStorageKHR {
7900 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7901 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7902 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7903 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7904 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7905 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7906 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7907 } VkPerformanceCounterStorageKHR;
7909 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7910 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7911 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7912 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7913 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7914 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7915 } VkPerformanceCounterDescriptionFlagBitsKHR;
7916 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7918 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7919 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7920 } VkAcquireProfilingLockFlagBitsKHR;
7921 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7922 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7923 VkStructureType sType;
7925 VkBool32 performanceCounterQueryPools;
7926 VkBool32 performanceCounterMultipleQueryPools;
7927 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7929 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7930 VkStructureType sType;
7932 VkBool32 allowCommandBufferQueryCopies;
7933 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7935 typedef struct VkPerformanceCounterKHR {
7936 VkStructureType sType;
7938 VkPerformanceCounterUnitKHR unit;
7939 VkPerformanceCounterScopeKHR scope;
7940 VkPerformanceCounterStorageKHR storage;
7941 deUint8 uuid[VK_UUID_SIZE];
7942 } VkPerformanceCounterKHR;
7944 typedef struct VkPerformanceCounterDescriptionKHR {
7945 VkStructureType sType;
7947 VkPerformanceCounterDescriptionFlagsKHR flags;
7948 char name[VK_MAX_DESCRIPTION_SIZE];
7949 char category[VK_MAX_DESCRIPTION_SIZE];
7950 char description[VK_MAX_DESCRIPTION_SIZE];
7951 } VkPerformanceCounterDescriptionKHR;
7953 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7954 VkStructureType sType;
7956 deUint32 queueFamilyIndex;
7957 deUint32 counterIndexCount;
7958 const deUint32* pCounterIndices;
7959 } VkQueryPoolPerformanceCreateInfoKHR;
7961 typedef union VkPerformanceCounterResultKHR {
7968 } VkPerformanceCounterResultKHR;
7970 typedef struct VkAcquireProfilingLockInfoKHR {
7971 VkStructureType sType;
7973 VkAcquireProfilingLockFlagsKHR flags;
7975 } VkAcquireProfilingLockInfoKHR;
7977 typedef struct VkPerformanceQuerySubmitInfoKHR {
7978 VkStructureType sType;
7980 deUint32 counterPassIndex;
7981 } VkPerformanceQuerySubmitInfoKHR;
7983 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7984 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
7985 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
7986 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
7988 #ifndef VK_NO_PROTOTYPES
7989 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
7990 VkPhysicalDevice physicalDevice,
7991 deUint32 queueFamilyIndex,
7992 deUint32* pCounterCount,
7993 VkPerformanceCounterKHR* pCounters,
7994 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7996 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
7997 VkPhysicalDevice physicalDevice,
7998 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
7999 deUint32* pNumPasses);
8001 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
8003 const VkAcquireProfilingLockInfoKHR* pInfo);
8005 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
8010 #define VK_KHR_maintenance2 1
8011 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
8012 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
8013 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
8015 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
8017 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
8019 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
8021 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
8023 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
8025 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
8029 #define VK_KHR_get_surface_capabilities2 1
8030 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
8031 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
8032 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
8033 VkStructureType sType;
8035 VkSurfaceKHR surface;
8036 } VkPhysicalDeviceSurfaceInfo2KHR;
8038 typedef struct VkSurfaceCapabilities2KHR {
8039 VkStructureType sType;
8041 VkSurfaceCapabilitiesKHR surfaceCapabilities;
8042 } VkSurfaceCapabilities2KHR;
8044 typedef struct VkSurfaceFormat2KHR {
8045 VkStructureType sType;
8047 VkSurfaceFormatKHR surfaceFormat;
8048 } VkSurfaceFormat2KHR;
8050 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8051 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
8053 #ifndef VK_NO_PROTOTYPES
8054 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
8055 VkPhysicalDevice physicalDevice,
8056 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8057 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8059 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
8060 VkPhysicalDevice physicalDevice,
8061 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8062 deUint32* pSurfaceFormatCount,
8063 VkSurfaceFormat2KHR* pSurfaceFormats);
8067 #define VK_KHR_variable_pointers 1
8068 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
8069 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
8070 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
8072 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
8076 #define VK_KHR_get_display_properties2 1
8077 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
8078 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
8079 typedef struct VkDisplayProperties2KHR {
8080 VkStructureType sType;
8082 VkDisplayPropertiesKHR displayProperties;
8083 } VkDisplayProperties2KHR;
8085 typedef struct VkDisplayPlaneProperties2KHR {
8086 VkStructureType sType;
8088 VkDisplayPlanePropertiesKHR displayPlaneProperties;
8089 } VkDisplayPlaneProperties2KHR;
8091 typedef struct VkDisplayModeProperties2KHR {
8092 VkStructureType sType;
8094 VkDisplayModePropertiesKHR displayModeProperties;
8095 } VkDisplayModeProperties2KHR;
8097 typedef struct VkDisplayPlaneInfo2KHR {
8098 VkStructureType sType;
8100 VkDisplayModeKHR mode;
8101 deUint32 planeIndex;
8102 } VkDisplayPlaneInfo2KHR;
8104 typedef struct VkDisplayPlaneCapabilities2KHR {
8105 VkStructureType sType;
8107 VkDisplayPlaneCapabilitiesKHR capabilities;
8108 } VkDisplayPlaneCapabilities2KHR;
8110 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
8111 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
8112 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
8113 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
8115 #ifndef VK_NO_PROTOTYPES
8116 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
8117 VkPhysicalDevice physicalDevice,
8118 deUint32* pPropertyCount,
8119 VkDisplayProperties2KHR* pProperties);
8121 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
8122 VkPhysicalDevice physicalDevice,
8123 deUint32* pPropertyCount,
8124 VkDisplayPlaneProperties2KHR* pProperties);
8126 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
8127 VkPhysicalDevice physicalDevice,
8128 VkDisplayKHR display,
8129 deUint32* pPropertyCount,
8130 VkDisplayModeProperties2KHR* pProperties);
8132 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
8133 VkPhysicalDevice physicalDevice,
8134 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
8135 VkDisplayPlaneCapabilities2KHR* pCapabilities);
8139 #define VK_KHR_dedicated_allocation 1
8140 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
8141 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
8142 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
8144 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
8148 #define VK_KHR_storage_buffer_storage_class 1
8149 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
8150 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
8153 #define VK_KHR_relaxed_block_layout 1
8154 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
8155 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
8158 #define VK_KHR_get_memory_requirements2 1
8159 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
8160 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
8161 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
8163 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
8165 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
8167 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
8169 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
8171 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8172 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8173 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8175 #ifndef VK_NO_PROTOTYPES
8176 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
8178 const VkImageMemoryRequirementsInfo2* pInfo,
8179 VkMemoryRequirements2* pMemoryRequirements);
8181 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
8183 const VkBufferMemoryRequirementsInfo2* pInfo,
8184 VkMemoryRequirements2* pMemoryRequirements);
8186 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
8188 const VkImageSparseMemoryRequirementsInfo2* pInfo,
8189 deUint32* pSparseMemoryRequirementCount,
8190 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8194 #define VK_KHR_image_format_list 1
8195 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
8196 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
8197 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
8201 #define VK_KHR_sampler_ycbcr_conversion 1
8202 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
8204 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
8205 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
8206 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
8208 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
8210 typedef VkChromaLocation VkChromaLocationKHR;
8212 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
8214 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
8216 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
8218 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
8220 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
8222 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
8224 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
8225 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
8227 #ifndef VK_NO_PROTOTYPES
8228 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
8230 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
8231 const VkAllocationCallbacks* pAllocator,
8232 VkSamplerYcbcrConversion* pYcbcrConversion);
8234 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
8236 VkSamplerYcbcrConversion ycbcrConversion,
8237 const VkAllocationCallbacks* pAllocator);
8241 #define VK_KHR_bind_memory2 1
8242 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
8243 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
8244 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
8246 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
8248 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
8249 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
8251 #ifndef VK_NO_PROTOTYPES
8252 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
8254 deUint32 bindInfoCount,
8255 const VkBindBufferMemoryInfo* pBindInfos);
8257 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
8259 deUint32 bindInfoCount,
8260 const VkBindImageMemoryInfo* pBindInfos);
8264 #define VK_KHR_maintenance3 1
8265 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
8266 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
8267 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
8269 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
8271 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
8273 #ifndef VK_NO_PROTOTYPES
8274 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
8276 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
8277 VkDescriptorSetLayoutSupport* pSupport);
8281 #define VK_KHR_draw_indirect_count 1
8282 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
8283 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
8284 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8285 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8287 #ifndef VK_NO_PROTOTYPES
8288 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
8289 VkCommandBuffer commandBuffer,
8291 VkDeviceSize offset,
8292 VkBuffer countBuffer,
8293 VkDeviceSize countBufferOffset,
8294 deUint32 maxDrawCount,
8297 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
8298 VkCommandBuffer commandBuffer,
8300 VkDeviceSize offset,
8301 VkBuffer countBuffer,
8302 VkDeviceSize countBufferOffset,
8303 deUint32 maxDrawCount,
8308 #define VK_KHR_shader_subgroup_extended_types 1
8309 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
8310 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
8311 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
8315 #define VK_KHR_8bit_storage 1
8316 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
8317 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
8318 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
8322 #define VK_KHR_shader_atomic_int64 1
8323 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
8324 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
8325 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
8329 #define VK_KHR_shader_clock 1
8330 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
8331 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
8332 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
8333 VkStructureType sType;
8335 VkBool32 shaderSubgroupClock;
8336 VkBool32 shaderDeviceClock;
8337 } VkPhysicalDeviceShaderClockFeaturesKHR;
8341 #define VK_KHR_driver_properties 1
8342 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
8343 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
8344 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
8345 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
8346 typedef VkDriverId VkDriverIdKHR;
8348 typedef VkConformanceVersion VkConformanceVersionKHR;
8350 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
8354 #define VK_KHR_shader_float_controls 1
8355 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
8356 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
8357 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
8359 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
8363 #define VK_KHR_depth_stencil_resolve 1
8364 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
8365 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
8366 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
8368 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
8370 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
8372 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
8376 #define VK_KHR_swapchain_mutable_format 1
8377 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
8378 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
8381 #define VK_KHR_timeline_semaphore 1
8382 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
8383 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
8384 typedef VkSemaphoreType VkSemaphoreTypeKHR;
8386 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
8388 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
8390 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
8392 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
8394 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
8396 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
8398 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
8400 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
8402 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
8403 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
8404 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
8406 #ifndef VK_NO_PROTOTYPES
8407 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
8409 VkSemaphore semaphore,
8412 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
8414 const VkSemaphoreWaitInfo* pWaitInfo,
8417 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
8419 const VkSemaphoreSignalInfo* pSignalInfo);
8423 #define VK_KHR_vulkan_memory_model 1
8424 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
8425 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
8426 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
8430 #define VK_KHR_shader_terminate_invocation 1
8431 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
8432 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
8433 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
8434 VkStructureType sType;
8436 VkBool32 shaderTerminateInvocation;
8437 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
8441 #define VK_KHR_fragment_shading_rate 1
8442 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
8443 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
8445 typedef enum VkFragmentShadingRateCombinerOpKHR {
8446 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
8447 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
8448 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
8449 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
8450 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
8451 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
8452 } VkFragmentShadingRateCombinerOpKHR;
8453 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
8454 VkStructureType sType;
8456 const VkAttachmentReference2* pFragmentShadingRateAttachment;
8457 VkExtent2D shadingRateAttachmentTexelSize;
8458 } VkFragmentShadingRateAttachmentInfoKHR;
8460 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
8461 VkStructureType sType;
8463 VkExtent2D fragmentSize;
8464 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
8465 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
8467 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
8468 VkStructureType sType;
8470 VkBool32 pipelineFragmentShadingRate;
8471 VkBool32 primitiveFragmentShadingRate;
8472 VkBool32 attachmentFragmentShadingRate;
8473 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
8475 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
8476 VkStructureType sType;
8478 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
8479 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
8480 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
8481 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
8482 VkBool32 layeredShadingRateAttachments;
8483 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
8484 VkExtent2D maxFragmentSize;
8485 deUint32 maxFragmentSizeAspectRatio;
8486 deUint32 maxFragmentShadingRateCoverageSamples;
8487 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
8488 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
8489 VkBool32 fragmentShadingRateWithSampleMask;
8490 VkBool32 fragmentShadingRateWithShaderSampleMask;
8491 VkBool32 fragmentShadingRateWithConservativeRasterization;
8492 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
8493 VkBool32 fragmentShadingRateWithCustomSampleLocations;
8494 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
8495 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
8497 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
8498 VkStructureType sType;
8500 VkSampleCountFlags sampleCounts;
8501 VkExtent2D fragmentSize;
8502 } VkPhysicalDeviceFragmentShadingRateKHR;
8504 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8505 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8507 #ifndef VK_NO_PROTOTYPES
8508 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
8509 VkPhysicalDevice physicalDevice,
8510 deUint32* pFragmentShadingRateCount,
8511 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8513 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
8514 VkCommandBuffer commandBuffer,
8515 const VkExtent2D* pFragmentSize,
8516 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8520 #define VK_KHR_spirv_1_4 1
8521 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
8522 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
8525 #define VK_KHR_surface_protected_capabilities 1
8526 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
8527 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
8528 typedef struct VkSurfaceProtectedCapabilitiesKHR {
8529 VkStructureType sType;
8531 VkBool32 supportsProtected;
8532 } VkSurfaceProtectedCapabilitiesKHR;
8536 #define VK_KHR_separate_depth_stencil_layouts 1
8537 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
8538 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
8539 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
8541 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
8543 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
8547 #define VK_KHR_uniform_buffer_standard_layout 1
8548 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
8549 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
8550 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
8554 #define VK_KHR_buffer_device_address 1
8555 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
8556 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
8557 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
8559 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
8561 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
8563 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
8565 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
8567 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8568 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8569 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8571 #ifndef VK_NO_PROTOTYPES
8572 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
8574 const VkBufferDeviceAddressInfo* pInfo);
8576 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
8578 const VkBufferDeviceAddressInfo* pInfo);
8580 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
8582 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8586 #define VK_KHR_deferred_host_operations 1
8587 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
8588 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
8589 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
8590 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
8591 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
8592 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
8593 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
8594 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
8596 #ifndef VK_NO_PROTOTYPES
8597 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
8599 const VkAllocationCallbacks* pAllocator,
8600 VkDeferredOperationKHR* pDeferredOperation);
8602 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
8604 VkDeferredOperationKHR operation,
8605 const VkAllocationCallbacks* pAllocator);
8607 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
8609 VkDeferredOperationKHR operation);
8611 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
8613 VkDeferredOperationKHR operation);
8615 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
8617 VkDeferredOperationKHR operation);
8621 #define VK_KHR_pipeline_executable_properties 1
8622 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
8623 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
8625 typedef enum VkPipelineExecutableStatisticFormatKHR {
8626 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
8627 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
8628 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
8629 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
8630 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
8631 } VkPipelineExecutableStatisticFormatKHR;
8632 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
8633 VkStructureType sType;
8635 VkBool32 pipelineExecutableInfo;
8636 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
8638 typedef struct VkPipelineInfoKHR {
8639 VkStructureType sType;
8641 VkPipeline pipeline;
8642 } VkPipelineInfoKHR;
8644 typedef struct VkPipelineExecutablePropertiesKHR {
8645 VkStructureType sType;
8647 VkShaderStageFlags stages;
8648 char name[VK_MAX_DESCRIPTION_SIZE];
8649 char description[VK_MAX_DESCRIPTION_SIZE];
8650 deUint32 subgroupSize;
8651 } VkPipelineExecutablePropertiesKHR;
8653 typedef struct VkPipelineExecutableInfoKHR {
8654 VkStructureType sType;
8656 VkPipeline pipeline;
8657 deUint32 executableIndex;
8658 } VkPipelineExecutableInfoKHR;
8660 typedef union VkPipelineExecutableStatisticValueKHR {
8665 } VkPipelineExecutableStatisticValueKHR;
8667 typedef struct VkPipelineExecutableStatisticKHR {
8668 VkStructureType sType;
8670 char name[VK_MAX_DESCRIPTION_SIZE];
8671 char description[VK_MAX_DESCRIPTION_SIZE];
8672 VkPipelineExecutableStatisticFormatKHR format;
8673 VkPipelineExecutableStatisticValueKHR value;
8674 } VkPipelineExecutableStatisticKHR;
8676 typedef struct VkPipelineExecutableInternalRepresentationKHR {
8677 VkStructureType sType;
8679 char name[VK_MAX_DESCRIPTION_SIZE];
8680 char description[VK_MAX_DESCRIPTION_SIZE];
8684 } VkPipelineExecutableInternalRepresentationKHR;
8686 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
8687 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
8688 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8690 #ifndef VK_NO_PROTOTYPES
8691 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
8693 const VkPipelineInfoKHR* pPipelineInfo,
8694 deUint32* pExecutableCount,
8695 VkPipelineExecutablePropertiesKHR* pProperties);
8697 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
8699 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8700 deUint32* pStatisticCount,
8701 VkPipelineExecutableStatisticKHR* pStatistics);
8703 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
8705 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8706 deUint32* pInternalRepresentationCount,
8707 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8711 #define VK_KHR_shader_integer_dot_product 1
8712 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
8713 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
8714 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR {
8715 VkStructureType sType;
8717 VkBool32 shaderIntegerDotProduct;
8718 } VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
8720 typedef struct VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR {
8721 VkStructureType sType;
8723 VkBool32 integerDotProduct8BitUnsignedAccelerated;
8724 VkBool32 integerDotProduct8BitSignedAccelerated;
8725 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
8726 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
8727 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
8728 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
8729 VkBool32 integerDotProduct16BitUnsignedAccelerated;
8730 VkBool32 integerDotProduct16BitSignedAccelerated;
8731 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
8732 VkBool32 integerDotProduct32BitUnsignedAccelerated;
8733 VkBool32 integerDotProduct32BitSignedAccelerated;
8734 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
8735 VkBool32 integerDotProduct64BitUnsignedAccelerated;
8736 VkBool32 integerDotProduct64BitSignedAccelerated;
8737 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
8738 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
8739 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
8740 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
8741 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
8742 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
8743 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
8744 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
8745 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
8746 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
8747 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
8748 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
8749 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
8750 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
8751 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
8752 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
8753 } VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
8757 #define VK_KHR_pipeline_library 1
8758 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
8759 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
8760 typedef struct VkPipelineLibraryCreateInfoKHR {
8761 VkStructureType sType;
8763 deUint32 libraryCount;
8764 const VkPipeline* pLibraries;
8765 } VkPipelineLibraryCreateInfoKHR;
8769 #define VK_KHR_shader_non_semantic_info 1
8770 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
8771 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
8774 #define VK_KHR_synchronization2 1
8775 typedef deUint64 VkFlags64;
8776 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
8777 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
8778 typedef VkFlags64 VkPipelineStageFlags2KHR;
8780 // Flag bits for VkPipelineStageFlagBits2KHR
8781 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
8782 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
8783 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
8784 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
8785 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
8786 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
8787 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
8788 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
8789 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
8790 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
8791 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
8792 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
8793 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
8794 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
8795 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
8796 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000;
8797 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
8798 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
8799 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
8800 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
8801 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
8802 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
8803 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
8804 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
8805 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
8806 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
8807 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
8808 #ifdef VK_ENABLE_BETA_EXTENSIONS
8809 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
8811 #ifdef VK_ENABLE_BETA_EXTENSIONS
8812 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
8814 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
8815 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
8816 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
8817 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
8818 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000;
8819 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
8820 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
8821 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000;
8822 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000;
8823 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
8824 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
8825 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
8826 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_FLAG_BITS_2KHR_MAX_ENUM_KHR = 0x7FFFFFFFFFFFFFFFULL;
8828 typedef VkFlags64 VkAccessFlags2KHR;
8830 // Flag bits for VkAccessFlagBits2KHR
8831 typedef VkFlags64 VkAccessFlagBits2KHR;
8832 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
8833 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
8834 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
8835 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
8836 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
8837 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
8838 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
8839 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
8840 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
8841 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
8842 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
8843 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
8844 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
8845 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
8846 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
8847 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
8848 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
8849 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
8850 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
8851 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
8852 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
8853 #ifdef VK_ENABLE_BETA_EXTENSIONS
8854 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
8856 #ifdef VK_ENABLE_BETA_EXTENSIONS
8857 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
8859 #ifdef VK_ENABLE_BETA_EXTENSIONS
8860 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
8862 #ifdef VK_ENABLE_BETA_EXTENSIONS
8863 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
8865 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
8866 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
8867 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
8868 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
8869 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
8870 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
8871 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
8872 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
8873 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
8874 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
8875 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
8876 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
8877 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
8878 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
8879 static const VkAccessFlagBits2KHR VK_ACCESS_FLAG_BITS_2KHR_MAX_ENUM_KHR = 0x7FFFFFFFFFFFFFFFULL;
8882 typedef enum VkSubmitFlagBitsKHR {
8883 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
8884 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8885 } VkSubmitFlagBitsKHR;
8886 typedef VkFlags VkSubmitFlagsKHR;
8887 typedef struct VkMemoryBarrier2KHR {
8888 VkStructureType sType;
8890 VkPipelineStageFlags2KHR srcStageMask;
8891 VkAccessFlags2KHR srcAccessMask;
8892 VkPipelineStageFlags2KHR dstStageMask;
8893 VkAccessFlags2KHR dstAccessMask;
8894 } VkMemoryBarrier2KHR;
8896 typedef struct VkBufferMemoryBarrier2KHR {
8897 VkStructureType sType;
8899 VkPipelineStageFlags2KHR srcStageMask;
8900 VkAccessFlags2KHR srcAccessMask;
8901 VkPipelineStageFlags2KHR dstStageMask;
8902 VkAccessFlags2KHR dstAccessMask;
8903 deUint32 srcQueueFamilyIndex;
8904 deUint32 dstQueueFamilyIndex;
8906 VkDeviceSize offset;
8908 } VkBufferMemoryBarrier2KHR;
8910 typedef struct VkImageMemoryBarrier2KHR {
8911 VkStructureType sType;
8913 VkPipelineStageFlags2KHR srcStageMask;
8914 VkAccessFlags2KHR srcAccessMask;
8915 VkPipelineStageFlags2KHR dstStageMask;
8916 VkAccessFlags2KHR dstAccessMask;
8917 VkImageLayout oldLayout;
8918 VkImageLayout newLayout;
8919 deUint32 srcQueueFamilyIndex;
8920 deUint32 dstQueueFamilyIndex;
8922 VkImageSubresourceRange subresourceRange;
8923 } VkImageMemoryBarrier2KHR;
8925 typedef struct VkDependencyInfoKHR {
8926 VkStructureType sType;
8928 VkDependencyFlags dependencyFlags;
8929 deUint32 memoryBarrierCount;
8930 const VkMemoryBarrier2KHR* pMemoryBarriers;
8931 deUint32 bufferMemoryBarrierCount;
8932 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
8933 deUint32 imageMemoryBarrierCount;
8934 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
8935 } VkDependencyInfoKHR;
8937 typedef struct VkSemaphoreSubmitInfoKHR {
8938 VkStructureType sType;
8940 VkSemaphore semaphore;
8942 VkPipelineStageFlags2KHR stageMask;
8943 deUint32 deviceIndex;
8944 } VkSemaphoreSubmitInfoKHR;
8946 typedef struct VkCommandBufferSubmitInfoKHR {
8947 VkStructureType sType;
8949 VkCommandBuffer commandBuffer;
8950 deUint32 deviceMask;
8951 } VkCommandBufferSubmitInfoKHR;
8953 typedef struct VkSubmitInfo2KHR {
8954 VkStructureType sType;
8956 VkSubmitFlagsKHR flags;
8957 deUint32 waitSemaphoreInfoCount;
8958 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8959 deUint32 commandBufferInfoCount;
8960 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8961 deUint32 signalSemaphoreInfoCount;
8962 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
8965 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
8966 VkStructureType sType;
8968 VkBool32 synchronization2;
8969 } VkPhysicalDeviceSynchronization2FeaturesKHR;
8971 typedef struct VkQueueFamilyCheckpointProperties2NV {
8972 VkStructureType sType;
8974 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
8975 } VkQueueFamilyCheckpointProperties2NV;
8977 typedef struct VkCheckpointData2NV {
8978 VkStructureType sType;
8980 VkPipelineStageFlags2KHR stage;
8981 void* pCheckpointMarker;
8982 } VkCheckpointData2NV;
8984 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
8985 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
8986 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
8987 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
8988 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
8989 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
8990 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
8991 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
8993 #ifndef VK_NO_PROTOTYPES
8994 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
8995 VkCommandBuffer commandBuffer,
8997 const VkDependencyInfoKHR* pDependencyInfo);
8999 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
9000 VkCommandBuffer commandBuffer,
9002 VkPipelineStageFlags2KHR stageMask);
9004 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
9005 VkCommandBuffer commandBuffer,
9006 deUint32 eventCount,
9007 const VkEvent* pEvents,
9008 const VkDependencyInfoKHR* pDependencyInfos);
9010 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
9011 VkCommandBuffer commandBuffer,
9012 const VkDependencyInfoKHR* pDependencyInfo);
9014 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
9015 VkCommandBuffer commandBuffer,
9016 VkPipelineStageFlags2KHR stage,
9017 VkQueryPool queryPool,
9020 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
9022 deUint32 submitCount,
9023 const VkSubmitInfo2KHR* pSubmits,
9026 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
9027 VkCommandBuffer commandBuffer,
9028 VkPipelineStageFlags2KHR stage,
9030 VkDeviceSize dstOffset,
9033 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
9035 deUint32* pCheckpointDataCount,
9036 VkCheckpointData2NV* pCheckpointData);
9040 #define VK_KHR_zero_initialize_workgroup_memory 1
9041 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
9042 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
9043 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
9044 VkStructureType sType;
9046 VkBool32 shaderZeroInitializeWorkgroupMemory;
9047 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
9051 #define VK_KHR_workgroup_memory_explicit_layout 1
9052 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
9053 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
9054 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
9055 VkStructureType sType;
9057 VkBool32 workgroupMemoryExplicitLayout;
9058 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
9059 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
9060 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
9061 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
9065 #define VK_KHR_copy_commands2 1
9066 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
9067 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
9068 typedef struct VkBufferCopy2KHR {
9069 VkStructureType sType;
9071 VkDeviceSize srcOffset;
9072 VkDeviceSize dstOffset;
9076 typedef struct VkCopyBufferInfo2KHR {
9077 VkStructureType sType;
9081 deUint32 regionCount;
9082 const VkBufferCopy2KHR* pRegions;
9083 } VkCopyBufferInfo2KHR;
9085 typedef struct VkImageCopy2KHR {
9086 VkStructureType sType;
9088 VkImageSubresourceLayers srcSubresource;
9089 VkOffset3D srcOffset;
9090 VkImageSubresourceLayers dstSubresource;
9091 VkOffset3D dstOffset;
9095 typedef struct VkCopyImageInfo2KHR {
9096 VkStructureType sType;
9099 VkImageLayout srcImageLayout;
9101 VkImageLayout dstImageLayout;
9102 deUint32 regionCount;
9103 const VkImageCopy2KHR* pRegions;
9104 } VkCopyImageInfo2KHR;
9106 typedef struct VkBufferImageCopy2KHR {
9107 VkStructureType sType;
9109 VkDeviceSize bufferOffset;
9110 deUint32 bufferRowLength;
9111 deUint32 bufferImageHeight;
9112 VkImageSubresourceLayers imageSubresource;
9113 VkOffset3D imageOffset;
9114 VkExtent3D imageExtent;
9115 } VkBufferImageCopy2KHR;
9117 typedef struct VkCopyBufferToImageInfo2KHR {
9118 VkStructureType sType;
9122 VkImageLayout dstImageLayout;
9123 deUint32 regionCount;
9124 const VkBufferImageCopy2KHR* pRegions;
9125 } VkCopyBufferToImageInfo2KHR;
9127 typedef struct VkCopyImageToBufferInfo2KHR {
9128 VkStructureType sType;
9131 VkImageLayout srcImageLayout;
9133 deUint32 regionCount;
9134 const VkBufferImageCopy2KHR* pRegions;
9135 } VkCopyImageToBufferInfo2KHR;
9137 typedef struct VkImageBlit2KHR {
9138 VkStructureType sType;
9140 VkImageSubresourceLayers srcSubresource;
9141 VkOffset3D srcOffsets[2];
9142 VkImageSubresourceLayers dstSubresource;
9143 VkOffset3D dstOffsets[2];
9146 typedef struct VkBlitImageInfo2KHR {
9147 VkStructureType sType;
9150 VkImageLayout srcImageLayout;
9152 VkImageLayout dstImageLayout;
9153 deUint32 regionCount;
9154 const VkImageBlit2KHR* pRegions;
9156 } VkBlitImageInfo2KHR;
9158 typedef struct VkImageResolve2KHR {
9159 VkStructureType sType;
9161 VkImageSubresourceLayers srcSubresource;
9162 VkOffset3D srcOffset;
9163 VkImageSubresourceLayers dstSubresource;
9164 VkOffset3D dstOffset;
9166 } VkImageResolve2KHR;
9168 typedef struct VkResolveImageInfo2KHR {
9169 VkStructureType sType;
9172 VkImageLayout srcImageLayout;
9174 VkImageLayout dstImageLayout;
9175 deUint32 regionCount;
9176 const VkImageResolve2KHR* pRegions;
9177 } VkResolveImageInfo2KHR;
9179 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9180 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
9181 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9182 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9183 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
9184 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
9186 #ifndef VK_NO_PROTOTYPES
9187 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
9188 VkCommandBuffer commandBuffer,
9189 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9191 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
9192 VkCommandBuffer commandBuffer,
9193 const VkCopyImageInfo2KHR* pCopyImageInfo);
9195 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
9196 VkCommandBuffer commandBuffer,
9197 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9199 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
9200 VkCommandBuffer commandBuffer,
9201 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9203 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
9204 VkCommandBuffer commandBuffer,
9205 const VkBlitImageInfo2KHR* pBlitImageInfo);
9207 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
9208 VkCommandBuffer commandBuffer,
9209 const VkResolveImageInfo2KHR* pResolveImageInfo);
9213 #define VK_EXT_debug_report 1
9214 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
9215 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
9216 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
9218 typedef enum VkDebugReportObjectTypeEXT {
9219 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
9220 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
9221 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
9222 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
9223 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
9224 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
9225 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
9226 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
9227 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
9228 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
9229 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
9230 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
9231 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
9232 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
9233 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
9234 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
9235 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
9236 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
9237 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
9238 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
9239 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
9240 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
9241 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
9242 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
9243 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
9244 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
9245 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
9246 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
9247 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
9248 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
9249 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
9250 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
9251 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
9252 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
9253 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
9254 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
9255 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
9256 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
9257 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
9258 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
9259 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9260 } VkDebugReportObjectTypeEXT;
9262 typedef enum VkDebugReportFlagBitsEXT {
9263 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
9264 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
9265 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
9266 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
9267 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
9268 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9269 } VkDebugReportFlagBitsEXT;
9270 typedef VkFlags VkDebugReportFlagsEXT;
9271 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
9272 VkDebugReportFlagsEXT flags,
9273 VkDebugReportObjectTypeEXT objectType,
9276 deInt32 messageCode,
9277 const char* pLayerPrefix,
9278 const char* pMessage,
9281 typedef struct VkDebugReportCallbackCreateInfoEXT {
9282 VkStructureType sType;
9284 VkDebugReportFlagsEXT flags;
9285 PFN_vkDebugReportCallbackEXT pfnCallback;
9287 } VkDebugReportCallbackCreateInfoEXT;
9289 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
9290 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
9291 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
9293 #ifndef VK_NO_PROTOTYPES
9294 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
9295 VkInstance instance,
9296 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
9297 const VkAllocationCallbacks* pAllocator,
9298 VkDebugReportCallbackEXT* pCallback);
9300 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
9301 VkInstance instance,
9302 VkDebugReportCallbackEXT callback,
9303 const VkAllocationCallbacks* pAllocator);
9305 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
9306 VkInstance instance,
9307 VkDebugReportFlagsEXT flags,
9308 VkDebugReportObjectTypeEXT objectType,
9311 deInt32 messageCode,
9312 const char* pLayerPrefix,
9313 const char* pMessage);
9317 #define VK_NV_glsl_shader 1
9318 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
9319 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
9322 #define VK_EXT_depth_range_unrestricted 1
9323 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
9324 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
9327 #define VK_IMG_filter_cubic 1
9328 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
9329 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
9332 #define VK_AMD_rasterization_order 1
9333 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
9334 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
9336 typedef enum VkRasterizationOrderAMD {
9337 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
9338 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
9339 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
9340 } VkRasterizationOrderAMD;
9341 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
9342 VkStructureType sType;
9344 VkRasterizationOrderAMD rasterizationOrder;
9345 } VkPipelineRasterizationStateRasterizationOrderAMD;
9349 #define VK_AMD_shader_trinary_minmax 1
9350 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
9351 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
9354 #define VK_AMD_shader_explicit_vertex_parameter 1
9355 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
9356 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
9359 #define VK_EXT_debug_marker 1
9360 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
9361 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
9362 typedef struct VkDebugMarkerObjectNameInfoEXT {
9363 VkStructureType sType;
9365 VkDebugReportObjectTypeEXT objectType;
9367 const char* pObjectName;
9368 } VkDebugMarkerObjectNameInfoEXT;
9370 typedef struct VkDebugMarkerObjectTagInfoEXT {
9371 VkStructureType sType;
9373 VkDebugReportObjectTypeEXT objectType;
9378 } VkDebugMarkerObjectTagInfoEXT;
9380 typedef struct VkDebugMarkerMarkerInfoEXT {
9381 VkStructureType sType;
9383 const char* pMarkerName;
9385 } VkDebugMarkerMarkerInfoEXT;
9387 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9388 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9389 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9390 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
9391 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9393 #ifndef VK_NO_PROTOTYPES
9394 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
9396 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9398 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
9400 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9402 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
9403 VkCommandBuffer commandBuffer,
9404 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9406 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
9407 VkCommandBuffer commandBuffer);
9409 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
9410 VkCommandBuffer commandBuffer,
9411 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9415 #define VK_AMD_gcn_shader 1
9416 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
9417 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
9420 #define VK_NV_dedicated_allocation 1
9421 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
9422 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
9423 typedef struct VkDedicatedAllocationImageCreateInfoNV {
9424 VkStructureType sType;
9426 VkBool32 dedicatedAllocation;
9427 } VkDedicatedAllocationImageCreateInfoNV;
9429 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
9430 VkStructureType sType;
9432 VkBool32 dedicatedAllocation;
9433 } VkDedicatedAllocationBufferCreateInfoNV;
9435 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
9436 VkStructureType sType;
9440 } VkDedicatedAllocationMemoryAllocateInfoNV;
9444 #define VK_EXT_transform_feedback 1
9445 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
9446 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
9447 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
9448 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
9449 VkStructureType sType;
9451 VkBool32 transformFeedback;
9452 VkBool32 geometryStreams;
9453 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
9455 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
9456 VkStructureType sType;
9458 deUint32 maxTransformFeedbackStreams;
9459 deUint32 maxTransformFeedbackBuffers;
9460 VkDeviceSize maxTransformFeedbackBufferSize;
9461 deUint32 maxTransformFeedbackStreamDataSize;
9462 deUint32 maxTransformFeedbackBufferDataSize;
9463 deUint32 maxTransformFeedbackBufferDataStride;
9464 VkBool32 transformFeedbackQueries;
9465 VkBool32 transformFeedbackStreamsLinesTriangles;
9466 VkBool32 transformFeedbackRasterizationStreamSelect;
9467 VkBool32 transformFeedbackDraw;
9468 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
9470 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
9471 VkStructureType sType;
9473 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
9474 deUint32 rasterizationStream;
9475 } VkPipelineRasterizationStateStreamCreateInfoEXT;
9477 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
9478 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9479 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9480 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
9481 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
9482 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
9484 #ifndef VK_NO_PROTOTYPES
9485 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
9486 VkCommandBuffer commandBuffer,
9487 deUint32 firstBinding,
9488 deUint32 bindingCount,
9489 const VkBuffer* pBuffers,
9490 const VkDeviceSize* pOffsets,
9491 const VkDeviceSize* pSizes);
9493 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
9494 VkCommandBuffer commandBuffer,
9495 deUint32 firstCounterBuffer,
9496 deUint32 counterBufferCount,
9497 const VkBuffer* pCounterBuffers,
9498 const VkDeviceSize* pCounterBufferOffsets);
9500 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
9501 VkCommandBuffer commandBuffer,
9502 deUint32 firstCounterBuffer,
9503 deUint32 counterBufferCount,
9504 const VkBuffer* pCounterBuffers,
9505 const VkDeviceSize* pCounterBufferOffsets);
9507 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
9508 VkCommandBuffer commandBuffer,
9509 VkQueryPool queryPool,
9511 VkQueryControlFlags flags,
9514 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
9515 VkCommandBuffer commandBuffer,
9516 VkQueryPool queryPool,
9520 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
9521 VkCommandBuffer commandBuffer,
9522 deUint32 instanceCount,
9523 deUint32 firstInstance,
9524 VkBuffer counterBuffer,
9525 VkDeviceSize counterBufferOffset,
9526 deUint32 counterOffset,
9527 deUint32 vertexStride);
9531 #define VK_NVX_image_view_handle 1
9532 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
9533 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
9534 typedef struct VkImageViewHandleInfoNVX {
9535 VkStructureType sType;
9537 VkImageView imageView;
9538 VkDescriptorType descriptorType;
9540 } VkImageViewHandleInfoNVX;
9542 typedef struct VkImageViewAddressPropertiesNVX {
9543 VkStructureType sType;
9545 VkDeviceAddress deviceAddress;
9547 } VkImageViewAddressPropertiesNVX;
9549 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
9550 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
9552 #ifndef VK_NO_PROTOTYPES
9553 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
9555 const VkImageViewHandleInfoNVX* pInfo);
9557 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
9559 VkImageView imageView,
9560 VkImageViewAddressPropertiesNVX* pProperties);
9564 #define VK_AMD_draw_indirect_count 1
9565 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
9566 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
9567 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9568 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9570 #ifndef VK_NO_PROTOTYPES
9571 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
9572 VkCommandBuffer commandBuffer,
9574 VkDeviceSize offset,
9575 VkBuffer countBuffer,
9576 VkDeviceSize countBufferOffset,
9577 deUint32 maxDrawCount,
9580 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
9581 VkCommandBuffer commandBuffer,
9583 VkDeviceSize offset,
9584 VkBuffer countBuffer,
9585 VkDeviceSize countBufferOffset,
9586 deUint32 maxDrawCount,
9591 #define VK_AMD_negative_viewport_height 1
9592 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
9593 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
9596 #define VK_AMD_gpu_shader_half_float 1
9597 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
9598 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
9601 #define VK_AMD_shader_ballot 1
9602 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
9603 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
9606 #define VK_AMD_texture_gather_bias_lod 1
9607 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
9608 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
9609 typedef struct VkTextureLODGatherFormatPropertiesAMD {
9610 VkStructureType sType;
9612 VkBool32 supportsTextureGatherLODBiasAMD;
9613 } VkTextureLODGatherFormatPropertiesAMD;
9617 #define VK_AMD_shader_info 1
9618 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
9619 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
9621 typedef enum VkShaderInfoTypeAMD {
9622 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
9623 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
9624 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
9625 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
9626 } VkShaderInfoTypeAMD;
9627 typedef struct VkShaderResourceUsageAMD {
9628 deUint32 numUsedVgprs;
9629 deUint32 numUsedSgprs;
9630 deUint32 ldsSizePerLocalWorkGroup;
9631 deUintptr ldsUsageSizeInBytes;
9632 deUintptr scratchMemUsageInBytes;
9633 } VkShaderResourceUsageAMD;
9635 typedef struct VkShaderStatisticsInfoAMD {
9636 VkShaderStageFlags shaderStageMask;
9637 VkShaderResourceUsageAMD resourceUsage;
9638 deUint32 numPhysicalVgprs;
9639 deUint32 numPhysicalSgprs;
9640 deUint32 numAvailableVgprs;
9641 deUint32 numAvailableSgprs;
9642 deUint32 computeWorkGroupSize[3];
9643 } VkShaderStatisticsInfoAMD;
9645 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
9647 #ifndef VK_NO_PROTOTYPES
9648 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
9650 VkPipeline pipeline,
9651 VkShaderStageFlagBits shaderStage,
9652 VkShaderInfoTypeAMD infoType,
9653 deUintptr* pInfoSize,
9658 #define VK_AMD_shader_image_load_store_lod 1
9659 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
9660 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
9663 #define VK_NV_corner_sampled_image 1
9664 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
9665 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
9666 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
9667 VkStructureType sType;
9669 VkBool32 cornerSampledImage;
9670 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
9674 #define VK_IMG_format_pvrtc 1
9675 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
9676 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
9679 #define VK_NV_external_memory_capabilities 1
9680 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9681 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
9683 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
9684 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
9685 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
9686 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
9687 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
9688 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9689 } VkExternalMemoryHandleTypeFlagBitsNV;
9690 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
9692 typedef enum VkExternalMemoryFeatureFlagBitsNV {
9693 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
9694 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
9695 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
9696 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9697 } VkExternalMemoryFeatureFlagBitsNV;
9698 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
9699 typedef struct VkExternalImageFormatPropertiesNV {
9700 VkImageFormatProperties imageFormatProperties;
9701 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
9702 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
9703 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
9704 } VkExternalImageFormatPropertiesNV;
9706 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9708 #ifndef VK_NO_PROTOTYPES
9709 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
9710 VkPhysicalDevice physicalDevice,
9713 VkImageTiling tiling,
9714 VkImageUsageFlags usage,
9715 VkImageCreateFlags flags,
9716 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
9717 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9721 #define VK_NV_external_memory 1
9722 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
9723 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
9724 typedef struct VkExternalMemoryImageCreateInfoNV {
9725 VkStructureType sType;
9727 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9728 } VkExternalMemoryImageCreateInfoNV;
9730 typedef struct VkExportMemoryAllocateInfoNV {
9731 VkStructureType sType;
9733 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9734 } VkExportMemoryAllocateInfoNV;
9738 #define VK_EXT_validation_flags 1
9739 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
9740 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
9742 typedef enum VkValidationCheckEXT {
9743 VK_VALIDATION_CHECK_ALL_EXT = 0,
9744 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
9745 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
9746 } VkValidationCheckEXT;
9747 typedef struct VkValidationFlagsEXT {
9748 VkStructureType sType;
9750 deUint32 disabledValidationCheckCount;
9751 const VkValidationCheckEXT* pDisabledValidationChecks;
9752 } VkValidationFlagsEXT;
9756 #define VK_EXT_shader_subgroup_ballot 1
9757 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
9758 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
9761 #define VK_EXT_shader_subgroup_vote 1
9762 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
9763 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
9766 #define VK_EXT_texture_compression_astc_hdr 1
9767 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
9768 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
9769 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
9770 VkStructureType sType;
9772 VkBool32 textureCompressionASTC_HDR;
9773 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
9777 #define VK_EXT_astc_decode_mode 1
9778 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
9779 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
9780 typedef struct VkImageViewASTCDecodeModeEXT {
9781 VkStructureType sType;
9783 VkFormat decodeMode;
9784 } VkImageViewASTCDecodeModeEXT;
9786 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
9787 VkStructureType sType;
9789 VkBool32 decodeModeSharedExponent;
9790 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
9794 #define VK_EXT_conditional_rendering 1
9795 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
9796 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
9798 typedef enum VkConditionalRenderingFlagBitsEXT {
9799 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
9800 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9801 } VkConditionalRenderingFlagBitsEXT;
9802 typedef VkFlags VkConditionalRenderingFlagsEXT;
9803 typedef struct VkConditionalRenderingBeginInfoEXT {
9804 VkStructureType sType;
9807 VkDeviceSize offset;
9808 VkConditionalRenderingFlagsEXT flags;
9809 } VkConditionalRenderingBeginInfoEXT;
9811 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
9812 VkStructureType sType;
9814 VkBool32 conditionalRendering;
9815 VkBool32 inheritedConditionalRendering;
9816 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
9818 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
9819 VkStructureType sType;
9821 VkBool32 conditionalRenderingEnable;
9822 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
9824 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9825 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
9827 #ifndef VK_NO_PROTOTYPES
9828 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
9829 VkCommandBuffer commandBuffer,
9830 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9832 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
9833 VkCommandBuffer commandBuffer);
9837 #define VK_NV_clip_space_w_scaling 1
9838 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
9839 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
9840 typedef struct VkViewportWScalingNV {
9843 } VkViewportWScalingNV;
9845 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
9846 VkStructureType sType;
9848 VkBool32 viewportWScalingEnable;
9849 deUint32 viewportCount;
9850 const VkViewportWScalingNV* pViewportWScalings;
9851 } VkPipelineViewportWScalingStateCreateInfoNV;
9853 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
9855 #ifndef VK_NO_PROTOTYPES
9856 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
9857 VkCommandBuffer commandBuffer,
9858 deUint32 firstViewport,
9859 deUint32 viewportCount,
9860 const VkViewportWScalingNV* pViewportWScalings);
9864 #define VK_EXT_direct_mode_display 1
9865 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
9866 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
9867 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
9869 #ifndef VK_NO_PROTOTYPES
9870 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
9871 VkPhysicalDevice physicalDevice,
9872 VkDisplayKHR display);
9876 #define VK_EXT_display_surface_counter 1
9877 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
9878 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
9880 typedef enum VkSurfaceCounterFlagBitsEXT {
9881 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
9882 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
9883 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9884 } VkSurfaceCounterFlagBitsEXT;
9885 typedef VkFlags VkSurfaceCounterFlagsEXT;
9886 typedef struct VkSurfaceCapabilities2EXT {
9887 VkStructureType sType;
9889 deUint32 minImageCount;
9890 deUint32 maxImageCount;
9891 VkExtent2D currentExtent;
9892 VkExtent2D minImageExtent;
9893 VkExtent2D maxImageExtent;
9894 deUint32 maxImageArrayLayers;
9895 VkSurfaceTransformFlagsKHR supportedTransforms;
9896 VkSurfaceTransformFlagBitsKHR currentTransform;
9897 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
9898 VkImageUsageFlags supportedUsageFlags;
9899 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
9900 } VkSurfaceCapabilities2EXT;
9902 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9904 #ifndef VK_NO_PROTOTYPES
9905 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
9906 VkPhysicalDevice physicalDevice,
9907 VkSurfaceKHR surface,
9908 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9912 #define VK_EXT_display_control 1
9913 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
9914 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
9916 typedef enum VkDisplayPowerStateEXT {
9917 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
9918 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
9919 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
9920 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
9921 } VkDisplayPowerStateEXT;
9923 typedef enum VkDeviceEventTypeEXT {
9924 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
9925 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9926 } VkDeviceEventTypeEXT;
9928 typedef enum VkDisplayEventTypeEXT {
9929 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
9930 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9931 } VkDisplayEventTypeEXT;
9932 typedef struct VkDisplayPowerInfoEXT {
9933 VkStructureType sType;
9935 VkDisplayPowerStateEXT powerState;
9936 } VkDisplayPowerInfoEXT;
9938 typedef struct VkDeviceEventInfoEXT {
9939 VkStructureType sType;
9941 VkDeviceEventTypeEXT deviceEvent;
9942 } VkDeviceEventInfoEXT;
9944 typedef struct VkDisplayEventInfoEXT {
9945 VkStructureType sType;
9947 VkDisplayEventTypeEXT displayEvent;
9948 } VkDisplayEventInfoEXT;
9950 typedef struct VkSwapchainCounterCreateInfoEXT {
9951 VkStructureType sType;
9953 VkSurfaceCounterFlagsEXT surfaceCounters;
9954 } VkSwapchainCounterCreateInfoEXT;
9956 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9957 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9958 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9959 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
9961 #ifndef VK_NO_PROTOTYPES
9962 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
9964 VkDisplayKHR display,
9965 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9967 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
9969 const VkDeviceEventInfoEXT* pDeviceEventInfo,
9970 const VkAllocationCallbacks* pAllocator,
9973 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
9975 VkDisplayKHR display,
9976 const VkDisplayEventInfoEXT* pDisplayEventInfo,
9977 const VkAllocationCallbacks* pAllocator,
9980 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
9982 VkSwapchainKHR swapchain,
9983 VkSurfaceCounterFlagBitsEXT counter,
9984 deUint64* pCounterValue);
9988 #define VK_GOOGLE_display_timing 1
9989 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
9990 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
9991 typedef struct VkRefreshCycleDurationGOOGLE {
9992 deUint64 refreshDuration;
9993 } VkRefreshCycleDurationGOOGLE;
9995 typedef struct VkPastPresentationTimingGOOGLE {
9997 deUint64 desiredPresentTime;
9998 deUint64 actualPresentTime;
9999 deUint64 earliestPresentTime;
10000 deUint64 presentMargin;
10001 } VkPastPresentationTimingGOOGLE;
10003 typedef struct VkPresentTimeGOOGLE {
10004 deUint32 presentID;
10005 deUint64 desiredPresentTime;
10006 } VkPresentTimeGOOGLE;
10008 typedef struct VkPresentTimesInfoGOOGLE {
10009 VkStructureType sType;
10011 deUint32 swapchainCount;
10012 const VkPresentTimeGOOGLE* pTimes;
10013 } VkPresentTimesInfoGOOGLE;
10015 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10016 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
10018 #ifndef VK_NO_PROTOTYPES
10019 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
10021 VkSwapchainKHR swapchain,
10022 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10024 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
10026 VkSwapchainKHR swapchain,
10027 deUint32* pPresentationTimingCount,
10028 VkPastPresentationTimingGOOGLE* pPresentationTimings);
10032 #define VK_NV_sample_mask_override_coverage 1
10033 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
10034 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
10037 #define VK_NV_geometry_shader_passthrough 1
10038 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
10039 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
10042 #define VK_NV_viewport_array2 1
10043 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
10044 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
10047 #define VK_NVX_multiview_per_view_attributes 1
10048 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
10049 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
10050 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10051 VkStructureType sType;
10053 VkBool32 perViewPositionAllComponents;
10054 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
10058 #define VK_NV_viewport_swizzle 1
10059 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
10060 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
10062 typedef enum VkViewportCoordinateSwizzleNV {
10063 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
10064 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
10065 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
10066 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
10067 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
10068 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
10069 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
10070 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
10071 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
10072 } VkViewportCoordinateSwizzleNV;
10073 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
10074 typedef struct VkViewportSwizzleNV {
10075 VkViewportCoordinateSwizzleNV x;
10076 VkViewportCoordinateSwizzleNV y;
10077 VkViewportCoordinateSwizzleNV z;
10078 VkViewportCoordinateSwizzleNV w;
10079 } VkViewportSwizzleNV;
10081 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
10082 VkStructureType sType;
10084 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
10085 deUint32 viewportCount;
10086 const VkViewportSwizzleNV* pViewportSwizzles;
10087 } VkPipelineViewportSwizzleStateCreateInfoNV;
10091 #define VK_EXT_discard_rectangles 1
10092 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
10093 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
10095 typedef enum VkDiscardRectangleModeEXT {
10096 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
10097 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
10098 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10099 } VkDiscardRectangleModeEXT;
10100 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
10101 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
10102 VkStructureType sType;
10104 deUint32 maxDiscardRectangles;
10105 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
10107 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
10108 VkStructureType sType;
10110 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
10111 VkDiscardRectangleModeEXT discardRectangleMode;
10112 deUint32 discardRectangleCount;
10113 const VkRect2D* pDiscardRectangles;
10114 } VkPipelineDiscardRectangleStateCreateInfoEXT;
10116 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
10118 #ifndef VK_NO_PROTOTYPES
10119 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
10120 VkCommandBuffer commandBuffer,
10121 deUint32 firstDiscardRectangle,
10122 deUint32 discardRectangleCount,
10123 const VkRect2D* pDiscardRectangles);
10127 #define VK_EXT_conservative_rasterization 1
10128 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
10129 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
10131 typedef enum VkConservativeRasterizationModeEXT {
10132 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
10133 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
10134 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
10135 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10136 } VkConservativeRasterizationModeEXT;
10137 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
10138 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
10139 VkStructureType sType;
10141 float primitiveOverestimationSize;
10142 float maxExtraPrimitiveOverestimationSize;
10143 float extraPrimitiveOverestimationSizeGranularity;
10144 VkBool32 primitiveUnderestimation;
10145 VkBool32 conservativePointAndLineRasterization;
10146 VkBool32 degenerateTrianglesRasterized;
10147 VkBool32 degenerateLinesRasterized;
10148 VkBool32 fullyCoveredFragmentShaderInputVariable;
10149 VkBool32 conservativeRasterizationPostDepthCoverage;
10150 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
10152 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
10153 VkStructureType sType;
10155 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
10156 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
10157 float extraPrimitiveOverestimationSize;
10158 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
10162 #define VK_EXT_depth_clip_enable 1
10163 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
10164 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
10165 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
10166 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
10167 VkStructureType sType;
10169 VkBool32 depthClipEnable;
10170 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
10172 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
10173 VkStructureType sType;
10175 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
10176 VkBool32 depthClipEnable;
10177 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
10181 #define VK_EXT_swapchain_colorspace 1
10182 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
10183 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
10186 #define VK_EXT_hdr_metadata 1
10187 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
10188 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
10189 typedef struct VkXYColorEXT {
10194 typedef struct VkHdrMetadataEXT {
10195 VkStructureType sType;
10197 VkXYColorEXT displayPrimaryRed;
10198 VkXYColorEXT displayPrimaryGreen;
10199 VkXYColorEXT displayPrimaryBlue;
10200 VkXYColorEXT whitePoint;
10201 float maxLuminance;
10202 float minLuminance;
10203 float maxContentLightLevel;
10204 float maxFrameAverageLightLevel;
10205 } VkHdrMetadataEXT;
10207 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
10209 #ifndef VK_NO_PROTOTYPES
10210 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
10212 deUint32 swapchainCount,
10213 const VkSwapchainKHR* pSwapchains,
10214 const VkHdrMetadataEXT* pMetadata);
10218 #define VK_EXT_external_memory_dma_buf 1
10219 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
10220 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
10223 #define VK_EXT_queue_family_foreign 1
10224 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
10225 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
10226 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
10229 #define VK_EXT_debug_utils 1
10230 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
10231 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
10232 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
10233 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
10235 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
10236 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
10237 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
10238 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
10239 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
10240 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10241 } VkDebugUtilsMessageSeverityFlagBitsEXT;
10243 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
10244 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
10245 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
10246 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
10247 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10248 } VkDebugUtilsMessageTypeFlagBitsEXT;
10249 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
10250 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
10251 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
10252 typedef struct VkDebugUtilsLabelEXT {
10253 VkStructureType sType;
10255 const char* pLabelName;
10257 } VkDebugUtilsLabelEXT;
10259 typedef struct VkDebugUtilsObjectNameInfoEXT {
10260 VkStructureType sType;
10262 VkObjectType objectType;
10263 deUint64 objectHandle;
10264 const char* pObjectName;
10265 } VkDebugUtilsObjectNameInfoEXT;
10267 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
10268 VkStructureType sType;
10270 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
10271 const char* pMessageIdName;
10272 deInt32 messageIdNumber;
10273 const char* pMessage;
10274 deUint32 queueLabelCount;
10275 const VkDebugUtilsLabelEXT* pQueueLabels;
10276 deUint32 cmdBufLabelCount;
10277 const VkDebugUtilsLabelEXT* pCmdBufLabels;
10278 deUint32 objectCount;
10279 const VkDebugUtilsObjectNameInfoEXT* pObjects;
10280 } VkDebugUtilsMessengerCallbackDataEXT;
10282 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
10283 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10284 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10285 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
10288 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
10289 VkStructureType sType;
10291 VkDebugUtilsMessengerCreateFlagsEXT flags;
10292 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
10293 VkDebugUtilsMessageTypeFlagsEXT messageType;
10294 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
10296 } VkDebugUtilsMessengerCreateInfoEXT;
10298 typedef struct VkDebugUtilsObjectTagInfoEXT {
10299 VkStructureType sType;
10301 VkObjectType objectType;
10302 deUint64 objectHandle;
10306 } VkDebugUtilsObjectTagInfoEXT;
10308 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10309 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10310 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10311 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
10312 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10313 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10314 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
10315 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10316 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
10317 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
10318 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10320 #ifndef VK_NO_PROTOTYPES
10321 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
10323 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10325 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
10327 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10329 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
10331 const VkDebugUtilsLabelEXT* pLabelInfo);
10333 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
10336 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
10338 const VkDebugUtilsLabelEXT* pLabelInfo);
10340 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
10341 VkCommandBuffer commandBuffer,
10342 const VkDebugUtilsLabelEXT* pLabelInfo);
10344 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
10345 VkCommandBuffer commandBuffer);
10347 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
10348 VkCommandBuffer commandBuffer,
10349 const VkDebugUtilsLabelEXT* pLabelInfo);
10351 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
10352 VkInstance instance,
10353 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
10354 const VkAllocationCallbacks* pAllocator,
10355 VkDebugUtilsMessengerEXT* pMessenger);
10357 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
10358 VkInstance instance,
10359 VkDebugUtilsMessengerEXT messenger,
10360 const VkAllocationCallbacks* pAllocator);
10362 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
10363 VkInstance instance,
10364 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10365 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10366 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10370 #define VK_EXT_sampler_filter_minmax 1
10371 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
10372 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
10373 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
10375 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
10377 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
10381 #define VK_AMD_gpu_shader_int16 1
10382 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
10383 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
10386 #define VK_AMD_mixed_attachment_samples 1
10387 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
10388 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
10391 #define VK_AMD_shader_fragment_mask 1
10392 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
10393 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
10396 #define VK_EXT_inline_uniform_block 1
10397 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
10398 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
10399 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
10400 VkStructureType sType;
10402 VkBool32 inlineUniformBlock;
10403 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
10404 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
10406 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
10407 VkStructureType sType;
10409 deUint32 maxInlineUniformBlockSize;
10410 deUint32 maxPerStageDescriptorInlineUniformBlocks;
10411 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
10412 deUint32 maxDescriptorSetInlineUniformBlocks;
10413 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
10414 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
10416 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
10417 VkStructureType sType;
10421 } VkWriteDescriptorSetInlineUniformBlockEXT;
10423 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
10424 VkStructureType sType;
10426 deUint32 maxInlineUniformBlockBindings;
10427 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
10431 #define VK_EXT_shader_stencil_export 1
10432 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
10433 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
10436 #define VK_EXT_sample_locations 1
10437 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
10438 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
10439 typedef struct VkSampleLocationEXT {
10442 } VkSampleLocationEXT;
10444 typedef struct VkSampleLocationsInfoEXT {
10445 VkStructureType sType;
10447 VkSampleCountFlagBits sampleLocationsPerPixel;
10448 VkExtent2D sampleLocationGridSize;
10449 deUint32 sampleLocationsCount;
10450 const VkSampleLocationEXT* pSampleLocations;
10451 } VkSampleLocationsInfoEXT;
10453 typedef struct VkAttachmentSampleLocationsEXT {
10454 deUint32 attachmentIndex;
10455 VkSampleLocationsInfoEXT sampleLocationsInfo;
10456 } VkAttachmentSampleLocationsEXT;
10458 typedef struct VkSubpassSampleLocationsEXT {
10459 deUint32 subpassIndex;
10460 VkSampleLocationsInfoEXT sampleLocationsInfo;
10461 } VkSubpassSampleLocationsEXT;
10463 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
10464 VkStructureType sType;
10466 deUint32 attachmentInitialSampleLocationsCount;
10467 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
10468 deUint32 postSubpassSampleLocationsCount;
10469 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
10470 } VkRenderPassSampleLocationsBeginInfoEXT;
10472 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
10473 VkStructureType sType;
10475 VkBool32 sampleLocationsEnable;
10476 VkSampleLocationsInfoEXT sampleLocationsInfo;
10477 } VkPipelineSampleLocationsStateCreateInfoEXT;
10479 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
10480 VkStructureType sType;
10482 VkSampleCountFlags sampleLocationSampleCounts;
10483 VkExtent2D maxSampleLocationGridSize;
10484 float sampleLocationCoordinateRange[2];
10485 deUint32 sampleLocationSubPixelBits;
10486 VkBool32 variableSampleLocations;
10487 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
10489 typedef struct VkMultisamplePropertiesEXT {
10490 VkStructureType sType;
10492 VkExtent2D maxSampleLocationGridSize;
10493 } VkMultisamplePropertiesEXT;
10495 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10496 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
10498 #ifndef VK_NO_PROTOTYPES
10499 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
10500 VkCommandBuffer commandBuffer,
10501 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10503 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
10504 VkPhysicalDevice physicalDevice,
10505 VkSampleCountFlagBits samples,
10506 VkMultisamplePropertiesEXT* pMultisampleProperties);
10510 #define VK_EXT_blend_operation_advanced 1
10511 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
10512 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
10514 typedef enum VkBlendOverlapEXT {
10515 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
10516 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
10517 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
10518 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
10519 } VkBlendOverlapEXT;
10520 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
10521 VkStructureType sType;
10523 VkBool32 advancedBlendCoherentOperations;
10524 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
10526 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
10527 VkStructureType sType;
10529 deUint32 advancedBlendMaxColorAttachments;
10530 VkBool32 advancedBlendIndependentBlend;
10531 VkBool32 advancedBlendNonPremultipliedSrcColor;
10532 VkBool32 advancedBlendNonPremultipliedDstColor;
10533 VkBool32 advancedBlendCorrelatedOverlap;
10534 VkBool32 advancedBlendAllOperations;
10535 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
10537 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
10538 VkStructureType sType;
10540 VkBool32 srcPremultiplied;
10541 VkBool32 dstPremultiplied;
10542 VkBlendOverlapEXT blendOverlap;
10543 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
10547 #define VK_NV_fragment_coverage_to_color 1
10548 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
10549 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
10550 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
10551 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
10552 VkStructureType sType;
10554 VkPipelineCoverageToColorStateCreateFlagsNV flags;
10555 VkBool32 coverageToColorEnable;
10556 deUint32 coverageToColorLocation;
10557 } VkPipelineCoverageToColorStateCreateInfoNV;
10561 #define VK_NV_framebuffer_mixed_samples 1
10562 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
10563 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
10565 typedef enum VkCoverageModulationModeNV {
10566 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
10567 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
10568 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
10569 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
10570 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10571 } VkCoverageModulationModeNV;
10572 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
10573 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
10574 VkStructureType sType;
10576 VkPipelineCoverageModulationStateCreateFlagsNV flags;
10577 VkCoverageModulationModeNV coverageModulationMode;
10578 VkBool32 coverageModulationTableEnable;
10579 deUint32 coverageModulationTableCount;
10580 const float* pCoverageModulationTable;
10581 } VkPipelineCoverageModulationStateCreateInfoNV;
10585 #define VK_NV_fill_rectangle 1
10586 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
10587 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
10590 #define VK_NV_shader_sm_builtins 1
10591 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
10592 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
10593 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
10594 VkStructureType sType;
10596 deUint32 shaderSMCount;
10597 deUint32 shaderWarpsPerSM;
10598 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
10600 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
10601 VkStructureType sType;
10603 VkBool32 shaderSMBuiltins;
10604 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
10608 #define VK_EXT_post_depth_coverage 1
10609 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
10610 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
10613 #define VK_EXT_image_drm_format_modifier 1
10614 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
10615 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
10616 typedef struct VkDrmFormatModifierPropertiesEXT {
10617 deUint64 drmFormatModifier;
10618 deUint32 drmFormatModifierPlaneCount;
10619 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
10620 } VkDrmFormatModifierPropertiesEXT;
10622 typedef struct VkDrmFormatModifierPropertiesListEXT {
10623 VkStructureType sType;
10625 deUint32 drmFormatModifierCount;
10626 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
10627 } VkDrmFormatModifierPropertiesListEXT;
10629 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
10630 VkStructureType sType;
10632 deUint64 drmFormatModifier;
10633 VkSharingMode sharingMode;
10634 deUint32 queueFamilyIndexCount;
10635 const deUint32* pQueueFamilyIndices;
10636 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
10638 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
10639 VkStructureType sType;
10641 deUint32 drmFormatModifierCount;
10642 const deUint64* pDrmFormatModifiers;
10643 } VkImageDrmFormatModifierListCreateInfoEXT;
10645 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
10646 VkStructureType sType;
10648 deUint64 drmFormatModifier;
10649 deUint32 drmFormatModifierPlaneCount;
10650 const VkSubresourceLayout* pPlaneLayouts;
10651 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
10653 typedef struct VkImageDrmFormatModifierPropertiesEXT {
10654 VkStructureType sType;
10656 deUint64 drmFormatModifier;
10657 } VkImageDrmFormatModifierPropertiesEXT;
10659 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
10661 #ifndef VK_NO_PROTOTYPES
10662 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
10665 VkImageDrmFormatModifierPropertiesEXT* pProperties);
10669 #define VK_EXT_validation_cache 1
10670 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
10671 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
10672 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
10674 typedef enum VkValidationCacheHeaderVersionEXT {
10675 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
10676 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
10677 } VkValidationCacheHeaderVersionEXT;
10678 typedef VkFlags VkValidationCacheCreateFlagsEXT;
10679 typedef struct VkValidationCacheCreateInfoEXT {
10680 VkStructureType sType;
10682 VkValidationCacheCreateFlagsEXT flags;
10683 deUintptr initialDataSize;
10684 const void* pInitialData;
10685 } VkValidationCacheCreateInfoEXT;
10687 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
10688 VkStructureType sType;
10690 VkValidationCacheEXT validationCache;
10691 } VkShaderModuleValidationCacheCreateInfoEXT;
10693 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
10694 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
10695 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
10696 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
10698 #ifndef VK_NO_PROTOTYPES
10699 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
10701 const VkValidationCacheCreateInfoEXT* pCreateInfo,
10702 const VkAllocationCallbacks* pAllocator,
10703 VkValidationCacheEXT* pValidationCache);
10705 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
10707 VkValidationCacheEXT validationCache,
10708 const VkAllocationCallbacks* pAllocator);
10710 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
10712 VkValidationCacheEXT dstCache,
10713 deUint32 srcCacheCount,
10714 const VkValidationCacheEXT* pSrcCaches);
10716 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
10718 VkValidationCacheEXT validationCache,
10719 deUintptr* pDataSize,
10724 #define VK_EXT_descriptor_indexing 1
10725 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
10726 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
10727 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
10729 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
10731 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
10733 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
10735 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
10737 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
10739 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
10743 #define VK_EXT_shader_viewport_index_layer 1
10744 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
10745 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
10748 #define VK_NV_shading_rate_image 1
10749 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
10750 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
10752 typedef enum VkShadingRatePaletteEntryNV {
10753 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
10754 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
10755 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
10756 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
10757 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
10758 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
10759 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
10760 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
10761 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
10762 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
10763 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
10764 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
10765 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
10766 } VkShadingRatePaletteEntryNV;
10768 typedef enum VkCoarseSampleOrderTypeNV {
10769 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
10770 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
10771 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
10772 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
10773 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10774 } VkCoarseSampleOrderTypeNV;
10775 typedef struct VkShadingRatePaletteNV {
10776 deUint32 shadingRatePaletteEntryCount;
10777 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
10778 } VkShadingRatePaletteNV;
10780 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
10781 VkStructureType sType;
10783 VkBool32 shadingRateImageEnable;
10784 deUint32 viewportCount;
10785 const VkShadingRatePaletteNV* pShadingRatePalettes;
10786 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
10788 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10789 VkStructureType sType;
10791 VkBool32 shadingRateImage;
10792 VkBool32 shadingRateCoarseSampleOrder;
10793 } VkPhysicalDeviceShadingRateImageFeaturesNV;
10795 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10796 VkStructureType sType;
10798 VkExtent2D shadingRateTexelSize;
10799 deUint32 shadingRatePaletteSize;
10800 deUint32 shadingRateMaxCoarseSamples;
10801 } VkPhysicalDeviceShadingRateImagePropertiesNV;
10803 typedef struct VkCoarseSampleLocationNV {
10807 } VkCoarseSampleLocationNV;
10809 typedef struct VkCoarseSampleOrderCustomNV {
10810 VkShadingRatePaletteEntryNV shadingRate;
10811 deUint32 sampleCount;
10812 deUint32 sampleLocationCount;
10813 const VkCoarseSampleLocationNV* pSampleLocations;
10814 } VkCoarseSampleOrderCustomNV;
10816 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10817 VkStructureType sType;
10819 VkCoarseSampleOrderTypeNV sampleOrderType;
10820 deUint32 customSampleOrderCount;
10821 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
10822 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
10824 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
10825 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
10826 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10828 #ifndef VK_NO_PROTOTYPES
10829 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
10830 VkCommandBuffer commandBuffer,
10831 VkImageView imageView,
10832 VkImageLayout imageLayout);
10834 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
10835 VkCommandBuffer commandBuffer,
10836 deUint32 firstViewport,
10837 deUint32 viewportCount,
10838 const VkShadingRatePaletteNV* pShadingRatePalettes);
10840 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
10841 VkCommandBuffer commandBuffer,
10842 VkCoarseSampleOrderTypeNV sampleOrderType,
10843 deUint32 customSampleOrderCount,
10844 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10848 #define VK_NV_ray_tracing 1
10849 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
10850 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
10851 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
10852 #define VK_SHADER_UNUSED_KHR (~0U)
10853 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
10855 typedef enum VkRayTracingShaderGroupTypeKHR {
10856 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
10857 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
10858 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
10859 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
10860 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
10861 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
10862 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10863 } VkRayTracingShaderGroupTypeKHR;
10864 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
10867 typedef enum VkGeometryTypeKHR {
10868 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
10869 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
10870 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
10871 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
10872 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
10873 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10874 } VkGeometryTypeKHR;
10875 typedef VkGeometryTypeKHR VkGeometryTypeNV;
10878 typedef enum VkAccelerationStructureTypeKHR {
10879 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
10880 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
10881 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
10882 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
10883 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
10884 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10885 } VkAccelerationStructureTypeKHR;
10886 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
10889 typedef enum VkCopyAccelerationStructureModeKHR {
10890 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
10891 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
10892 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
10893 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
10894 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
10895 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
10896 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10897 } VkCopyAccelerationStructureModeKHR;
10898 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
10901 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
10902 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
10903 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
10904 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
10905 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10906 } VkAccelerationStructureMemoryRequirementsTypeNV;
10908 typedef enum VkGeometryFlagBitsKHR {
10909 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
10910 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
10911 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
10912 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
10913 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10914 } VkGeometryFlagBitsKHR;
10915 typedef VkFlags VkGeometryFlagsKHR;
10916 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
10918 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
10921 typedef enum VkGeometryInstanceFlagBitsKHR {
10922 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
10923 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
10924 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
10925 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
10926 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
10927 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
10928 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
10929 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
10930 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10931 } VkGeometryInstanceFlagBitsKHR;
10932 typedef VkFlags VkGeometryInstanceFlagsKHR;
10933 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
10935 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
10938 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
10939 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
10940 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
10941 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
10942 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
10943 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
10944 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
10945 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
10946 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
10947 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
10948 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
10949 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10950 } VkBuildAccelerationStructureFlagBitsKHR;
10951 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
10952 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
10954 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
10956 typedef struct VkRayTracingShaderGroupCreateInfoNV {
10957 VkStructureType sType;
10959 VkRayTracingShaderGroupTypeKHR type;
10960 deUint32 generalShader;
10961 deUint32 closestHitShader;
10962 deUint32 anyHitShader;
10963 deUint32 intersectionShader;
10964 } VkRayTracingShaderGroupCreateInfoNV;
10966 typedef struct VkRayTracingPipelineCreateInfoNV {
10967 VkStructureType sType;
10969 VkPipelineCreateFlags flags;
10970 deUint32 stageCount;
10971 const VkPipelineShaderStageCreateInfo* pStages;
10972 deUint32 groupCount;
10973 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
10974 deUint32 maxRecursionDepth;
10975 VkPipelineLayout layout;
10976 VkPipeline basePipelineHandle;
10977 deInt32 basePipelineIndex;
10978 } VkRayTracingPipelineCreateInfoNV;
10980 typedef struct VkGeometryTrianglesNV {
10981 VkStructureType sType;
10983 VkBuffer vertexData;
10984 VkDeviceSize vertexOffset;
10985 deUint32 vertexCount;
10986 VkDeviceSize vertexStride;
10987 VkFormat vertexFormat;
10988 VkBuffer indexData;
10989 VkDeviceSize indexOffset;
10990 deUint32 indexCount;
10991 VkIndexType indexType;
10992 VkBuffer transformData;
10993 VkDeviceSize transformOffset;
10994 } VkGeometryTrianglesNV;
10996 typedef struct VkGeometryAABBNV {
10997 VkStructureType sType;
11002 VkDeviceSize offset;
11003 } VkGeometryAABBNV;
11005 typedef struct VkGeometryDataNV {
11006 VkGeometryTrianglesNV triangles;
11007 VkGeometryAABBNV aabbs;
11008 } VkGeometryDataNV;
11010 typedef struct VkGeometryNV {
11011 VkStructureType sType;
11013 VkGeometryTypeKHR geometryType;
11014 VkGeometryDataNV geometry;
11015 VkGeometryFlagsKHR flags;
11018 typedef struct VkAccelerationStructureInfoNV {
11019 VkStructureType sType;
11021 VkAccelerationStructureTypeNV type;
11022 VkBuildAccelerationStructureFlagsNV flags;
11023 deUint32 instanceCount;
11024 deUint32 geometryCount;
11025 const VkGeometryNV* pGeometries;
11026 } VkAccelerationStructureInfoNV;
11028 typedef struct VkAccelerationStructureCreateInfoNV {
11029 VkStructureType sType;
11031 VkDeviceSize compactedSize;
11032 VkAccelerationStructureInfoNV info;
11033 } VkAccelerationStructureCreateInfoNV;
11035 typedef struct VkBindAccelerationStructureMemoryInfoNV {
11036 VkStructureType sType;
11038 VkAccelerationStructureNV accelerationStructure;
11039 VkDeviceMemory memory;
11040 VkDeviceSize memoryOffset;
11041 deUint32 deviceIndexCount;
11042 const deUint32* pDeviceIndices;
11043 } VkBindAccelerationStructureMemoryInfoNV;
11045 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
11046 VkStructureType sType;
11048 deUint32 accelerationStructureCount;
11049 const VkAccelerationStructureNV* pAccelerationStructures;
11050 } VkWriteDescriptorSetAccelerationStructureNV;
11052 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
11053 VkStructureType sType;
11055 VkAccelerationStructureMemoryRequirementsTypeNV type;
11056 VkAccelerationStructureNV accelerationStructure;
11057 } VkAccelerationStructureMemoryRequirementsInfoNV;
11059 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
11060 VkStructureType sType;
11062 deUint32 shaderGroupHandleSize;
11063 deUint32 maxRecursionDepth;
11064 deUint32 maxShaderGroupStride;
11065 deUint32 shaderGroupBaseAlignment;
11066 deUint64 maxGeometryCount;
11067 deUint64 maxInstanceCount;
11068 deUint64 maxTriangleCount;
11069 deUint32 maxDescriptorSetAccelerationStructures;
11070 } VkPhysicalDeviceRayTracingPropertiesNV;
11072 typedef struct VkTransformMatrixKHR {
11073 float matrix[3][4];
11074 } VkTransformMatrixKHR;
11076 typedef VkTransformMatrixKHR VkTransformMatrixNV;
11078 typedef struct VkAabbPositionsKHR {
11085 } VkAabbPositionsKHR;
11087 typedef VkAabbPositionsKHR VkAabbPositionsNV;
11089 typedef struct VkAccelerationStructureInstanceKHR {
11090 VkTransformMatrixKHR transform;
11091 deUint32 instanceCustomIndex:24;
11093 deUint32 instanceShaderBindingTableRecordOffset:24;
11094 VkGeometryInstanceFlagsKHR flags:8;
11095 deUint64 accelerationStructureReference;
11096 } VkAccelerationStructureInstanceKHR;
11098 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
11100 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
11101 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
11102 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
11103 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11104 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);
11105 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
11106 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);
11107 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
11108 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11109 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11110 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
11111 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
11112 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
11114 #ifndef VK_NO_PROTOTYPES
11115 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
11117 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
11118 const VkAllocationCallbacks* pAllocator,
11119 VkAccelerationStructureNV* pAccelerationStructure);
11121 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
11123 VkAccelerationStructureNV accelerationStructure,
11124 const VkAllocationCallbacks* pAllocator);
11126 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
11128 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
11129 VkMemoryRequirements2KHR* pMemoryRequirements);
11131 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
11133 deUint32 bindInfoCount,
11134 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11136 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
11137 VkCommandBuffer commandBuffer,
11138 const VkAccelerationStructureInfoNV* pInfo,
11139 VkBuffer instanceData,
11140 VkDeviceSize instanceOffset,
11142 VkAccelerationStructureNV dst,
11143 VkAccelerationStructureNV src,
11145 VkDeviceSize scratchOffset);
11147 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
11148 VkCommandBuffer commandBuffer,
11149 VkAccelerationStructureNV dst,
11150 VkAccelerationStructureNV src,
11151 VkCopyAccelerationStructureModeKHR mode);
11153 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
11154 VkCommandBuffer commandBuffer,
11155 VkBuffer raygenShaderBindingTableBuffer,
11156 VkDeviceSize raygenShaderBindingOffset,
11157 VkBuffer missShaderBindingTableBuffer,
11158 VkDeviceSize missShaderBindingOffset,
11159 VkDeviceSize missShaderBindingStride,
11160 VkBuffer hitShaderBindingTableBuffer,
11161 VkDeviceSize hitShaderBindingOffset,
11162 VkDeviceSize hitShaderBindingStride,
11163 VkBuffer callableShaderBindingTableBuffer,
11164 VkDeviceSize callableShaderBindingOffset,
11165 VkDeviceSize callableShaderBindingStride,
11170 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
11172 VkPipelineCache pipelineCache,
11173 deUint32 createInfoCount,
11174 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
11175 const VkAllocationCallbacks* pAllocator,
11176 VkPipeline* pPipelines);
11178 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
11180 VkPipeline pipeline,
11181 deUint32 firstGroup,
11182 deUint32 groupCount,
11183 deUintptr dataSize,
11186 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
11188 VkPipeline pipeline,
11189 deUint32 firstGroup,
11190 deUint32 groupCount,
11191 deUintptr dataSize,
11194 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
11196 VkAccelerationStructureNV accelerationStructure,
11197 deUintptr dataSize,
11200 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
11201 VkCommandBuffer commandBuffer,
11202 deUint32 accelerationStructureCount,
11203 const VkAccelerationStructureNV* pAccelerationStructures,
11204 VkQueryType queryType,
11205 VkQueryPool queryPool,
11206 deUint32 firstQuery);
11208 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
11210 VkPipeline pipeline,
11215 #define VK_NV_representative_fragment_test 1
11216 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
11217 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
11218 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11219 VkStructureType sType;
11221 VkBool32 representativeFragmentTest;
11222 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
11224 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
11225 VkStructureType sType;
11227 VkBool32 representativeFragmentTestEnable;
11228 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
11232 #define VK_EXT_filter_cubic 1
11233 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
11234 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
11235 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
11236 VkStructureType sType;
11238 VkImageViewType imageViewType;
11239 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
11241 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
11242 VkStructureType sType;
11244 VkBool32 filterCubic;
11245 VkBool32 filterCubicMinmax;
11246 } VkFilterCubicImageViewImageFormatPropertiesEXT;
11250 #define VK_QCOM_render_pass_shader_resolve 1
11251 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
11252 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
11255 #define VK_EXT_global_priority 1
11256 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
11257 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
11259 typedef enum VkQueueGlobalPriorityEXT {
11260 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
11261 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
11262 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
11263 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
11264 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
11265 } VkQueueGlobalPriorityEXT;
11266 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
11267 VkStructureType sType;
11269 VkQueueGlobalPriorityEXT globalPriority;
11270 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
11274 #define VK_EXT_external_memory_host 1
11275 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
11276 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
11277 typedef struct VkImportMemoryHostPointerInfoEXT {
11278 VkStructureType sType;
11280 VkExternalMemoryHandleTypeFlagBits handleType;
11281 void* pHostPointer;
11282 } VkImportMemoryHostPointerInfoEXT;
11284 typedef struct VkMemoryHostPointerPropertiesEXT {
11285 VkStructureType sType;
11287 deUint32 memoryTypeBits;
11288 } VkMemoryHostPointerPropertiesEXT;
11290 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
11291 VkStructureType sType;
11293 VkDeviceSize minImportedHostPointerAlignment;
11294 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
11296 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11298 #ifndef VK_NO_PROTOTYPES
11299 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
11301 VkExternalMemoryHandleTypeFlagBits handleType,
11302 const void* pHostPointer,
11303 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11307 #define VK_AMD_buffer_marker 1
11308 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
11309 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
11310 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
11312 #ifndef VK_NO_PROTOTYPES
11313 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
11314 VkCommandBuffer commandBuffer,
11315 VkPipelineStageFlagBits pipelineStage,
11316 VkBuffer dstBuffer,
11317 VkDeviceSize dstOffset,
11322 #define VK_AMD_pipeline_compiler_control 1
11323 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
11324 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
11326 typedef enum VkPipelineCompilerControlFlagBitsAMD {
11327 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11328 } VkPipelineCompilerControlFlagBitsAMD;
11329 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
11330 typedef struct VkPipelineCompilerControlCreateInfoAMD {
11331 VkStructureType sType;
11333 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
11334 } VkPipelineCompilerControlCreateInfoAMD;
11338 #define VK_EXT_calibrated_timestamps 1
11339 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
11340 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
11342 typedef enum VkTimeDomainEXT {
11343 VK_TIME_DOMAIN_DEVICE_EXT = 0,
11344 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
11345 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
11346 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
11347 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
11349 typedef struct VkCalibratedTimestampInfoEXT {
11350 VkStructureType sType;
11352 VkTimeDomainEXT timeDomain;
11353 } VkCalibratedTimestampInfoEXT;
11355 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
11356 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
11358 #ifndef VK_NO_PROTOTYPES
11359 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11360 VkPhysicalDevice physicalDevice,
11361 deUint32* pTimeDomainCount,
11362 VkTimeDomainEXT* pTimeDomains);
11364 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
11366 deUint32 timestampCount,
11367 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
11368 deUint64* pTimestamps,
11369 deUint64* pMaxDeviation);
11373 #define VK_AMD_shader_core_properties 1
11374 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
11375 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
11376 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
11377 VkStructureType sType;
11379 deUint32 shaderEngineCount;
11380 deUint32 shaderArraysPerEngineCount;
11381 deUint32 computeUnitsPerShaderArray;
11382 deUint32 simdPerComputeUnit;
11383 deUint32 wavefrontsPerSimd;
11384 deUint32 wavefrontSize;
11385 deUint32 sgprsPerSimd;
11386 deUint32 minSgprAllocation;
11387 deUint32 maxSgprAllocation;
11388 deUint32 sgprAllocationGranularity;
11389 deUint32 vgprsPerSimd;
11390 deUint32 minVgprAllocation;
11391 deUint32 maxVgprAllocation;
11392 deUint32 vgprAllocationGranularity;
11393 } VkPhysicalDeviceShaderCorePropertiesAMD;
11397 #define VK_AMD_memory_overallocation_behavior 1
11398 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
11399 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
11401 typedef enum VkMemoryOverallocationBehaviorAMD {
11402 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
11403 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
11404 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
11405 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
11406 } VkMemoryOverallocationBehaviorAMD;
11407 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
11408 VkStructureType sType;
11410 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
11411 } VkDeviceMemoryOverallocationCreateInfoAMD;
11415 #define VK_EXT_vertex_attribute_divisor 1
11416 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
11417 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
11418 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
11419 VkStructureType sType;
11421 deUint32 maxVertexAttribDivisor;
11422 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
11424 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
11427 } VkVertexInputBindingDivisorDescriptionEXT;
11429 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
11430 VkStructureType sType;
11432 deUint32 vertexBindingDivisorCount;
11433 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
11434 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
11436 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
11437 VkStructureType sType;
11439 VkBool32 vertexAttributeInstanceRateDivisor;
11440 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11441 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
11445 #define VK_EXT_pipeline_creation_feedback 1
11446 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
11447 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
11449 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
11450 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
11451 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
11452 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
11453 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11454 } VkPipelineCreationFeedbackFlagBitsEXT;
11455 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
11456 typedef struct VkPipelineCreationFeedbackEXT {
11457 VkPipelineCreationFeedbackFlagsEXT flags;
11459 } VkPipelineCreationFeedbackEXT;
11461 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
11462 VkStructureType sType;
11464 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
11465 deUint32 pipelineStageCreationFeedbackCount;
11466 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
11467 } VkPipelineCreationFeedbackCreateInfoEXT;
11471 #define VK_NV_shader_subgroup_partitioned 1
11472 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
11473 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
11476 #define VK_NV_compute_shader_derivatives 1
11477 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
11478 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
11479 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
11480 VkStructureType sType;
11482 VkBool32 computeDerivativeGroupQuads;
11483 VkBool32 computeDerivativeGroupLinear;
11484 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
11488 #define VK_NV_mesh_shader 1
11489 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
11490 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
11491 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
11492 VkStructureType sType;
11494 VkBool32 taskShader;
11495 VkBool32 meshShader;
11496 } VkPhysicalDeviceMeshShaderFeaturesNV;
11498 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
11499 VkStructureType sType;
11501 deUint32 maxDrawMeshTasksCount;
11502 deUint32 maxTaskWorkGroupInvocations;
11503 deUint32 maxTaskWorkGroupSize[3];
11504 deUint32 maxTaskTotalMemorySize;
11505 deUint32 maxTaskOutputCount;
11506 deUint32 maxMeshWorkGroupInvocations;
11507 deUint32 maxMeshWorkGroupSize[3];
11508 deUint32 maxMeshTotalMemorySize;
11509 deUint32 maxMeshOutputVertices;
11510 deUint32 maxMeshOutputPrimitives;
11511 deUint32 maxMeshMultiviewViewCount;
11512 deUint32 meshOutputPerVertexGranularity;
11513 deUint32 meshOutputPerPrimitiveGranularity;
11514 } VkPhysicalDeviceMeshShaderPropertiesNV;
11516 typedef struct VkDrawMeshTasksIndirectCommandNV {
11517 deUint32 taskCount;
11518 deUint32 firstTask;
11519 } VkDrawMeshTasksIndirectCommandNV;
11521 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
11522 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
11523 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11525 #ifndef VK_NO_PROTOTYPES
11526 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
11527 VkCommandBuffer commandBuffer,
11528 deUint32 taskCount,
11529 deUint32 firstTask);
11531 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
11532 VkCommandBuffer commandBuffer,
11534 VkDeviceSize offset,
11535 deUint32 drawCount,
11538 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
11539 VkCommandBuffer commandBuffer,
11541 VkDeviceSize offset,
11542 VkBuffer countBuffer,
11543 VkDeviceSize countBufferOffset,
11544 deUint32 maxDrawCount,
11549 #define VK_NV_fragment_shader_barycentric 1
11550 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
11551 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
11552 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11553 VkStructureType sType;
11555 VkBool32 fragmentShaderBarycentric;
11556 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
11560 #define VK_NV_shader_image_footprint 1
11561 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
11562 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
11563 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11564 VkStructureType sType;
11566 VkBool32 imageFootprint;
11567 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
11571 #define VK_NV_scissor_exclusive 1
11572 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
11573 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
11574 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11575 VkStructureType sType;
11577 deUint32 exclusiveScissorCount;
11578 const VkRect2D* pExclusiveScissors;
11579 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
11581 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11582 VkStructureType sType;
11584 VkBool32 exclusiveScissor;
11585 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
11587 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
11589 #ifndef VK_NO_PROTOTYPES
11590 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
11591 VkCommandBuffer commandBuffer,
11592 deUint32 firstExclusiveScissor,
11593 deUint32 exclusiveScissorCount,
11594 const VkRect2D* pExclusiveScissors);
11598 #define VK_NV_device_diagnostic_checkpoints 1
11599 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
11600 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
11601 typedef struct VkQueueFamilyCheckpointPropertiesNV {
11602 VkStructureType sType;
11604 VkPipelineStageFlags checkpointExecutionStageMask;
11605 } VkQueueFamilyCheckpointPropertiesNV;
11607 typedef struct VkCheckpointDataNV {
11608 VkStructureType sType;
11610 VkPipelineStageFlagBits stage;
11611 void* pCheckpointMarker;
11612 } VkCheckpointDataNV;
11614 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
11615 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
11617 #ifndef VK_NO_PROTOTYPES
11618 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
11619 VkCommandBuffer commandBuffer,
11620 const void* pCheckpointMarker);
11622 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
11624 deUint32* pCheckpointDataCount,
11625 VkCheckpointDataNV* pCheckpointData);
11629 #define VK_INTEL_shader_integer_functions2 1
11630 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
11631 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
11632 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
11633 VkStructureType sType;
11635 VkBool32 shaderIntegerFunctions2;
11636 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
11640 #define VK_INTEL_performance_query 1
11641 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
11642 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
11643 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
11645 typedef enum VkPerformanceConfigurationTypeINTEL {
11646 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
11647 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11648 } VkPerformanceConfigurationTypeINTEL;
11650 typedef enum VkQueryPoolSamplingModeINTEL {
11651 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
11652 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
11653 } VkQueryPoolSamplingModeINTEL;
11655 typedef enum VkPerformanceOverrideTypeINTEL {
11656 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
11657 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
11658 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11659 } VkPerformanceOverrideTypeINTEL;
11661 typedef enum VkPerformanceParameterTypeINTEL {
11662 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
11663 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
11664 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11665 } VkPerformanceParameterTypeINTEL;
11667 typedef enum VkPerformanceValueTypeINTEL {
11668 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
11669 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
11670 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
11671 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
11672 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
11673 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11674 } VkPerformanceValueTypeINTEL;
11675 typedef union VkPerformanceValueDataINTEL {
11679 VkBool32 valueBool;
11680 const char* valueString;
11681 } VkPerformanceValueDataINTEL;
11683 typedef struct VkPerformanceValueINTEL {
11684 VkPerformanceValueTypeINTEL type;
11685 VkPerformanceValueDataINTEL data;
11686 } VkPerformanceValueINTEL;
11688 typedef struct VkInitializePerformanceApiInfoINTEL {
11689 VkStructureType sType;
11692 } VkInitializePerformanceApiInfoINTEL;
11694 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
11695 VkStructureType sType;
11697 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
11698 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
11700 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
11702 typedef struct VkPerformanceMarkerInfoINTEL {
11703 VkStructureType sType;
11706 } VkPerformanceMarkerInfoINTEL;
11708 typedef struct VkPerformanceStreamMarkerInfoINTEL {
11709 VkStructureType sType;
11712 } VkPerformanceStreamMarkerInfoINTEL;
11714 typedef struct VkPerformanceOverrideInfoINTEL {
11715 VkStructureType sType;
11717 VkPerformanceOverrideTypeINTEL type;
11719 deUint64 parameter;
11720 } VkPerformanceOverrideInfoINTEL;
11722 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
11723 VkStructureType sType;
11725 VkPerformanceConfigurationTypeINTEL type;
11726 } VkPerformanceConfigurationAcquireInfoINTEL;
11728 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11729 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
11730 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11731 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11732 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11733 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
11734 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
11735 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
11736 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
11738 #ifndef VK_NO_PROTOTYPES
11739 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
11741 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11743 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
11746 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
11747 VkCommandBuffer commandBuffer,
11748 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11750 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
11751 VkCommandBuffer commandBuffer,
11752 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11754 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
11755 VkCommandBuffer commandBuffer,
11756 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11758 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
11760 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
11761 VkPerformanceConfigurationINTEL* pConfiguration);
11763 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
11765 VkPerformanceConfigurationINTEL configuration);
11767 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
11769 VkPerformanceConfigurationINTEL configuration);
11771 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
11773 VkPerformanceParameterTypeINTEL parameter,
11774 VkPerformanceValueINTEL* pValue);
11778 #define VK_EXT_pci_bus_info 1
11779 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
11780 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
11781 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
11782 VkStructureType sType;
11784 deUint32 pciDomain;
11786 deUint32 pciDevice;
11787 deUint32 pciFunction;
11788 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
11792 #define VK_AMD_display_native_hdr 1
11793 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
11794 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
11795 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11796 VkStructureType sType;
11798 VkBool32 localDimmingSupport;
11799 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
11801 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11802 VkStructureType sType;
11804 VkBool32 localDimmingEnable;
11805 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
11807 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
11809 #ifndef VK_NO_PROTOTYPES
11810 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
11812 VkSwapchainKHR swapChain,
11813 VkBool32 localDimmingEnable);
11817 #define VK_EXT_fragment_density_map 1
11818 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
11819 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
11820 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11821 VkStructureType sType;
11823 VkBool32 fragmentDensityMap;
11824 VkBool32 fragmentDensityMapDynamic;
11825 VkBool32 fragmentDensityMapNonSubsampledImages;
11826 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
11828 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11829 VkStructureType sType;
11831 VkExtent2D minFragmentDensityTexelSize;
11832 VkExtent2D maxFragmentDensityTexelSize;
11833 VkBool32 fragmentDensityInvocations;
11834 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
11836 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11837 VkStructureType sType;
11839 VkAttachmentReference fragmentDensityMapAttachment;
11840 } VkRenderPassFragmentDensityMapCreateInfoEXT;
11844 #define VK_EXT_scalar_block_layout 1
11845 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
11846 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
11847 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
11851 #define VK_GOOGLE_hlsl_functionality1 1
11852 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
11853 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
11856 #define VK_GOOGLE_decorate_string 1
11857 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
11858 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
11861 #define VK_EXT_subgroup_size_control 1
11862 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
11863 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
11864 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
11865 VkStructureType sType;
11867 VkBool32 subgroupSizeControl;
11868 VkBool32 computeFullSubgroups;
11869 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
11871 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
11872 VkStructureType sType;
11874 deUint32 minSubgroupSize;
11875 deUint32 maxSubgroupSize;
11876 deUint32 maxComputeWorkgroupSubgroups;
11877 VkShaderStageFlags requiredSubgroupSizeStages;
11878 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
11880 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
11881 VkStructureType sType;
11883 deUint32 requiredSubgroupSize;
11884 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
11888 #define VK_AMD_shader_core_properties2 1
11889 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
11890 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
11892 typedef enum VkShaderCorePropertiesFlagBitsAMD {
11893 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11894 } VkShaderCorePropertiesFlagBitsAMD;
11895 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
11896 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
11897 VkStructureType sType;
11899 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
11900 deUint32 activeComputeUnitCount;
11901 } VkPhysicalDeviceShaderCoreProperties2AMD;
11905 #define VK_AMD_device_coherent_memory 1
11906 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
11907 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
11908 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
11909 VkStructureType sType;
11911 VkBool32 deviceCoherentMemory;
11912 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
11916 #define VK_EXT_shader_image_atomic_int64 1
11917 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
11918 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
11919 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
11920 VkStructureType sType;
11922 VkBool32 shaderImageInt64Atomics;
11923 VkBool32 sparseImageInt64Atomics;
11924 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
11928 #define VK_EXT_memory_budget 1
11929 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
11930 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
11931 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
11932 VkStructureType sType;
11934 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
11935 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
11936 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
11940 #define VK_EXT_memory_priority 1
11941 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
11942 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
11943 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
11944 VkStructureType sType;
11946 VkBool32 memoryPriority;
11947 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
11949 typedef struct VkMemoryPriorityAllocateInfoEXT {
11950 VkStructureType sType;
11953 } VkMemoryPriorityAllocateInfoEXT;
11957 #define VK_NV_dedicated_allocation_image_aliasing 1
11958 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
11959 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
11960 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
11961 VkStructureType sType;
11963 VkBool32 dedicatedAllocationImageAliasing;
11964 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
11968 #define VK_EXT_buffer_device_address 1
11969 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
11970 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
11971 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
11972 VkStructureType sType;
11974 VkBool32 bufferDeviceAddress;
11975 VkBool32 bufferDeviceAddressCaptureReplay;
11976 VkBool32 bufferDeviceAddressMultiDevice;
11977 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
11979 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
11981 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
11983 typedef struct VkBufferDeviceAddressCreateInfoEXT {
11984 VkStructureType sType;
11986 VkDeviceAddress deviceAddress;
11987 } VkBufferDeviceAddressCreateInfoEXT;
11989 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
11991 #ifndef VK_NO_PROTOTYPES
11992 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
11994 const VkBufferDeviceAddressInfo* pInfo);
11998 #define VK_EXT_tooling_info 1
11999 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
12000 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
12002 typedef enum VkToolPurposeFlagBitsEXT {
12003 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
12004 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
12005 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
12006 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
12007 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
12008 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
12009 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
12010 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12011 } VkToolPurposeFlagBitsEXT;
12012 typedef VkFlags VkToolPurposeFlagsEXT;
12013 typedef struct VkPhysicalDeviceToolPropertiesEXT {
12014 VkStructureType sType;
12016 char name[VK_MAX_EXTENSION_NAME_SIZE];
12017 char version[VK_MAX_EXTENSION_NAME_SIZE];
12018 VkToolPurposeFlagsEXT purposes;
12019 char description[VK_MAX_DESCRIPTION_SIZE];
12020 char layer[VK_MAX_EXTENSION_NAME_SIZE];
12021 } VkPhysicalDeviceToolPropertiesEXT;
12023 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12025 #ifndef VK_NO_PROTOTYPES
12026 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
12027 VkPhysicalDevice physicalDevice,
12028 deUint32* pToolCount,
12029 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12033 #define VK_EXT_separate_stencil_usage 1
12034 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
12035 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
12036 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
12040 #define VK_EXT_validation_features 1
12041 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4
12042 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
12044 typedef enum VkValidationFeatureEnableEXT {
12045 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
12046 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
12047 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
12048 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
12049 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
12050 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12051 } VkValidationFeatureEnableEXT;
12053 typedef enum VkValidationFeatureDisableEXT {
12054 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
12055 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
12056 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
12057 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
12058 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
12059 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
12060 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
12061 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12062 } VkValidationFeatureDisableEXT;
12063 typedef struct VkValidationFeaturesEXT {
12064 VkStructureType sType;
12066 deUint32 enabledValidationFeatureCount;
12067 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
12068 deUint32 disabledValidationFeatureCount;
12069 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
12070 } VkValidationFeaturesEXT;
12074 #define VK_NV_cooperative_matrix 1
12075 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
12076 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
12078 typedef enum VkComponentTypeNV {
12079 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
12080 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
12081 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
12082 VK_COMPONENT_TYPE_SINT8_NV = 3,
12083 VK_COMPONENT_TYPE_SINT16_NV = 4,
12084 VK_COMPONENT_TYPE_SINT32_NV = 5,
12085 VK_COMPONENT_TYPE_SINT64_NV = 6,
12086 VK_COMPONENT_TYPE_UINT8_NV = 7,
12087 VK_COMPONENT_TYPE_UINT16_NV = 8,
12088 VK_COMPONENT_TYPE_UINT32_NV = 9,
12089 VK_COMPONENT_TYPE_UINT64_NV = 10,
12090 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12091 } VkComponentTypeNV;
12093 typedef enum VkScopeNV {
12094 VK_SCOPE_DEVICE_NV = 1,
12095 VK_SCOPE_WORKGROUP_NV = 2,
12096 VK_SCOPE_SUBGROUP_NV = 3,
12097 VK_SCOPE_QUEUE_FAMILY_NV = 5,
12098 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
12100 typedef struct VkCooperativeMatrixPropertiesNV {
12101 VkStructureType sType;
12106 VkComponentTypeNV AType;
12107 VkComponentTypeNV BType;
12108 VkComponentTypeNV CType;
12109 VkComponentTypeNV DType;
12111 } VkCooperativeMatrixPropertiesNV;
12113 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
12114 VkStructureType sType;
12116 VkBool32 cooperativeMatrix;
12117 VkBool32 cooperativeMatrixRobustBufferAccess;
12118 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
12120 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
12121 VkStructureType sType;
12123 VkShaderStageFlags cooperativeMatrixSupportedStages;
12124 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
12126 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
12128 #ifndef VK_NO_PROTOTYPES
12129 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
12130 VkPhysicalDevice physicalDevice,
12131 deUint32* pPropertyCount,
12132 VkCooperativeMatrixPropertiesNV* pProperties);
12136 #define VK_NV_coverage_reduction_mode 1
12137 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
12138 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
12140 typedef enum VkCoverageReductionModeNV {
12141 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
12142 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
12143 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12144 } VkCoverageReductionModeNV;
12145 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
12146 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
12147 VkStructureType sType;
12149 VkBool32 coverageReductionMode;
12150 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
12152 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
12153 VkStructureType sType;
12155 VkPipelineCoverageReductionStateCreateFlagsNV flags;
12156 VkCoverageReductionModeNV coverageReductionMode;
12157 } VkPipelineCoverageReductionStateCreateInfoNV;
12159 typedef struct VkFramebufferMixedSamplesCombinationNV {
12160 VkStructureType sType;
12162 VkCoverageReductionModeNV coverageReductionMode;
12163 VkSampleCountFlagBits rasterizationSamples;
12164 VkSampleCountFlags depthStencilSamples;
12165 VkSampleCountFlags colorSamples;
12166 } VkFramebufferMixedSamplesCombinationNV;
12168 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
12170 #ifndef VK_NO_PROTOTYPES
12171 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
12172 VkPhysicalDevice physicalDevice,
12173 deUint32* pCombinationCount,
12174 VkFramebufferMixedSamplesCombinationNV* pCombinations);
12178 #define VK_EXT_fragment_shader_interlock 1
12179 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
12180 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
12181 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12182 VkStructureType sType;
12184 VkBool32 fragmentShaderSampleInterlock;
12185 VkBool32 fragmentShaderPixelInterlock;
12186 VkBool32 fragmentShaderShadingRateInterlock;
12187 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
12191 #define VK_EXT_ycbcr_image_arrays 1
12192 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
12193 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
12194 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
12195 VkStructureType sType;
12197 VkBool32 ycbcrImageArrays;
12198 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
12202 #define VK_EXT_headless_surface 1
12203 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
12204 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
12205 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
12206 typedef struct VkHeadlessSurfaceCreateInfoEXT {
12207 VkStructureType sType;
12209 VkHeadlessSurfaceCreateFlagsEXT flags;
12210 } VkHeadlessSurfaceCreateInfoEXT;
12212 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
12214 #ifndef VK_NO_PROTOTYPES
12215 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
12216 VkInstance instance,
12217 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
12218 const VkAllocationCallbacks* pAllocator,
12219 VkSurfaceKHR* pSurface);
12223 #define VK_EXT_line_rasterization 1
12224 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
12225 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
12227 typedef enum VkLineRasterizationModeEXT {
12228 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
12229 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
12230 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
12231 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
12232 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12233 } VkLineRasterizationModeEXT;
12234 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
12235 VkStructureType sType;
12237 VkBool32 rectangularLines;
12238 VkBool32 bresenhamLines;
12239 VkBool32 smoothLines;
12240 VkBool32 stippledRectangularLines;
12241 VkBool32 stippledBresenhamLines;
12242 VkBool32 stippledSmoothLines;
12243 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
12245 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
12246 VkStructureType sType;
12248 deUint32 lineSubPixelPrecisionBits;
12249 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
12251 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
12252 VkStructureType sType;
12254 VkLineRasterizationModeEXT lineRasterizationMode;
12255 VkBool32 stippledLineEnable;
12256 deUint32 lineStippleFactor;
12257 deUint16 lineStipplePattern;
12258 } VkPipelineRasterizationLineStateCreateInfoEXT;
12260 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
12262 #ifndef VK_NO_PROTOTYPES
12263 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
12264 VkCommandBuffer commandBuffer,
12265 deUint32 lineStippleFactor,
12266 deUint16 lineStipplePattern);
12270 #define VK_EXT_shader_atomic_float 1
12271 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
12272 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
12273 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
12274 VkStructureType sType;
12276 VkBool32 shaderBufferFloat32Atomics;
12277 VkBool32 shaderBufferFloat32AtomicAdd;
12278 VkBool32 shaderBufferFloat64Atomics;
12279 VkBool32 shaderBufferFloat64AtomicAdd;
12280 VkBool32 shaderSharedFloat32Atomics;
12281 VkBool32 shaderSharedFloat32AtomicAdd;
12282 VkBool32 shaderSharedFloat64Atomics;
12283 VkBool32 shaderSharedFloat64AtomicAdd;
12284 VkBool32 shaderImageFloat32Atomics;
12285 VkBool32 shaderImageFloat32AtomicAdd;
12286 VkBool32 sparseImageFloat32Atomics;
12287 VkBool32 sparseImageFloat32AtomicAdd;
12288 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
12292 #define VK_EXT_host_query_reset 1
12293 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
12294 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
12295 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
12297 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
12299 #ifndef VK_NO_PROTOTYPES
12300 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
12302 VkQueryPool queryPool,
12303 deUint32 firstQuery,
12304 deUint32 queryCount);
12308 #define VK_EXT_index_type_uint8 1
12309 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
12310 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
12311 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
12312 VkStructureType sType;
12314 VkBool32 indexTypeUint8;
12315 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
12319 #define VK_EXT_extended_dynamic_state 1
12320 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
12321 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
12322 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
12323 VkStructureType sType;
12325 VkBool32 extendedDynamicState;
12326 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
12328 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
12329 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
12330 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
12331 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
12332 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
12333 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
12334 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
12335 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
12336 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
12337 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
12338 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
12339 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
12341 #ifndef VK_NO_PROTOTYPES
12342 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
12343 VkCommandBuffer commandBuffer,
12344 VkCullModeFlags cullMode);
12346 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
12347 VkCommandBuffer commandBuffer,
12348 VkFrontFace frontFace);
12350 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
12351 VkCommandBuffer commandBuffer,
12352 VkPrimitiveTopology primitiveTopology);
12354 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
12355 VkCommandBuffer commandBuffer,
12356 deUint32 viewportCount,
12357 const VkViewport* pViewports);
12359 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
12360 VkCommandBuffer commandBuffer,
12361 deUint32 scissorCount,
12362 const VkRect2D* pScissors);
12364 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
12365 VkCommandBuffer commandBuffer,
12366 deUint32 firstBinding,
12367 deUint32 bindingCount,
12368 const VkBuffer* pBuffers,
12369 const VkDeviceSize* pOffsets,
12370 const VkDeviceSize* pSizes,
12371 const VkDeviceSize* pStrides);
12373 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
12374 VkCommandBuffer commandBuffer,
12375 VkBool32 depthTestEnable);
12377 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
12378 VkCommandBuffer commandBuffer,
12379 VkBool32 depthWriteEnable);
12381 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
12382 VkCommandBuffer commandBuffer,
12383 VkCompareOp depthCompareOp);
12385 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
12386 VkCommandBuffer commandBuffer,
12387 VkBool32 depthBoundsTestEnable);
12389 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
12390 VkCommandBuffer commandBuffer,
12391 VkBool32 stencilTestEnable);
12393 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
12394 VkCommandBuffer commandBuffer,
12395 VkStencilFaceFlags faceMask,
12396 VkStencilOp failOp,
12397 VkStencilOp passOp,
12398 VkStencilOp depthFailOp,
12399 VkCompareOp compareOp);
12403 #define VK_EXT_shader_demote_to_helper_invocation 1
12404 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
12405 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
12406 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
12407 VkStructureType sType;
12409 VkBool32 shaderDemoteToHelperInvocation;
12410 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
12414 #define VK_NV_device_generated_commands 1
12415 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
12416 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
12417 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
12419 typedef enum VkIndirectCommandsTokenTypeNV {
12420 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
12421 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
12422 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
12423 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
12424 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
12425 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
12426 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
12427 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
12428 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12429 } VkIndirectCommandsTokenTypeNV;
12431 typedef enum VkIndirectStateFlagBitsNV {
12432 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
12433 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12434 } VkIndirectStateFlagBitsNV;
12435 typedef VkFlags VkIndirectStateFlagsNV;
12437 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
12438 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
12439 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
12440 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
12441 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12442 } VkIndirectCommandsLayoutUsageFlagBitsNV;
12443 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
12444 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
12445 VkStructureType sType;
12447 deUint32 maxGraphicsShaderGroupCount;
12448 deUint32 maxIndirectSequenceCount;
12449 deUint32 maxIndirectCommandsTokenCount;
12450 deUint32 maxIndirectCommandsStreamCount;
12451 deUint32 maxIndirectCommandsTokenOffset;
12452 deUint32 maxIndirectCommandsStreamStride;
12453 deUint32 minSequencesCountBufferOffsetAlignment;
12454 deUint32 minSequencesIndexBufferOffsetAlignment;
12455 deUint32 minIndirectCommandsBufferOffsetAlignment;
12456 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
12458 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
12459 VkStructureType sType;
12461 VkBool32 deviceGeneratedCommands;
12462 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
12464 typedef struct VkGraphicsShaderGroupCreateInfoNV {
12465 VkStructureType sType;
12467 deUint32 stageCount;
12468 const VkPipelineShaderStageCreateInfo* pStages;
12469 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
12470 const VkPipelineTessellationStateCreateInfo* pTessellationState;
12471 } VkGraphicsShaderGroupCreateInfoNV;
12473 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
12474 VkStructureType sType;
12476 deUint32 groupCount;
12477 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
12478 deUint32 pipelineCount;
12479 const VkPipeline* pPipelines;
12480 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
12482 typedef struct VkBindShaderGroupIndirectCommandNV {
12483 deUint32 groupIndex;
12484 } VkBindShaderGroupIndirectCommandNV;
12486 typedef struct VkBindIndexBufferIndirectCommandNV {
12487 VkDeviceAddress bufferAddress;
12489 VkIndexType indexType;
12490 } VkBindIndexBufferIndirectCommandNV;
12492 typedef struct VkBindVertexBufferIndirectCommandNV {
12493 VkDeviceAddress bufferAddress;
12496 } VkBindVertexBufferIndirectCommandNV;
12498 typedef struct VkSetStateFlagsIndirectCommandNV {
12500 } VkSetStateFlagsIndirectCommandNV;
12502 typedef struct VkIndirectCommandsStreamNV {
12504 VkDeviceSize offset;
12505 } VkIndirectCommandsStreamNV;
12507 typedef struct VkIndirectCommandsLayoutTokenNV {
12508 VkStructureType sType;
12510 VkIndirectCommandsTokenTypeNV tokenType;
12513 deUint32 vertexBindingUnit;
12514 VkBool32 vertexDynamicStride;
12515 VkPipelineLayout pushconstantPipelineLayout;
12516 VkShaderStageFlags pushconstantShaderStageFlags;
12517 deUint32 pushconstantOffset;
12518 deUint32 pushconstantSize;
12519 VkIndirectStateFlagsNV indirectStateFlags;
12520 deUint32 indexTypeCount;
12521 const VkIndexType* pIndexTypes;
12522 const deUint32* pIndexTypeValues;
12523 } VkIndirectCommandsLayoutTokenNV;
12525 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
12526 VkStructureType sType;
12528 VkIndirectCommandsLayoutUsageFlagsNV flags;
12529 VkPipelineBindPoint pipelineBindPoint;
12530 deUint32 tokenCount;
12531 const VkIndirectCommandsLayoutTokenNV* pTokens;
12532 deUint32 streamCount;
12533 const deUint32* pStreamStrides;
12534 } VkIndirectCommandsLayoutCreateInfoNV;
12536 typedef struct VkGeneratedCommandsInfoNV {
12537 VkStructureType sType;
12539 VkPipelineBindPoint pipelineBindPoint;
12540 VkPipeline pipeline;
12541 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12542 deUint32 streamCount;
12543 const VkIndirectCommandsStreamNV* pStreams;
12544 deUint32 sequencesCount;
12545 VkBuffer preprocessBuffer;
12546 VkDeviceSize preprocessOffset;
12547 VkDeviceSize preprocessSize;
12548 VkBuffer sequencesCountBuffer;
12549 VkDeviceSize sequencesCountOffset;
12550 VkBuffer sequencesIndexBuffer;
12551 VkDeviceSize sequencesIndexOffset;
12552 } VkGeneratedCommandsInfoNV;
12554 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
12555 VkStructureType sType;
12557 VkPipelineBindPoint pipelineBindPoint;
12558 VkPipeline pipeline;
12559 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12560 deUint32 maxSequencesCount;
12561 } VkGeneratedCommandsMemoryRequirementsInfoNV;
12563 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12564 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12565 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12566 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
12567 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12568 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
12570 #ifndef VK_NO_PROTOTYPES
12571 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
12573 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
12574 VkMemoryRequirements2* pMemoryRequirements);
12576 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
12577 VkCommandBuffer commandBuffer,
12578 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12580 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
12581 VkCommandBuffer commandBuffer,
12582 VkBool32 isPreprocessed,
12583 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12585 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
12586 VkCommandBuffer commandBuffer,
12587 VkPipelineBindPoint pipelineBindPoint,
12588 VkPipeline pipeline,
12589 deUint32 groupIndex);
12591 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
12593 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
12594 const VkAllocationCallbacks* pAllocator,
12595 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12597 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
12599 VkIndirectCommandsLayoutNV indirectCommandsLayout,
12600 const VkAllocationCallbacks* pAllocator);
12604 #define VK_NV_inherited_viewport_scissor 1
12605 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
12606 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
12607 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
12608 VkStructureType sType;
12610 VkBool32 inheritedViewportScissor2D;
12611 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
12613 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
12614 VkStructureType sType;
12616 VkBool32 viewportScissor2D;
12617 deUint32 viewportDepthCount;
12618 const VkViewport* pViewportDepths;
12619 } VkCommandBufferInheritanceViewportScissorInfoNV;
12623 #define VK_EXT_texel_buffer_alignment 1
12624 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
12625 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
12626 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
12627 VkStructureType sType;
12629 VkBool32 texelBufferAlignment;
12630 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
12632 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
12633 VkStructureType sType;
12635 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
12636 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
12637 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
12638 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
12639 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
12643 #define VK_QCOM_render_pass_transform 1
12644 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
12645 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
12646 typedef struct VkRenderPassTransformBeginInfoQCOM {
12647 VkStructureType sType;
12649 VkSurfaceTransformFlagBitsKHR transform;
12650 } VkRenderPassTransformBeginInfoQCOM;
12652 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
12653 VkStructureType sType;
12655 VkSurfaceTransformFlagBitsKHR transform;
12656 VkRect2D renderArea;
12657 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
12661 #define VK_EXT_device_memory_report 1
12662 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
12663 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
12665 typedef enum VkDeviceMemoryReportEventTypeEXT {
12666 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
12667 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
12668 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
12669 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
12670 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
12671 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12672 } VkDeviceMemoryReportEventTypeEXT;
12673 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
12674 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
12675 VkStructureType sType;
12677 VkBool32 deviceMemoryReport;
12678 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
12680 typedef struct VkDeviceMemoryReportCallbackDataEXT {
12681 VkStructureType sType;
12683 VkDeviceMemoryReportFlagsEXT flags;
12684 VkDeviceMemoryReportEventTypeEXT type;
12685 deUint64 memoryObjectId;
12687 VkObjectType objectType;
12688 deUint64 objectHandle;
12689 deUint32 heapIndex;
12690 } VkDeviceMemoryReportCallbackDataEXT;
12692 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
12693 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
12696 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
12697 VkStructureType sType;
12699 VkDeviceMemoryReportFlagsEXT flags;
12700 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
12702 } VkDeviceDeviceMemoryReportCreateInfoEXT;
12706 #define VK_EXT_robustness2 1
12707 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
12708 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
12709 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
12710 VkStructureType sType;
12712 VkBool32 robustBufferAccess2;
12713 VkBool32 robustImageAccess2;
12714 VkBool32 nullDescriptor;
12715 } VkPhysicalDeviceRobustness2FeaturesEXT;
12717 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
12718 VkStructureType sType;
12720 VkDeviceSize robustStorageBufferAccessSizeAlignment;
12721 VkDeviceSize robustUniformBufferAccessSizeAlignment;
12722 } VkPhysicalDeviceRobustness2PropertiesEXT;
12726 #define VK_EXT_custom_border_color 1
12727 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
12728 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
12729 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
12730 VkStructureType sType;
12732 VkClearColorValue customBorderColor;
12734 } VkSamplerCustomBorderColorCreateInfoEXT;
12736 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
12737 VkStructureType sType;
12739 deUint32 maxCustomBorderColorSamplers;
12740 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
12742 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
12743 VkStructureType sType;
12745 VkBool32 customBorderColors;
12746 VkBool32 customBorderColorWithoutFormat;
12747 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
12751 #define VK_GOOGLE_user_type 1
12752 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
12753 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
12756 #define VK_EXT_private_data 1
12757 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
12758 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
12759 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
12761 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
12762 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12763 } VkPrivateDataSlotCreateFlagBitsEXT;
12764 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
12765 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
12766 VkStructureType sType;
12768 VkBool32 privateData;
12769 } VkPhysicalDevicePrivateDataFeaturesEXT;
12771 typedef struct VkDevicePrivateDataCreateInfoEXT {
12772 VkStructureType sType;
12774 deUint32 privateDataSlotRequestCount;
12775 } VkDevicePrivateDataCreateInfoEXT;
12777 typedef struct VkPrivateDataSlotCreateInfoEXT {
12778 VkStructureType sType;
12780 VkPrivateDataSlotCreateFlagsEXT flags;
12781 } VkPrivateDataSlotCreateInfoEXT;
12783 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
12784 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
12785 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
12786 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
12788 #ifndef VK_NO_PROTOTYPES
12789 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
12791 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
12792 const VkAllocationCallbacks* pAllocator,
12793 VkPrivateDataSlotEXT* pPrivateDataSlot);
12795 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
12797 VkPrivateDataSlotEXT privateDataSlot,
12798 const VkAllocationCallbacks* pAllocator);
12800 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
12802 VkObjectType objectType,
12803 deUint64 objectHandle,
12804 VkPrivateDataSlotEXT privateDataSlot,
12807 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
12809 VkObjectType objectType,
12810 deUint64 objectHandle,
12811 VkPrivateDataSlotEXT privateDataSlot,
12816 #define VK_EXT_pipeline_creation_cache_control 1
12817 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
12818 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
12819 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
12820 VkStructureType sType;
12822 VkBool32 pipelineCreationCacheControl;
12823 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
12827 #define VK_NV_device_diagnostics_config 1
12828 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
12829 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
12831 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
12832 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
12833 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
12834 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
12835 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12836 } VkDeviceDiagnosticsConfigFlagBitsNV;
12837 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
12838 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
12839 VkStructureType sType;
12841 VkBool32 diagnosticsConfig;
12842 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
12844 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
12845 VkStructureType sType;
12847 VkDeviceDiagnosticsConfigFlagsNV flags;
12848 } VkDeviceDiagnosticsConfigCreateInfoNV;
12852 #define VK_QCOM_render_pass_store_ops 1
12853 #define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
12854 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
12857 #define VK_NV_fragment_shading_rate_enums 1
12858 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
12859 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
12861 typedef enum VkFragmentShadingRateTypeNV {
12862 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
12863 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
12864 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12865 } VkFragmentShadingRateTypeNV;
12867 typedef enum VkFragmentShadingRateNV {
12868 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
12869 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
12870 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
12871 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
12872 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
12873 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12874 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
12875 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
12876 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
12877 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
12878 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
12879 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
12880 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
12881 } VkFragmentShadingRateNV;
12882 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
12883 VkStructureType sType;
12885 VkBool32 fragmentShadingRateEnums;
12886 VkBool32 supersampleFragmentShadingRates;
12887 VkBool32 noInvocationFragmentShadingRates;
12888 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
12890 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
12891 VkStructureType sType;
12893 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
12894 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
12896 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
12897 VkStructureType sType;
12899 VkFragmentShadingRateTypeNV shadingRateType;
12900 VkFragmentShadingRateNV shadingRate;
12901 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
12902 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
12904 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12906 #ifndef VK_NO_PROTOTYPES
12907 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
12908 VkCommandBuffer commandBuffer,
12909 VkFragmentShadingRateNV shadingRate,
12910 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12914 #define VK_EXT_ycbcr_2plane_444_formats 1
12915 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
12916 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
12917 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
12918 VkStructureType sType;
12920 VkBool32 ycbcr2plane444Formats;
12921 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
12925 #define VK_EXT_fragment_density_map2 1
12926 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
12927 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
12928 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
12929 VkStructureType sType;
12931 VkBool32 fragmentDensityMapDeferred;
12932 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
12934 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
12935 VkStructureType sType;
12937 VkBool32 subsampledLoads;
12938 VkBool32 subsampledCoarseReconstructionEarlyAccess;
12939 deUint32 maxSubsampledArrayLayers;
12940 deUint32 maxDescriptorSetSubsampledSamplers;
12941 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
12945 #define VK_QCOM_rotated_copy_commands 1
12946 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
12947 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
12948 typedef struct VkCopyCommandTransformInfoQCOM {
12949 VkStructureType sType;
12951 VkSurfaceTransformFlagBitsKHR transform;
12952 } VkCopyCommandTransformInfoQCOM;
12956 #define VK_EXT_image_robustness 1
12957 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
12958 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
12959 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
12960 VkStructureType sType;
12962 VkBool32 robustImageAccess;
12963 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
12967 #define VK_EXT_4444_formats 1
12968 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
12969 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
12970 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
12971 VkStructureType sType;
12973 VkBool32 formatA4R4G4B4;
12974 VkBool32 formatA4B4G4R4;
12975 } VkPhysicalDevice4444FormatsFeaturesEXT;
12979 #define VK_NV_acquire_winrt_display 1
12980 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
12981 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
12982 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
12983 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
12985 #ifndef VK_NO_PROTOTYPES
12986 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
12987 VkPhysicalDevice physicalDevice,
12988 VkDisplayKHR display);
12990 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
12991 VkPhysicalDevice physicalDevice,
12992 deUint32 deviceRelativeId,
12993 VkDisplayKHR* pDisplay);
12997 #define VK_VALVE_mutable_descriptor_type 1
12998 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
12999 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
13000 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
13001 VkStructureType sType;
13003 VkBool32 mutableDescriptorType;
13004 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
13006 typedef struct VkMutableDescriptorTypeListVALVE {
13007 deUint32 descriptorTypeCount;
13008 const VkDescriptorType* pDescriptorTypes;
13009 } VkMutableDescriptorTypeListVALVE;
13011 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
13012 VkStructureType sType;
13014 deUint32 mutableDescriptorTypeListCount;
13015 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
13016 } VkMutableDescriptorTypeCreateInfoVALVE;
13020 #define VK_EXT_vertex_input_dynamic_state 1
13021 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
13022 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
13023 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
13024 VkStructureType sType;
13026 VkBool32 vertexInputDynamicState;
13027 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
13029 typedef struct VkVertexInputBindingDescription2EXT {
13030 VkStructureType sType;
13034 VkVertexInputRate inputRate;
13036 } VkVertexInputBindingDescription2EXT;
13038 typedef struct VkVertexInputAttributeDescription2EXT {
13039 VkStructureType sType;
13045 } VkVertexInputAttributeDescription2EXT;
13047 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13049 #ifndef VK_NO_PROTOTYPES
13050 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
13051 VkCommandBuffer commandBuffer,
13052 deUint32 vertexBindingDescriptionCount,
13053 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
13054 deUint32 vertexAttributeDescriptionCount,
13055 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13059 #define VK_EXT_extended_dynamic_state2 1
13060 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
13061 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
13062 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
13063 VkStructureType sType;
13065 VkBool32 extendedDynamicState2;
13066 VkBool32 extendedDynamicState2LogicOp;
13067 VkBool32 extendedDynamicState2PatchControlPoints;
13068 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
13070 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
13071 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
13072 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
13073 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
13074 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
13076 #ifndef VK_NO_PROTOTYPES
13077 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
13078 VkCommandBuffer commandBuffer,
13079 deUint32 patchControlPoints);
13081 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
13082 VkCommandBuffer commandBuffer,
13083 VkBool32 rasterizerDiscardEnable);
13085 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
13086 VkCommandBuffer commandBuffer,
13087 VkBool32 depthBiasEnable);
13089 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
13090 VkCommandBuffer commandBuffer,
13091 VkLogicOp logicOp);
13093 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
13094 VkCommandBuffer commandBuffer,
13095 VkBool32 primitiveRestartEnable);
13099 #define VK_EXT_color_write_enable 1
13100 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
13101 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
13102 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
13103 VkStructureType sType;
13105 VkBool32 colorWriteEnable;
13106 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
13108 typedef struct VkPipelineColorWriteCreateInfoEXT {
13109 VkStructureType sType;
13111 deUint32 attachmentCount;
13112 const VkBool32* pColorWriteEnables;
13113 } VkPipelineColorWriteCreateInfoEXT;
13115 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
13117 #ifndef VK_NO_PROTOTYPES
13118 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
13119 VkCommandBuffer commandBuffer,
13120 deUint32 attachmentCount,
13121 const VkBool32* pColorWriteEnables);
13125 #define VK_KHR_acceleration_structure 1
13126 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
13127 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
13128 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
13130 typedef enum VkBuildAccelerationStructureModeKHR {
13131 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
13132 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
13133 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13134 } VkBuildAccelerationStructureModeKHR;
13136 typedef enum VkAccelerationStructureBuildTypeKHR {
13137 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
13138 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
13139 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
13140 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13141 } VkAccelerationStructureBuildTypeKHR;
13143 typedef enum VkAccelerationStructureCompatibilityKHR {
13144 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
13145 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
13146 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
13147 } VkAccelerationStructureCompatibilityKHR;
13149 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
13150 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
13151 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13152 } VkAccelerationStructureCreateFlagBitsKHR;
13153 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
13154 typedef union VkDeviceOrHostAddressKHR {
13155 VkDeviceAddress deviceAddress;
13157 } VkDeviceOrHostAddressKHR;
13159 typedef union VkDeviceOrHostAddressConstKHR {
13160 VkDeviceAddress deviceAddress;
13161 const void* hostAddress;
13162 } VkDeviceOrHostAddressConstKHR;
13164 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
13165 deUint32 primitiveCount;
13166 deUint32 primitiveOffset;
13167 deUint32 firstVertex;
13168 deUint32 transformOffset;
13169 } VkAccelerationStructureBuildRangeInfoKHR;
13171 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
13172 VkStructureType sType;
13174 VkFormat vertexFormat;
13175 VkDeviceOrHostAddressConstKHR vertexData;
13176 VkDeviceSize vertexStride;
13177 deUint32 maxVertex;
13178 VkIndexType indexType;
13179 VkDeviceOrHostAddressConstKHR indexData;
13180 VkDeviceOrHostAddressConstKHR transformData;
13181 } VkAccelerationStructureGeometryTrianglesDataKHR;
13183 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
13184 VkStructureType sType;
13186 VkDeviceOrHostAddressConstKHR data;
13187 VkDeviceSize stride;
13188 } VkAccelerationStructureGeometryAabbsDataKHR;
13190 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
13191 VkStructureType sType;
13193 VkBool32 arrayOfPointers;
13194 VkDeviceOrHostAddressConstKHR data;
13195 } VkAccelerationStructureGeometryInstancesDataKHR;
13197 typedef union VkAccelerationStructureGeometryDataKHR {
13198 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
13199 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
13200 VkAccelerationStructureGeometryInstancesDataKHR instances;
13201 } VkAccelerationStructureGeometryDataKHR;
13203 typedef struct VkAccelerationStructureGeometryKHR {
13204 VkStructureType sType;
13206 VkGeometryTypeKHR geometryType;
13207 VkAccelerationStructureGeometryDataKHR geometry;
13208 VkGeometryFlagsKHR flags;
13209 } VkAccelerationStructureGeometryKHR;
13211 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
13212 VkStructureType sType;
13214 VkAccelerationStructureTypeKHR type;
13215 VkBuildAccelerationStructureFlagsKHR flags;
13216 VkBuildAccelerationStructureModeKHR mode;
13217 VkAccelerationStructureKHR srcAccelerationStructure;
13218 VkAccelerationStructureKHR dstAccelerationStructure;
13219 deUint32 geometryCount;
13220 const VkAccelerationStructureGeometryKHR* pGeometries;
13221 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
13222 VkDeviceOrHostAddressKHR scratchData;
13223 } VkAccelerationStructureBuildGeometryInfoKHR;
13225 typedef struct VkAccelerationStructureCreateInfoKHR {
13226 VkStructureType sType;
13228 VkAccelerationStructureCreateFlagsKHR createFlags;
13230 VkDeviceSize offset;
13232 VkAccelerationStructureTypeKHR type;
13233 VkDeviceAddress deviceAddress;
13234 } VkAccelerationStructureCreateInfoKHR;
13236 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13237 VkStructureType sType;
13239 deUint32 accelerationStructureCount;
13240 const VkAccelerationStructureKHR* pAccelerationStructures;
13241 } VkWriteDescriptorSetAccelerationStructureKHR;
13243 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13244 VkStructureType sType;
13246 VkBool32 accelerationStructure;
13247 VkBool32 accelerationStructureCaptureReplay;
13248 VkBool32 accelerationStructureIndirectBuild;
13249 VkBool32 accelerationStructureHostCommands;
13250 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13251 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13253 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13254 VkStructureType sType;
13256 deUint64 maxGeometryCount;
13257 deUint64 maxInstanceCount;
13258 deUint64 maxPrimitiveCount;
13259 deUint32 maxPerStageDescriptorAccelerationStructures;
13260 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
13261 deUint32 maxDescriptorSetAccelerationStructures;
13262 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
13263 deUint32 minAccelerationStructureScratchOffsetAlignment;
13264 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
13266 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
13267 VkStructureType sType;
13269 VkAccelerationStructureKHR accelerationStructure;
13270 } VkAccelerationStructureDeviceAddressInfoKHR;
13272 typedef struct VkAccelerationStructureVersionInfoKHR {
13273 VkStructureType sType;
13275 const deUint8* pVersionData;
13276 } VkAccelerationStructureVersionInfoKHR;
13278 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
13279 VkStructureType sType;
13281 VkAccelerationStructureKHR src;
13282 VkDeviceOrHostAddressKHR dst;
13283 VkCopyAccelerationStructureModeKHR mode;
13284 } VkCopyAccelerationStructureToMemoryInfoKHR;
13286 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
13287 VkStructureType sType;
13289 VkDeviceOrHostAddressConstKHR src;
13290 VkAccelerationStructureKHR dst;
13291 VkCopyAccelerationStructureModeKHR mode;
13292 } VkCopyMemoryToAccelerationStructureInfoKHR;
13294 typedef struct VkCopyAccelerationStructureInfoKHR {
13295 VkStructureType sType;
13297 VkAccelerationStructureKHR src;
13298 VkAccelerationStructureKHR dst;
13299 VkCopyAccelerationStructureModeKHR mode;
13300 } VkCopyAccelerationStructureInfoKHR;
13302 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
13303 VkStructureType sType;
13305 VkDeviceSize accelerationStructureSize;
13306 VkDeviceSize updateScratchSize;
13307 VkDeviceSize buildScratchSize;
13308 } VkAccelerationStructureBuildSizesInfoKHR;
13310 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
13311 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
13312 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13313 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
13314 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13315 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
13316 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13317 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13318 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
13319 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
13320 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13321 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13322 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13323 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
13324 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
13325 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13327 #ifndef VK_NO_PROTOTYPES
13328 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
13330 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
13331 const VkAllocationCallbacks* pAllocator,
13332 VkAccelerationStructureKHR* pAccelerationStructure);
13334 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
13336 VkAccelerationStructureKHR accelerationStructure,
13337 const VkAllocationCallbacks* pAllocator);
13339 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
13340 VkCommandBuffer commandBuffer,
13341 deUint32 infoCount,
13342 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13343 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13345 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
13346 VkCommandBuffer commandBuffer,
13347 deUint32 infoCount,
13348 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13349 const VkDeviceAddress* pIndirectDeviceAddresses,
13350 const deUint32* pIndirectStrides,
13351 const deUint32* const* ppMaxPrimitiveCounts);
13353 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
13355 VkDeferredOperationKHR deferredOperation,
13356 deUint32 infoCount,
13357 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13358 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13360 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
13362 VkDeferredOperationKHR deferredOperation,
13363 const VkCopyAccelerationStructureInfoKHR* pInfo);
13365 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
13367 VkDeferredOperationKHR deferredOperation,
13368 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13370 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
13372 VkDeferredOperationKHR deferredOperation,
13373 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13375 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
13377 deUint32 accelerationStructureCount,
13378 const VkAccelerationStructureKHR* pAccelerationStructures,
13379 VkQueryType queryType,
13380 deUintptr dataSize,
13384 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
13385 VkCommandBuffer commandBuffer,
13386 const VkCopyAccelerationStructureInfoKHR* pInfo);
13388 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
13389 VkCommandBuffer commandBuffer,
13390 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13392 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
13393 VkCommandBuffer commandBuffer,
13394 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13396 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
13398 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13400 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
13401 VkCommandBuffer commandBuffer,
13402 deUint32 accelerationStructureCount,
13403 const VkAccelerationStructureKHR* pAccelerationStructures,
13404 VkQueryType queryType,
13405 VkQueryPool queryPool,
13406 deUint32 firstQuery);
13408 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
13410 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
13411 VkAccelerationStructureCompatibilityKHR* pCompatibility);
13413 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
13415 VkAccelerationStructureBuildTypeKHR buildType,
13416 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
13417 const deUint32* pMaxPrimitiveCounts,
13418 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13422 #define VK_KHR_ray_tracing_pipeline 1
13423 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
13424 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
13426 typedef enum VkShaderGroupShaderKHR {
13427 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
13428 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
13429 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
13430 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
13431 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
13432 } VkShaderGroupShaderKHR;
13433 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
13434 VkStructureType sType;
13436 VkRayTracingShaderGroupTypeKHR type;
13437 deUint32 generalShader;
13438 deUint32 closestHitShader;
13439 deUint32 anyHitShader;
13440 deUint32 intersectionShader;
13441 const void* pShaderGroupCaptureReplayHandle;
13442 } VkRayTracingShaderGroupCreateInfoKHR;
13444 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
13445 VkStructureType sType;
13447 deUint32 maxPipelineRayPayloadSize;
13448 deUint32 maxPipelineRayHitAttributeSize;
13449 } VkRayTracingPipelineInterfaceCreateInfoKHR;
13451 typedef struct VkRayTracingPipelineCreateInfoKHR {
13452 VkStructureType sType;
13454 VkPipelineCreateFlags flags;
13455 deUint32 stageCount;
13456 const VkPipelineShaderStageCreateInfo* pStages;
13457 deUint32 groupCount;
13458 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
13459 deUint32 maxPipelineRayRecursionDepth;
13460 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
13461 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
13462 const VkPipelineDynamicStateCreateInfo* pDynamicState;
13463 VkPipelineLayout layout;
13464 VkPipeline basePipelineHandle;
13465 deInt32 basePipelineIndex;
13466 } VkRayTracingPipelineCreateInfoKHR;
13468 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
13469 VkStructureType sType;
13471 VkBool32 rayTracingPipeline;
13472 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
13473 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
13474 VkBool32 rayTracingPipelineTraceRaysIndirect;
13475 VkBool32 rayTraversalPrimitiveCulling;
13476 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
13478 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
13479 VkStructureType sType;
13481 deUint32 shaderGroupHandleSize;
13482 deUint32 maxRayRecursionDepth;
13483 deUint32 maxShaderGroupStride;
13484 deUint32 shaderGroupBaseAlignment;
13485 deUint32 shaderGroupHandleCaptureReplaySize;
13486 deUint32 maxRayDispatchInvocationCount;
13487 deUint32 shaderGroupHandleAlignment;
13488 deUint32 maxRayHitAttributeSize;
13489 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
13491 typedef struct VkStridedDeviceAddressRegionKHR {
13492 VkDeviceAddress deviceAddress;
13493 VkDeviceSize stride;
13495 } VkStridedDeviceAddressRegionKHR;
13497 typedef struct VkTraceRaysIndirectCommandKHR {
13501 } VkTraceRaysIndirectCommandKHR;
13503 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);
13504 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13505 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
13506 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
13507 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
13508 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
13510 #ifndef VK_NO_PROTOTYPES
13511 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
13512 VkCommandBuffer commandBuffer,
13513 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13514 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13515 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13516 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13521 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
13523 VkDeferredOperationKHR deferredOperation,
13524 VkPipelineCache pipelineCache,
13525 deUint32 createInfoCount,
13526 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
13527 const VkAllocationCallbacks* pAllocator,
13528 VkPipeline* pPipelines);
13530 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
13532 VkPipeline pipeline,
13533 deUint32 firstGroup,
13534 deUint32 groupCount,
13535 deUintptr dataSize,
13538 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
13539 VkCommandBuffer commandBuffer,
13540 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13541 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13542 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13543 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13544 VkDeviceAddress indirectDeviceAddress);
13546 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
13548 VkPipeline pipeline,
13550 VkShaderGroupShaderKHR groupShader);
13552 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
13553 VkCommandBuffer commandBuffer,
13554 deUint32 pipelineStackSize);
13558 #define VK_KHR_ray_query 1
13559 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
13560 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
13561 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
13562 VkStructureType sType;
13565 } VkPhysicalDeviceRayQueryFeaturesKHR;