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_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
1660 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
1661 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
1662 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
1663 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
1664 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
1665 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
1666 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
1667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
1668 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
1669 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
1670 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
1671 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
1672 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
1673 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
1674 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
1675 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
1676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1677 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1678 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
1679 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
1680 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
1681 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
1682 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
1683 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
1684 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
1685 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
1686 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1687 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1688 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
1689 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1690 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1691 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1693 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1695 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1696 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
1697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1698 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
1699 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
1700 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
1701 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
1702 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
1703 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
1704 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
1705 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
1706 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
1707 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
1708 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
1709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1710 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1711 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1712 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1714 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1715 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1716 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1717 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1718 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1719 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1720 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1722 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1724 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1727 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1728 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1729 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1730 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1731 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1733 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1734 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1736 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1738 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1740 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1741 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1742 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1743 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1744 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1745 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1746 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1747 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1748 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1750 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1752 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1754 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1755 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1756 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1757 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1758 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1759 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1760 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1761 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1762 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1763 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1764 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1765 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1766 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1767 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1768 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1769 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1770 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1771 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1772 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1773 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1774 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1775 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1776 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1777 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1778 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1779 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1780 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1781 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1782 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1783 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1784 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1785 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1786 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1788 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1789 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1790 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1791 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1792 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1793 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1794 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1795 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1796 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1797 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1798 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1800 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1801 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1802 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1803 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1806 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1807 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1808 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1809 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1811 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1812 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1813 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1815 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1816 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1817 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1818 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1819 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1820 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1821 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1822 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1823 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1825 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1827 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1828 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1830 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1831 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1834 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1835 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1836 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1837 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1839 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1842 typedef enum VkImageLayout {
1843 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1844 VK_IMAGE_LAYOUT_GENERAL = 1,
1845 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1846 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1847 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1848 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1849 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1850 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1851 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1852 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1853 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1854 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1855 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1856 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1857 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1858 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1859 #ifdef VK_ENABLE_BETA_EXTENSIONS
1860 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1862 #ifdef VK_ENABLE_BETA_EXTENSIONS
1863 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1865 #ifdef VK_ENABLE_BETA_EXTENSIONS
1866 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1868 #ifdef VK_ENABLE_BETA_EXTENSIONS
1869 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1871 #ifdef VK_ENABLE_BETA_EXTENSIONS
1872 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1874 #ifdef VK_ENABLE_BETA_EXTENSIONS
1875 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1877 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1878 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = 1000164003,
1879 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1880 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1881 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1882 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1883 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1884 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV,
1885 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1886 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1887 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1888 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1889 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1892 typedef enum VkObjectType {
1893 VK_OBJECT_TYPE_UNKNOWN = 0,
1894 VK_OBJECT_TYPE_INSTANCE = 1,
1895 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1896 VK_OBJECT_TYPE_DEVICE = 3,
1897 VK_OBJECT_TYPE_QUEUE = 4,
1898 VK_OBJECT_TYPE_SEMAPHORE = 5,
1899 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1900 VK_OBJECT_TYPE_FENCE = 7,
1901 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1902 VK_OBJECT_TYPE_BUFFER = 9,
1903 VK_OBJECT_TYPE_IMAGE = 10,
1904 VK_OBJECT_TYPE_EVENT = 11,
1905 VK_OBJECT_TYPE_QUERY_POOL = 12,
1906 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1907 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1908 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1909 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1910 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1911 VK_OBJECT_TYPE_RENDER_PASS = 18,
1912 VK_OBJECT_TYPE_PIPELINE = 19,
1913 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1914 VK_OBJECT_TYPE_SAMPLER = 21,
1915 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1916 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1917 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1918 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1919 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1920 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1921 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1922 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1923 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1924 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1925 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1926 #ifdef VK_ENABLE_BETA_EXTENSIONS
1927 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1929 #ifdef VK_ENABLE_BETA_EXTENSIONS
1930 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1932 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1933 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1934 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1935 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1936 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1937 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1938 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1939 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1940 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1941 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1942 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1945 typedef enum VkVendorId {
1946 VK_VENDOR_ID_VIV = 0x10001,
1947 VK_VENDOR_ID_VSI = 0x10002,
1948 VK_VENDOR_ID_KAZAN = 0x10003,
1949 VK_VENDOR_ID_CODEPLAY = 0x10004,
1950 VK_VENDOR_ID_MESA = 0x10005,
1951 VK_VENDOR_ID_POCL = 0x10006,
1952 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1955 typedef enum VkPipelineCacheHeaderVersion {
1956 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1957 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1958 } VkPipelineCacheHeaderVersion;
1960 typedef enum VkSystemAllocationScope {
1961 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1962 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1963 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1964 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1965 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1966 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1967 } VkSystemAllocationScope;
1969 typedef enum VkInternalAllocationType {
1970 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1971 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1972 } VkInternalAllocationType;
1974 typedef enum VkFormat {
1975 VK_FORMAT_UNDEFINED = 0,
1976 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1977 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1978 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1979 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
1980 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
1981 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
1982 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
1983 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
1984 VK_FORMAT_R8_UNORM = 9,
1985 VK_FORMAT_R8_SNORM = 10,
1986 VK_FORMAT_R8_USCALED = 11,
1987 VK_FORMAT_R8_SSCALED = 12,
1988 VK_FORMAT_R8_UINT = 13,
1989 VK_FORMAT_R8_SINT = 14,
1990 VK_FORMAT_R8_SRGB = 15,
1991 VK_FORMAT_R8G8_UNORM = 16,
1992 VK_FORMAT_R8G8_SNORM = 17,
1993 VK_FORMAT_R8G8_USCALED = 18,
1994 VK_FORMAT_R8G8_SSCALED = 19,
1995 VK_FORMAT_R8G8_UINT = 20,
1996 VK_FORMAT_R8G8_SINT = 21,
1997 VK_FORMAT_R8G8_SRGB = 22,
1998 VK_FORMAT_R8G8B8_UNORM = 23,
1999 VK_FORMAT_R8G8B8_SNORM = 24,
2000 VK_FORMAT_R8G8B8_USCALED = 25,
2001 VK_FORMAT_R8G8B8_SSCALED = 26,
2002 VK_FORMAT_R8G8B8_UINT = 27,
2003 VK_FORMAT_R8G8B8_SINT = 28,
2004 VK_FORMAT_R8G8B8_SRGB = 29,
2005 VK_FORMAT_B8G8R8_UNORM = 30,
2006 VK_FORMAT_B8G8R8_SNORM = 31,
2007 VK_FORMAT_B8G8R8_USCALED = 32,
2008 VK_FORMAT_B8G8R8_SSCALED = 33,
2009 VK_FORMAT_B8G8R8_UINT = 34,
2010 VK_FORMAT_B8G8R8_SINT = 35,
2011 VK_FORMAT_B8G8R8_SRGB = 36,
2012 VK_FORMAT_R8G8B8A8_UNORM = 37,
2013 VK_FORMAT_R8G8B8A8_SNORM = 38,
2014 VK_FORMAT_R8G8B8A8_USCALED = 39,
2015 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2016 VK_FORMAT_R8G8B8A8_UINT = 41,
2017 VK_FORMAT_R8G8B8A8_SINT = 42,
2018 VK_FORMAT_R8G8B8A8_SRGB = 43,
2019 VK_FORMAT_B8G8R8A8_UNORM = 44,
2020 VK_FORMAT_B8G8R8A8_SNORM = 45,
2021 VK_FORMAT_B8G8R8A8_USCALED = 46,
2022 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2023 VK_FORMAT_B8G8R8A8_UINT = 48,
2024 VK_FORMAT_B8G8R8A8_SINT = 49,
2025 VK_FORMAT_B8G8R8A8_SRGB = 50,
2026 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2027 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2028 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2029 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2030 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2031 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2032 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2033 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2034 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2035 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2036 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2037 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2038 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2039 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2040 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2041 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2042 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2043 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2044 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2045 VK_FORMAT_R16_UNORM = 70,
2046 VK_FORMAT_R16_SNORM = 71,
2047 VK_FORMAT_R16_USCALED = 72,
2048 VK_FORMAT_R16_SSCALED = 73,
2049 VK_FORMAT_R16_UINT = 74,
2050 VK_FORMAT_R16_SINT = 75,
2051 VK_FORMAT_R16_SFLOAT = 76,
2052 VK_FORMAT_R16G16_UNORM = 77,
2053 VK_FORMAT_R16G16_SNORM = 78,
2054 VK_FORMAT_R16G16_USCALED = 79,
2055 VK_FORMAT_R16G16_SSCALED = 80,
2056 VK_FORMAT_R16G16_UINT = 81,
2057 VK_FORMAT_R16G16_SINT = 82,
2058 VK_FORMAT_R16G16_SFLOAT = 83,
2059 VK_FORMAT_R16G16B16_UNORM = 84,
2060 VK_FORMAT_R16G16B16_SNORM = 85,
2061 VK_FORMAT_R16G16B16_USCALED = 86,
2062 VK_FORMAT_R16G16B16_SSCALED = 87,
2063 VK_FORMAT_R16G16B16_UINT = 88,
2064 VK_FORMAT_R16G16B16_SINT = 89,
2065 VK_FORMAT_R16G16B16_SFLOAT = 90,
2066 VK_FORMAT_R16G16B16A16_UNORM = 91,
2067 VK_FORMAT_R16G16B16A16_SNORM = 92,
2068 VK_FORMAT_R16G16B16A16_USCALED = 93,
2069 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2070 VK_FORMAT_R16G16B16A16_UINT = 95,
2071 VK_FORMAT_R16G16B16A16_SINT = 96,
2072 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2073 VK_FORMAT_R32_UINT = 98,
2074 VK_FORMAT_R32_SINT = 99,
2075 VK_FORMAT_R32_SFLOAT = 100,
2076 VK_FORMAT_R32G32_UINT = 101,
2077 VK_FORMAT_R32G32_SINT = 102,
2078 VK_FORMAT_R32G32_SFLOAT = 103,
2079 VK_FORMAT_R32G32B32_UINT = 104,
2080 VK_FORMAT_R32G32B32_SINT = 105,
2081 VK_FORMAT_R32G32B32_SFLOAT = 106,
2082 VK_FORMAT_R32G32B32A32_UINT = 107,
2083 VK_FORMAT_R32G32B32A32_SINT = 108,
2084 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2085 VK_FORMAT_R64_UINT = 110,
2086 VK_FORMAT_R64_SINT = 111,
2087 VK_FORMAT_R64_SFLOAT = 112,
2088 VK_FORMAT_R64G64_UINT = 113,
2089 VK_FORMAT_R64G64_SINT = 114,
2090 VK_FORMAT_R64G64_SFLOAT = 115,
2091 VK_FORMAT_R64G64B64_UINT = 116,
2092 VK_FORMAT_R64G64B64_SINT = 117,
2093 VK_FORMAT_R64G64B64_SFLOAT = 118,
2094 VK_FORMAT_R64G64B64A64_UINT = 119,
2095 VK_FORMAT_R64G64B64A64_SINT = 120,
2096 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2097 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2098 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2099 VK_FORMAT_D16_UNORM = 124,
2100 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2101 VK_FORMAT_D32_SFLOAT = 126,
2102 VK_FORMAT_S8_UINT = 127,
2103 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2104 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2105 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2106 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2107 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2108 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2109 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2110 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2111 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2112 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2113 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2114 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2115 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2116 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2117 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2118 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2119 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2120 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2121 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2122 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2123 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2124 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2125 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2126 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2127 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2128 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2129 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2130 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2131 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2132 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2133 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2134 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2135 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2136 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2137 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2138 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2139 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2140 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2141 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2142 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2143 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2144 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2145 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2146 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2147 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2148 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2149 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2150 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2151 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2152 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2153 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2154 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2155 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2156 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2157 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2158 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2159 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2160 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2161 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2162 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2163 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2164 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2165 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2166 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2167 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2168 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2169 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2170 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2171 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2172 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2173 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2174 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2175 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2176 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2177 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2178 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2179 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2180 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2181 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2182 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2183 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2184 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2185 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2186 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2187 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2188 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2189 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2190 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2191 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2192 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2193 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2194 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2195 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2196 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2197 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2198 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2199 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2200 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2201 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2202 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
2203 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
2204 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
2205 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
2206 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
2207 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
2208 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
2209 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
2210 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
2211 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
2212 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
2213 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
2214 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
2215 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
2216 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
2217 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
2218 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
2219 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
2220 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
2221 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
2222 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2223 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2224 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2225 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2226 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2227 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2228 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2229 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2230 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2231 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2232 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2233 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2234 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2235 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2236 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2237 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2238 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2239 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2240 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2241 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2242 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2243 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2244 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2245 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2246 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2247 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2248 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2249 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2250 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2251 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2252 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2253 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2254 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2255 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2256 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2259 typedef enum VkImageTiling {
2260 VK_IMAGE_TILING_OPTIMAL = 0,
2261 VK_IMAGE_TILING_LINEAR = 1,
2262 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2263 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2266 typedef enum VkImageType {
2267 VK_IMAGE_TYPE_1D = 0,
2268 VK_IMAGE_TYPE_2D = 1,
2269 VK_IMAGE_TYPE_3D = 2,
2270 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2273 typedef enum VkPhysicalDeviceType {
2274 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2275 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2276 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2277 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2278 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2279 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2280 } VkPhysicalDeviceType;
2282 typedef enum VkQueryType {
2283 VK_QUERY_TYPE_OCCLUSION = 0,
2284 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2285 VK_QUERY_TYPE_TIMESTAMP = 2,
2286 #ifdef VK_ENABLE_BETA_EXTENSIONS
2287 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2289 #ifdef VK_ENABLE_BETA_EXTENSIONS
2290 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2292 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2293 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2294 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2295 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2296 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2297 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2298 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2301 typedef enum VkSharingMode {
2302 VK_SHARING_MODE_EXCLUSIVE = 0,
2303 VK_SHARING_MODE_CONCURRENT = 1,
2304 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2307 typedef enum VkComponentSwizzle {
2308 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2309 VK_COMPONENT_SWIZZLE_ZERO = 1,
2310 VK_COMPONENT_SWIZZLE_ONE = 2,
2311 VK_COMPONENT_SWIZZLE_R = 3,
2312 VK_COMPONENT_SWIZZLE_G = 4,
2313 VK_COMPONENT_SWIZZLE_B = 5,
2314 VK_COMPONENT_SWIZZLE_A = 6,
2315 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2316 } VkComponentSwizzle;
2318 typedef enum VkImageViewType {
2319 VK_IMAGE_VIEW_TYPE_1D = 0,
2320 VK_IMAGE_VIEW_TYPE_2D = 1,
2321 VK_IMAGE_VIEW_TYPE_3D = 2,
2322 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2323 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2324 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2325 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2326 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2329 typedef enum VkBlendFactor {
2330 VK_BLEND_FACTOR_ZERO = 0,
2331 VK_BLEND_FACTOR_ONE = 1,
2332 VK_BLEND_FACTOR_SRC_COLOR = 2,
2333 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2334 VK_BLEND_FACTOR_DST_COLOR = 4,
2335 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2336 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2337 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2338 VK_BLEND_FACTOR_DST_ALPHA = 8,
2339 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2340 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2341 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2342 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2343 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2344 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2345 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2346 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2347 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2348 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2349 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2352 typedef enum VkBlendOp {
2353 VK_BLEND_OP_ADD = 0,
2354 VK_BLEND_OP_SUBTRACT = 1,
2355 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2356 VK_BLEND_OP_MIN = 3,
2357 VK_BLEND_OP_MAX = 4,
2358 VK_BLEND_OP_ZERO_EXT = 1000148000,
2359 VK_BLEND_OP_SRC_EXT = 1000148001,
2360 VK_BLEND_OP_DST_EXT = 1000148002,
2361 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2362 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2363 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2364 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2365 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2366 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2367 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2368 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2369 VK_BLEND_OP_XOR_EXT = 1000148011,
2370 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2371 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2372 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2373 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2374 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2375 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2376 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2377 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2378 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2379 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2380 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2381 VK_BLEND_OP_INVERT_EXT = 1000148023,
2382 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2383 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2384 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2385 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2386 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2387 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2388 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2389 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2390 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2391 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2392 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2393 VK_BLEND_OP_PLUS_EXT = 1000148035,
2394 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2395 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2396 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2397 VK_BLEND_OP_MINUS_EXT = 1000148039,
2398 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2399 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2400 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2401 VK_BLEND_OP_RED_EXT = 1000148043,
2402 VK_BLEND_OP_GREEN_EXT = 1000148044,
2403 VK_BLEND_OP_BLUE_EXT = 1000148045,
2404 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2407 typedef enum VkCompareOp {
2408 VK_COMPARE_OP_NEVER = 0,
2409 VK_COMPARE_OP_LESS = 1,
2410 VK_COMPARE_OP_EQUAL = 2,
2411 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2412 VK_COMPARE_OP_GREATER = 4,
2413 VK_COMPARE_OP_NOT_EQUAL = 5,
2414 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2415 VK_COMPARE_OP_ALWAYS = 7,
2416 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2419 typedef enum VkDynamicState {
2420 VK_DYNAMIC_STATE_VIEWPORT = 0,
2421 VK_DYNAMIC_STATE_SCISSOR = 1,
2422 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2423 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2424 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2425 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2426 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2427 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2428 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2429 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2430 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2431 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2432 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2433 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2434 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2435 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2436 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2437 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2438 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
2439 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
2440 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
2441 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
2442 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
2443 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
2444 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
2445 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
2446 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
2447 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
2448 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
2449 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
2450 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2451 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2452 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
2453 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
2454 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2455 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
2456 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2457 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2460 typedef enum VkFrontFace {
2461 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2462 VK_FRONT_FACE_CLOCKWISE = 1,
2463 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2466 typedef enum VkVertexInputRate {
2467 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2468 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2469 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2470 } VkVertexInputRate;
2472 typedef enum VkPrimitiveTopology {
2473 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2474 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2475 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2476 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2477 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2478 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2479 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2480 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2481 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2482 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2483 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2484 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2485 } VkPrimitiveTopology;
2487 typedef enum VkPolygonMode {
2488 VK_POLYGON_MODE_FILL = 0,
2489 VK_POLYGON_MODE_LINE = 1,
2490 VK_POLYGON_MODE_POINT = 2,
2491 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2492 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2495 typedef enum VkStencilOp {
2496 VK_STENCIL_OP_KEEP = 0,
2497 VK_STENCIL_OP_ZERO = 1,
2498 VK_STENCIL_OP_REPLACE = 2,
2499 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2500 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2501 VK_STENCIL_OP_INVERT = 5,
2502 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2503 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2504 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2507 typedef enum VkLogicOp {
2508 VK_LOGIC_OP_CLEAR = 0,
2509 VK_LOGIC_OP_AND = 1,
2510 VK_LOGIC_OP_AND_REVERSE = 2,
2511 VK_LOGIC_OP_COPY = 3,
2512 VK_LOGIC_OP_AND_INVERTED = 4,
2513 VK_LOGIC_OP_NO_OP = 5,
2514 VK_LOGIC_OP_XOR = 6,
2516 VK_LOGIC_OP_NOR = 8,
2517 VK_LOGIC_OP_EQUIVALENT = 9,
2518 VK_LOGIC_OP_INVERT = 10,
2519 VK_LOGIC_OP_OR_REVERSE = 11,
2520 VK_LOGIC_OP_COPY_INVERTED = 12,
2521 VK_LOGIC_OP_OR_INVERTED = 13,
2522 VK_LOGIC_OP_NAND = 14,
2523 VK_LOGIC_OP_SET = 15,
2524 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2527 typedef enum VkBorderColor {
2528 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2529 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2530 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2531 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2532 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2533 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2534 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2535 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2536 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2539 typedef enum VkFilter {
2540 VK_FILTER_NEAREST = 0,
2541 VK_FILTER_LINEAR = 1,
2542 VK_FILTER_CUBIC_IMG = 1000015000,
2543 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2544 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2547 typedef enum VkSamplerAddressMode {
2548 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2549 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2550 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2551 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2552 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2553 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2554 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2555 } VkSamplerAddressMode;
2557 typedef enum VkSamplerMipmapMode {
2558 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2559 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2560 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2561 } VkSamplerMipmapMode;
2563 typedef enum VkDescriptorType {
2564 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2565 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2566 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2567 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2568 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2569 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2570 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2571 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2572 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2573 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2574 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2575 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
2576 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2577 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2578 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2579 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2582 typedef enum VkAttachmentLoadOp {
2583 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2584 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2585 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2586 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2587 } VkAttachmentLoadOp;
2589 typedef enum VkAttachmentStoreOp {
2590 VK_ATTACHMENT_STORE_OP_STORE = 0,
2591 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2592 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
2593 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2594 } VkAttachmentStoreOp;
2596 typedef enum VkPipelineBindPoint {
2597 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2598 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2599 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2600 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2601 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2602 } VkPipelineBindPoint;
2604 typedef enum VkCommandBufferLevel {
2605 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2606 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2607 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2608 } VkCommandBufferLevel;
2610 typedef enum VkIndexType {
2611 VK_INDEX_TYPE_UINT16 = 0,
2612 VK_INDEX_TYPE_UINT32 = 1,
2613 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2614 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2615 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2616 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2619 typedef enum VkSubpassContents {
2620 VK_SUBPASS_CONTENTS_INLINE = 0,
2621 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2622 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2623 } VkSubpassContents;
2625 typedef enum VkAccessFlagBits {
2626 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2627 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2628 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2629 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2630 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2631 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2632 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2633 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2634 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2635 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2636 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2637 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2638 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2639 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2640 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2641 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2642 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2643 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2644 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2645 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2646 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2647 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2648 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2649 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2650 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000,
2651 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2652 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2653 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2654 VK_ACCESS_NONE_KHR = 0,
2655 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2656 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2657 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV,
2658 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2660 typedef VkFlags VkAccessFlags;
2662 typedef enum VkImageAspectFlagBits {
2663 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2664 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2665 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2666 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2667 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2668 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2669 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2670 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2671 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2672 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2673 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2674 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2675 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2676 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2677 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2678 } VkImageAspectFlagBits;
2679 typedef VkFlags VkImageAspectFlags;
2681 typedef enum VkFormatFeatureFlagBits {
2682 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2683 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2684 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2685 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2686 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2687 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2688 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2689 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2690 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2691 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2692 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2693 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2694 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2695 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2696 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2697 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2698 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2699 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2700 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2701 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2702 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2703 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2704 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2705 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2706 #ifdef VK_ENABLE_BETA_EXTENSIONS
2707 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2709 #ifdef VK_ENABLE_BETA_EXTENSIONS
2710 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2712 #ifdef VK_ENABLE_BETA_EXTENSIONS
2713 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2715 #ifdef VK_ENABLE_BETA_EXTENSIONS
2716 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2718 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2719 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2720 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2721 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2722 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2723 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2724 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2725 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2726 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2727 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2728 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,
2729 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2730 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2731 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2732 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2733 } VkFormatFeatureFlagBits;
2734 typedef VkFlags VkFormatFeatureFlags;
2736 typedef enum VkImageCreateFlagBits {
2737 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2738 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2739 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2740 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2741 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2742 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2743 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2744 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2745 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2746 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2747 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2748 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2749 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2750 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2751 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2752 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2753 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2754 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2755 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2756 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2757 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2758 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2759 } VkImageCreateFlagBits;
2760 typedef VkFlags VkImageCreateFlags;
2762 typedef enum VkSampleCountFlagBits {
2763 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2764 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2765 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2766 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2767 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2768 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2769 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2770 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2771 } VkSampleCountFlagBits;
2772 typedef VkFlags VkSampleCountFlags;
2774 typedef enum VkImageUsageFlagBits {
2775 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2776 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2777 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2778 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2779 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2780 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2781 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2782 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2783 #ifdef VK_ENABLE_BETA_EXTENSIONS
2784 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2786 #ifdef VK_ENABLE_BETA_EXTENSIONS
2787 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2789 #ifdef VK_ENABLE_BETA_EXTENSIONS
2790 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2792 #ifdef VK_ENABLE_BETA_EXTENSIONS
2793 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2795 #ifdef VK_ENABLE_BETA_EXTENSIONS
2796 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2798 #ifdef VK_ENABLE_BETA_EXTENSIONS
2799 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2801 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00000100,
2802 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2803 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV,
2804 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2805 } VkImageUsageFlagBits;
2806 typedef VkFlags VkImageUsageFlags;
2807 typedef VkFlags VkInstanceCreateFlags;
2809 typedef enum VkMemoryHeapFlagBits {
2810 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2811 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2812 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2813 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2814 } VkMemoryHeapFlagBits;
2815 typedef VkFlags VkMemoryHeapFlags;
2817 typedef enum VkMemoryPropertyFlagBits {
2818 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2819 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2820 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2821 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2822 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2823 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2824 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2825 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2826 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2827 } VkMemoryPropertyFlagBits;
2828 typedef VkFlags VkMemoryPropertyFlags;
2830 typedef enum VkQueueFlagBits {
2831 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2832 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2833 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2834 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2835 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2836 #ifdef VK_ENABLE_BETA_EXTENSIONS
2837 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2839 #ifdef VK_ENABLE_BETA_EXTENSIONS
2840 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2842 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2844 typedef VkFlags VkQueueFlags;
2845 typedef VkFlags VkDeviceCreateFlags;
2847 typedef enum VkDeviceQueueCreateFlagBits {
2848 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2849 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2850 } VkDeviceQueueCreateFlagBits;
2851 typedef VkFlags VkDeviceQueueCreateFlags;
2853 typedef enum VkPipelineStageFlagBits {
2854 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2855 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2856 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2857 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2858 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2859 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2860 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2861 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2862 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2863 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2864 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2865 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2866 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2867 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2868 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2869 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2870 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2871 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2872 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2873 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2874 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2875 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = 0x00400000,
2876 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2877 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2878 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2879 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2880 VK_PIPELINE_STAGE_NONE_KHR = 0,
2881 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2882 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2883 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV,
2884 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2885 } VkPipelineStageFlagBits;
2886 typedef VkFlags VkPipelineStageFlags;
2887 typedef VkFlags VkMemoryMapFlags;
2889 typedef enum VkSparseMemoryBindFlagBits {
2890 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2891 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2892 } VkSparseMemoryBindFlagBits;
2893 typedef VkFlags VkSparseMemoryBindFlags;
2895 typedef enum VkSparseImageFormatFlagBits {
2896 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2897 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2898 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2899 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2900 } VkSparseImageFormatFlagBits;
2901 typedef VkFlags VkSparseImageFormatFlags;
2903 typedef enum VkFenceCreateFlagBits {
2904 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2905 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2906 } VkFenceCreateFlagBits;
2907 typedef VkFlags VkFenceCreateFlags;
2908 typedef VkFlags VkSemaphoreCreateFlags;
2910 typedef enum VkEventCreateFlagBits {
2911 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2912 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2913 } VkEventCreateFlagBits;
2914 typedef VkFlags VkEventCreateFlags;
2916 typedef enum VkQueryPipelineStatisticFlagBits {
2917 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2918 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2919 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2920 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2921 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2922 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2923 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2924 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2925 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2926 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2927 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2928 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2929 } VkQueryPipelineStatisticFlagBits;
2930 typedef VkFlags VkQueryPipelineStatisticFlags;
2931 typedef VkFlags VkQueryPoolCreateFlags;
2933 typedef enum VkQueryResultFlagBits {
2934 VK_QUERY_RESULT_64_BIT = 0x00000001,
2935 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2936 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2937 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2938 #ifdef VK_ENABLE_BETA_EXTENSIONS
2939 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2941 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2942 } VkQueryResultFlagBits;
2943 typedef VkFlags VkQueryResultFlags;
2945 typedef enum VkBufferCreateFlagBits {
2946 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2947 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2948 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2949 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2950 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2951 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2952 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2953 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2954 } VkBufferCreateFlagBits;
2955 typedef VkFlags VkBufferCreateFlags;
2957 typedef enum VkBufferUsageFlagBits {
2958 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2959 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2960 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2961 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2962 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2963 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2964 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2965 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2966 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2967 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2968 #ifdef VK_ENABLE_BETA_EXTENSIONS
2969 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2971 #ifdef VK_ENABLE_BETA_EXTENSIONS
2972 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2974 #ifdef VK_ENABLE_BETA_EXTENSIONS
2975 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2977 #ifdef VK_ENABLE_BETA_EXTENSIONS
2978 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2980 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2981 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2982 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2983 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2984 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
2985 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
2986 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
2987 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2988 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
2989 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2990 } VkBufferUsageFlagBits;
2991 typedef VkFlags VkBufferUsageFlags;
2992 typedef VkFlags VkBufferViewCreateFlags;
2994 typedef enum VkImageViewCreateFlagBits {
2995 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
2996 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
2997 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2998 } VkImageViewCreateFlagBits;
2999 typedef VkFlags VkImageViewCreateFlags;
3001 typedef enum VkShaderModuleCreateFlagBits {
3002 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3003 } VkShaderModuleCreateFlagBits;
3004 typedef VkFlags VkShaderModuleCreateFlags;
3006 typedef enum VkPipelineCacheCreateFlagBits {
3007 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
3008 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3009 } VkPipelineCacheCreateFlagBits;
3010 typedef VkFlags VkPipelineCacheCreateFlags;
3012 typedef enum VkColorComponentFlagBits {
3013 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3014 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3015 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3016 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3017 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3018 } VkColorComponentFlagBits;
3019 typedef VkFlags VkColorComponentFlags;
3021 typedef enum VkPipelineCreateFlagBits {
3022 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3023 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3024 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3025 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3026 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3027 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3028 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3029 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3030 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3031 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3032 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3033 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3034 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3035 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3036 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3037 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3038 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3039 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
3040 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
3041 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3042 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3043 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3044 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3045 } VkPipelineCreateFlagBits;
3046 typedef VkFlags VkPipelineCreateFlags;
3048 typedef enum VkPipelineShaderStageCreateFlagBits {
3049 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
3050 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
3051 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3052 } VkPipelineShaderStageCreateFlagBits;
3053 typedef VkFlags VkPipelineShaderStageCreateFlags;
3055 typedef enum VkShaderStageFlagBits {
3056 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3057 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3058 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3059 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3060 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3061 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3062 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3063 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3064 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3065 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3066 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3067 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3068 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3069 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3070 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3071 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3072 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3073 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3074 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3075 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3076 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3077 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3078 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3079 } VkShaderStageFlagBits;
3081 typedef enum VkCullModeFlagBits {
3082 VK_CULL_MODE_NONE = 0,
3083 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3084 VK_CULL_MODE_BACK_BIT = 0x00000002,
3085 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3086 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3087 } VkCullModeFlagBits;
3088 typedef VkFlags VkCullModeFlags;
3089 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3090 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3091 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3092 typedef VkFlags VkPipelineViewportStateCreateFlags;
3093 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3094 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3095 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3096 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3097 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3098 typedef VkFlags VkPipelineLayoutCreateFlags;
3099 typedef VkFlags VkShaderStageFlags;
3101 typedef enum VkSamplerCreateFlagBits {
3102 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3103 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3104 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3105 } VkSamplerCreateFlagBits;
3106 typedef VkFlags VkSamplerCreateFlags;
3108 typedef enum VkDescriptorPoolCreateFlagBits {
3109 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3110 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3111 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3112 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3113 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3114 } VkDescriptorPoolCreateFlagBits;
3115 typedef VkFlags VkDescriptorPoolCreateFlags;
3116 typedef VkFlags VkDescriptorPoolResetFlags;
3118 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3119 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3120 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3121 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3122 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3123 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3124 } VkDescriptorSetLayoutCreateFlagBits;
3125 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3127 typedef enum VkAttachmentDescriptionFlagBits {
3128 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3129 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3130 } VkAttachmentDescriptionFlagBits;
3131 typedef VkFlags VkAttachmentDescriptionFlags;
3133 typedef enum VkDependencyFlagBits {
3134 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3135 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3136 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3137 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3138 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3139 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3140 } VkDependencyFlagBits;
3141 typedef VkFlags VkDependencyFlags;
3143 typedef enum VkFramebufferCreateFlagBits {
3144 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3145 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3146 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3147 } VkFramebufferCreateFlagBits;
3148 typedef VkFlags VkFramebufferCreateFlags;
3150 typedef enum VkRenderPassCreateFlagBits {
3151 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3152 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3153 } VkRenderPassCreateFlagBits;
3154 typedef VkFlags VkRenderPassCreateFlags;
3156 typedef enum VkSubpassDescriptionFlagBits {
3157 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3158 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3159 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3160 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3161 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3162 } VkSubpassDescriptionFlagBits;
3163 typedef VkFlags VkSubpassDescriptionFlags;
3165 typedef enum VkCommandPoolCreateFlagBits {
3166 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3167 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3168 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3169 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3170 } VkCommandPoolCreateFlagBits;
3171 typedef VkFlags VkCommandPoolCreateFlags;
3173 typedef enum VkCommandPoolResetFlagBits {
3174 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3175 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3176 } VkCommandPoolResetFlagBits;
3177 typedef VkFlags VkCommandPoolResetFlags;
3179 typedef enum VkCommandBufferUsageFlagBits {
3180 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3181 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3182 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3183 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3184 } VkCommandBufferUsageFlagBits;
3185 typedef VkFlags VkCommandBufferUsageFlags;
3187 typedef enum VkQueryControlFlagBits {
3188 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3189 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3190 } VkQueryControlFlagBits;
3191 typedef VkFlags VkQueryControlFlags;
3193 typedef enum VkCommandBufferResetFlagBits {
3194 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3195 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3196 } VkCommandBufferResetFlagBits;
3197 typedef VkFlags VkCommandBufferResetFlags;
3199 typedef enum VkStencilFaceFlagBits {
3200 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3201 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3202 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3203 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3204 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3205 } VkStencilFaceFlagBits;
3206 typedef VkFlags VkStencilFaceFlags;
3207 typedef struct VkExtent2D {
3212 typedef struct VkExtent3D {
3218 typedef struct VkOffset2D {
3223 typedef struct VkOffset3D {
3229 typedef struct VkRect2D {
3234 typedef struct VkBaseInStructure {
3235 VkStructureType sType;
3236 const struct VkBaseInStructure* pNext;
3237 } VkBaseInStructure;
3239 typedef struct VkBaseOutStructure {
3240 VkStructureType sType;
3241 struct VkBaseOutStructure* pNext;
3242 } VkBaseOutStructure;
3244 typedef struct VkBufferMemoryBarrier {
3245 VkStructureType sType;
3247 VkAccessFlags srcAccessMask;
3248 VkAccessFlags dstAccessMask;
3249 deUint32 srcQueueFamilyIndex;
3250 deUint32 dstQueueFamilyIndex;
3252 VkDeviceSize offset;
3254 } VkBufferMemoryBarrier;
3256 typedef struct VkDispatchIndirectCommand {
3260 } VkDispatchIndirectCommand;
3262 typedef struct VkDrawIndexedIndirectCommand {
3263 deUint32 indexCount;
3264 deUint32 instanceCount;
3265 deUint32 firstIndex;
3266 deInt32 vertexOffset;
3267 deUint32 firstInstance;
3268 } VkDrawIndexedIndirectCommand;
3270 typedef struct VkDrawIndirectCommand {
3271 deUint32 vertexCount;
3272 deUint32 instanceCount;
3273 deUint32 firstVertex;
3274 deUint32 firstInstance;
3275 } VkDrawIndirectCommand;
3277 typedef struct VkImageSubresourceRange {
3278 VkImageAspectFlags aspectMask;
3279 deUint32 baseMipLevel;
3280 deUint32 levelCount;
3281 deUint32 baseArrayLayer;
3282 deUint32 layerCount;
3283 } VkImageSubresourceRange;
3285 typedef struct VkImageMemoryBarrier {
3286 VkStructureType sType;
3288 VkAccessFlags srcAccessMask;
3289 VkAccessFlags dstAccessMask;
3290 VkImageLayout oldLayout;
3291 VkImageLayout newLayout;
3292 deUint32 srcQueueFamilyIndex;
3293 deUint32 dstQueueFamilyIndex;
3295 VkImageSubresourceRange subresourceRange;
3296 } VkImageMemoryBarrier;
3298 typedef struct VkMemoryBarrier {
3299 VkStructureType sType;
3301 VkAccessFlags srcAccessMask;
3302 VkAccessFlags dstAccessMask;
3305 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3308 deUintptr alignment,
3309 VkSystemAllocationScope allocationScope);
3311 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3315 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3318 VkInternalAllocationType allocationType,
3319 VkSystemAllocationScope allocationScope);
3321 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3324 VkInternalAllocationType allocationType,
3325 VkSystemAllocationScope allocationScope);
3327 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3331 deUintptr alignment,
3332 VkSystemAllocationScope allocationScope);
3334 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3335 typedef struct VkAllocationCallbacks {
3337 PFN_vkAllocationFunction pfnAllocation;
3338 PFN_vkReallocationFunction pfnReallocation;
3339 PFN_vkFreeFunction pfnFree;
3340 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3341 PFN_vkInternalFreeNotification pfnInternalFree;
3342 } VkAllocationCallbacks;
3344 typedef struct VkApplicationInfo {
3345 VkStructureType sType;
3347 const char* pApplicationName;
3348 deUint32 applicationVersion;
3349 const char* pEngineName;
3350 deUint32 engineVersion;
3351 deUint32 apiVersion;
3352 } VkApplicationInfo;
3354 typedef struct VkFormatProperties {
3355 VkFormatFeatureFlags linearTilingFeatures;
3356 VkFormatFeatureFlags optimalTilingFeatures;
3357 VkFormatFeatureFlags bufferFeatures;
3358 } VkFormatProperties;
3360 typedef struct VkImageFormatProperties {
3361 VkExtent3D maxExtent;
3362 deUint32 maxMipLevels;
3363 deUint32 maxArrayLayers;
3364 VkSampleCountFlags sampleCounts;
3365 VkDeviceSize maxResourceSize;
3366 } VkImageFormatProperties;
3368 typedef struct VkInstanceCreateInfo {
3369 VkStructureType sType;
3371 VkInstanceCreateFlags flags;
3372 const VkApplicationInfo* pApplicationInfo;
3373 deUint32 enabledLayerCount;
3374 const char* const* ppEnabledLayerNames;
3375 deUint32 enabledExtensionCount;
3376 const char* const* ppEnabledExtensionNames;
3377 } VkInstanceCreateInfo;
3379 typedef struct VkMemoryHeap {
3381 VkMemoryHeapFlags flags;
3384 typedef struct VkMemoryType {
3385 VkMemoryPropertyFlags propertyFlags;
3389 typedef struct VkPhysicalDeviceFeatures {
3390 VkBool32 robustBufferAccess;
3391 VkBool32 fullDrawIndexUint32;
3392 VkBool32 imageCubeArray;
3393 VkBool32 independentBlend;
3394 VkBool32 geometryShader;
3395 VkBool32 tessellationShader;
3396 VkBool32 sampleRateShading;
3397 VkBool32 dualSrcBlend;
3399 VkBool32 multiDrawIndirect;
3400 VkBool32 drawIndirectFirstInstance;
3401 VkBool32 depthClamp;
3402 VkBool32 depthBiasClamp;
3403 VkBool32 fillModeNonSolid;
3404 VkBool32 depthBounds;
3406 VkBool32 largePoints;
3407 VkBool32 alphaToOne;
3408 VkBool32 multiViewport;
3409 VkBool32 samplerAnisotropy;
3410 VkBool32 textureCompressionETC2;
3411 VkBool32 textureCompressionASTC_LDR;
3412 VkBool32 textureCompressionBC;
3413 VkBool32 occlusionQueryPrecise;
3414 VkBool32 pipelineStatisticsQuery;
3415 VkBool32 vertexPipelineStoresAndAtomics;
3416 VkBool32 fragmentStoresAndAtomics;
3417 VkBool32 shaderTessellationAndGeometryPointSize;
3418 VkBool32 shaderImageGatherExtended;
3419 VkBool32 shaderStorageImageExtendedFormats;
3420 VkBool32 shaderStorageImageMultisample;
3421 VkBool32 shaderStorageImageReadWithoutFormat;
3422 VkBool32 shaderStorageImageWriteWithoutFormat;
3423 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3424 VkBool32 shaderSampledImageArrayDynamicIndexing;
3425 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3426 VkBool32 shaderStorageImageArrayDynamicIndexing;
3427 VkBool32 shaderClipDistance;
3428 VkBool32 shaderCullDistance;
3429 VkBool32 shaderFloat64;
3430 VkBool32 shaderInt64;
3431 VkBool32 shaderInt16;
3432 VkBool32 shaderResourceResidency;
3433 VkBool32 shaderResourceMinLod;
3434 VkBool32 sparseBinding;
3435 VkBool32 sparseResidencyBuffer;
3436 VkBool32 sparseResidencyImage2D;
3437 VkBool32 sparseResidencyImage3D;
3438 VkBool32 sparseResidency2Samples;
3439 VkBool32 sparseResidency4Samples;
3440 VkBool32 sparseResidency8Samples;
3441 VkBool32 sparseResidency16Samples;
3442 VkBool32 sparseResidencyAliased;
3443 VkBool32 variableMultisampleRate;
3444 VkBool32 inheritedQueries;
3445 } VkPhysicalDeviceFeatures;
3447 typedef struct VkPhysicalDeviceLimits {
3448 deUint32 maxImageDimension1D;
3449 deUint32 maxImageDimension2D;
3450 deUint32 maxImageDimension3D;
3451 deUint32 maxImageDimensionCube;
3452 deUint32 maxImageArrayLayers;
3453 deUint32 maxTexelBufferElements;
3454 deUint32 maxUniformBufferRange;
3455 deUint32 maxStorageBufferRange;
3456 deUint32 maxPushConstantsSize;
3457 deUint32 maxMemoryAllocationCount;
3458 deUint32 maxSamplerAllocationCount;
3459 VkDeviceSize bufferImageGranularity;
3460 VkDeviceSize sparseAddressSpaceSize;
3461 deUint32 maxBoundDescriptorSets;
3462 deUint32 maxPerStageDescriptorSamplers;
3463 deUint32 maxPerStageDescriptorUniformBuffers;
3464 deUint32 maxPerStageDescriptorStorageBuffers;
3465 deUint32 maxPerStageDescriptorSampledImages;
3466 deUint32 maxPerStageDescriptorStorageImages;
3467 deUint32 maxPerStageDescriptorInputAttachments;
3468 deUint32 maxPerStageResources;
3469 deUint32 maxDescriptorSetSamplers;
3470 deUint32 maxDescriptorSetUniformBuffers;
3471 deUint32 maxDescriptorSetUniformBuffersDynamic;
3472 deUint32 maxDescriptorSetStorageBuffers;
3473 deUint32 maxDescriptorSetStorageBuffersDynamic;
3474 deUint32 maxDescriptorSetSampledImages;
3475 deUint32 maxDescriptorSetStorageImages;
3476 deUint32 maxDescriptorSetInputAttachments;
3477 deUint32 maxVertexInputAttributes;
3478 deUint32 maxVertexInputBindings;
3479 deUint32 maxVertexInputAttributeOffset;
3480 deUint32 maxVertexInputBindingStride;
3481 deUint32 maxVertexOutputComponents;
3482 deUint32 maxTessellationGenerationLevel;
3483 deUint32 maxTessellationPatchSize;
3484 deUint32 maxTessellationControlPerVertexInputComponents;
3485 deUint32 maxTessellationControlPerVertexOutputComponents;
3486 deUint32 maxTessellationControlPerPatchOutputComponents;
3487 deUint32 maxTessellationControlTotalOutputComponents;
3488 deUint32 maxTessellationEvaluationInputComponents;
3489 deUint32 maxTessellationEvaluationOutputComponents;
3490 deUint32 maxGeometryShaderInvocations;
3491 deUint32 maxGeometryInputComponents;
3492 deUint32 maxGeometryOutputComponents;
3493 deUint32 maxGeometryOutputVertices;
3494 deUint32 maxGeometryTotalOutputComponents;
3495 deUint32 maxFragmentInputComponents;
3496 deUint32 maxFragmentOutputAttachments;
3497 deUint32 maxFragmentDualSrcAttachments;
3498 deUint32 maxFragmentCombinedOutputResources;
3499 deUint32 maxComputeSharedMemorySize;
3500 deUint32 maxComputeWorkGroupCount[3];
3501 deUint32 maxComputeWorkGroupInvocations;
3502 deUint32 maxComputeWorkGroupSize[3];
3503 deUint32 subPixelPrecisionBits;
3504 deUint32 subTexelPrecisionBits;
3505 deUint32 mipmapPrecisionBits;
3506 deUint32 maxDrawIndexedIndexValue;
3507 deUint32 maxDrawIndirectCount;
3508 float maxSamplerLodBias;
3509 float maxSamplerAnisotropy;
3510 deUint32 maxViewports;
3511 deUint32 maxViewportDimensions[2];
3512 float viewportBoundsRange[2];
3513 deUint32 viewportSubPixelBits;
3514 deUintptr minMemoryMapAlignment;
3515 VkDeviceSize minTexelBufferOffsetAlignment;
3516 VkDeviceSize minUniformBufferOffsetAlignment;
3517 VkDeviceSize minStorageBufferOffsetAlignment;
3518 deInt32 minTexelOffset;
3519 deUint32 maxTexelOffset;
3520 deInt32 minTexelGatherOffset;
3521 deUint32 maxTexelGatherOffset;
3522 float minInterpolationOffset;
3523 float maxInterpolationOffset;
3524 deUint32 subPixelInterpolationOffsetBits;
3525 deUint32 maxFramebufferWidth;
3526 deUint32 maxFramebufferHeight;
3527 deUint32 maxFramebufferLayers;
3528 VkSampleCountFlags framebufferColorSampleCounts;
3529 VkSampleCountFlags framebufferDepthSampleCounts;
3530 VkSampleCountFlags framebufferStencilSampleCounts;
3531 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3532 deUint32 maxColorAttachments;
3533 VkSampleCountFlags sampledImageColorSampleCounts;
3534 VkSampleCountFlags sampledImageIntegerSampleCounts;
3535 VkSampleCountFlags sampledImageDepthSampleCounts;
3536 VkSampleCountFlags sampledImageStencilSampleCounts;
3537 VkSampleCountFlags storageImageSampleCounts;
3538 deUint32 maxSampleMaskWords;
3539 VkBool32 timestampComputeAndGraphics;
3540 float timestampPeriod;
3541 deUint32 maxClipDistances;
3542 deUint32 maxCullDistances;
3543 deUint32 maxCombinedClipAndCullDistances;
3544 deUint32 discreteQueuePriorities;
3545 float pointSizeRange[2];
3546 float lineWidthRange[2];
3547 float pointSizeGranularity;
3548 float lineWidthGranularity;
3549 VkBool32 strictLines;
3550 VkBool32 standardSampleLocations;
3551 VkDeviceSize optimalBufferCopyOffsetAlignment;
3552 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3553 VkDeviceSize nonCoherentAtomSize;
3554 } VkPhysicalDeviceLimits;
3556 typedef struct VkPhysicalDeviceMemoryProperties {
3557 deUint32 memoryTypeCount;
3558 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3559 deUint32 memoryHeapCount;
3560 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3561 } VkPhysicalDeviceMemoryProperties;
3563 typedef struct VkPhysicalDeviceSparseProperties {
3564 VkBool32 residencyStandard2DBlockShape;
3565 VkBool32 residencyStandard2DMultisampleBlockShape;
3566 VkBool32 residencyStandard3DBlockShape;
3567 VkBool32 residencyAlignedMipSize;
3568 VkBool32 residencyNonResidentStrict;
3569 } VkPhysicalDeviceSparseProperties;
3571 typedef struct VkPhysicalDeviceProperties {
3572 deUint32 apiVersion;
3573 deUint32 driverVersion;
3576 VkPhysicalDeviceType deviceType;
3577 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3578 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3579 VkPhysicalDeviceLimits limits;
3580 VkPhysicalDeviceSparseProperties sparseProperties;
3581 } VkPhysicalDeviceProperties;
3583 typedef struct VkQueueFamilyProperties {
3584 VkQueueFlags queueFlags;
3585 deUint32 queueCount;
3586 deUint32 timestampValidBits;
3587 VkExtent3D minImageTransferGranularity;
3588 } VkQueueFamilyProperties;
3590 typedef struct VkDeviceQueueCreateInfo {
3591 VkStructureType sType;
3593 VkDeviceQueueCreateFlags flags;
3594 deUint32 queueFamilyIndex;
3595 deUint32 queueCount;
3596 const float* pQueuePriorities;
3597 } VkDeviceQueueCreateInfo;
3599 typedef struct VkDeviceCreateInfo {
3600 VkStructureType sType;
3602 VkDeviceCreateFlags flags;
3603 deUint32 queueCreateInfoCount;
3604 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3605 deUint32 enabledLayerCount;
3606 const char* const* ppEnabledLayerNames;
3607 deUint32 enabledExtensionCount;
3608 const char* const* ppEnabledExtensionNames;
3609 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3610 } VkDeviceCreateInfo;
3612 typedef struct VkExtensionProperties {
3613 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3614 deUint32 specVersion;
3615 } VkExtensionProperties;
3617 typedef struct VkLayerProperties {
3618 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3619 deUint32 specVersion;
3620 deUint32 implementationVersion;
3621 char description[VK_MAX_DESCRIPTION_SIZE];
3622 } VkLayerProperties;
3624 typedef struct VkSubmitInfo {
3625 VkStructureType sType;
3627 deUint32 waitSemaphoreCount;
3628 const VkSemaphore* pWaitSemaphores;
3629 const VkPipelineStageFlags* pWaitDstStageMask;
3630 deUint32 commandBufferCount;
3631 const VkCommandBuffer* pCommandBuffers;
3632 deUint32 signalSemaphoreCount;
3633 const VkSemaphore* pSignalSemaphores;
3636 typedef struct VkMappedMemoryRange {
3637 VkStructureType sType;
3639 VkDeviceMemory memory;
3640 VkDeviceSize offset;
3642 } VkMappedMemoryRange;
3644 typedef struct VkMemoryAllocateInfo {
3645 VkStructureType sType;
3647 VkDeviceSize allocationSize;
3648 deUint32 memoryTypeIndex;
3649 } VkMemoryAllocateInfo;
3651 typedef struct VkMemoryRequirements {
3653 VkDeviceSize alignment;
3654 deUint32 memoryTypeBits;
3655 } VkMemoryRequirements;
3657 typedef struct VkSparseMemoryBind {
3658 VkDeviceSize resourceOffset;
3660 VkDeviceMemory memory;
3661 VkDeviceSize memoryOffset;
3662 VkSparseMemoryBindFlags flags;
3663 } VkSparseMemoryBind;
3665 typedef struct VkSparseBufferMemoryBindInfo {
3668 const VkSparseMemoryBind* pBinds;
3669 } VkSparseBufferMemoryBindInfo;
3671 typedef struct VkSparseImageOpaqueMemoryBindInfo {
3674 const VkSparseMemoryBind* pBinds;
3675 } VkSparseImageOpaqueMemoryBindInfo;
3677 typedef struct VkImageSubresource {
3678 VkImageAspectFlags aspectMask;
3680 deUint32 arrayLayer;
3681 } VkImageSubresource;
3683 typedef struct VkSparseImageMemoryBind {
3684 VkImageSubresource subresource;
3687 VkDeviceMemory memory;
3688 VkDeviceSize memoryOffset;
3689 VkSparseMemoryBindFlags flags;
3690 } VkSparseImageMemoryBind;
3692 typedef struct VkSparseImageMemoryBindInfo {
3695 const VkSparseImageMemoryBind* pBinds;
3696 } VkSparseImageMemoryBindInfo;
3698 typedef struct VkBindSparseInfo {
3699 VkStructureType sType;
3701 deUint32 waitSemaphoreCount;
3702 const VkSemaphore* pWaitSemaphores;
3703 deUint32 bufferBindCount;
3704 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3705 deUint32 imageOpaqueBindCount;
3706 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3707 deUint32 imageBindCount;
3708 const VkSparseImageMemoryBindInfo* pImageBinds;
3709 deUint32 signalSemaphoreCount;
3710 const VkSemaphore* pSignalSemaphores;
3713 typedef struct VkSparseImageFormatProperties {
3714 VkImageAspectFlags aspectMask;
3715 VkExtent3D imageGranularity;
3716 VkSparseImageFormatFlags flags;
3717 } VkSparseImageFormatProperties;
3719 typedef struct VkSparseImageMemoryRequirements {
3720 VkSparseImageFormatProperties formatProperties;
3721 deUint32 imageMipTailFirstLod;
3722 VkDeviceSize imageMipTailSize;
3723 VkDeviceSize imageMipTailOffset;
3724 VkDeviceSize imageMipTailStride;
3725 } VkSparseImageMemoryRequirements;
3727 typedef struct VkFenceCreateInfo {
3728 VkStructureType sType;
3730 VkFenceCreateFlags flags;
3731 } VkFenceCreateInfo;
3733 typedef struct VkSemaphoreCreateInfo {
3734 VkStructureType sType;
3736 VkSemaphoreCreateFlags flags;
3737 } VkSemaphoreCreateInfo;
3739 typedef struct VkEventCreateInfo {
3740 VkStructureType sType;
3742 VkEventCreateFlags flags;
3743 } VkEventCreateInfo;
3745 typedef struct VkQueryPoolCreateInfo {
3746 VkStructureType sType;
3748 VkQueryPoolCreateFlags flags;
3749 VkQueryType queryType;
3750 deUint32 queryCount;
3751 VkQueryPipelineStatisticFlags pipelineStatistics;
3752 } VkQueryPoolCreateInfo;
3754 typedef struct VkBufferCreateInfo {
3755 VkStructureType sType;
3757 VkBufferCreateFlags flags;
3759 VkBufferUsageFlags usage;
3760 VkSharingMode sharingMode;
3761 deUint32 queueFamilyIndexCount;
3762 const deUint32* pQueueFamilyIndices;
3763 } VkBufferCreateInfo;
3765 typedef struct VkBufferViewCreateInfo {
3766 VkStructureType sType;
3768 VkBufferViewCreateFlags flags;
3771 VkDeviceSize offset;
3773 } VkBufferViewCreateInfo;
3775 typedef struct VkImageCreateInfo {
3776 VkStructureType sType;
3778 VkImageCreateFlags flags;
3779 VkImageType imageType;
3783 deUint32 arrayLayers;
3784 VkSampleCountFlagBits samples;
3785 VkImageTiling tiling;
3786 VkImageUsageFlags usage;
3787 VkSharingMode sharingMode;
3788 deUint32 queueFamilyIndexCount;
3789 const deUint32* pQueueFamilyIndices;
3790 VkImageLayout initialLayout;
3791 } VkImageCreateInfo;
3793 typedef struct VkSubresourceLayout {
3794 VkDeviceSize offset;
3796 VkDeviceSize rowPitch;
3797 VkDeviceSize arrayPitch;
3798 VkDeviceSize depthPitch;
3799 } VkSubresourceLayout;
3801 typedef struct VkComponentMapping {
3802 VkComponentSwizzle r;
3803 VkComponentSwizzle g;
3804 VkComponentSwizzle b;
3805 VkComponentSwizzle a;
3806 } VkComponentMapping;
3808 typedef struct VkImageViewCreateInfo {
3809 VkStructureType sType;
3811 VkImageViewCreateFlags flags;
3813 VkImageViewType viewType;
3815 VkComponentMapping components;
3816 VkImageSubresourceRange subresourceRange;
3817 } VkImageViewCreateInfo;
3819 typedef struct VkShaderModuleCreateInfo {
3820 VkStructureType sType;
3822 VkShaderModuleCreateFlags flags;
3824 const deUint32* pCode;
3825 } VkShaderModuleCreateInfo;
3827 typedef struct VkPipelineCacheCreateInfo {
3828 VkStructureType sType;
3830 VkPipelineCacheCreateFlags flags;
3831 deUintptr initialDataSize;
3832 const void* pInitialData;
3833 } VkPipelineCacheCreateInfo;
3835 typedef struct VkSpecializationMapEntry {
3836 deUint32 constantID;
3839 } VkSpecializationMapEntry;
3841 typedef struct VkSpecializationInfo {
3842 deUint32 mapEntryCount;
3843 const VkSpecializationMapEntry* pMapEntries;
3846 } VkSpecializationInfo;
3848 typedef struct VkPipelineShaderStageCreateInfo {
3849 VkStructureType sType;
3851 VkPipelineShaderStageCreateFlags flags;
3852 VkShaderStageFlagBits stage;
3853 VkShaderModule module;
3855 const VkSpecializationInfo* pSpecializationInfo;
3856 } VkPipelineShaderStageCreateInfo;
3858 typedef struct VkComputePipelineCreateInfo {
3859 VkStructureType sType;
3861 VkPipelineCreateFlags flags;
3862 VkPipelineShaderStageCreateInfo stage;
3863 VkPipelineLayout layout;
3864 VkPipeline basePipelineHandle;
3865 deInt32 basePipelineIndex;
3866 } VkComputePipelineCreateInfo;
3868 typedef struct VkVertexInputBindingDescription {
3871 VkVertexInputRate inputRate;
3872 } VkVertexInputBindingDescription;
3874 typedef struct VkVertexInputAttributeDescription {
3879 } VkVertexInputAttributeDescription;
3881 typedef struct VkPipelineVertexInputStateCreateInfo {
3882 VkStructureType sType;
3884 VkPipelineVertexInputStateCreateFlags flags;
3885 deUint32 vertexBindingDescriptionCount;
3886 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3887 deUint32 vertexAttributeDescriptionCount;
3888 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3889 } VkPipelineVertexInputStateCreateInfo;
3891 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3892 VkStructureType sType;
3894 VkPipelineInputAssemblyStateCreateFlags flags;
3895 VkPrimitiveTopology topology;
3896 VkBool32 primitiveRestartEnable;
3897 } VkPipelineInputAssemblyStateCreateInfo;
3899 typedef struct VkPipelineTessellationStateCreateInfo {
3900 VkStructureType sType;
3902 VkPipelineTessellationStateCreateFlags flags;
3903 deUint32 patchControlPoints;
3904 } VkPipelineTessellationStateCreateInfo;
3906 typedef struct VkViewport {
3915 typedef struct VkPipelineViewportStateCreateInfo {
3916 VkStructureType sType;
3918 VkPipelineViewportStateCreateFlags flags;
3919 deUint32 viewportCount;
3920 const VkViewport* pViewports;
3921 deUint32 scissorCount;
3922 const VkRect2D* pScissors;
3923 } VkPipelineViewportStateCreateInfo;
3925 typedef struct VkPipelineRasterizationStateCreateInfo {
3926 VkStructureType sType;
3928 VkPipelineRasterizationStateCreateFlags flags;
3929 VkBool32 depthClampEnable;
3930 VkBool32 rasterizerDiscardEnable;
3931 VkPolygonMode polygonMode;
3932 VkCullModeFlags cullMode;
3933 VkFrontFace frontFace;
3934 VkBool32 depthBiasEnable;
3935 float depthBiasConstantFactor;
3936 float depthBiasClamp;
3937 float depthBiasSlopeFactor;
3939 } VkPipelineRasterizationStateCreateInfo;
3941 typedef struct VkPipelineMultisampleStateCreateInfo {
3942 VkStructureType sType;
3944 VkPipelineMultisampleStateCreateFlags flags;
3945 VkSampleCountFlagBits rasterizationSamples;
3946 VkBool32 sampleShadingEnable;
3947 float minSampleShading;
3948 const VkSampleMask* pSampleMask;
3949 VkBool32 alphaToCoverageEnable;
3950 VkBool32 alphaToOneEnable;
3951 } VkPipelineMultisampleStateCreateInfo;
3953 typedef struct VkStencilOpState {
3956 VkStencilOp depthFailOp;
3957 VkCompareOp compareOp;
3958 deUint32 compareMask;
3963 typedef struct VkPipelineDepthStencilStateCreateInfo {
3964 VkStructureType sType;
3966 VkPipelineDepthStencilStateCreateFlags flags;
3967 VkBool32 depthTestEnable;
3968 VkBool32 depthWriteEnable;
3969 VkCompareOp depthCompareOp;
3970 VkBool32 depthBoundsTestEnable;
3971 VkBool32 stencilTestEnable;
3972 VkStencilOpState front;
3973 VkStencilOpState back;
3974 float minDepthBounds;
3975 float maxDepthBounds;
3976 } VkPipelineDepthStencilStateCreateInfo;
3978 typedef struct VkPipelineColorBlendAttachmentState {
3979 VkBool32 blendEnable;
3980 VkBlendFactor srcColorBlendFactor;
3981 VkBlendFactor dstColorBlendFactor;
3982 VkBlendOp colorBlendOp;
3983 VkBlendFactor srcAlphaBlendFactor;
3984 VkBlendFactor dstAlphaBlendFactor;
3985 VkBlendOp alphaBlendOp;
3986 VkColorComponentFlags colorWriteMask;
3987 } VkPipelineColorBlendAttachmentState;
3989 typedef struct VkPipelineColorBlendStateCreateInfo {
3990 VkStructureType sType;
3992 VkPipelineColorBlendStateCreateFlags flags;
3993 VkBool32 logicOpEnable;
3995 deUint32 attachmentCount;
3996 const VkPipelineColorBlendAttachmentState* pAttachments;
3997 float blendConstants[4];
3998 } VkPipelineColorBlendStateCreateInfo;
4000 typedef struct VkPipelineDynamicStateCreateInfo {
4001 VkStructureType sType;
4003 VkPipelineDynamicStateCreateFlags flags;
4004 deUint32 dynamicStateCount;
4005 const VkDynamicState* pDynamicStates;
4006 } VkPipelineDynamicStateCreateInfo;
4008 typedef struct VkGraphicsPipelineCreateInfo {
4009 VkStructureType sType;
4011 VkPipelineCreateFlags flags;
4012 deUint32 stageCount;
4013 const VkPipelineShaderStageCreateInfo* pStages;
4014 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4015 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4016 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4017 const VkPipelineViewportStateCreateInfo* pViewportState;
4018 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4019 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4020 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4021 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4022 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4023 VkPipelineLayout layout;
4024 VkRenderPass renderPass;
4026 VkPipeline basePipelineHandle;
4027 deInt32 basePipelineIndex;
4028 } VkGraphicsPipelineCreateInfo;
4030 typedef struct VkPushConstantRange {
4031 VkShaderStageFlags stageFlags;
4034 } VkPushConstantRange;
4036 typedef struct VkPipelineLayoutCreateInfo {
4037 VkStructureType sType;
4039 VkPipelineLayoutCreateFlags flags;
4040 deUint32 setLayoutCount;
4041 const VkDescriptorSetLayout* pSetLayouts;
4042 deUint32 pushConstantRangeCount;
4043 const VkPushConstantRange* pPushConstantRanges;
4044 } VkPipelineLayoutCreateInfo;
4046 typedef struct VkSamplerCreateInfo {
4047 VkStructureType sType;
4049 VkSamplerCreateFlags flags;
4052 VkSamplerMipmapMode mipmapMode;
4053 VkSamplerAddressMode addressModeU;
4054 VkSamplerAddressMode addressModeV;
4055 VkSamplerAddressMode addressModeW;
4057 VkBool32 anisotropyEnable;
4058 float maxAnisotropy;
4059 VkBool32 compareEnable;
4060 VkCompareOp compareOp;
4063 VkBorderColor borderColor;
4064 VkBool32 unnormalizedCoordinates;
4065 } VkSamplerCreateInfo;
4067 typedef struct VkCopyDescriptorSet {
4068 VkStructureType sType;
4070 VkDescriptorSet srcSet;
4071 deUint32 srcBinding;
4072 deUint32 srcArrayElement;
4073 VkDescriptorSet dstSet;
4074 deUint32 dstBinding;
4075 deUint32 dstArrayElement;
4076 deUint32 descriptorCount;
4077 } VkCopyDescriptorSet;
4079 typedef struct VkDescriptorBufferInfo {
4081 VkDeviceSize offset;
4083 } VkDescriptorBufferInfo;
4085 typedef struct VkDescriptorImageInfo {
4087 VkImageView imageView;
4088 VkImageLayout imageLayout;
4089 } VkDescriptorImageInfo;
4091 typedef struct VkDescriptorPoolSize {
4092 VkDescriptorType type;
4093 deUint32 descriptorCount;
4094 } VkDescriptorPoolSize;
4096 typedef struct VkDescriptorPoolCreateInfo {
4097 VkStructureType sType;
4099 VkDescriptorPoolCreateFlags flags;
4101 deUint32 poolSizeCount;
4102 const VkDescriptorPoolSize* pPoolSizes;
4103 } VkDescriptorPoolCreateInfo;
4105 typedef struct VkDescriptorSetAllocateInfo {
4106 VkStructureType sType;
4108 VkDescriptorPool descriptorPool;
4109 deUint32 descriptorSetCount;
4110 const VkDescriptorSetLayout* pSetLayouts;
4111 } VkDescriptorSetAllocateInfo;
4113 typedef struct VkDescriptorSetLayoutBinding {
4115 VkDescriptorType descriptorType;
4116 deUint32 descriptorCount;
4117 VkShaderStageFlags stageFlags;
4118 const VkSampler* pImmutableSamplers;
4119 } VkDescriptorSetLayoutBinding;
4121 typedef struct VkDescriptorSetLayoutCreateInfo {
4122 VkStructureType sType;
4124 VkDescriptorSetLayoutCreateFlags flags;
4125 deUint32 bindingCount;
4126 const VkDescriptorSetLayoutBinding* pBindings;
4127 } VkDescriptorSetLayoutCreateInfo;
4129 typedef struct VkWriteDescriptorSet {
4130 VkStructureType sType;
4132 VkDescriptorSet dstSet;
4133 deUint32 dstBinding;
4134 deUint32 dstArrayElement;
4135 deUint32 descriptorCount;
4136 VkDescriptorType descriptorType;
4137 const VkDescriptorImageInfo* pImageInfo;
4138 const VkDescriptorBufferInfo* pBufferInfo;
4139 const VkBufferView* pTexelBufferView;
4140 } VkWriteDescriptorSet;
4142 typedef struct VkAttachmentDescription {
4143 VkAttachmentDescriptionFlags flags;
4145 VkSampleCountFlagBits samples;
4146 VkAttachmentLoadOp loadOp;
4147 VkAttachmentStoreOp storeOp;
4148 VkAttachmentLoadOp stencilLoadOp;
4149 VkAttachmentStoreOp stencilStoreOp;
4150 VkImageLayout initialLayout;
4151 VkImageLayout finalLayout;
4152 } VkAttachmentDescription;
4154 typedef struct VkAttachmentReference {
4155 deUint32 attachment;
4156 VkImageLayout layout;
4157 } VkAttachmentReference;
4159 typedef struct VkFramebufferCreateInfo {
4160 VkStructureType sType;
4162 VkFramebufferCreateFlags flags;
4163 VkRenderPass renderPass;
4164 deUint32 attachmentCount;
4165 const VkImageView* pAttachments;
4169 } VkFramebufferCreateInfo;
4171 typedef struct VkSubpassDescription {
4172 VkSubpassDescriptionFlags flags;
4173 VkPipelineBindPoint pipelineBindPoint;
4174 deUint32 inputAttachmentCount;
4175 const VkAttachmentReference* pInputAttachments;
4176 deUint32 colorAttachmentCount;
4177 const VkAttachmentReference* pColorAttachments;
4178 const VkAttachmentReference* pResolveAttachments;
4179 const VkAttachmentReference* pDepthStencilAttachment;
4180 deUint32 preserveAttachmentCount;
4181 const deUint32* pPreserveAttachments;
4182 } VkSubpassDescription;
4184 typedef struct VkSubpassDependency {
4185 deUint32 srcSubpass;
4186 deUint32 dstSubpass;
4187 VkPipelineStageFlags srcStageMask;
4188 VkPipelineStageFlags dstStageMask;
4189 VkAccessFlags srcAccessMask;
4190 VkAccessFlags dstAccessMask;
4191 VkDependencyFlags dependencyFlags;
4192 } VkSubpassDependency;
4194 typedef struct VkRenderPassCreateInfo {
4195 VkStructureType sType;
4197 VkRenderPassCreateFlags flags;
4198 deUint32 attachmentCount;
4199 const VkAttachmentDescription* pAttachments;
4200 deUint32 subpassCount;
4201 const VkSubpassDescription* pSubpasses;
4202 deUint32 dependencyCount;
4203 const VkSubpassDependency* pDependencies;
4204 } VkRenderPassCreateInfo;
4206 typedef struct VkCommandPoolCreateInfo {
4207 VkStructureType sType;
4209 VkCommandPoolCreateFlags flags;
4210 deUint32 queueFamilyIndex;
4211 } VkCommandPoolCreateInfo;
4213 typedef struct VkCommandBufferAllocateInfo {
4214 VkStructureType sType;
4216 VkCommandPool commandPool;
4217 VkCommandBufferLevel level;
4218 deUint32 commandBufferCount;
4219 } VkCommandBufferAllocateInfo;
4221 typedef struct VkCommandBufferInheritanceInfo {
4222 VkStructureType sType;
4224 VkRenderPass renderPass;
4226 VkFramebuffer framebuffer;
4227 VkBool32 occlusionQueryEnable;
4228 VkQueryControlFlags queryFlags;
4229 VkQueryPipelineStatisticFlags pipelineStatistics;
4230 } VkCommandBufferInheritanceInfo;
4232 typedef struct VkCommandBufferBeginInfo {
4233 VkStructureType sType;
4235 VkCommandBufferUsageFlags flags;
4236 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4237 } VkCommandBufferBeginInfo;
4239 typedef struct VkBufferCopy {
4240 VkDeviceSize srcOffset;
4241 VkDeviceSize dstOffset;
4245 typedef struct VkImageSubresourceLayers {
4246 VkImageAspectFlags aspectMask;
4248 deUint32 baseArrayLayer;
4249 deUint32 layerCount;
4250 } VkImageSubresourceLayers;
4252 typedef struct VkBufferImageCopy {
4253 VkDeviceSize bufferOffset;
4254 deUint32 bufferRowLength;
4255 deUint32 bufferImageHeight;
4256 VkImageSubresourceLayers imageSubresource;
4257 VkOffset3D imageOffset;
4258 VkExtent3D imageExtent;
4259 } VkBufferImageCopy;
4261 typedef union VkClearColorValue {
4265 } VkClearColorValue;
4267 typedef struct VkClearDepthStencilValue {
4270 } VkClearDepthStencilValue;
4272 typedef union VkClearValue {
4273 VkClearColorValue color;
4274 VkClearDepthStencilValue depthStencil;
4277 typedef struct VkClearAttachment {
4278 VkImageAspectFlags aspectMask;
4279 deUint32 colorAttachment;
4280 VkClearValue clearValue;
4281 } VkClearAttachment;
4283 typedef struct VkClearRect {
4285 deUint32 baseArrayLayer;
4286 deUint32 layerCount;
4289 typedef struct VkImageBlit {
4290 VkImageSubresourceLayers srcSubresource;
4291 VkOffset3D srcOffsets[2];
4292 VkImageSubresourceLayers dstSubresource;
4293 VkOffset3D dstOffsets[2];
4296 typedef struct VkImageCopy {
4297 VkImageSubresourceLayers srcSubresource;
4298 VkOffset3D srcOffset;
4299 VkImageSubresourceLayers dstSubresource;
4300 VkOffset3D dstOffset;
4304 typedef struct VkImageResolve {
4305 VkImageSubresourceLayers srcSubresource;
4306 VkOffset3D srcOffset;
4307 VkImageSubresourceLayers dstSubresource;
4308 VkOffset3D dstOffset;
4312 typedef struct VkRenderPassBeginInfo {
4313 VkStructureType sType;
4315 VkRenderPass renderPass;
4316 VkFramebuffer framebuffer;
4317 VkRect2D renderArea;
4318 deUint32 clearValueCount;
4319 const VkClearValue* pClearValues;
4320 } VkRenderPassBeginInfo;
4322 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4323 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4324 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4325 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4326 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4327 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4328 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4329 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4330 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4331 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4332 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4333 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4334 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4335 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4336 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4337 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4338 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4339 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4340 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4341 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4342 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4343 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4344 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4345 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4346 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4347 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4348 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4349 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4350 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4351 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4352 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4353 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4354 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4355 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4356 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4357 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4358 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4359 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4360 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4361 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4362 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4363 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4364 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4365 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4366 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4367 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4368 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4369 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4370 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4371 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4372 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4373 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4374 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4375 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4376 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4377 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4378 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4379 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4380 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4381 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4382 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4383 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4384 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4385 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4386 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4387 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4388 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4389 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4390 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4391 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4392 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4393 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4394 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4395 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4396 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4397 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4398 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4399 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4400 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4401 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4402 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4403 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4404 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4405 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4406 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4407 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4408 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4409 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4410 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4411 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4412 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4413 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4414 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4415 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4416 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4417 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4418 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4419 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4420 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4421 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4422 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4423 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4424 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4425 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4426 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4427 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4428 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4429 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4430 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4431 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4432 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4433 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4434 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4435 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4436 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4437 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4438 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4439 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4440 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4441 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4442 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4443 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4444 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4445 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4446 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4447 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);
4448 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);
4449 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4450 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4451 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4452 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4453 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4454 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4455 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4456 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4457 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4458 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4460 #ifndef VK_NO_PROTOTYPES
4461 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4462 const VkInstanceCreateInfo* pCreateInfo,
4463 const VkAllocationCallbacks* pAllocator,
4464 VkInstance* pInstance);
4466 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4467 VkInstance instance,
4468 const VkAllocationCallbacks* pAllocator);
4470 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4471 VkInstance instance,
4472 deUint32* pPhysicalDeviceCount,
4473 VkPhysicalDevice* pPhysicalDevices);
4475 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4476 VkPhysicalDevice physicalDevice,
4477 VkPhysicalDeviceFeatures* pFeatures);
4479 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4480 VkPhysicalDevice physicalDevice,
4482 VkFormatProperties* pFormatProperties);
4484 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4485 VkPhysicalDevice physicalDevice,
4488 VkImageTiling tiling,
4489 VkImageUsageFlags usage,
4490 VkImageCreateFlags flags,
4491 VkImageFormatProperties* pImageFormatProperties);
4493 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4494 VkPhysicalDevice physicalDevice,
4495 VkPhysicalDeviceProperties* pProperties);
4497 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4498 VkPhysicalDevice physicalDevice,
4499 deUint32* pQueueFamilyPropertyCount,
4500 VkQueueFamilyProperties* pQueueFamilyProperties);
4502 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4503 VkPhysicalDevice physicalDevice,
4504 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4506 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4507 VkInstance instance,
4510 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4514 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4515 VkPhysicalDevice physicalDevice,
4516 const VkDeviceCreateInfo* pCreateInfo,
4517 const VkAllocationCallbacks* pAllocator,
4520 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4522 const VkAllocationCallbacks* pAllocator);
4524 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4525 const char* pLayerName,
4526 deUint32* pPropertyCount,
4527 VkExtensionProperties* pProperties);
4529 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4530 VkPhysicalDevice physicalDevice,
4531 const char* pLayerName,
4532 deUint32* pPropertyCount,
4533 VkExtensionProperties* pProperties);
4535 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4536 deUint32* pPropertyCount,
4537 VkLayerProperties* pProperties);
4539 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4540 VkPhysicalDevice physicalDevice,
4541 deUint32* pPropertyCount,
4542 VkLayerProperties* pProperties);
4544 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4546 deUint32 queueFamilyIndex,
4547 deUint32 queueIndex,
4550 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4552 deUint32 submitCount,
4553 const VkSubmitInfo* pSubmits,
4556 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4559 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4562 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4564 const VkMemoryAllocateInfo* pAllocateInfo,
4565 const VkAllocationCallbacks* pAllocator,
4566 VkDeviceMemory* pMemory);
4568 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4570 VkDeviceMemory memory,
4571 const VkAllocationCallbacks* pAllocator);
4573 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4575 VkDeviceMemory memory,
4576 VkDeviceSize offset,
4578 VkMemoryMapFlags flags,
4581 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4583 VkDeviceMemory memory);
4585 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4587 deUint32 memoryRangeCount,
4588 const VkMappedMemoryRange* pMemoryRanges);
4590 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4592 deUint32 memoryRangeCount,
4593 const VkMappedMemoryRange* pMemoryRanges);
4595 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4597 VkDeviceMemory memory,
4598 VkDeviceSize* pCommittedMemoryInBytes);
4600 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4603 VkDeviceMemory memory,
4604 VkDeviceSize memoryOffset);
4606 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4609 VkDeviceMemory memory,
4610 VkDeviceSize memoryOffset);
4612 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4615 VkMemoryRequirements* pMemoryRequirements);
4617 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4620 VkMemoryRequirements* pMemoryRequirements);
4622 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4625 deUint32* pSparseMemoryRequirementCount,
4626 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4628 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4629 VkPhysicalDevice physicalDevice,
4632 VkSampleCountFlagBits samples,
4633 VkImageUsageFlags usage,
4634 VkImageTiling tiling,
4635 deUint32* pPropertyCount,
4636 VkSparseImageFormatProperties* pProperties);
4638 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4640 deUint32 bindInfoCount,
4641 const VkBindSparseInfo* pBindInfo,
4644 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4646 const VkFenceCreateInfo* pCreateInfo,
4647 const VkAllocationCallbacks* pAllocator,
4650 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4653 const VkAllocationCallbacks* pAllocator);
4655 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4657 deUint32 fenceCount,
4658 const VkFence* pFences);
4660 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4664 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4666 deUint32 fenceCount,
4667 const VkFence* pFences,
4671 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4673 const VkSemaphoreCreateInfo* pCreateInfo,
4674 const VkAllocationCallbacks* pAllocator,
4675 VkSemaphore* pSemaphore);
4677 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4679 VkSemaphore semaphore,
4680 const VkAllocationCallbacks* pAllocator);
4682 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4684 const VkEventCreateInfo* pCreateInfo,
4685 const VkAllocationCallbacks* pAllocator,
4688 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4691 const VkAllocationCallbacks* pAllocator);
4693 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4697 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4701 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4705 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4707 const VkQueryPoolCreateInfo* pCreateInfo,
4708 const VkAllocationCallbacks* pAllocator,
4709 VkQueryPool* pQueryPool);
4711 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4713 VkQueryPool queryPool,
4714 const VkAllocationCallbacks* pAllocator);
4716 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4718 VkQueryPool queryPool,
4719 deUint32 firstQuery,
4720 deUint32 queryCount,
4723 VkDeviceSize stride,
4724 VkQueryResultFlags flags);
4726 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4728 const VkBufferCreateInfo* pCreateInfo,
4729 const VkAllocationCallbacks* pAllocator,
4732 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4735 const VkAllocationCallbacks* pAllocator);
4737 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4739 const VkBufferViewCreateInfo* pCreateInfo,
4740 const VkAllocationCallbacks* pAllocator,
4741 VkBufferView* pView);
4743 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4745 VkBufferView bufferView,
4746 const VkAllocationCallbacks* pAllocator);
4748 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4750 const VkImageCreateInfo* pCreateInfo,
4751 const VkAllocationCallbacks* pAllocator,
4754 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4757 const VkAllocationCallbacks* pAllocator);
4759 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4762 const VkImageSubresource* pSubresource,
4763 VkSubresourceLayout* pLayout);
4765 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4767 const VkImageViewCreateInfo* pCreateInfo,
4768 const VkAllocationCallbacks* pAllocator,
4769 VkImageView* pView);
4771 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4773 VkImageView imageView,
4774 const VkAllocationCallbacks* pAllocator);
4776 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4778 const VkShaderModuleCreateInfo* pCreateInfo,
4779 const VkAllocationCallbacks* pAllocator,
4780 VkShaderModule* pShaderModule);
4782 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4784 VkShaderModule shaderModule,
4785 const VkAllocationCallbacks* pAllocator);
4787 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4789 const VkPipelineCacheCreateInfo* pCreateInfo,
4790 const VkAllocationCallbacks* pAllocator,
4791 VkPipelineCache* pPipelineCache);
4793 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4795 VkPipelineCache pipelineCache,
4796 const VkAllocationCallbacks* pAllocator);
4798 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4800 VkPipelineCache pipelineCache,
4801 deUintptr* pDataSize,
4804 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4806 VkPipelineCache dstCache,
4807 deUint32 srcCacheCount,
4808 const VkPipelineCache* pSrcCaches);
4810 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4812 VkPipelineCache pipelineCache,
4813 deUint32 createInfoCount,
4814 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4815 const VkAllocationCallbacks* pAllocator,
4816 VkPipeline* pPipelines);
4818 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4820 VkPipelineCache pipelineCache,
4821 deUint32 createInfoCount,
4822 const VkComputePipelineCreateInfo* pCreateInfos,
4823 const VkAllocationCallbacks* pAllocator,
4824 VkPipeline* pPipelines);
4826 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4828 VkPipeline pipeline,
4829 const VkAllocationCallbacks* pAllocator);
4831 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4833 const VkPipelineLayoutCreateInfo* pCreateInfo,
4834 const VkAllocationCallbacks* pAllocator,
4835 VkPipelineLayout* pPipelineLayout);
4837 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4839 VkPipelineLayout pipelineLayout,
4840 const VkAllocationCallbacks* pAllocator);
4842 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4844 const VkSamplerCreateInfo* pCreateInfo,
4845 const VkAllocationCallbacks* pAllocator,
4846 VkSampler* pSampler);
4848 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4851 const VkAllocationCallbacks* pAllocator);
4853 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4855 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4856 const VkAllocationCallbacks* pAllocator,
4857 VkDescriptorSetLayout* pSetLayout);
4859 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4861 VkDescriptorSetLayout descriptorSetLayout,
4862 const VkAllocationCallbacks* pAllocator);
4864 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4866 const VkDescriptorPoolCreateInfo* pCreateInfo,
4867 const VkAllocationCallbacks* pAllocator,
4868 VkDescriptorPool* pDescriptorPool);
4870 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4872 VkDescriptorPool descriptorPool,
4873 const VkAllocationCallbacks* pAllocator);
4875 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4877 VkDescriptorPool descriptorPool,
4878 VkDescriptorPoolResetFlags flags);
4880 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4882 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4883 VkDescriptorSet* pDescriptorSets);
4885 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4887 VkDescriptorPool descriptorPool,
4888 deUint32 descriptorSetCount,
4889 const VkDescriptorSet* pDescriptorSets);
4891 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4893 deUint32 descriptorWriteCount,
4894 const VkWriteDescriptorSet* pDescriptorWrites,
4895 deUint32 descriptorCopyCount,
4896 const VkCopyDescriptorSet* pDescriptorCopies);
4898 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4900 const VkFramebufferCreateInfo* pCreateInfo,
4901 const VkAllocationCallbacks* pAllocator,
4902 VkFramebuffer* pFramebuffer);
4904 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4906 VkFramebuffer framebuffer,
4907 const VkAllocationCallbacks* pAllocator);
4909 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4911 const VkRenderPassCreateInfo* pCreateInfo,
4912 const VkAllocationCallbacks* pAllocator,
4913 VkRenderPass* pRenderPass);
4915 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4917 VkRenderPass renderPass,
4918 const VkAllocationCallbacks* pAllocator);
4920 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4922 VkRenderPass renderPass,
4923 VkExtent2D* pGranularity);
4925 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4927 const VkCommandPoolCreateInfo* pCreateInfo,
4928 const VkAllocationCallbacks* pAllocator,
4929 VkCommandPool* pCommandPool);
4931 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4933 VkCommandPool commandPool,
4934 const VkAllocationCallbacks* pAllocator);
4936 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4938 VkCommandPool commandPool,
4939 VkCommandPoolResetFlags flags);
4941 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4943 const VkCommandBufferAllocateInfo* pAllocateInfo,
4944 VkCommandBuffer* pCommandBuffers);
4946 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4948 VkCommandPool commandPool,
4949 deUint32 commandBufferCount,
4950 const VkCommandBuffer* pCommandBuffers);
4952 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4953 VkCommandBuffer commandBuffer,
4954 const VkCommandBufferBeginInfo* pBeginInfo);
4956 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4957 VkCommandBuffer commandBuffer);
4959 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4960 VkCommandBuffer commandBuffer,
4961 VkCommandBufferResetFlags flags);
4963 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4964 VkCommandBuffer commandBuffer,
4965 VkPipelineBindPoint pipelineBindPoint,
4966 VkPipeline pipeline);
4968 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4969 VkCommandBuffer commandBuffer,
4970 deUint32 firstViewport,
4971 deUint32 viewportCount,
4972 const VkViewport* pViewports);
4974 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4975 VkCommandBuffer commandBuffer,
4976 deUint32 firstScissor,
4977 deUint32 scissorCount,
4978 const VkRect2D* pScissors);
4980 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
4981 VkCommandBuffer commandBuffer,
4984 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
4985 VkCommandBuffer commandBuffer,
4986 float depthBiasConstantFactor,
4987 float depthBiasClamp,
4988 float depthBiasSlopeFactor);
4990 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
4991 VkCommandBuffer commandBuffer,
4992 const float blendConstants[4]);
4994 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
4995 VkCommandBuffer commandBuffer,
4996 float minDepthBounds,
4997 float maxDepthBounds);
4999 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5000 VkCommandBuffer commandBuffer,
5001 VkStencilFaceFlags faceMask,
5002 deUint32 compareMask);
5004 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5005 VkCommandBuffer commandBuffer,
5006 VkStencilFaceFlags faceMask,
5007 deUint32 writeMask);
5009 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5010 VkCommandBuffer commandBuffer,
5011 VkStencilFaceFlags faceMask,
5012 deUint32 reference);
5014 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5015 VkCommandBuffer commandBuffer,
5016 VkPipelineBindPoint pipelineBindPoint,
5017 VkPipelineLayout layout,
5019 deUint32 descriptorSetCount,
5020 const VkDescriptorSet* pDescriptorSets,
5021 deUint32 dynamicOffsetCount,
5022 const deUint32* pDynamicOffsets);
5024 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5025 VkCommandBuffer commandBuffer,
5027 VkDeviceSize offset,
5028 VkIndexType indexType);
5030 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5031 VkCommandBuffer commandBuffer,
5032 deUint32 firstBinding,
5033 deUint32 bindingCount,
5034 const VkBuffer* pBuffers,
5035 const VkDeviceSize* pOffsets);
5037 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5038 VkCommandBuffer commandBuffer,
5039 deUint32 vertexCount,
5040 deUint32 instanceCount,
5041 deUint32 firstVertex,
5042 deUint32 firstInstance);
5044 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5045 VkCommandBuffer commandBuffer,
5046 deUint32 indexCount,
5047 deUint32 instanceCount,
5048 deUint32 firstIndex,
5049 deInt32 vertexOffset,
5050 deUint32 firstInstance);
5052 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5053 VkCommandBuffer commandBuffer,
5055 VkDeviceSize offset,
5059 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5060 VkCommandBuffer commandBuffer,
5062 VkDeviceSize offset,
5066 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5067 VkCommandBuffer commandBuffer,
5068 deUint32 groupCountX,
5069 deUint32 groupCountY,
5070 deUint32 groupCountZ);
5072 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5073 VkCommandBuffer commandBuffer,
5075 VkDeviceSize offset);
5077 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5078 VkCommandBuffer commandBuffer,
5081 deUint32 regionCount,
5082 const VkBufferCopy* pRegions);
5084 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5085 VkCommandBuffer commandBuffer,
5087 VkImageLayout srcImageLayout,
5089 VkImageLayout dstImageLayout,
5090 deUint32 regionCount,
5091 const VkImageCopy* pRegions);
5093 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5094 VkCommandBuffer commandBuffer,
5096 VkImageLayout srcImageLayout,
5098 VkImageLayout dstImageLayout,
5099 deUint32 regionCount,
5100 const VkImageBlit* pRegions,
5103 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5104 VkCommandBuffer commandBuffer,
5107 VkImageLayout dstImageLayout,
5108 deUint32 regionCount,
5109 const VkBufferImageCopy* pRegions);
5111 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5112 VkCommandBuffer commandBuffer,
5114 VkImageLayout srcImageLayout,
5116 deUint32 regionCount,
5117 const VkBufferImageCopy* pRegions);
5119 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5120 VkCommandBuffer commandBuffer,
5122 VkDeviceSize dstOffset,
5123 VkDeviceSize dataSize,
5126 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5127 VkCommandBuffer commandBuffer,
5129 VkDeviceSize dstOffset,
5133 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5134 VkCommandBuffer commandBuffer,
5136 VkImageLayout imageLayout,
5137 const VkClearColorValue* pColor,
5138 deUint32 rangeCount,
5139 const VkImageSubresourceRange* pRanges);
5141 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5142 VkCommandBuffer commandBuffer,
5144 VkImageLayout imageLayout,
5145 const VkClearDepthStencilValue* pDepthStencil,
5146 deUint32 rangeCount,
5147 const VkImageSubresourceRange* pRanges);
5149 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5150 VkCommandBuffer commandBuffer,
5151 deUint32 attachmentCount,
5152 const VkClearAttachment* pAttachments,
5154 const VkClearRect* pRects);
5156 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5157 VkCommandBuffer commandBuffer,
5159 VkImageLayout srcImageLayout,
5161 VkImageLayout dstImageLayout,
5162 deUint32 regionCount,
5163 const VkImageResolve* pRegions);
5165 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5166 VkCommandBuffer commandBuffer,
5168 VkPipelineStageFlags stageMask);
5170 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5171 VkCommandBuffer commandBuffer,
5173 VkPipelineStageFlags stageMask);
5175 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5176 VkCommandBuffer commandBuffer,
5177 deUint32 eventCount,
5178 const VkEvent* pEvents,
5179 VkPipelineStageFlags srcStageMask,
5180 VkPipelineStageFlags dstStageMask,
5181 deUint32 memoryBarrierCount,
5182 const VkMemoryBarrier* pMemoryBarriers,
5183 deUint32 bufferMemoryBarrierCount,
5184 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5185 deUint32 imageMemoryBarrierCount,
5186 const VkImageMemoryBarrier* pImageMemoryBarriers);
5188 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5189 VkCommandBuffer commandBuffer,
5190 VkPipelineStageFlags srcStageMask,
5191 VkPipelineStageFlags dstStageMask,
5192 VkDependencyFlags dependencyFlags,
5193 deUint32 memoryBarrierCount,
5194 const VkMemoryBarrier* pMemoryBarriers,
5195 deUint32 bufferMemoryBarrierCount,
5196 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5197 deUint32 imageMemoryBarrierCount,
5198 const VkImageMemoryBarrier* pImageMemoryBarriers);
5200 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5201 VkCommandBuffer commandBuffer,
5202 VkQueryPool queryPool,
5204 VkQueryControlFlags flags);
5206 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5207 VkCommandBuffer commandBuffer,
5208 VkQueryPool queryPool,
5211 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5212 VkCommandBuffer commandBuffer,
5213 VkQueryPool queryPool,
5214 deUint32 firstQuery,
5215 deUint32 queryCount);
5217 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5218 VkCommandBuffer commandBuffer,
5219 VkPipelineStageFlagBits pipelineStage,
5220 VkQueryPool queryPool,
5223 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5224 VkCommandBuffer commandBuffer,
5225 VkQueryPool queryPool,
5226 deUint32 firstQuery,
5227 deUint32 queryCount,
5229 VkDeviceSize dstOffset,
5230 VkDeviceSize stride,
5231 VkQueryResultFlags flags);
5233 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5234 VkCommandBuffer commandBuffer,
5235 VkPipelineLayout layout,
5236 VkShaderStageFlags stageFlags,
5239 const void* pValues);
5241 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5242 VkCommandBuffer commandBuffer,
5243 const VkRenderPassBeginInfo* pRenderPassBegin,
5244 VkSubpassContents contents);
5246 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5247 VkCommandBuffer commandBuffer,
5248 VkSubpassContents contents);
5250 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5251 VkCommandBuffer commandBuffer);
5253 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5254 VkCommandBuffer commandBuffer,
5255 deUint32 commandBufferCount,
5256 const VkCommandBuffer* pCommandBuffers);
5260 #define VK_VERSION_1_1 1
5261 // Vulkan 1.1 version number
5262 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5264 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5265 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5266 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5267 #define VK_LUID_SIZE 8U
5268 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5270 typedef enum VkPointClippingBehavior {
5271 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5272 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5273 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5274 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5275 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5276 } VkPointClippingBehavior;
5278 typedef enum VkTessellationDomainOrigin {
5279 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5280 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5281 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5282 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5283 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5284 } VkTessellationDomainOrigin;
5286 typedef enum VkSamplerYcbcrModelConversion {
5287 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5288 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5289 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5290 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5291 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5292 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5293 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5294 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5295 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5296 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5297 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5298 } VkSamplerYcbcrModelConversion;
5300 typedef enum VkSamplerYcbcrRange {
5301 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5302 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5303 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5304 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5305 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5306 } VkSamplerYcbcrRange;
5308 typedef enum VkChromaLocation {
5309 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5310 VK_CHROMA_LOCATION_MIDPOINT = 1,
5311 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5312 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5313 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5316 typedef enum VkDescriptorUpdateTemplateType {
5317 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5318 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5319 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5320 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5321 } VkDescriptorUpdateTemplateType;
5323 typedef enum VkSubgroupFeatureFlagBits {
5324 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5325 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5326 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5327 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5328 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5329 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5330 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5331 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5332 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5333 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5334 } VkSubgroupFeatureFlagBits;
5335 typedef VkFlags VkSubgroupFeatureFlags;
5337 typedef enum VkPeerMemoryFeatureFlagBits {
5338 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5339 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5340 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5341 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5342 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5343 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5344 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5345 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5346 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5347 } VkPeerMemoryFeatureFlagBits;
5348 typedef VkFlags VkPeerMemoryFeatureFlags;
5350 typedef enum VkMemoryAllocateFlagBits {
5351 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5352 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5353 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5354 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5355 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5356 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5357 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5358 } VkMemoryAllocateFlagBits;
5359 typedef VkFlags VkMemoryAllocateFlags;
5360 typedef VkFlags VkCommandPoolTrimFlags;
5361 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5363 typedef enum VkExternalMemoryHandleTypeFlagBits {
5364 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5365 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5366 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5367 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5368 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5369 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5370 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5371 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5372 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5373 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5374 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5375 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5376 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5377 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5378 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5379 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5380 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5381 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5382 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5383 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5384 } VkExternalMemoryHandleTypeFlagBits;
5385 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5387 typedef enum VkExternalMemoryFeatureFlagBits {
5388 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5389 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5390 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5391 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5392 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5393 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5394 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5395 } VkExternalMemoryFeatureFlagBits;
5396 typedef VkFlags VkExternalMemoryFeatureFlags;
5398 typedef enum VkExternalFenceHandleTypeFlagBits {
5399 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5400 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5401 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5402 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5403 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5404 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5405 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5406 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5407 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5408 } VkExternalFenceHandleTypeFlagBits;
5409 typedef VkFlags VkExternalFenceHandleTypeFlags;
5411 typedef enum VkExternalFenceFeatureFlagBits {
5412 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5413 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5414 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5415 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5416 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5417 } VkExternalFenceFeatureFlagBits;
5418 typedef VkFlags VkExternalFenceFeatureFlags;
5420 typedef enum VkFenceImportFlagBits {
5421 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5422 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5423 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5424 } VkFenceImportFlagBits;
5425 typedef VkFlags VkFenceImportFlags;
5427 typedef enum VkSemaphoreImportFlagBits {
5428 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5429 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5430 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5431 } VkSemaphoreImportFlagBits;
5432 typedef VkFlags VkSemaphoreImportFlags;
5434 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5435 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5436 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5437 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5438 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5439 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5440 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5441 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5442 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5443 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5444 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5445 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5446 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5447 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5448 } VkExternalSemaphoreHandleTypeFlagBits;
5449 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5451 typedef enum VkExternalSemaphoreFeatureFlagBits {
5452 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5453 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5454 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5455 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5456 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5457 } VkExternalSemaphoreFeatureFlagBits;
5458 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5459 typedef struct VkPhysicalDeviceSubgroupProperties {
5460 VkStructureType sType;
5462 deUint32 subgroupSize;
5463 VkShaderStageFlags supportedStages;
5464 VkSubgroupFeatureFlags supportedOperations;
5465 VkBool32 quadOperationsInAllStages;
5466 } VkPhysicalDeviceSubgroupProperties;
5468 typedef struct VkBindBufferMemoryInfo {
5469 VkStructureType sType;
5472 VkDeviceMemory memory;
5473 VkDeviceSize memoryOffset;
5474 } VkBindBufferMemoryInfo;
5476 typedef struct VkBindImageMemoryInfo {
5477 VkStructureType sType;
5480 VkDeviceMemory memory;
5481 VkDeviceSize memoryOffset;
5482 } VkBindImageMemoryInfo;
5484 typedef struct VkPhysicalDevice16BitStorageFeatures {
5485 VkStructureType sType;
5487 VkBool32 storageBuffer16BitAccess;
5488 VkBool32 uniformAndStorageBuffer16BitAccess;
5489 VkBool32 storagePushConstant16;
5490 VkBool32 storageInputOutput16;
5491 } VkPhysicalDevice16BitStorageFeatures;
5493 typedef struct VkMemoryDedicatedRequirements {
5494 VkStructureType sType;
5496 VkBool32 prefersDedicatedAllocation;
5497 VkBool32 requiresDedicatedAllocation;
5498 } VkMemoryDedicatedRequirements;
5500 typedef struct VkMemoryDedicatedAllocateInfo {
5501 VkStructureType sType;
5505 } VkMemoryDedicatedAllocateInfo;
5507 typedef struct VkMemoryAllocateFlagsInfo {
5508 VkStructureType sType;
5510 VkMemoryAllocateFlags flags;
5511 deUint32 deviceMask;
5512 } VkMemoryAllocateFlagsInfo;
5514 typedef struct VkDeviceGroupRenderPassBeginInfo {
5515 VkStructureType sType;
5517 deUint32 deviceMask;
5518 deUint32 deviceRenderAreaCount;
5519 const VkRect2D* pDeviceRenderAreas;
5520 } VkDeviceGroupRenderPassBeginInfo;
5522 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5523 VkStructureType sType;
5525 deUint32 deviceMask;
5526 } VkDeviceGroupCommandBufferBeginInfo;
5528 typedef struct VkDeviceGroupSubmitInfo {
5529 VkStructureType sType;
5531 deUint32 waitSemaphoreCount;
5532 const deUint32* pWaitSemaphoreDeviceIndices;
5533 deUint32 commandBufferCount;
5534 const deUint32* pCommandBufferDeviceMasks;
5535 deUint32 signalSemaphoreCount;
5536 const deUint32* pSignalSemaphoreDeviceIndices;
5537 } VkDeviceGroupSubmitInfo;
5539 typedef struct VkDeviceGroupBindSparseInfo {
5540 VkStructureType sType;
5542 deUint32 resourceDeviceIndex;
5543 deUint32 memoryDeviceIndex;
5544 } VkDeviceGroupBindSparseInfo;
5546 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5547 VkStructureType sType;
5549 deUint32 deviceIndexCount;
5550 const deUint32* pDeviceIndices;
5551 } VkBindBufferMemoryDeviceGroupInfo;
5553 typedef struct VkBindImageMemoryDeviceGroupInfo {
5554 VkStructureType sType;
5556 deUint32 deviceIndexCount;
5557 const deUint32* pDeviceIndices;
5558 deUint32 splitInstanceBindRegionCount;
5559 const VkRect2D* pSplitInstanceBindRegions;
5560 } VkBindImageMemoryDeviceGroupInfo;
5562 typedef struct VkPhysicalDeviceGroupProperties {
5563 VkStructureType sType;
5565 deUint32 physicalDeviceCount;
5566 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5567 VkBool32 subsetAllocation;
5568 } VkPhysicalDeviceGroupProperties;
5570 typedef struct VkDeviceGroupDeviceCreateInfo {
5571 VkStructureType sType;
5573 deUint32 physicalDeviceCount;
5574 const VkPhysicalDevice* pPhysicalDevices;
5575 } VkDeviceGroupDeviceCreateInfo;
5577 typedef struct VkBufferMemoryRequirementsInfo2 {
5578 VkStructureType sType;
5581 } VkBufferMemoryRequirementsInfo2;
5583 typedef struct VkImageMemoryRequirementsInfo2 {
5584 VkStructureType sType;
5587 } VkImageMemoryRequirementsInfo2;
5589 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5590 VkStructureType sType;
5593 } VkImageSparseMemoryRequirementsInfo2;
5595 typedef struct VkMemoryRequirements2 {
5596 VkStructureType sType;
5598 VkMemoryRequirements memoryRequirements;
5599 } VkMemoryRequirements2;
5601 typedef struct VkSparseImageMemoryRequirements2 {
5602 VkStructureType sType;
5604 VkSparseImageMemoryRequirements memoryRequirements;
5605 } VkSparseImageMemoryRequirements2;
5607 typedef struct VkPhysicalDeviceFeatures2 {
5608 VkStructureType sType;
5610 VkPhysicalDeviceFeatures features;
5611 } VkPhysicalDeviceFeatures2;
5613 typedef struct VkPhysicalDeviceProperties2 {
5614 VkStructureType sType;
5616 VkPhysicalDeviceProperties properties;
5617 } VkPhysicalDeviceProperties2;
5619 typedef struct VkFormatProperties2 {
5620 VkStructureType sType;
5622 VkFormatProperties formatProperties;
5623 } VkFormatProperties2;
5625 typedef struct VkImageFormatProperties2 {
5626 VkStructureType sType;
5628 VkImageFormatProperties imageFormatProperties;
5629 } VkImageFormatProperties2;
5631 typedef struct VkPhysicalDeviceImageFormatInfo2 {
5632 VkStructureType sType;
5636 VkImageTiling tiling;
5637 VkImageUsageFlags usage;
5638 VkImageCreateFlags flags;
5639 } VkPhysicalDeviceImageFormatInfo2;
5641 typedef struct VkQueueFamilyProperties2 {
5642 VkStructureType sType;
5644 VkQueueFamilyProperties queueFamilyProperties;
5645 } VkQueueFamilyProperties2;
5647 typedef struct VkPhysicalDeviceMemoryProperties2 {
5648 VkStructureType sType;
5650 VkPhysicalDeviceMemoryProperties memoryProperties;
5651 } VkPhysicalDeviceMemoryProperties2;
5653 typedef struct VkSparseImageFormatProperties2 {
5654 VkStructureType sType;
5656 VkSparseImageFormatProperties properties;
5657 } VkSparseImageFormatProperties2;
5659 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5660 VkStructureType sType;
5664 VkSampleCountFlagBits samples;
5665 VkImageUsageFlags usage;
5666 VkImageTiling tiling;
5667 } VkPhysicalDeviceSparseImageFormatInfo2;
5669 typedef struct VkPhysicalDevicePointClippingProperties {
5670 VkStructureType sType;
5672 VkPointClippingBehavior pointClippingBehavior;
5673 } VkPhysicalDevicePointClippingProperties;
5675 typedef struct VkInputAttachmentAspectReference {
5677 deUint32 inputAttachmentIndex;
5678 VkImageAspectFlags aspectMask;
5679 } VkInputAttachmentAspectReference;
5681 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5682 VkStructureType sType;
5684 deUint32 aspectReferenceCount;
5685 const VkInputAttachmentAspectReference* pAspectReferences;
5686 } VkRenderPassInputAttachmentAspectCreateInfo;
5688 typedef struct VkImageViewUsageCreateInfo {
5689 VkStructureType sType;
5691 VkImageUsageFlags usage;
5692 } VkImageViewUsageCreateInfo;
5694 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5695 VkStructureType sType;
5697 VkTessellationDomainOrigin domainOrigin;
5698 } VkPipelineTessellationDomainOriginStateCreateInfo;
5700 typedef struct VkRenderPassMultiviewCreateInfo {
5701 VkStructureType sType;
5703 deUint32 subpassCount;
5704 const deUint32* pViewMasks;
5705 deUint32 dependencyCount;
5706 const deInt32* pViewOffsets;
5707 deUint32 correlationMaskCount;
5708 const deUint32* pCorrelationMasks;
5709 } VkRenderPassMultiviewCreateInfo;
5711 typedef struct VkPhysicalDeviceMultiviewFeatures {
5712 VkStructureType sType;
5715 VkBool32 multiviewGeometryShader;
5716 VkBool32 multiviewTessellationShader;
5717 } VkPhysicalDeviceMultiviewFeatures;
5719 typedef struct VkPhysicalDeviceMultiviewProperties {
5720 VkStructureType sType;
5722 deUint32 maxMultiviewViewCount;
5723 deUint32 maxMultiviewInstanceIndex;
5724 } VkPhysicalDeviceMultiviewProperties;
5726 typedef struct VkPhysicalDeviceVariablePointersFeatures {
5727 VkStructureType sType;
5729 VkBool32 variablePointersStorageBuffer;
5730 VkBool32 variablePointers;
5731 } VkPhysicalDeviceVariablePointersFeatures;
5733 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5735 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5736 VkStructureType sType;
5738 VkBool32 protectedMemory;
5739 } VkPhysicalDeviceProtectedMemoryFeatures;
5741 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5742 VkStructureType sType;
5744 VkBool32 protectedNoFault;
5745 } VkPhysicalDeviceProtectedMemoryProperties;
5747 typedef struct VkDeviceQueueInfo2 {
5748 VkStructureType sType;
5750 VkDeviceQueueCreateFlags flags;
5751 deUint32 queueFamilyIndex;
5752 deUint32 queueIndex;
5753 } VkDeviceQueueInfo2;
5755 typedef struct VkProtectedSubmitInfo {
5756 VkStructureType sType;
5758 VkBool32 protectedSubmit;
5759 } VkProtectedSubmitInfo;
5761 typedef struct VkSamplerYcbcrConversionCreateInfo {
5762 VkStructureType sType;
5765 VkSamplerYcbcrModelConversion ycbcrModel;
5766 VkSamplerYcbcrRange ycbcrRange;
5767 VkComponentMapping components;
5768 VkChromaLocation xChromaOffset;
5769 VkChromaLocation yChromaOffset;
5770 VkFilter chromaFilter;
5771 VkBool32 forceExplicitReconstruction;
5772 } VkSamplerYcbcrConversionCreateInfo;
5774 typedef struct VkSamplerYcbcrConversionInfo {
5775 VkStructureType sType;
5777 VkSamplerYcbcrConversion conversion;
5778 } VkSamplerYcbcrConversionInfo;
5780 typedef struct VkBindImagePlaneMemoryInfo {
5781 VkStructureType sType;
5783 VkImageAspectFlagBits planeAspect;
5784 } VkBindImagePlaneMemoryInfo;
5786 typedef struct VkImagePlaneMemoryRequirementsInfo {
5787 VkStructureType sType;
5789 VkImageAspectFlagBits planeAspect;
5790 } VkImagePlaneMemoryRequirementsInfo;
5792 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5793 VkStructureType sType;
5795 VkBool32 samplerYcbcrConversion;
5796 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5798 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5799 VkStructureType sType;
5801 deUint32 combinedImageSamplerDescriptorCount;
5802 } VkSamplerYcbcrConversionImageFormatProperties;
5804 typedef struct VkDescriptorUpdateTemplateEntry {
5805 deUint32 dstBinding;
5806 deUint32 dstArrayElement;
5807 deUint32 descriptorCount;
5808 VkDescriptorType descriptorType;
5811 } VkDescriptorUpdateTemplateEntry;
5813 typedef struct VkDescriptorUpdateTemplateCreateInfo {
5814 VkStructureType sType;
5816 VkDescriptorUpdateTemplateCreateFlags flags;
5817 deUint32 descriptorUpdateEntryCount;
5818 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5819 VkDescriptorUpdateTemplateType templateType;
5820 VkDescriptorSetLayout descriptorSetLayout;
5821 VkPipelineBindPoint pipelineBindPoint;
5822 VkPipelineLayout pipelineLayout;
5824 } VkDescriptorUpdateTemplateCreateInfo;
5826 typedef struct VkExternalMemoryProperties {
5827 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5828 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5829 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5830 } VkExternalMemoryProperties;
5832 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5833 VkStructureType sType;
5835 VkExternalMemoryHandleTypeFlagBits handleType;
5836 } VkPhysicalDeviceExternalImageFormatInfo;
5838 typedef struct VkExternalImageFormatProperties {
5839 VkStructureType sType;
5841 VkExternalMemoryProperties externalMemoryProperties;
5842 } VkExternalImageFormatProperties;
5844 typedef struct VkPhysicalDeviceExternalBufferInfo {
5845 VkStructureType sType;
5847 VkBufferCreateFlags flags;
5848 VkBufferUsageFlags usage;
5849 VkExternalMemoryHandleTypeFlagBits handleType;
5850 } VkPhysicalDeviceExternalBufferInfo;
5852 typedef struct VkExternalBufferProperties {
5853 VkStructureType sType;
5855 VkExternalMemoryProperties externalMemoryProperties;
5856 } VkExternalBufferProperties;
5858 typedef struct VkPhysicalDeviceIDProperties {
5859 VkStructureType sType;
5861 deUint8 deviceUUID[VK_UUID_SIZE];
5862 deUint8 driverUUID[VK_UUID_SIZE];
5863 deUint8 deviceLUID[VK_LUID_SIZE];
5864 deUint32 deviceNodeMask;
5865 VkBool32 deviceLUIDValid;
5866 } VkPhysicalDeviceIDProperties;
5868 typedef struct VkExternalMemoryImageCreateInfo {
5869 VkStructureType sType;
5871 VkExternalMemoryHandleTypeFlags handleTypes;
5872 } VkExternalMemoryImageCreateInfo;
5874 typedef struct VkExternalMemoryBufferCreateInfo {
5875 VkStructureType sType;
5877 VkExternalMemoryHandleTypeFlags handleTypes;
5878 } VkExternalMemoryBufferCreateInfo;
5880 typedef struct VkExportMemoryAllocateInfo {
5881 VkStructureType sType;
5883 VkExternalMemoryHandleTypeFlags handleTypes;
5884 } VkExportMemoryAllocateInfo;
5886 typedef struct VkPhysicalDeviceExternalFenceInfo {
5887 VkStructureType sType;
5889 VkExternalFenceHandleTypeFlagBits handleType;
5890 } VkPhysicalDeviceExternalFenceInfo;
5892 typedef struct VkExternalFenceProperties {
5893 VkStructureType sType;
5895 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5896 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5897 VkExternalFenceFeatureFlags externalFenceFeatures;
5898 } VkExternalFenceProperties;
5900 typedef struct VkExportFenceCreateInfo {
5901 VkStructureType sType;
5903 VkExternalFenceHandleTypeFlags handleTypes;
5904 } VkExportFenceCreateInfo;
5906 typedef struct VkExportSemaphoreCreateInfo {
5907 VkStructureType sType;
5909 VkExternalSemaphoreHandleTypeFlags handleTypes;
5910 } VkExportSemaphoreCreateInfo;
5912 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5913 VkStructureType sType;
5915 VkExternalSemaphoreHandleTypeFlagBits handleType;
5916 } VkPhysicalDeviceExternalSemaphoreInfo;
5918 typedef struct VkExternalSemaphoreProperties {
5919 VkStructureType sType;
5921 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5922 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5923 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5924 } VkExternalSemaphoreProperties;
5926 typedef struct VkPhysicalDeviceMaintenance3Properties {
5927 VkStructureType sType;
5929 deUint32 maxPerSetDescriptors;
5930 VkDeviceSize maxMemoryAllocationSize;
5931 } VkPhysicalDeviceMaintenance3Properties;
5933 typedef struct VkDescriptorSetLayoutSupport {
5934 VkStructureType sType;
5937 } VkDescriptorSetLayoutSupport;
5939 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5940 VkStructureType sType;
5942 VkBool32 shaderDrawParameters;
5943 } VkPhysicalDeviceShaderDrawParametersFeatures;
5945 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5947 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
5948 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5949 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5950 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5951 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
5952 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
5953 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5954 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5955 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5956 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5957 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5958 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5959 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5960 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5961 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5962 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5963 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5964 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5965 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5966 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5967 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5968 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5969 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5970 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5971 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5972 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5973 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5974 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5976 #ifndef VK_NO_PROTOTYPES
5977 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
5978 deUint32* pApiVersion);
5980 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
5982 deUint32 bindInfoCount,
5983 const VkBindBufferMemoryInfo* pBindInfos);
5985 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
5987 deUint32 bindInfoCount,
5988 const VkBindImageMemoryInfo* pBindInfos);
5990 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
5993 deUint32 localDeviceIndex,
5994 deUint32 remoteDeviceIndex,
5995 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5997 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
5998 VkCommandBuffer commandBuffer,
5999 deUint32 deviceMask);
6001 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6002 VkCommandBuffer commandBuffer,
6003 deUint32 baseGroupX,
6004 deUint32 baseGroupY,
6005 deUint32 baseGroupZ,
6006 deUint32 groupCountX,
6007 deUint32 groupCountY,
6008 deUint32 groupCountZ);
6010 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6011 VkInstance instance,
6012 deUint32* pPhysicalDeviceGroupCount,
6013 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6015 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6017 const VkImageMemoryRequirementsInfo2* pInfo,
6018 VkMemoryRequirements2* pMemoryRequirements);
6020 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6022 const VkBufferMemoryRequirementsInfo2* pInfo,
6023 VkMemoryRequirements2* pMemoryRequirements);
6025 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6027 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6028 deUint32* pSparseMemoryRequirementCount,
6029 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6031 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6032 VkPhysicalDevice physicalDevice,
6033 VkPhysicalDeviceFeatures2* pFeatures);
6035 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6036 VkPhysicalDevice physicalDevice,
6037 VkPhysicalDeviceProperties2* pProperties);
6039 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6040 VkPhysicalDevice physicalDevice,
6042 VkFormatProperties2* pFormatProperties);
6044 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6045 VkPhysicalDevice physicalDevice,
6046 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6047 VkImageFormatProperties2* pImageFormatProperties);
6049 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6050 VkPhysicalDevice physicalDevice,
6051 deUint32* pQueueFamilyPropertyCount,
6052 VkQueueFamilyProperties2* pQueueFamilyProperties);
6054 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6055 VkPhysicalDevice physicalDevice,
6056 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6058 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6059 VkPhysicalDevice physicalDevice,
6060 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6061 deUint32* pPropertyCount,
6062 VkSparseImageFormatProperties2* pProperties);
6064 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6066 VkCommandPool commandPool,
6067 VkCommandPoolTrimFlags flags);
6069 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6071 const VkDeviceQueueInfo2* pQueueInfo,
6074 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6076 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6077 const VkAllocationCallbacks* pAllocator,
6078 VkSamplerYcbcrConversion* pYcbcrConversion);
6080 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6082 VkSamplerYcbcrConversion ycbcrConversion,
6083 const VkAllocationCallbacks* pAllocator);
6085 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6087 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6088 const VkAllocationCallbacks* pAllocator,
6089 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6091 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6093 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6094 const VkAllocationCallbacks* pAllocator);
6096 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6098 VkDescriptorSet descriptorSet,
6099 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6102 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6103 VkPhysicalDevice physicalDevice,
6104 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6105 VkExternalBufferProperties* pExternalBufferProperties);
6107 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6108 VkPhysicalDevice physicalDevice,
6109 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6110 VkExternalFenceProperties* pExternalFenceProperties);
6112 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6113 VkPhysicalDevice physicalDevice,
6114 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6115 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6117 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6119 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6120 VkDescriptorSetLayoutSupport* pSupport);
6124 #define VK_VERSION_1_2 1
6125 // Vulkan 1.2 version number
6126 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6128 #define VK_MAX_DRIVER_NAME_SIZE 256U
6129 #define VK_MAX_DRIVER_INFO_SIZE 256U
6131 typedef enum VkDriverId {
6132 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6133 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6134 VK_DRIVER_ID_MESA_RADV = 3,
6135 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6136 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6137 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6138 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6139 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6140 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6141 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6142 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6143 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6144 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6145 VK_DRIVER_ID_MOLTENVK = 14,
6146 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6147 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6148 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6149 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6150 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6151 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6152 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6153 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6154 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6155 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6156 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6157 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6158 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6159 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6162 typedef enum VkShaderFloatControlsIndependence {
6163 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6164 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6165 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6166 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6167 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6168 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6169 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6170 } VkShaderFloatControlsIndependence;
6172 typedef enum VkSamplerReductionMode {
6173 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6174 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6175 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6176 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6177 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6178 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6179 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6180 } VkSamplerReductionMode;
6182 typedef enum VkSemaphoreType {
6183 VK_SEMAPHORE_TYPE_BINARY = 0,
6184 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6185 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6186 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6187 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6190 typedef enum VkResolveModeFlagBits {
6191 VK_RESOLVE_MODE_NONE = 0,
6192 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6193 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6194 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6195 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6196 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6197 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6198 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6199 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6200 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6201 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6202 } VkResolveModeFlagBits;
6203 typedef VkFlags VkResolveModeFlags;
6205 typedef enum VkDescriptorBindingFlagBits {
6206 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6207 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6208 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6209 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6210 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6211 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6212 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6213 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6214 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6215 } VkDescriptorBindingFlagBits;
6216 typedef VkFlags VkDescriptorBindingFlags;
6218 typedef enum VkSemaphoreWaitFlagBits {
6219 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6220 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6221 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6222 } VkSemaphoreWaitFlagBits;
6223 typedef VkFlags VkSemaphoreWaitFlags;
6224 typedef struct VkPhysicalDeviceVulkan11Features {
6225 VkStructureType sType;
6227 VkBool32 storageBuffer16BitAccess;
6228 VkBool32 uniformAndStorageBuffer16BitAccess;
6229 VkBool32 storagePushConstant16;
6230 VkBool32 storageInputOutput16;
6232 VkBool32 multiviewGeometryShader;
6233 VkBool32 multiviewTessellationShader;
6234 VkBool32 variablePointersStorageBuffer;
6235 VkBool32 variablePointers;
6236 VkBool32 protectedMemory;
6237 VkBool32 samplerYcbcrConversion;
6238 VkBool32 shaderDrawParameters;
6239 } VkPhysicalDeviceVulkan11Features;
6241 typedef struct VkPhysicalDeviceVulkan11Properties {
6242 VkStructureType sType;
6244 deUint8 deviceUUID[VK_UUID_SIZE];
6245 deUint8 driverUUID[VK_UUID_SIZE];
6246 deUint8 deviceLUID[VK_LUID_SIZE];
6247 deUint32 deviceNodeMask;
6248 VkBool32 deviceLUIDValid;
6249 deUint32 subgroupSize;
6250 VkShaderStageFlags subgroupSupportedStages;
6251 VkSubgroupFeatureFlags subgroupSupportedOperations;
6252 VkBool32 subgroupQuadOperationsInAllStages;
6253 VkPointClippingBehavior pointClippingBehavior;
6254 deUint32 maxMultiviewViewCount;
6255 deUint32 maxMultiviewInstanceIndex;
6256 VkBool32 protectedNoFault;
6257 deUint32 maxPerSetDescriptors;
6258 VkDeviceSize maxMemoryAllocationSize;
6259 } VkPhysicalDeviceVulkan11Properties;
6261 typedef struct VkPhysicalDeviceVulkan12Features {
6262 VkStructureType sType;
6264 VkBool32 samplerMirrorClampToEdge;
6265 VkBool32 drawIndirectCount;
6266 VkBool32 storageBuffer8BitAccess;
6267 VkBool32 uniformAndStorageBuffer8BitAccess;
6268 VkBool32 storagePushConstant8;
6269 VkBool32 shaderBufferInt64Atomics;
6270 VkBool32 shaderSharedInt64Atomics;
6271 VkBool32 shaderFloat16;
6272 VkBool32 shaderInt8;
6273 VkBool32 descriptorIndexing;
6274 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6275 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6276 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6277 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6278 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6279 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6280 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6281 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6282 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6283 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6284 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6285 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6286 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6287 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6288 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6289 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6290 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6291 VkBool32 descriptorBindingPartiallyBound;
6292 VkBool32 descriptorBindingVariableDescriptorCount;
6293 VkBool32 runtimeDescriptorArray;
6294 VkBool32 samplerFilterMinmax;
6295 VkBool32 scalarBlockLayout;
6296 VkBool32 imagelessFramebuffer;
6297 VkBool32 uniformBufferStandardLayout;
6298 VkBool32 shaderSubgroupExtendedTypes;
6299 VkBool32 separateDepthStencilLayouts;
6300 VkBool32 hostQueryReset;
6301 VkBool32 timelineSemaphore;
6302 VkBool32 bufferDeviceAddress;
6303 VkBool32 bufferDeviceAddressCaptureReplay;
6304 VkBool32 bufferDeviceAddressMultiDevice;
6305 VkBool32 vulkanMemoryModel;
6306 VkBool32 vulkanMemoryModelDeviceScope;
6307 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6308 VkBool32 shaderOutputViewportIndex;
6309 VkBool32 shaderOutputLayer;
6310 VkBool32 subgroupBroadcastDynamicId;
6311 } VkPhysicalDeviceVulkan12Features;
6313 typedef struct VkConformanceVersion {
6318 } VkConformanceVersion;
6320 typedef struct VkPhysicalDeviceVulkan12Properties {
6321 VkStructureType sType;
6323 VkDriverId driverID;
6324 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6325 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6326 VkConformanceVersion conformanceVersion;
6327 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6328 VkShaderFloatControlsIndependence roundingModeIndependence;
6329 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6330 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6331 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6332 VkBool32 shaderDenormPreserveFloat16;
6333 VkBool32 shaderDenormPreserveFloat32;
6334 VkBool32 shaderDenormPreserveFloat64;
6335 VkBool32 shaderDenormFlushToZeroFloat16;
6336 VkBool32 shaderDenormFlushToZeroFloat32;
6337 VkBool32 shaderDenormFlushToZeroFloat64;
6338 VkBool32 shaderRoundingModeRTEFloat16;
6339 VkBool32 shaderRoundingModeRTEFloat32;
6340 VkBool32 shaderRoundingModeRTEFloat64;
6341 VkBool32 shaderRoundingModeRTZFloat16;
6342 VkBool32 shaderRoundingModeRTZFloat32;
6343 VkBool32 shaderRoundingModeRTZFloat64;
6344 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6345 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6346 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6347 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6348 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6349 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6350 VkBool32 robustBufferAccessUpdateAfterBind;
6351 VkBool32 quadDivergentImplicitLod;
6352 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6353 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6354 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6355 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6356 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6357 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6358 deUint32 maxPerStageUpdateAfterBindResources;
6359 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6360 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6361 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6362 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6363 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6364 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6365 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6366 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6367 VkResolveModeFlags supportedDepthResolveModes;
6368 VkResolveModeFlags supportedStencilResolveModes;
6369 VkBool32 independentResolveNone;
6370 VkBool32 independentResolve;
6371 VkBool32 filterMinmaxSingleComponentFormats;
6372 VkBool32 filterMinmaxImageComponentMapping;
6373 deUint64 maxTimelineSemaphoreValueDifference;
6374 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6375 } VkPhysicalDeviceVulkan12Properties;
6377 typedef struct VkImageFormatListCreateInfo {
6378 VkStructureType sType;
6380 deUint32 viewFormatCount;
6381 const VkFormat* pViewFormats;
6382 } VkImageFormatListCreateInfo;
6384 typedef struct VkAttachmentDescription2 {
6385 VkStructureType sType;
6387 VkAttachmentDescriptionFlags flags;
6389 VkSampleCountFlagBits samples;
6390 VkAttachmentLoadOp loadOp;
6391 VkAttachmentStoreOp storeOp;
6392 VkAttachmentLoadOp stencilLoadOp;
6393 VkAttachmentStoreOp stencilStoreOp;
6394 VkImageLayout initialLayout;
6395 VkImageLayout finalLayout;
6396 } VkAttachmentDescription2;
6398 typedef struct VkAttachmentReference2 {
6399 VkStructureType sType;
6401 deUint32 attachment;
6402 VkImageLayout layout;
6403 VkImageAspectFlags aspectMask;
6404 } VkAttachmentReference2;
6406 typedef struct VkSubpassDescription2 {
6407 VkStructureType sType;
6409 VkSubpassDescriptionFlags flags;
6410 VkPipelineBindPoint pipelineBindPoint;
6412 deUint32 inputAttachmentCount;
6413 const VkAttachmentReference2* pInputAttachments;
6414 deUint32 colorAttachmentCount;
6415 const VkAttachmentReference2* pColorAttachments;
6416 const VkAttachmentReference2* pResolveAttachments;
6417 const VkAttachmentReference2* pDepthStencilAttachment;
6418 deUint32 preserveAttachmentCount;
6419 const deUint32* pPreserveAttachments;
6420 } VkSubpassDescription2;
6422 typedef struct VkSubpassDependency2 {
6423 VkStructureType sType;
6425 deUint32 srcSubpass;
6426 deUint32 dstSubpass;
6427 VkPipelineStageFlags srcStageMask;
6428 VkPipelineStageFlags dstStageMask;
6429 VkAccessFlags srcAccessMask;
6430 VkAccessFlags dstAccessMask;
6431 VkDependencyFlags dependencyFlags;
6433 } VkSubpassDependency2;
6435 typedef struct VkRenderPassCreateInfo2 {
6436 VkStructureType sType;
6438 VkRenderPassCreateFlags flags;
6439 deUint32 attachmentCount;
6440 const VkAttachmentDescription2* pAttachments;
6441 deUint32 subpassCount;
6442 const VkSubpassDescription2* pSubpasses;
6443 deUint32 dependencyCount;
6444 const VkSubpassDependency2* pDependencies;
6445 deUint32 correlatedViewMaskCount;
6446 const deUint32* pCorrelatedViewMasks;
6447 } VkRenderPassCreateInfo2;
6449 typedef struct VkSubpassBeginInfo {
6450 VkStructureType sType;
6452 VkSubpassContents contents;
6453 } VkSubpassBeginInfo;
6455 typedef struct VkSubpassEndInfo {
6456 VkStructureType sType;
6460 typedef struct VkPhysicalDevice8BitStorageFeatures {
6461 VkStructureType sType;
6463 VkBool32 storageBuffer8BitAccess;
6464 VkBool32 uniformAndStorageBuffer8BitAccess;
6465 VkBool32 storagePushConstant8;
6466 } VkPhysicalDevice8BitStorageFeatures;
6468 typedef struct VkPhysicalDeviceDriverProperties {
6469 VkStructureType sType;
6471 VkDriverId driverID;
6472 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6473 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6474 VkConformanceVersion conformanceVersion;
6475 } VkPhysicalDeviceDriverProperties;
6477 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6478 VkStructureType sType;
6480 VkBool32 shaderBufferInt64Atomics;
6481 VkBool32 shaderSharedInt64Atomics;
6482 } VkPhysicalDeviceShaderAtomicInt64Features;
6484 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6485 VkStructureType sType;
6487 VkBool32 shaderFloat16;
6488 VkBool32 shaderInt8;
6489 } VkPhysicalDeviceShaderFloat16Int8Features;
6491 typedef struct VkPhysicalDeviceFloatControlsProperties {
6492 VkStructureType sType;
6494 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6495 VkShaderFloatControlsIndependence roundingModeIndependence;
6496 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6497 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6498 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6499 VkBool32 shaderDenormPreserveFloat16;
6500 VkBool32 shaderDenormPreserveFloat32;
6501 VkBool32 shaderDenormPreserveFloat64;
6502 VkBool32 shaderDenormFlushToZeroFloat16;
6503 VkBool32 shaderDenormFlushToZeroFloat32;
6504 VkBool32 shaderDenormFlushToZeroFloat64;
6505 VkBool32 shaderRoundingModeRTEFloat16;
6506 VkBool32 shaderRoundingModeRTEFloat32;
6507 VkBool32 shaderRoundingModeRTEFloat64;
6508 VkBool32 shaderRoundingModeRTZFloat16;
6509 VkBool32 shaderRoundingModeRTZFloat32;
6510 VkBool32 shaderRoundingModeRTZFloat64;
6511 } VkPhysicalDeviceFloatControlsProperties;
6513 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6514 VkStructureType sType;
6516 deUint32 bindingCount;
6517 const VkDescriptorBindingFlags* pBindingFlags;
6518 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6520 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6521 VkStructureType sType;
6523 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6524 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6525 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6526 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6527 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6528 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6529 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6530 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6531 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6532 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6533 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6534 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6535 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6536 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6537 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6538 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6539 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6540 VkBool32 descriptorBindingPartiallyBound;
6541 VkBool32 descriptorBindingVariableDescriptorCount;
6542 VkBool32 runtimeDescriptorArray;
6543 } VkPhysicalDeviceDescriptorIndexingFeatures;
6545 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6546 VkStructureType sType;
6548 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6549 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6550 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6551 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6552 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6553 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6554 VkBool32 robustBufferAccessUpdateAfterBind;
6555 VkBool32 quadDivergentImplicitLod;
6556 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6557 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6558 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6559 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6560 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6561 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6562 deUint32 maxPerStageUpdateAfterBindResources;
6563 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6564 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6565 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6566 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6567 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6568 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6569 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6570 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6571 } VkPhysicalDeviceDescriptorIndexingProperties;
6573 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6574 VkStructureType sType;
6576 deUint32 descriptorSetCount;
6577 const deUint32* pDescriptorCounts;
6578 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6580 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6581 VkStructureType sType;
6583 deUint32 maxVariableDescriptorCount;
6584 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6586 typedef struct VkSubpassDescriptionDepthStencilResolve {
6587 VkStructureType sType;
6589 VkResolveModeFlagBits depthResolveMode;
6590 VkResolveModeFlagBits stencilResolveMode;
6591 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6592 } VkSubpassDescriptionDepthStencilResolve;
6594 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6595 VkStructureType sType;
6597 VkResolveModeFlags supportedDepthResolveModes;
6598 VkResolveModeFlags supportedStencilResolveModes;
6599 VkBool32 independentResolveNone;
6600 VkBool32 independentResolve;
6601 } VkPhysicalDeviceDepthStencilResolveProperties;
6603 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6604 VkStructureType sType;
6606 VkBool32 scalarBlockLayout;
6607 } VkPhysicalDeviceScalarBlockLayoutFeatures;
6609 typedef struct VkImageStencilUsageCreateInfo {
6610 VkStructureType sType;
6612 VkImageUsageFlags stencilUsage;
6613 } VkImageStencilUsageCreateInfo;
6615 typedef struct VkSamplerReductionModeCreateInfo {
6616 VkStructureType sType;
6618 VkSamplerReductionMode reductionMode;
6619 } VkSamplerReductionModeCreateInfo;
6621 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6622 VkStructureType sType;
6624 VkBool32 filterMinmaxSingleComponentFormats;
6625 VkBool32 filterMinmaxImageComponentMapping;
6626 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
6628 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6629 VkStructureType sType;
6631 VkBool32 vulkanMemoryModel;
6632 VkBool32 vulkanMemoryModelDeviceScope;
6633 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6634 } VkPhysicalDeviceVulkanMemoryModelFeatures;
6636 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6637 VkStructureType sType;
6639 VkBool32 imagelessFramebuffer;
6640 } VkPhysicalDeviceImagelessFramebufferFeatures;
6642 typedef struct VkFramebufferAttachmentImageInfo {
6643 VkStructureType sType;
6645 VkImageCreateFlags flags;
6646 VkImageUsageFlags usage;
6649 deUint32 layerCount;
6650 deUint32 viewFormatCount;
6651 const VkFormat* pViewFormats;
6652 } VkFramebufferAttachmentImageInfo;
6654 typedef struct VkFramebufferAttachmentsCreateInfo {
6655 VkStructureType sType;
6657 deUint32 attachmentImageInfoCount;
6658 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6659 } VkFramebufferAttachmentsCreateInfo;
6661 typedef struct VkRenderPassAttachmentBeginInfo {
6662 VkStructureType sType;
6664 deUint32 attachmentCount;
6665 const VkImageView* pAttachments;
6666 } VkRenderPassAttachmentBeginInfo;
6668 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6669 VkStructureType sType;
6671 VkBool32 uniformBufferStandardLayout;
6672 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6674 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6675 VkStructureType sType;
6677 VkBool32 shaderSubgroupExtendedTypes;
6678 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6680 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6681 VkStructureType sType;
6683 VkBool32 separateDepthStencilLayouts;
6684 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6686 typedef struct VkAttachmentReferenceStencilLayout {
6687 VkStructureType sType;
6689 VkImageLayout stencilLayout;
6690 } VkAttachmentReferenceStencilLayout;
6692 typedef struct VkAttachmentDescriptionStencilLayout {
6693 VkStructureType sType;
6695 VkImageLayout stencilInitialLayout;
6696 VkImageLayout stencilFinalLayout;
6697 } VkAttachmentDescriptionStencilLayout;
6699 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6700 VkStructureType sType;
6702 VkBool32 hostQueryReset;
6703 } VkPhysicalDeviceHostQueryResetFeatures;
6705 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6706 VkStructureType sType;
6708 VkBool32 timelineSemaphore;
6709 } VkPhysicalDeviceTimelineSemaphoreFeatures;
6711 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6712 VkStructureType sType;
6714 deUint64 maxTimelineSemaphoreValueDifference;
6715 } VkPhysicalDeviceTimelineSemaphoreProperties;
6717 typedef struct VkSemaphoreTypeCreateInfo {
6718 VkStructureType sType;
6720 VkSemaphoreType semaphoreType;
6721 deUint64 initialValue;
6722 } VkSemaphoreTypeCreateInfo;
6724 typedef struct VkTimelineSemaphoreSubmitInfo {
6725 VkStructureType sType;
6727 deUint32 waitSemaphoreValueCount;
6728 const deUint64* pWaitSemaphoreValues;
6729 deUint32 signalSemaphoreValueCount;
6730 const deUint64* pSignalSemaphoreValues;
6731 } VkTimelineSemaphoreSubmitInfo;
6733 typedef struct VkSemaphoreWaitInfo {
6734 VkStructureType sType;
6736 VkSemaphoreWaitFlags flags;
6737 deUint32 semaphoreCount;
6738 const VkSemaphore* pSemaphores;
6739 const deUint64* pValues;
6740 } VkSemaphoreWaitInfo;
6742 typedef struct VkSemaphoreSignalInfo {
6743 VkStructureType sType;
6745 VkSemaphore semaphore;
6747 } VkSemaphoreSignalInfo;
6749 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6750 VkStructureType sType;
6752 VkBool32 bufferDeviceAddress;
6753 VkBool32 bufferDeviceAddressCaptureReplay;
6754 VkBool32 bufferDeviceAddressMultiDevice;
6755 } VkPhysicalDeviceBufferDeviceAddressFeatures;
6757 typedef struct VkBufferDeviceAddressInfo {
6758 VkStructureType sType;
6761 } VkBufferDeviceAddressInfo;
6763 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6764 VkStructureType sType;
6766 deUint64 opaqueCaptureAddress;
6767 } VkBufferOpaqueCaptureAddressCreateInfo;
6769 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6770 VkStructureType sType;
6772 deUint64 opaqueCaptureAddress;
6773 } VkMemoryOpaqueCaptureAddressAllocateInfo;
6775 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6776 VkStructureType sType;
6778 VkDeviceMemory memory;
6779 } VkDeviceMemoryOpaqueCaptureAddressInfo;
6781 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6782 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6783 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6784 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6785 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6786 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6787 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
6788 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
6789 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
6790 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6791 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6792 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6793 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6795 #ifndef VK_NO_PROTOTYPES
6796 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6797 VkCommandBuffer commandBuffer,
6799 VkDeviceSize offset,
6800 VkBuffer countBuffer,
6801 VkDeviceSize countBufferOffset,
6802 deUint32 maxDrawCount,
6805 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6806 VkCommandBuffer commandBuffer,
6808 VkDeviceSize offset,
6809 VkBuffer countBuffer,
6810 VkDeviceSize countBufferOffset,
6811 deUint32 maxDrawCount,
6814 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6816 const VkRenderPassCreateInfo2* pCreateInfo,
6817 const VkAllocationCallbacks* pAllocator,
6818 VkRenderPass* pRenderPass);
6820 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6821 VkCommandBuffer commandBuffer,
6822 const VkRenderPassBeginInfo* pRenderPassBegin,
6823 const VkSubpassBeginInfo* pSubpassBeginInfo);
6825 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6826 VkCommandBuffer commandBuffer,
6827 const VkSubpassBeginInfo* pSubpassBeginInfo,
6828 const VkSubpassEndInfo* pSubpassEndInfo);
6830 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6831 VkCommandBuffer commandBuffer,
6832 const VkSubpassEndInfo* pSubpassEndInfo);
6834 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6836 VkQueryPool queryPool,
6837 deUint32 firstQuery,
6838 deUint32 queryCount);
6840 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6842 VkSemaphore semaphore,
6845 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6847 const VkSemaphoreWaitInfo* pWaitInfo,
6850 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6852 const VkSemaphoreSignalInfo* pSignalInfo);
6854 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6856 const VkBufferDeviceAddressInfo* pInfo);
6858 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6860 const VkBufferDeviceAddressInfo* pInfo);
6862 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6864 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6868 #define VK_KHR_surface 1
6869 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6870 #define VK_KHR_SURFACE_SPEC_VERSION 25
6871 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6873 typedef enum VkPresentModeKHR {
6874 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6875 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6876 VK_PRESENT_MODE_FIFO_KHR = 2,
6877 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6878 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6879 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6880 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6883 typedef enum VkColorSpaceKHR {
6884 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6885 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6886 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6887 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6888 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6889 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6890 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6891 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6892 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6893 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6894 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6895 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6896 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6897 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6898 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6899 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6900 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6901 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6902 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6905 typedef enum VkSurfaceTransformFlagBitsKHR {
6906 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6907 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6908 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6909 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6910 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6911 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6912 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6913 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6914 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6915 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6916 } VkSurfaceTransformFlagBitsKHR;
6918 typedef enum VkCompositeAlphaFlagBitsKHR {
6919 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6920 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6921 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6922 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6923 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6924 } VkCompositeAlphaFlagBitsKHR;
6925 typedef VkFlags VkCompositeAlphaFlagsKHR;
6926 typedef VkFlags VkSurfaceTransformFlagsKHR;
6927 typedef struct VkSurfaceCapabilitiesKHR {
6928 deUint32 minImageCount;
6929 deUint32 maxImageCount;
6930 VkExtent2D currentExtent;
6931 VkExtent2D minImageExtent;
6932 VkExtent2D maxImageExtent;
6933 deUint32 maxImageArrayLayers;
6934 VkSurfaceTransformFlagsKHR supportedTransforms;
6935 VkSurfaceTransformFlagBitsKHR currentTransform;
6936 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6937 VkImageUsageFlags supportedUsageFlags;
6938 } VkSurfaceCapabilitiesKHR;
6940 typedef struct VkSurfaceFormatKHR {
6942 VkColorSpaceKHR colorSpace;
6943 } VkSurfaceFormatKHR;
6945 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6946 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6947 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6948 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6949 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6951 #ifndef VK_NO_PROTOTYPES
6952 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6953 VkInstance instance,
6954 VkSurfaceKHR surface,
6955 const VkAllocationCallbacks* pAllocator);
6957 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
6958 VkPhysicalDevice physicalDevice,
6959 deUint32 queueFamilyIndex,
6960 VkSurfaceKHR surface,
6961 VkBool32* pSupported);
6963 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
6964 VkPhysicalDevice physicalDevice,
6965 VkSurfaceKHR surface,
6966 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6968 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
6969 VkPhysicalDevice physicalDevice,
6970 VkSurfaceKHR surface,
6971 deUint32* pSurfaceFormatCount,
6972 VkSurfaceFormatKHR* pSurfaceFormats);
6974 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
6975 VkPhysicalDevice physicalDevice,
6976 VkSurfaceKHR surface,
6977 deUint32* pPresentModeCount,
6978 VkPresentModeKHR* pPresentModes);
6982 #define VK_KHR_swapchain 1
6983 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
6984 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
6985 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
6987 typedef enum VkSwapchainCreateFlagBitsKHR {
6988 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
6989 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
6990 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
6991 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6992 } VkSwapchainCreateFlagBitsKHR;
6993 typedef VkFlags VkSwapchainCreateFlagsKHR;
6995 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
6996 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
6997 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
6998 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
6999 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7000 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7001 } VkDeviceGroupPresentModeFlagBitsKHR;
7002 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7003 typedef struct VkSwapchainCreateInfoKHR {
7004 VkStructureType sType;
7006 VkSwapchainCreateFlagsKHR flags;
7007 VkSurfaceKHR surface;
7008 deUint32 minImageCount;
7009 VkFormat imageFormat;
7010 VkColorSpaceKHR imageColorSpace;
7011 VkExtent2D imageExtent;
7012 deUint32 imageArrayLayers;
7013 VkImageUsageFlags imageUsage;
7014 VkSharingMode imageSharingMode;
7015 deUint32 queueFamilyIndexCount;
7016 const deUint32* pQueueFamilyIndices;
7017 VkSurfaceTransformFlagBitsKHR preTransform;
7018 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7019 VkPresentModeKHR presentMode;
7021 VkSwapchainKHR oldSwapchain;
7022 } VkSwapchainCreateInfoKHR;
7024 typedef struct VkPresentInfoKHR {
7025 VkStructureType sType;
7027 deUint32 waitSemaphoreCount;
7028 const VkSemaphore* pWaitSemaphores;
7029 deUint32 swapchainCount;
7030 const VkSwapchainKHR* pSwapchains;
7031 const deUint32* pImageIndices;
7035 typedef struct VkImageSwapchainCreateInfoKHR {
7036 VkStructureType sType;
7038 VkSwapchainKHR swapchain;
7039 } VkImageSwapchainCreateInfoKHR;
7041 typedef struct VkBindImageMemorySwapchainInfoKHR {
7042 VkStructureType sType;
7044 VkSwapchainKHR swapchain;
7045 deUint32 imageIndex;
7046 } VkBindImageMemorySwapchainInfoKHR;
7048 typedef struct VkAcquireNextImageInfoKHR {
7049 VkStructureType sType;
7051 VkSwapchainKHR swapchain;
7053 VkSemaphore semaphore;
7055 deUint32 deviceMask;
7056 } VkAcquireNextImageInfoKHR;
7058 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7059 VkStructureType sType;
7061 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7062 VkDeviceGroupPresentModeFlagsKHR modes;
7063 } VkDeviceGroupPresentCapabilitiesKHR;
7065 typedef struct VkDeviceGroupPresentInfoKHR {
7066 VkStructureType sType;
7068 deUint32 swapchainCount;
7069 const deUint32* pDeviceMasks;
7070 VkDeviceGroupPresentModeFlagBitsKHR mode;
7071 } VkDeviceGroupPresentInfoKHR;
7073 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7074 VkStructureType sType;
7076 VkDeviceGroupPresentModeFlagsKHR modes;
7077 } VkDeviceGroupSwapchainCreateInfoKHR;
7079 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7080 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7081 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
7082 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
7083 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7084 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7085 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7086 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
7087 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
7089 #ifndef VK_NO_PROTOTYPES
7090 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7092 const VkSwapchainCreateInfoKHR* pCreateInfo,
7093 const VkAllocationCallbacks* pAllocator,
7094 VkSwapchainKHR* pSwapchain);
7096 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7098 VkSwapchainKHR swapchain,
7099 const VkAllocationCallbacks* pAllocator);
7101 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7103 VkSwapchainKHR swapchain,
7104 deUint32* pSwapchainImageCount,
7105 VkImage* pSwapchainImages);
7107 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7109 VkSwapchainKHR swapchain,
7111 VkSemaphore semaphore,
7113 deUint32* pImageIndex);
7115 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7117 const VkPresentInfoKHR* pPresentInfo);
7119 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7121 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7123 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7125 VkSurfaceKHR surface,
7126 VkDeviceGroupPresentModeFlagsKHR* pModes);
7128 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7129 VkPhysicalDevice physicalDevice,
7130 VkSurfaceKHR surface,
7131 deUint32* pRectCount,
7134 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7136 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7137 deUint32* pImageIndex);
7141 #define VK_KHR_display 1
7142 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7143 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7144 #define VK_KHR_DISPLAY_SPEC_VERSION 23
7145 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7146 typedef VkFlags VkDisplayModeCreateFlagsKHR;
7148 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7149 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7150 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7151 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7152 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7153 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7154 } VkDisplayPlaneAlphaFlagBitsKHR;
7155 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7156 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7157 typedef struct VkDisplayModeParametersKHR {
7158 VkExtent2D visibleRegion;
7159 deUint32 refreshRate;
7160 } VkDisplayModeParametersKHR;
7162 typedef struct VkDisplayModeCreateInfoKHR {
7163 VkStructureType sType;
7165 VkDisplayModeCreateFlagsKHR flags;
7166 VkDisplayModeParametersKHR parameters;
7167 } VkDisplayModeCreateInfoKHR;
7169 typedef struct VkDisplayModePropertiesKHR {
7170 VkDisplayModeKHR displayMode;
7171 VkDisplayModeParametersKHR parameters;
7172 } VkDisplayModePropertiesKHR;
7174 typedef struct VkDisplayPlaneCapabilitiesKHR {
7175 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7176 VkOffset2D minSrcPosition;
7177 VkOffset2D maxSrcPosition;
7178 VkExtent2D minSrcExtent;
7179 VkExtent2D maxSrcExtent;
7180 VkOffset2D minDstPosition;
7181 VkOffset2D maxDstPosition;
7182 VkExtent2D minDstExtent;
7183 VkExtent2D maxDstExtent;
7184 } VkDisplayPlaneCapabilitiesKHR;
7186 typedef struct VkDisplayPlanePropertiesKHR {
7187 VkDisplayKHR currentDisplay;
7188 deUint32 currentStackIndex;
7189 } VkDisplayPlanePropertiesKHR;
7191 typedef struct VkDisplayPropertiesKHR {
7192 VkDisplayKHR display;
7193 const char* displayName;
7194 VkExtent2D physicalDimensions;
7195 VkExtent2D physicalResolution;
7196 VkSurfaceTransformFlagsKHR supportedTransforms;
7197 VkBool32 planeReorderPossible;
7198 VkBool32 persistentContent;
7199 } VkDisplayPropertiesKHR;
7201 typedef struct VkDisplaySurfaceCreateInfoKHR {
7202 VkStructureType sType;
7204 VkDisplaySurfaceCreateFlagsKHR flags;
7205 VkDisplayModeKHR displayMode;
7206 deUint32 planeIndex;
7207 deUint32 planeStackIndex;
7208 VkSurfaceTransformFlagBitsKHR transform;
7210 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7211 VkExtent2D imageExtent;
7212 } VkDisplaySurfaceCreateInfoKHR;
7214 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7215 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7216 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
7217 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7218 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7219 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7220 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7222 #ifndef VK_NO_PROTOTYPES
7223 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7224 VkPhysicalDevice physicalDevice,
7225 deUint32* pPropertyCount,
7226 VkDisplayPropertiesKHR* pProperties);
7228 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7229 VkPhysicalDevice physicalDevice,
7230 deUint32* pPropertyCount,
7231 VkDisplayPlanePropertiesKHR* pProperties);
7233 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7234 VkPhysicalDevice physicalDevice,
7235 deUint32 planeIndex,
7236 deUint32* pDisplayCount,
7237 VkDisplayKHR* pDisplays);
7239 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7240 VkPhysicalDevice physicalDevice,
7241 VkDisplayKHR display,
7242 deUint32* pPropertyCount,
7243 VkDisplayModePropertiesKHR* pProperties);
7245 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7246 VkPhysicalDevice physicalDevice,
7247 VkDisplayKHR display,
7248 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7249 const VkAllocationCallbacks* pAllocator,
7250 VkDisplayModeKHR* pMode);
7252 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7253 VkPhysicalDevice physicalDevice,
7254 VkDisplayModeKHR mode,
7255 deUint32 planeIndex,
7256 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7258 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7259 VkInstance instance,
7260 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7261 const VkAllocationCallbacks* pAllocator,
7262 VkSurfaceKHR* pSurface);
7266 #define VK_KHR_display_swapchain 1
7267 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7268 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7269 typedef struct VkDisplayPresentInfoKHR {
7270 VkStructureType sType;
7274 VkBool32 persistent;
7275 } VkDisplayPresentInfoKHR;
7277 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7279 #ifndef VK_NO_PROTOTYPES
7280 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7282 deUint32 swapchainCount,
7283 const VkSwapchainCreateInfoKHR* pCreateInfos,
7284 const VkAllocationCallbacks* pAllocator,
7285 VkSwapchainKHR* pSwapchains);
7289 #define VK_KHR_sampler_mirror_clamp_to_edge 1
7290 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7291 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7294 #define VK_KHR_multiview 1
7295 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
7296 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
7297 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
7299 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
7301 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
7305 #define VK_KHR_get_physical_device_properties2 1
7306 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
7307 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
7308 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
7310 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
7312 typedef VkFormatProperties2 VkFormatProperties2KHR;
7314 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
7316 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
7318 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
7320 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
7322 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
7324 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
7326 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
7327 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
7328 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
7329 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
7330 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
7331 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7332 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
7334 #ifndef VK_NO_PROTOTYPES
7335 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
7336 VkPhysicalDevice physicalDevice,
7337 VkPhysicalDeviceFeatures2* pFeatures);
7339 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
7340 VkPhysicalDevice physicalDevice,
7341 VkPhysicalDeviceProperties2* pProperties);
7343 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
7344 VkPhysicalDevice physicalDevice,
7346 VkFormatProperties2* pFormatProperties);
7348 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
7349 VkPhysicalDevice physicalDevice,
7350 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
7351 VkImageFormatProperties2* pImageFormatProperties);
7353 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7354 VkPhysicalDevice physicalDevice,
7355 deUint32* pQueueFamilyPropertyCount,
7356 VkQueueFamilyProperties2* pQueueFamilyProperties);
7358 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
7359 VkPhysicalDevice physicalDevice,
7360 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7362 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7363 VkPhysicalDevice physicalDevice,
7364 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
7365 deUint32* pPropertyCount,
7366 VkSparseImageFormatProperties2* pProperties);
7370 #define VK_KHR_device_group 1
7371 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
7372 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
7373 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
7375 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
7377 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
7379 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
7381 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
7383 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
7385 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
7387 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
7389 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
7391 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
7393 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
7395 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7396 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
7397 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
7399 #ifndef VK_NO_PROTOTYPES
7400 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
7403 deUint32 localDeviceIndex,
7404 deUint32 remoteDeviceIndex,
7405 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7407 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
7408 VkCommandBuffer commandBuffer,
7409 deUint32 deviceMask);
7411 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
7412 VkCommandBuffer commandBuffer,
7413 deUint32 baseGroupX,
7414 deUint32 baseGroupY,
7415 deUint32 baseGroupZ,
7416 deUint32 groupCountX,
7417 deUint32 groupCountY,
7418 deUint32 groupCountZ);
7422 #define VK_KHR_shader_draw_parameters 1
7423 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
7424 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
7427 #define VK_KHR_maintenance1 1
7428 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
7429 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
7430 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
7432 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
7434 #ifndef VK_NO_PROTOTYPES
7435 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
7437 VkCommandPool commandPool,
7438 VkCommandPoolTrimFlags flags);
7442 #define VK_KHR_device_group_creation 1
7443 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
7444 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
7445 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
7446 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
7448 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
7450 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7452 #ifndef VK_NO_PROTOTYPES
7453 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
7454 VkInstance instance,
7455 deUint32* pPhysicalDeviceGroupCount,
7456 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7460 #define VK_KHR_external_memory_capabilities 1
7461 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7462 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
7463 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
7464 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
7466 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
7468 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
7470 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
7472 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
7474 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
7476 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
7478 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
7480 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
7482 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
7484 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
7486 #ifndef VK_NO_PROTOTYPES
7487 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7488 VkPhysicalDevice physicalDevice,
7489 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
7490 VkExternalBufferProperties* pExternalBufferProperties);
7494 #define VK_KHR_external_memory 1
7495 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
7496 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
7497 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
7498 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
7500 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
7502 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
7506 #define VK_KHR_external_memory_fd 1
7507 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
7508 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
7509 typedef struct VkImportMemoryFdInfoKHR {
7510 VkStructureType sType;
7512 VkExternalMemoryHandleTypeFlagBits handleType;
7514 } VkImportMemoryFdInfoKHR;
7516 typedef struct VkMemoryFdPropertiesKHR {
7517 VkStructureType sType;
7519 deUint32 memoryTypeBits;
7520 } VkMemoryFdPropertiesKHR;
7522 typedef struct VkMemoryGetFdInfoKHR {
7523 VkStructureType sType;
7525 VkDeviceMemory memory;
7526 VkExternalMemoryHandleTypeFlagBits handleType;
7527 } VkMemoryGetFdInfoKHR;
7529 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
7530 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7532 #ifndef VK_NO_PROTOTYPES
7533 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
7535 const VkMemoryGetFdInfoKHR* pGetFdInfo,
7538 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
7540 VkExternalMemoryHandleTypeFlagBits handleType,
7542 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7546 #define VK_KHR_external_semaphore_capabilities 1
7547 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
7548 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
7549 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
7551 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
7553 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
7555 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
7557 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
7559 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
7561 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7563 #ifndef VK_NO_PROTOTYPES
7564 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
7565 VkPhysicalDevice physicalDevice,
7566 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
7567 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7571 #define VK_KHR_external_semaphore 1
7572 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
7573 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
7574 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
7576 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
7578 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
7582 #define VK_KHR_external_semaphore_fd 1
7583 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
7584 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
7585 typedef struct VkImportSemaphoreFdInfoKHR {
7586 VkStructureType sType;
7588 VkSemaphore semaphore;
7589 VkSemaphoreImportFlags flags;
7590 VkExternalSemaphoreHandleTypeFlagBits handleType;
7592 } VkImportSemaphoreFdInfoKHR;
7594 typedef struct VkSemaphoreGetFdInfoKHR {
7595 VkStructureType sType;
7597 VkSemaphore semaphore;
7598 VkExternalSemaphoreHandleTypeFlagBits handleType;
7599 } VkSemaphoreGetFdInfoKHR;
7601 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7602 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
7604 #ifndef VK_NO_PROTOTYPES
7605 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
7607 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7609 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
7611 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
7616 #define VK_KHR_push_descriptor 1
7617 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
7618 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
7619 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7620 VkStructureType sType;
7622 deUint32 maxPushDescriptors;
7623 } VkPhysicalDevicePushDescriptorPropertiesKHR;
7625 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
7626 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
7628 #ifndef VK_NO_PROTOTYPES
7629 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
7630 VkCommandBuffer commandBuffer,
7631 VkPipelineBindPoint pipelineBindPoint,
7632 VkPipelineLayout layout,
7634 deUint32 descriptorWriteCount,
7635 const VkWriteDescriptorSet* pDescriptorWrites);
7637 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
7638 VkCommandBuffer commandBuffer,
7639 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7640 VkPipelineLayout layout,
7646 #define VK_KHR_shader_float16_int8 1
7647 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
7648 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
7649 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
7651 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
7655 #define VK_KHR_16bit_storage 1
7656 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
7657 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
7658 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
7662 #define VK_KHR_incremental_present 1
7663 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
7664 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
7665 typedef struct VkRectLayerKHR {
7671 typedef struct VkPresentRegionKHR {
7672 deUint32 rectangleCount;
7673 const VkRectLayerKHR* pRectangles;
7674 } VkPresentRegionKHR;
7676 typedef struct VkPresentRegionsKHR {
7677 VkStructureType sType;
7679 deUint32 swapchainCount;
7680 const VkPresentRegionKHR* pRegions;
7681 } VkPresentRegionsKHR;
7685 #define VK_KHR_descriptor_update_template 1
7686 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
7688 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
7689 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
7690 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
7692 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
7694 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
7696 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
7698 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7699 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
7700 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
7702 #ifndef VK_NO_PROTOTYPES
7703 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
7705 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
7706 const VkAllocationCallbacks* pAllocator,
7707 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7709 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
7711 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7712 const VkAllocationCallbacks* pAllocator);
7714 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
7716 VkDescriptorSet descriptorSet,
7717 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7722 #define VK_KHR_imageless_framebuffer 1
7723 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
7724 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
7725 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
7727 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
7729 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
7731 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
7735 #define VK_KHR_create_renderpass2 1
7736 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
7737 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
7738 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
7740 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
7742 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
7744 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
7746 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
7748 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
7750 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
7752 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7753 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7754 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7755 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7757 #ifndef VK_NO_PROTOTYPES
7758 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
7760 const VkRenderPassCreateInfo2* pCreateInfo,
7761 const VkAllocationCallbacks* pAllocator,
7762 VkRenderPass* pRenderPass);
7764 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
7765 VkCommandBuffer commandBuffer,
7766 const VkRenderPassBeginInfo* pRenderPassBegin,
7767 const VkSubpassBeginInfo* pSubpassBeginInfo);
7769 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
7770 VkCommandBuffer commandBuffer,
7771 const VkSubpassBeginInfo* pSubpassBeginInfo,
7772 const VkSubpassEndInfo* pSubpassEndInfo);
7774 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
7775 VkCommandBuffer commandBuffer,
7776 const VkSubpassEndInfo* pSubpassEndInfo);
7780 #define VK_KHR_shared_presentable_image 1
7781 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
7782 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
7783 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
7784 VkStructureType sType;
7786 VkImageUsageFlags sharedPresentSupportedUsageFlags;
7787 } VkSharedPresentSurfaceCapabilitiesKHR;
7789 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
7791 #ifndef VK_NO_PROTOTYPES
7792 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
7794 VkSwapchainKHR swapchain);
7798 #define VK_KHR_external_fence_capabilities 1
7799 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
7800 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
7801 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
7803 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
7805 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
7807 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
7809 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
7811 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
7813 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
7815 #ifndef VK_NO_PROTOTYPES
7816 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
7817 VkPhysicalDevice physicalDevice,
7818 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
7819 VkExternalFenceProperties* pExternalFenceProperties);
7823 #define VK_KHR_external_fence 1
7824 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
7825 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
7826 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
7828 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
7830 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
7834 #define VK_KHR_external_fence_fd 1
7835 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
7836 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
7837 typedef struct VkImportFenceFdInfoKHR {
7838 VkStructureType sType;
7841 VkFenceImportFlags flags;
7842 VkExternalFenceHandleTypeFlagBits handleType;
7844 } VkImportFenceFdInfoKHR;
7846 typedef struct VkFenceGetFdInfoKHR {
7847 VkStructureType sType;
7850 VkExternalFenceHandleTypeFlagBits handleType;
7851 } VkFenceGetFdInfoKHR;
7853 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7854 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
7856 #ifndef VK_NO_PROTOTYPES
7857 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
7859 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7861 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
7863 const VkFenceGetFdInfoKHR* pGetFdInfo,
7868 #define VK_KHR_performance_query 1
7869 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7870 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7872 typedef enum VkPerformanceCounterUnitKHR {
7873 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7874 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7875 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7876 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7877 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7878 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7879 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7880 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7881 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7882 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7883 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7884 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7885 } VkPerformanceCounterUnitKHR;
7887 typedef enum VkPerformanceCounterScopeKHR {
7888 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7889 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7890 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7891 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7892 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7893 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7894 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7895 } VkPerformanceCounterScopeKHR;
7897 typedef enum VkPerformanceCounterStorageKHR {
7898 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7899 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7900 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7901 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7902 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7903 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7904 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7905 } VkPerformanceCounterStorageKHR;
7907 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7908 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7909 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7910 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7911 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7912 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7913 } VkPerformanceCounterDescriptionFlagBitsKHR;
7914 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7916 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7917 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7918 } VkAcquireProfilingLockFlagBitsKHR;
7919 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7920 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7921 VkStructureType sType;
7923 VkBool32 performanceCounterQueryPools;
7924 VkBool32 performanceCounterMultipleQueryPools;
7925 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7927 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7928 VkStructureType sType;
7930 VkBool32 allowCommandBufferQueryCopies;
7931 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7933 typedef struct VkPerformanceCounterKHR {
7934 VkStructureType sType;
7936 VkPerformanceCounterUnitKHR unit;
7937 VkPerformanceCounterScopeKHR scope;
7938 VkPerformanceCounterStorageKHR storage;
7939 deUint8 uuid[VK_UUID_SIZE];
7940 } VkPerformanceCounterKHR;
7942 typedef struct VkPerformanceCounterDescriptionKHR {
7943 VkStructureType sType;
7945 VkPerformanceCounterDescriptionFlagsKHR flags;
7946 char name[VK_MAX_DESCRIPTION_SIZE];
7947 char category[VK_MAX_DESCRIPTION_SIZE];
7948 char description[VK_MAX_DESCRIPTION_SIZE];
7949 } VkPerformanceCounterDescriptionKHR;
7951 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7952 VkStructureType sType;
7954 deUint32 queueFamilyIndex;
7955 deUint32 counterIndexCount;
7956 const deUint32* pCounterIndices;
7957 } VkQueryPoolPerformanceCreateInfoKHR;
7959 typedef union VkPerformanceCounterResultKHR {
7966 } VkPerformanceCounterResultKHR;
7968 typedef struct VkAcquireProfilingLockInfoKHR {
7969 VkStructureType sType;
7971 VkAcquireProfilingLockFlagsKHR flags;
7973 } VkAcquireProfilingLockInfoKHR;
7975 typedef struct VkPerformanceQuerySubmitInfoKHR {
7976 VkStructureType sType;
7978 deUint32 counterPassIndex;
7979 } VkPerformanceQuerySubmitInfoKHR;
7981 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7982 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
7983 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
7984 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
7986 #ifndef VK_NO_PROTOTYPES
7987 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
7988 VkPhysicalDevice physicalDevice,
7989 deUint32 queueFamilyIndex,
7990 deUint32* pCounterCount,
7991 VkPerformanceCounterKHR* pCounters,
7992 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
7994 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
7995 VkPhysicalDevice physicalDevice,
7996 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
7997 deUint32* pNumPasses);
7999 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
8001 const VkAcquireProfilingLockInfoKHR* pInfo);
8003 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
8008 #define VK_KHR_maintenance2 1
8009 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
8010 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
8011 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
8013 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
8015 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
8017 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
8019 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
8021 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
8023 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
8027 #define VK_KHR_get_surface_capabilities2 1
8028 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
8029 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
8030 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
8031 VkStructureType sType;
8033 VkSurfaceKHR surface;
8034 } VkPhysicalDeviceSurfaceInfo2KHR;
8036 typedef struct VkSurfaceCapabilities2KHR {
8037 VkStructureType sType;
8039 VkSurfaceCapabilitiesKHR surfaceCapabilities;
8040 } VkSurfaceCapabilities2KHR;
8042 typedef struct VkSurfaceFormat2KHR {
8043 VkStructureType sType;
8045 VkSurfaceFormatKHR surfaceFormat;
8046 } VkSurfaceFormat2KHR;
8048 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8049 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
8051 #ifndef VK_NO_PROTOTYPES
8052 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
8053 VkPhysicalDevice physicalDevice,
8054 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8055 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8057 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
8058 VkPhysicalDevice physicalDevice,
8059 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8060 deUint32* pSurfaceFormatCount,
8061 VkSurfaceFormat2KHR* pSurfaceFormats);
8065 #define VK_KHR_variable_pointers 1
8066 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
8067 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
8068 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
8070 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
8074 #define VK_KHR_get_display_properties2 1
8075 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
8076 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
8077 typedef struct VkDisplayProperties2KHR {
8078 VkStructureType sType;
8080 VkDisplayPropertiesKHR displayProperties;
8081 } VkDisplayProperties2KHR;
8083 typedef struct VkDisplayPlaneProperties2KHR {
8084 VkStructureType sType;
8086 VkDisplayPlanePropertiesKHR displayPlaneProperties;
8087 } VkDisplayPlaneProperties2KHR;
8089 typedef struct VkDisplayModeProperties2KHR {
8090 VkStructureType sType;
8092 VkDisplayModePropertiesKHR displayModeProperties;
8093 } VkDisplayModeProperties2KHR;
8095 typedef struct VkDisplayPlaneInfo2KHR {
8096 VkStructureType sType;
8098 VkDisplayModeKHR mode;
8099 deUint32 planeIndex;
8100 } VkDisplayPlaneInfo2KHR;
8102 typedef struct VkDisplayPlaneCapabilities2KHR {
8103 VkStructureType sType;
8105 VkDisplayPlaneCapabilitiesKHR capabilities;
8106 } VkDisplayPlaneCapabilities2KHR;
8108 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
8109 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
8110 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
8111 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
8113 #ifndef VK_NO_PROTOTYPES
8114 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
8115 VkPhysicalDevice physicalDevice,
8116 deUint32* pPropertyCount,
8117 VkDisplayProperties2KHR* pProperties);
8119 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
8120 VkPhysicalDevice physicalDevice,
8121 deUint32* pPropertyCount,
8122 VkDisplayPlaneProperties2KHR* pProperties);
8124 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
8125 VkPhysicalDevice physicalDevice,
8126 VkDisplayKHR display,
8127 deUint32* pPropertyCount,
8128 VkDisplayModeProperties2KHR* pProperties);
8130 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
8131 VkPhysicalDevice physicalDevice,
8132 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
8133 VkDisplayPlaneCapabilities2KHR* pCapabilities);
8137 #define VK_KHR_dedicated_allocation 1
8138 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
8139 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
8140 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
8142 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
8146 #define VK_KHR_storage_buffer_storage_class 1
8147 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
8148 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
8151 #define VK_KHR_relaxed_block_layout 1
8152 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
8153 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
8156 #define VK_KHR_get_memory_requirements2 1
8157 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
8158 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
8159 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
8161 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
8163 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
8165 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
8167 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
8169 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8170 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8171 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8173 #ifndef VK_NO_PROTOTYPES
8174 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
8176 const VkImageMemoryRequirementsInfo2* pInfo,
8177 VkMemoryRequirements2* pMemoryRequirements);
8179 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
8181 const VkBufferMemoryRequirementsInfo2* pInfo,
8182 VkMemoryRequirements2* pMemoryRequirements);
8184 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
8186 const VkImageSparseMemoryRequirementsInfo2* pInfo,
8187 deUint32* pSparseMemoryRequirementCount,
8188 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8192 #define VK_KHR_image_format_list 1
8193 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
8194 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
8195 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
8199 #define VK_KHR_sampler_ycbcr_conversion 1
8200 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
8202 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
8203 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
8204 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
8206 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
8208 typedef VkChromaLocation VkChromaLocationKHR;
8210 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
8212 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
8214 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
8216 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
8218 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
8220 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
8222 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
8223 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
8225 #ifndef VK_NO_PROTOTYPES
8226 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
8228 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
8229 const VkAllocationCallbacks* pAllocator,
8230 VkSamplerYcbcrConversion* pYcbcrConversion);
8232 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
8234 VkSamplerYcbcrConversion ycbcrConversion,
8235 const VkAllocationCallbacks* pAllocator);
8239 #define VK_KHR_bind_memory2 1
8240 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
8241 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
8242 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
8244 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
8246 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
8247 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
8249 #ifndef VK_NO_PROTOTYPES
8250 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
8252 deUint32 bindInfoCount,
8253 const VkBindBufferMemoryInfo* pBindInfos);
8255 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
8257 deUint32 bindInfoCount,
8258 const VkBindImageMemoryInfo* pBindInfos);
8262 #define VK_KHR_maintenance3 1
8263 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
8264 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
8265 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
8267 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
8269 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
8271 #ifndef VK_NO_PROTOTYPES
8272 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
8274 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
8275 VkDescriptorSetLayoutSupport* pSupport);
8279 #define VK_KHR_draw_indirect_count 1
8280 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
8281 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
8282 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8283 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8285 #ifndef VK_NO_PROTOTYPES
8286 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
8287 VkCommandBuffer commandBuffer,
8289 VkDeviceSize offset,
8290 VkBuffer countBuffer,
8291 VkDeviceSize countBufferOffset,
8292 deUint32 maxDrawCount,
8295 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
8296 VkCommandBuffer commandBuffer,
8298 VkDeviceSize offset,
8299 VkBuffer countBuffer,
8300 VkDeviceSize countBufferOffset,
8301 deUint32 maxDrawCount,
8306 #define VK_KHR_shader_subgroup_extended_types 1
8307 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
8308 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
8309 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
8313 #define VK_KHR_8bit_storage 1
8314 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
8315 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
8316 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
8320 #define VK_KHR_shader_atomic_int64 1
8321 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
8322 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
8323 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
8327 #define VK_KHR_shader_clock 1
8328 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
8329 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
8330 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
8331 VkStructureType sType;
8333 VkBool32 shaderSubgroupClock;
8334 VkBool32 shaderDeviceClock;
8335 } VkPhysicalDeviceShaderClockFeaturesKHR;
8339 #define VK_KHR_driver_properties 1
8340 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
8341 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
8342 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
8343 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
8344 typedef VkDriverId VkDriverIdKHR;
8346 typedef VkConformanceVersion VkConformanceVersionKHR;
8348 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
8352 #define VK_KHR_shader_float_controls 1
8353 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
8354 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
8355 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
8357 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
8361 #define VK_KHR_depth_stencil_resolve 1
8362 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
8363 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
8364 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
8366 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
8368 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
8370 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
8374 #define VK_KHR_swapchain_mutable_format 1
8375 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
8376 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
8379 #define VK_KHR_timeline_semaphore 1
8380 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
8381 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
8382 typedef VkSemaphoreType VkSemaphoreTypeKHR;
8384 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
8386 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
8388 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
8390 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
8392 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
8394 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
8396 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
8398 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
8400 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
8401 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
8402 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
8404 #ifndef VK_NO_PROTOTYPES
8405 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
8407 VkSemaphore semaphore,
8410 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
8412 const VkSemaphoreWaitInfo* pWaitInfo,
8415 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
8417 const VkSemaphoreSignalInfo* pSignalInfo);
8421 #define VK_KHR_vulkan_memory_model 1
8422 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
8423 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
8424 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
8428 #define VK_KHR_shader_terminate_invocation 1
8429 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
8430 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
8431 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
8432 VkStructureType sType;
8434 VkBool32 shaderTerminateInvocation;
8435 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
8439 #define VK_KHR_fragment_shading_rate 1
8440 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
8441 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
8443 typedef enum VkFragmentShadingRateCombinerOpKHR {
8444 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
8445 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
8446 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
8447 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
8448 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
8449 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
8450 } VkFragmentShadingRateCombinerOpKHR;
8451 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
8452 VkStructureType sType;
8454 const VkAttachmentReference2* pFragmentShadingRateAttachment;
8455 VkExtent2D shadingRateAttachmentTexelSize;
8456 } VkFragmentShadingRateAttachmentInfoKHR;
8458 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
8459 VkStructureType sType;
8461 VkExtent2D fragmentSize;
8462 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
8463 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
8465 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
8466 VkStructureType sType;
8468 VkBool32 pipelineFragmentShadingRate;
8469 VkBool32 primitiveFragmentShadingRate;
8470 VkBool32 attachmentFragmentShadingRate;
8471 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
8473 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
8474 VkStructureType sType;
8476 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
8477 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
8478 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
8479 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
8480 VkBool32 layeredShadingRateAttachments;
8481 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
8482 VkExtent2D maxFragmentSize;
8483 deUint32 maxFragmentSizeAspectRatio;
8484 deUint32 maxFragmentShadingRateCoverageSamples;
8485 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
8486 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
8487 VkBool32 fragmentShadingRateWithSampleMask;
8488 VkBool32 fragmentShadingRateWithShaderSampleMask;
8489 VkBool32 fragmentShadingRateWithConservativeRasterization;
8490 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
8491 VkBool32 fragmentShadingRateWithCustomSampleLocations;
8492 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
8493 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
8495 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
8496 VkStructureType sType;
8498 VkSampleCountFlags sampleCounts;
8499 VkExtent2D fragmentSize;
8500 } VkPhysicalDeviceFragmentShadingRateKHR;
8502 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8503 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8505 #ifndef VK_NO_PROTOTYPES
8506 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
8507 VkPhysicalDevice physicalDevice,
8508 deUint32* pFragmentShadingRateCount,
8509 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8511 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
8512 VkCommandBuffer commandBuffer,
8513 const VkExtent2D* pFragmentSize,
8514 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8518 #define VK_KHR_spirv_1_4 1
8519 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
8520 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
8523 #define VK_KHR_surface_protected_capabilities 1
8524 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
8525 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
8526 typedef struct VkSurfaceProtectedCapabilitiesKHR {
8527 VkStructureType sType;
8529 VkBool32 supportsProtected;
8530 } VkSurfaceProtectedCapabilitiesKHR;
8534 #define VK_KHR_separate_depth_stencil_layouts 1
8535 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
8536 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
8537 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
8539 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
8541 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
8545 #define VK_KHR_uniform_buffer_standard_layout 1
8546 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
8547 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
8548 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
8552 #define VK_KHR_buffer_device_address 1
8553 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
8554 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
8555 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
8557 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
8559 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
8561 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
8563 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
8565 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8566 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8567 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8569 #ifndef VK_NO_PROTOTYPES
8570 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
8572 const VkBufferDeviceAddressInfo* pInfo);
8574 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
8576 const VkBufferDeviceAddressInfo* pInfo);
8578 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
8580 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8584 #define VK_KHR_deferred_host_operations 1
8585 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
8586 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
8587 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
8588 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
8589 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
8590 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
8591 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
8592 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
8594 #ifndef VK_NO_PROTOTYPES
8595 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
8597 const VkAllocationCallbacks* pAllocator,
8598 VkDeferredOperationKHR* pDeferredOperation);
8600 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
8602 VkDeferredOperationKHR operation,
8603 const VkAllocationCallbacks* pAllocator);
8605 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
8607 VkDeferredOperationKHR operation);
8609 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
8611 VkDeferredOperationKHR operation);
8613 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
8615 VkDeferredOperationKHR operation);
8619 #define VK_KHR_pipeline_executable_properties 1
8620 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
8621 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
8623 typedef enum VkPipelineExecutableStatisticFormatKHR {
8624 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
8625 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
8626 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
8627 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
8628 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
8629 } VkPipelineExecutableStatisticFormatKHR;
8630 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
8631 VkStructureType sType;
8633 VkBool32 pipelineExecutableInfo;
8634 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
8636 typedef struct VkPipelineInfoKHR {
8637 VkStructureType sType;
8639 VkPipeline pipeline;
8640 } VkPipelineInfoKHR;
8642 typedef struct VkPipelineExecutablePropertiesKHR {
8643 VkStructureType sType;
8645 VkShaderStageFlags stages;
8646 char name[VK_MAX_DESCRIPTION_SIZE];
8647 char description[VK_MAX_DESCRIPTION_SIZE];
8648 deUint32 subgroupSize;
8649 } VkPipelineExecutablePropertiesKHR;
8651 typedef struct VkPipelineExecutableInfoKHR {
8652 VkStructureType sType;
8654 VkPipeline pipeline;
8655 deUint32 executableIndex;
8656 } VkPipelineExecutableInfoKHR;
8658 typedef union VkPipelineExecutableStatisticValueKHR {
8663 } VkPipelineExecutableStatisticValueKHR;
8665 typedef struct VkPipelineExecutableStatisticKHR {
8666 VkStructureType sType;
8668 char name[VK_MAX_DESCRIPTION_SIZE];
8669 char description[VK_MAX_DESCRIPTION_SIZE];
8670 VkPipelineExecutableStatisticFormatKHR format;
8671 VkPipelineExecutableStatisticValueKHR value;
8672 } VkPipelineExecutableStatisticKHR;
8674 typedef struct VkPipelineExecutableInternalRepresentationKHR {
8675 VkStructureType sType;
8677 char name[VK_MAX_DESCRIPTION_SIZE];
8678 char description[VK_MAX_DESCRIPTION_SIZE];
8682 } VkPipelineExecutableInternalRepresentationKHR;
8684 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
8685 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
8686 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8688 #ifndef VK_NO_PROTOTYPES
8689 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
8691 const VkPipelineInfoKHR* pPipelineInfo,
8692 deUint32* pExecutableCount,
8693 VkPipelineExecutablePropertiesKHR* pProperties);
8695 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
8697 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8698 deUint32* pStatisticCount,
8699 VkPipelineExecutableStatisticKHR* pStatistics);
8701 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
8703 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8704 deUint32* pInternalRepresentationCount,
8705 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8709 #define VK_KHR_pipeline_library 1
8710 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
8711 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
8712 typedef struct VkPipelineLibraryCreateInfoKHR {
8713 VkStructureType sType;
8715 deUint32 libraryCount;
8716 const VkPipeline* pLibraries;
8717 } VkPipelineLibraryCreateInfoKHR;
8721 #define VK_KHR_shader_non_semantic_info 1
8722 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
8723 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
8726 #define VK_KHR_synchronization2 1
8727 typedef deUint64 VkFlags64;
8728 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
8729 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
8730 typedef VkFlags64 VkPipelineStageFlags2KHR;
8732 // Flag bits for VkPipelineStageFlagBits2KHR
8733 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
8734 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
8735 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
8736 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
8737 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
8738 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
8739 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
8740 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
8741 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
8742 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
8743 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
8744 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
8745 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
8746 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
8747 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
8748 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000;
8749 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
8750 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
8751 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
8752 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
8753 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
8754 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
8755 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
8756 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
8757 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
8758 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
8759 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
8760 #ifdef VK_ENABLE_BETA_EXTENSIONS
8761 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
8763 #ifdef VK_ENABLE_BETA_EXTENSIONS
8764 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
8766 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
8767 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
8768 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
8769 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
8770 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000;
8771 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
8772 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
8773 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000;
8774 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000;
8775 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
8776 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
8777 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
8778 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_FLAG_BITS_2KHR_MAX_ENUM_KHR = 0x7FFFFFFFFFFFFFFFULL;
8780 typedef VkFlags64 VkAccessFlags2KHR;
8782 // Flag bits for VkAccessFlagBits2KHR
8783 typedef VkFlags64 VkAccessFlagBits2KHR;
8784 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
8785 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
8786 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
8787 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
8788 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
8789 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
8790 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
8791 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
8792 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
8793 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
8794 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
8795 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
8796 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
8797 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
8798 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
8799 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
8800 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
8801 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
8802 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
8803 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
8804 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
8805 #ifdef VK_ENABLE_BETA_EXTENSIONS
8806 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
8808 #ifdef VK_ENABLE_BETA_EXTENSIONS
8809 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
8811 #ifdef VK_ENABLE_BETA_EXTENSIONS
8812 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
8814 #ifdef VK_ENABLE_BETA_EXTENSIONS
8815 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
8817 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
8818 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
8819 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
8820 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
8821 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
8822 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
8823 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
8824 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
8825 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
8826 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
8827 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
8828 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
8829 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
8830 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
8831 static const VkAccessFlagBits2KHR VK_ACCESS_FLAG_BITS_2KHR_MAX_ENUM_KHR = 0x7FFFFFFFFFFFFFFFULL;
8834 typedef enum VkSubmitFlagBitsKHR {
8835 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
8836 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8837 } VkSubmitFlagBitsKHR;
8838 typedef VkFlags VkSubmitFlagsKHR;
8839 typedef struct VkMemoryBarrier2KHR {
8840 VkStructureType sType;
8842 VkPipelineStageFlags2KHR srcStageMask;
8843 VkAccessFlags2KHR srcAccessMask;
8844 VkPipelineStageFlags2KHR dstStageMask;
8845 VkAccessFlags2KHR dstAccessMask;
8846 } VkMemoryBarrier2KHR;
8848 typedef struct VkBufferMemoryBarrier2KHR {
8849 VkStructureType sType;
8851 VkPipelineStageFlags2KHR srcStageMask;
8852 VkAccessFlags2KHR srcAccessMask;
8853 VkPipelineStageFlags2KHR dstStageMask;
8854 VkAccessFlags2KHR dstAccessMask;
8855 deUint32 srcQueueFamilyIndex;
8856 deUint32 dstQueueFamilyIndex;
8858 VkDeviceSize offset;
8860 } VkBufferMemoryBarrier2KHR;
8862 typedef struct VkImageMemoryBarrier2KHR {
8863 VkStructureType sType;
8865 VkPipelineStageFlags2KHR srcStageMask;
8866 VkAccessFlags2KHR srcAccessMask;
8867 VkPipelineStageFlags2KHR dstStageMask;
8868 VkAccessFlags2KHR dstAccessMask;
8869 VkImageLayout oldLayout;
8870 VkImageLayout newLayout;
8871 deUint32 srcQueueFamilyIndex;
8872 deUint32 dstQueueFamilyIndex;
8874 VkImageSubresourceRange subresourceRange;
8875 } VkImageMemoryBarrier2KHR;
8877 typedef struct VkDependencyInfoKHR {
8878 VkStructureType sType;
8880 VkDependencyFlags dependencyFlags;
8881 deUint32 memoryBarrierCount;
8882 const VkMemoryBarrier2KHR* pMemoryBarriers;
8883 deUint32 bufferMemoryBarrierCount;
8884 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
8885 deUint32 imageMemoryBarrierCount;
8886 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
8887 } VkDependencyInfoKHR;
8889 typedef struct VkSemaphoreSubmitInfoKHR {
8890 VkStructureType sType;
8892 VkSemaphore semaphore;
8894 VkPipelineStageFlags2KHR stageMask;
8895 deUint32 deviceIndex;
8896 } VkSemaphoreSubmitInfoKHR;
8898 typedef struct VkCommandBufferSubmitInfoKHR {
8899 VkStructureType sType;
8901 VkCommandBuffer commandBuffer;
8902 deUint32 deviceMask;
8903 } VkCommandBufferSubmitInfoKHR;
8905 typedef struct VkSubmitInfo2KHR {
8906 VkStructureType sType;
8908 VkSubmitFlagsKHR flags;
8909 deUint32 waitSemaphoreInfoCount;
8910 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8911 deUint32 commandBufferInfoCount;
8912 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8913 deUint32 signalSemaphoreInfoCount;
8914 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
8917 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
8918 VkStructureType sType;
8920 VkBool32 synchronization2;
8921 } VkPhysicalDeviceSynchronization2FeaturesKHR;
8923 typedef struct VkQueueFamilyCheckpointProperties2NV {
8924 VkStructureType sType;
8926 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
8927 } VkQueueFamilyCheckpointProperties2NV;
8929 typedef struct VkCheckpointData2NV {
8930 VkStructureType sType;
8932 VkPipelineStageFlags2KHR stage;
8933 void* pCheckpointMarker;
8934 } VkCheckpointData2NV;
8936 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
8937 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
8938 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
8939 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
8940 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
8941 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
8942 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
8943 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
8945 #ifndef VK_NO_PROTOTYPES
8946 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
8947 VkCommandBuffer commandBuffer,
8949 const VkDependencyInfoKHR* pDependencyInfo);
8951 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
8952 VkCommandBuffer commandBuffer,
8954 VkPipelineStageFlags2KHR stageMask);
8956 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
8957 VkCommandBuffer commandBuffer,
8958 deUint32 eventCount,
8959 const VkEvent* pEvents,
8960 const VkDependencyInfoKHR* pDependencyInfos);
8962 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
8963 VkCommandBuffer commandBuffer,
8964 const VkDependencyInfoKHR* pDependencyInfo);
8966 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
8967 VkCommandBuffer commandBuffer,
8968 VkPipelineStageFlags2KHR stage,
8969 VkQueryPool queryPool,
8972 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
8974 deUint32 submitCount,
8975 const VkSubmitInfo2KHR* pSubmits,
8978 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
8979 VkCommandBuffer commandBuffer,
8980 VkPipelineStageFlags2KHR stage,
8982 VkDeviceSize dstOffset,
8985 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
8987 deUint32* pCheckpointDataCount,
8988 VkCheckpointData2NV* pCheckpointData);
8992 #define VK_KHR_zero_initialize_workgroup_memory 1
8993 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
8994 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
8995 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
8996 VkStructureType sType;
8998 VkBool32 shaderZeroInitializeWorkgroupMemory;
8999 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
9003 #define VK_KHR_workgroup_memory_explicit_layout 1
9004 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
9005 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
9006 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
9007 VkStructureType sType;
9009 VkBool32 workgroupMemoryExplicitLayout;
9010 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
9011 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
9012 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
9013 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
9017 #define VK_KHR_copy_commands2 1
9018 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
9019 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
9020 typedef struct VkBufferCopy2KHR {
9021 VkStructureType sType;
9023 VkDeviceSize srcOffset;
9024 VkDeviceSize dstOffset;
9028 typedef struct VkCopyBufferInfo2KHR {
9029 VkStructureType sType;
9033 deUint32 regionCount;
9034 const VkBufferCopy2KHR* pRegions;
9035 } VkCopyBufferInfo2KHR;
9037 typedef struct VkImageCopy2KHR {
9038 VkStructureType sType;
9040 VkImageSubresourceLayers srcSubresource;
9041 VkOffset3D srcOffset;
9042 VkImageSubresourceLayers dstSubresource;
9043 VkOffset3D dstOffset;
9047 typedef struct VkCopyImageInfo2KHR {
9048 VkStructureType sType;
9051 VkImageLayout srcImageLayout;
9053 VkImageLayout dstImageLayout;
9054 deUint32 regionCount;
9055 const VkImageCopy2KHR* pRegions;
9056 } VkCopyImageInfo2KHR;
9058 typedef struct VkBufferImageCopy2KHR {
9059 VkStructureType sType;
9061 VkDeviceSize bufferOffset;
9062 deUint32 bufferRowLength;
9063 deUint32 bufferImageHeight;
9064 VkImageSubresourceLayers imageSubresource;
9065 VkOffset3D imageOffset;
9066 VkExtent3D imageExtent;
9067 } VkBufferImageCopy2KHR;
9069 typedef struct VkCopyBufferToImageInfo2KHR {
9070 VkStructureType sType;
9074 VkImageLayout dstImageLayout;
9075 deUint32 regionCount;
9076 const VkBufferImageCopy2KHR* pRegions;
9077 } VkCopyBufferToImageInfo2KHR;
9079 typedef struct VkCopyImageToBufferInfo2KHR {
9080 VkStructureType sType;
9083 VkImageLayout srcImageLayout;
9085 deUint32 regionCount;
9086 const VkBufferImageCopy2KHR* pRegions;
9087 } VkCopyImageToBufferInfo2KHR;
9089 typedef struct VkImageBlit2KHR {
9090 VkStructureType sType;
9092 VkImageSubresourceLayers srcSubresource;
9093 VkOffset3D srcOffsets[2];
9094 VkImageSubresourceLayers dstSubresource;
9095 VkOffset3D dstOffsets[2];
9098 typedef struct VkBlitImageInfo2KHR {
9099 VkStructureType sType;
9102 VkImageLayout srcImageLayout;
9104 VkImageLayout dstImageLayout;
9105 deUint32 regionCount;
9106 const VkImageBlit2KHR* pRegions;
9108 } VkBlitImageInfo2KHR;
9110 typedef struct VkImageResolve2KHR {
9111 VkStructureType sType;
9113 VkImageSubresourceLayers srcSubresource;
9114 VkOffset3D srcOffset;
9115 VkImageSubresourceLayers dstSubresource;
9116 VkOffset3D dstOffset;
9118 } VkImageResolve2KHR;
9120 typedef struct VkResolveImageInfo2KHR {
9121 VkStructureType sType;
9124 VkImageLayout srcImageLayout;
9126 VkImageLayout dstImageLayout;
9127 deUint32 regionCount;
9128 const VkImageResolve2KHR* pRegions;
9129 } VkResolveImageInfo2KHR;
9131 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9132 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
9133 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9134 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9135 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
9136 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
9138 #ifndef VK_NO_PROTOTYPES
9139 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
9140 VkCommandBuffer commandBuffer,
9141 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9143 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
9144 VkCommandBuffer commandBuffer,
9145 const VkCopyImageInfo2KHR* pCopyImageInfo);
9147 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
9148 VkCommandBuffer commandBuffer,
9149 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9151 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
9152 VkCommandBuffer commandBuffer,
9153 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9155 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
9156 VkCommandBuffer commandBuffer,
9157 const VkBlitImageInfo2KHR* pBlitImageInfo);
9159 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
9160 VkCommandBuffer commandBuffer,
9161 const VkResolveImageInfo2KHR* pResolveImageInfo);
9165 #define VK_EXT_debug_report 1
9166 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
9167 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
9168 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
9170 typedef enum VkDebugReportObjectTypeEXT {
9171 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
9172 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
9173 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
9174 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
9175 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
9176 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
9177 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
9178 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
9179 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
9180 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
9181 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
9182 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
9183 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
9184 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
9185 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
9186 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
9187 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
9188 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
9189 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
9190 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
9191 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
9192 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
9193 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
9194 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
9195 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
9196 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
9197 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
9198 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
9199 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
9200 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
9201 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
9202 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
9203 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
9204 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
9205 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
9206 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
9207 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
9208 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
9209 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
9210 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
9211 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9212 } VkDebugReportObjectTypeEXT;
9214 typedef enum VkDebugReportFlagBitsEXT {
9215 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
9216 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
9217 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
9218 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
9219 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
9220 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9221 } VkDebugReportFlagBitsEXT;
9222 typedef VkFlags VkDebugReportFlagsEXT;
9223 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
9224 VkDebugReportFlagsEXT flags,
9225 VkDebugReportObjectTypeEXT objectType,
9228 deInt32 messageCode,
9229 const char* pLayerPrefix,
9230 const char* pMessage,
9233 typedef struct VkDebugReportCallbackCreateInfoEXT {
9234 VkStructureType sType;
9236 VkDebugReportFlagsEXT flags;
9237 PFN_vkDebugReportCallbackEXT pfnCallback;
9239 } VkDebugReportCallbackCreateInfoEXT;
9241 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
9242 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
9243 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
9245 #ifndef VK_NO_PROTOTYPES
9246 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
9247 VkInstance instance,
9248 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
9249 const VkAllocationCallbacks* pAllocator,
9250 VkDebugReportCallbackEXT* pCallback);
9252 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
9253 VkInstance instance,
9254 VkDebugReportCallbackEXT callback,
9255 const VkAllocationCallbacks* pAllocator);
9257 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
9258 VkInstance instance,
9259 VkDebugReportFlagsEXT flags,
9260 VkDebugReportObjectTypeEXT objectType,
9263 deInt32 messageCode,
9264 const char* pLayerPrefix,
9265 const char* pMessage);
9269 #define VK_NV_glsl_shader 1
9270 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
9271 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
9274 #define VK_EXT_depth_range_unrestricted 1
9275 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
9276 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
9279 #define VK_IMG_filter_cubic 1
9280 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
9281 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
9284 #define VK_AMD_rasterization_order 1
9285 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
9286 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
9288 typedef enum VkRasterizationOrderAMD {
9289 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
9290 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
9291 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
9292 } VkRasterizationOrderAMD;
9293 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
9294 VkStructureType sType;
9296 VkRasterizationOrderAMD rasterizationOrder;
9297 } VkPipelineRasterizationStateRasterizationOrderAMD;
9301 #define VK_AMD_shader_trinary_minmax 1
9302 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
9303 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
9306 #define VK_AMD_shader_explicit_vertex_parameter 1
9307 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
9308 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
9311 #define VK_EXT_debug_marker 1
9312 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
9313 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
9314 typedef struct VkDebugMarkerObjectNameInfoEXT {
9315 VkStructureType sType;
9317 VkDebugReportObjectTypeEXT objectType;
9319 const char* pObjectName;
9320 } VkDebugMarkerObjectNameInfoEXT;
9322 typedef struct VkDebugMarkerObjectTagInfoEXT {
9323 VkStructureType sType;
9325 VkDebugReportObjectTypeEXT objectType;
9330 } VkDebugMarkerObjectTagInfoEXT;
9332 typedef struct VkDebugMarkerMarkerInfoEXT {
9333 VkStructureType sType;
9335 const char* pMarkerName;
9337 } VkDebugMarkerMarkerInfoEXT;
9339 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9340 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9341 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9342 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
9343 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9345 #ifndef VK_NO_PROTOTYPES
9346 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
9348 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9350 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
9352 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9354 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
9355 VkCommandBuffer commandBuffer,
9356 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9358 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
9359 VkCommandBuffer commandBuffer);
9361 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
9362 VkCommandBuffer commandBuffer,
9363 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9367 #define VK_AMD_gcn_shader 1
9368 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
9369 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
9372 #define VK_NV_dedicated_allocation 1
9373 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
9374 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
9375 typedef struct VkDedicatedAllocationImageCreateInfoNV {
9376 VkStructureType sType;
9378 VkBool32 dedicatedAllocation;
9379 } VkDedicatedAllocationImageCreateInfoNV;
9381 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
9382 VkStructureType sType;
9384 VkBool32 dedicatedAllocation;
9385 } VkDedicatedAllocationBufferCreateInfoNV;
9387 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
9388 VkStructureType sType;
9392 } VkDedicatedAllocationMemoryAllocateInfoNV;
9396 #define VK_EXT_transform_feedback 1
9397 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
9398 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
9399 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
9400 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
9401 VkStructureType sType;
9403 VkBool32 transformFeedback;
9404 VkBool32 geometryStreams;
9405 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
9407 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
9408 VkStructureType sType;
9410 deUint32 maxTransformFeedbackStreams;
9411 deUint32 maxTransformFeedbackBuffers;
9412 VkDeviceSize maxTransformFeedbackBufferSize;
9413 deUint32 maxTransformFeedbackStreamDataSize;
9414 deUint32 maxTransformFeedbackBufferDataSize;
9415 deUint32 maxTransformFeedbackBufferDataStride;
9416 VkBool32 transformFeedbackQueries;
9417 VkBool32 transformFeedbackStreamsLinesTriangles;
9418 VkBool32 transformFeedbackRasterizationStreamSelect;
9419 VkBool32 transformFeedbackDraw;
9420 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
9422 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
9423 VkStructureType sType;
9425 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
9426 deUint32 rasterizationStream;
9427 } VkPipelineRasterizationStateStreamCreateInfoEXT;
9429 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
9430 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9431 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9432 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
9433 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
9434 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
9436 #ifndef VK_NO_PROTOTYPES
9437 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
9438 VkCommandBuffer commandBuffer,
9439 deUint32 firstBinding,
9440 deUint32 bindingCount,
9441 const VkBuffer* pBuffers,
9442 const VkDeviceSize* pOffsets,
9443 const VkDeviceSize* pSizes);
9445 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
9446 VkCommandBuffer commandBuffer,
9447 deUint32 firstCounterBuffer,
9448 deUint32 counterBufferCount,
9449 const VkBuffer* pCounterBuffers,
9450 const VkDeviceSize* pCounterBufferOffsets);
9452 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
9453 VkCommandBuffer commandBuffer,
9454 deUint32 firstCounterBuffer,
9455 deUint32 counterBufferCount,
9456 const VkBuffer* pCounterBuffers,
9457 const VkDeviceSize* pCounterBufferOffsets);
9459 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
9460 VkCommandBuffer commandBuffer,
9461 VkQueryPool queryPool,
9463 VkQueryControlFlags flags,
9466 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
9467 VkCommandBuffer commandBuffer,
9468 VkQueryPool queryPool,
9472 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
9473 VkCommandBuffer commandBuffer,
9474 deUint32 instanceCount,
9475 deUint32 firstInstance,
9476 VkBuffer counterBuffer,
9477 VkDeviceSize counterBufferOffset,
9478 deUint32 counterOffset,
9479 deUint32 vertexStride);
9483 #define VK_NVX_image_view_handle 1
9484 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
9485 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
9486 typedef struct VkImageViewHandleInfoNVX {
9487 VkStructureType sType;
9489 VkImageView imageView;
9490 VkDescriptorType descriptorType;
9492 } VkImageViewHandleInfoNVX;
9494 typedef struct VkImageViewAddressPropertiesNVX {
9495 VkStructureType sType;
9497 VkDeviceAddress deviceAddress;
9499 } VkImageViewAddressPropertiesNVX;
9501 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
9502 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
9504 #ifndef VK_NO_PROTOTYPES
9505 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
9507 const VkImageViewHandleInfoNVX* pInfo);
9509 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
9511 VkImageView imageView,
9512 VkImageViewAddressPropertiesNVX* pProperties);
9516 #define VK_AMD_draw_indirect_count 1
9517 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
9518 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
9519 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9520 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9522 #ifndef VK_NO_PROTOTYPES
9523 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
9524 VkCommandBuffer commandBuffer,
9526 VkDeviceSize offset,
9527 VkBuffer countBuffer,
9528 VkDeviceSize countBufferOffset,
9529 deUint32 maxDrawCount,
9532 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
9533 VkCommandBuffer commandBuffer,
9535 VkDeviceSize offset,
9536 VkBuffer countBuffer,
9537 VkDeviceSize countBufferOffset,
9538 deUint32 maxDrawCount,
9543 #define VK_AMD_negative_viewport_height 1
9544 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
9545 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
9548 #define VK_AMD_gpu_shader_half_float 1
9549 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
9550 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
9553 #define VK_AMD_shader_ballot 1
9554 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
9555 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
9558 #define VK_AMD_texture_gather_bias_lod 1
9559 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
9560 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
9561 typedef struct VkTextureLODGatherFormatPropertiesAMD {
9562 VkStructureType sType;
9564 VkBool32 supportsTextureGatherLODBiasAMD;
9565 } VkTextureLODGatherFormatPropertiesAMD;
9569 #define VK_AMD_shader_info 1
9570 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
9571 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
9573 typedef enum VkShaderInfoTypeAMD {
9574 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
9575 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
9576 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
9577 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
9578 } VkShaderInfoTypeAMD;
9579 typedef struct VkShaderResourceUsageAMD {
9580 deUint32 numUsedVgprs;
9581 deUint32 numUsedSgprs;
9582 deUint32 ldsSizePerLocalWorkGroup;
9583 deUintptr ldsUsageSizeInBytes;
9584 deUintptr scratchMemUsageInBytes;
9585 } VkShaderResourceUsageAMD;
9587 typedef struct VkShaderStatisticsInfoAMD {
9588 VkShaderStageFlags shaderStageMask;
9589 VkShaderResourceUsageAMD resourceUsage;
9590 deUint32 numPhysicalVgprs;
9591 deUint32 numPhysicalSgprs;
9592 deUint32 numAvailableVgprs;
9593 deUint32 numAvailableSgprs;
9594 deUint32 computeWorkGroupSize[3];
9595 } VkShaderStatisticsInfoAMD;
9597 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
9599 #ifndef VK_NO_PROTOTYPES
9600 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
9602 VkPipeline pipeline,
9603 VkShaderStageFlagBits shaderStage,
9604 VkShaderInfoTypeAMD infoType,
9605 deUintptr* pInfoSize,
9610 #define VK_AMD_shader_image_load_store_lod 1
9611 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
9612 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
9615 #define VK_NV_corner_sampled_image 1
9616 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
9617 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
9618 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
9619 VkStructureType sType;
9621 VkBool32 cornerSampledImage;
9622 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
9626 #define VK_IMG_format_pvrtc 1
9627 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
9628 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
9631 #define VK_NV_external_memory_capabilities 1
9632 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9633 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
9635 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
9636 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
9637 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
9638 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
9639 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
9640 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9641 } VkExternalMemoryHandleTypeFlagBitsNV;
9642 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
9644 typedef enum VkExternalMemoryFeatureFlagBitsNV {
9645 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
9646 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
9647 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
9648 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9649 } VkExternalMemoryFeatureFlagBitsNV;
9650 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
9651 typedef struct VkExternalImageFormatPropertiesNV {
9652 VkImageFormatProperties imageFormatProperties;
9653 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
9654 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
9655 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
9656 } VkExternalImageFormatPropertiesNV;
9658 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9660 #ifndef VK_NO_PROTOTYPES
9661 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
9662 VkPhysicalDevice physicalDevice,
9665 VkImageTiling tiling,
9666 VkImageUsageFlags usage,
9667 VkImageCreateFlags flags,
9668 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
9669 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9673 #define VK_NV_external_memory 1
9674 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
9675 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
9676 typedef struct VkExternalMemoryImageCreateInfoNV {
9677 VkStructureType sType;
9679 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9680 } VkExternalMemoryImageCreateInfoNV;
9682 typedef struct VkExportMemoryAllocateInfoNV {
9683 VkStructureType sType;
9685 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9686 } VkExportMemoryAllocateInfoNV;
9690 #define VK_EXT_validation_flags 1
9691 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
9692 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
9694 typedef enum VkValidationCheckEXT {
9695 VK_VALIDATION_CHECK_ALL_EXT = 0,
9696 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
9697 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
9698 } VkValidationCheckEXT;
9699 typedef struct VkValidationFlagsEXT {
9700 VkStructureType sType;
9702 deUint32 disabledValidationCheckCount;
9703 const VkValidationCheckEXT* pDisabledValidationChecks;
9704 } VkValidationFlagsEXT;
9708 #define VK_EXT_shader_subgroup_ballot 1
9709 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
9710 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
9713 #define VK_EXT_shader_subgroup_vote 1
9714 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
9715 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
9718 #define VK_EXT_texture_compression_astc_hdr 1
9719 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
9720 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
9721 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
9722 VkStructureType sType;
9724 VkBool32 textureCompressionASTC_HDR;
9725 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
9729 #define VK_EXT_astc_decode_mode 1
9730 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
9731 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
9732 typedef struct VkImageViewASTCDecodeModeEXT {
9733 VkStructureType sType;
9735 VkFormat decodeMode;
9736 } VkImageViewASTCDecodeModeEXT;
9738 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
9739 VkStructureType sType;
9741 VkBool32 decodeModeSharedExponent;
9742 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
9746 #define VK_EXT_conditional_rendering 1
9747 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
9748 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
9750 typedef enum VkConditionalRenderingFlagBitsEXT {
9751 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
9752 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9753 } VkConditionalRenderingFlagBitsEXT;
9754 typedef VkFlags VkConditionalRenderingFlagsEXT;
9755 typedef struct VkConditionalRenderingBeginInfoEXT {
9756 VkStructureType sType;
9759 VkDeviceSize offset;
9760 VkConditionalRenderingFlagsEXT flags;
9761 } VkConditionalRenderingBeginInfoEXT;
9763 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
9764 VkStructureType sType;
9766 VkBool32 conditionalRendering;
9767 VkBool32 inheritedConditionalRendering;
9768 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
9770 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
9771 VkStructureType sType;
9773 VkBool32 conditionalRenderingEnable;
9774 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
9776 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9777 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
9779 #ifndef VK_NO_PROTOTYPES
9780 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
9781 VkCommandBuffer commandBuffer,
9782 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9784 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
9785 VkCommandBuffer commandBuffer);
9789 #define VK_NV_clip_space_w_scaling 1
9790 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
9791 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
9792 typedef struct VkViewportWScalingNV {
9795 } VkViewportWScalingNV;
9797 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
9798 VkStructureType sType;
9800 VkBool32 viewportWScalingEnable;
9801 deUint32 viewportCount;
9802 const VkViewportWScalingNV* pViewportWScalings;
9803 } VkPipelineViewportWScalingStateCreateInfoNV;
9805 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
9807 #ifndef VK_NO_PROTOTYPES
9808 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
9809 VkCommandBuffer commandBuffer,
9810 deUint32 firstViewport,
9811 deUint32 viewportCount,
9812 const VkViewportWScalingNV* pViewportWScalings);
9816 #define VK_EXT_direct_mode_display 1
9817 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
9818 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
9819 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
9821 #ifndef VK_NO_PROTOTYPES
9822 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
9823 VkPhysicalDevice physicalDevice,
9824 VkDisplayKHR display);
9828 #define VK_EXT_display_surface_counter 1
9829 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
9830 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
9832 typedef enum VkSurfaceCounterFlagBitsEXT {
9833 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
9834 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
9835 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9836 } VkSurfaceCounterFlagBitsEXT;
9837 typedef VkFlags VkSurfaceCounterFlagsEXT;
9838 typedef struct VkSurfaceCapabilities2EXT {
9839 VkStructureType sType;
9841 deUint32 minImageCount;
9842 deUint32 maxImageCount;
9843 VkExtent2D currentExtent;
9844 VkExtent2D minImageExtent;
9845 VkExtent2D maxImageExtent;
9846 deUint32 maxImageArrayLayers;
9847 VkSurfaceTransformFlagsKHR supportedTransforms;
9848 VkSurfaceTransformFlagBitsKHR currentTransform;
9849 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
9850 VkImageUsageFlags supportedUsageFlags;
9851 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
9852 } VkSurfaceCapabilities2EXT;
9854 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9856 #ifndef VK_NO_PROTOTYPES
9857 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
9858 VkPhysicalDevice physicalDevice,
9859 VkSurfaceKHR surface,
9860 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9864 #define VK_EXT_display_control 1
9865 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
9866 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
9868 typedef enum VkDisplayPowerStateEXT {
9869 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
9870 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
9871 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
9872 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
9873 } VkDisplayPowerStateEXT;
9875 typedef enum VkDeviceEventTypeEXT {
9876 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
9877 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9878 } VkDeviceEventTypeEXT;
9880 typedef enum VkDisplayEventTypeEXT {
9881 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
9882 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9883 } VkDisplayEventTypeEXT;
9884 typedef struct VkDisplayPowerInfoEXT {
9885 VkStructureType sType;
9887 VkDisplayPowerStateEXT powerState;
9888 } VkDisplayPowerInfoEXT;
9890 typedef struct VkDeviceEventInfoEXT {
9891 VkStructureType sType;
9893 VkDeviceEventTypeEXT deviceEvent;
9894 } VkDeviceEventInfoEXT;
9896 typedef struct VkDisplayEventInfoEXT {
9897 VkStructureType sType;
9899 VkDisplayEventTypeEXT displayEvent;
9900 } VkDisplayEventInfoEXT;
9902 typedef struct VkSwapchainCounterCreateInfoEXT {
9903 VkStructureType sType;
9905 VkSurfaceCounterFlagsEXT surfaceCounters;
9906 } VkSwapchainCounterCreateInfoEXT;
9908 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9909 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9910 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
9911 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
9913 #ifndef VK_NO_PROTOTYPES
9914 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
9916 VkDisplayKHR display,
9917 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
9919 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
9921 const VkDeviceEventInfoEXT* pDeviceEventInfo,
9922 const VkAllocationCallbacks* pAllocator,
9925 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
9927 VkDisplayKHR display,
9928 const VkDisplayEventInfoEXT* pDisplayEventInfo,
9929 const VkAllocationCallbacks* pAllocator,
9932 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
9934 VkSwapchainKHR swapchain,
9935 VkSurfaceCounterFlagBitsEXT counter,
9936 deUint64* pCounterValue);
9940 #define VK_GOOGLE_display_timing 1
9941 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
9942 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
9943 typedef struct VkRefreshCycleDurationGOOGLE {
9944 deUint64 refreshDuration;
9945 } VkRefreshCycleDurationGOOGLE;
9947 typedef struct VkPastPresentationTimingGOOGLE {
9949 deUint64 desiredPresentTime;
9950 deUint64 actualPresentTime;
9951 deUint64 earliestPresentTime;
9952 deUint64 presentMargin;
9953 } VkPastPresentationTimingGOOGLE;
9955 typedef struct VkPresentTimeGOOGLE {
9957 deUint64 desiredPresentTime;
9958 } VkPresentTimeGOOGLE;
9960 typedef struct VkPresentTimesInfoGOOGLE {
9961 VkStructureType sType;
9963 deUint32 swapchainCount;
9964 const VkPresentTimeGOOGLE* pTimes;
9965 } VkPresentTimesInfoGOOGLE;
9967 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9968 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
9970 #ifndef VK_NO_PROTOTYPES
9971 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
9973 VkSwapchainKHR swapchain,
9974 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
9976 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
9978 VkSwapchainKHR swapchain,
9979 deUint32* pPresentationTimingCount,
9980 VkPastPresentationTimingGOOGLE* pPresentationTimings);
9984 #define VK_NV_sample_mask_override_coverage 1
9985 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
9986 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
9989 #define VK_NV_geometry_shader_passthrough 1
9990 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
9991 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
9994 #define VK_NV_viewport_array2 1
9995 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
9996 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
9999 #define VK_NVX_multiview_per_view_attributes 1
10000 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
10001 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
10002 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10003 VkStructureType sType;
10005 VkBool32 perViewPositionAllComponents;
10006 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
10010 #define VK_NV_viewport_swizzle 1
10011 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
10012 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
10014 typedef enum VkViewportCoordinateSwizzleNV {
10015 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
10016 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
10017 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
10018 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
10019 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
10020 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
10021 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
10022 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
10023 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
10024 } VkViewportCoordinateSwizzleNV;
10025 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
10026 typedef struct VkViewportSwizzleNV {
10027 VkViewportCoordinateSwizzleNV x;
10028 VkViewportCoordinateSwizzleNV y;
10029 VkViewportCoordinateSwizzleNV z;
10030 VkViewportCoordinateSwizzleNV w;
10031 } VkViewportSwizzleNV;
10033 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
10034 VkStructureType sType;
10036 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
10037 deUint32 viewportCount;
10038 const VkViewportSwizzleNV* pViewportSwizzles;
10039 } VkPipelineViewportSwizzleStateCreateInfoNV;
10043 #define VK_EXT_discard_rectangles 1
10044 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
10045 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
10047 typedef enum VkDiscardRectangleModeEXT {
10048 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
10049 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
10050 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10051 } VkDiscardRectangleModeEXT;
10052 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
10053 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
10054 VkStructureType sType;
10056 deUint32 maxDiscardRectangles;
10057 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
10059 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
10060 VkStructureType sType;
10062 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
10063 VkDiscardRectangleModeEXT discardRectangleMode;
10064 deUint32 discardRectangleCount;
10065 const VkRect2D* pDiscardRectangles;
10066 } VkPipelineDiscardRectangleStateCreateInfoEXT;
10068 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
10070 #ifndef VK_NO_PROTOTYPES
10071 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
10072 VkCommandBuffer commandBuffer,
10073 deUint32 firstDiscardRectangle,
10074 deUint32 discardRectangleCount,
10075 const VkRect2D* pDiscardRectangles);
10079 #define VK_EXT_conservative_rasterization 1
10080 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
10081 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
10083 typedef enum VkConservativeRasterizationModeEXT {
10084 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
10085 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
10086 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
10087 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10088 } VkConservativeRasterizationModeEXT;
10089 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
10090 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
10091 VkStructureType sType;
10093 float primitiveOverestimationSize;
10094 float maxExtraPrimitiveOverestimationSize;
10095 float extraPrimitiveOverestimationSizeGranularity;
10096 VkBool32 primitiveUnderestimation;
10097 VkBool32 conservativePointAndLineRasterization;
10098 VkBool32 degenerateTrianglesRasterized;
10099 VkBool32 degenerateLinesRasterized;
10100 VkBool32 fullyCoveredFragmentShaderInputVariable;
10101 VkBool32 conservativeRasterizationPostDepthCoverage;
10102 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
10104 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
10105 VkStructureType sType;
10107 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
10108 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
10109 float extraPrimitiveOverestimationSize;
10110 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
10114 #define VK_EXT_depth_clip_enable 1
10115 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
10116 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
10117 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
10118 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
10119 VkStructureType sType;
10121 VkBool32 depthClipEnable;
10122 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
10124 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
10125 VkStructureType sType;
10127 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
10128 VkBool32 depthClipEnable;
10129 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
10133 #define VK_EXT_swapchain_colorspace 1
10134 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
10135 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
10138 #define VK_EXT_hdr_metadata 1
10139 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
10140 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
10141 typedef struct VkXYColorEXT {
10146 typedef struct VkHdrMetadataEXT {
10147 VkStructureType sType;
10149 VkXYColorEXT displayPrimaryRed;
10150 VkXYColorEXT displayPrimaryGreen;
10151 VkXYColorEXT displayPrimaryBlue;
10152 VkXYColorEXT whitePoint;
10153 float maxLuminance;
10154 float minLuminance;
10155 float maxContentLightLevel;
10156 float maxFrameAverageLightLevel;
10157 } VkHdrMetadataEXT;
10159 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
10161 #ifndef VK_NO_PROTOTYPES
10162 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
10164 deUint32 swapchainCount,
10165 const VkSwapchainKHR* pSwapchains,
10166 const VkHdrMetadataEXT* pMetadata);
10170 #define VK_EXT_external_memory_dma_buf 1
10171 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
10172 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
10175 #define VK_EXT_queue_family_foreign 1
10176 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
10177 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
10178 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
10181 #define VK_EXT_debug_utils 1
10182 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
10183 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
10184 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
10185 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
10187 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
10188 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
10189 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
10190 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
10191 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
10192 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10193 } VkDebugUtilsMessageSeverityFlagBitsEXT;
10195 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
10196 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
10197 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
10198 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
10199 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10200 } VkDebugUtilsMessageTypeFlagBitsEXT;
10201 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
10202 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
10203 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
10204 typedef struct VkDebugUtilsLabelEXT {
10205 VkStructureType sType;
10207 const char* pLabelName;
10209 } VkDebugUtilsLabelEXT;
10211 typedef struct VkDebugUtilsObjectNameInfoEXT {
10212 VkStructureType sType;
10214 VkObjectType objectType;
10215 deUint64 objectHandle;
10216 const char* pObjectName;
10217 } VkDebugUtilsObjectNameInfoEXT;
10219 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
10220 VkStructureType sType;
10222 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
10223 const char* pMessageIdName;
10224 deInt32 messageIdNumber;
10225 const char* pMessage;
10226 deUint32 queueLabelCount;
10227 const VkDebugUtilsLabelEXT* pQueueLabels;
10228 deUint32 cmdBufLabelCount;
10229 const VkDebugUtilsLabelEXT* pCmdBufLabels;
10230 deUint32 objectCount;
10231 const VkDebugUtilsObjectNameInfoEXT* pObjects;
10232 } VkDebugUtilsMessengerCallbackDataEXT;
10234 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
10235 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10236 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10237 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
10240 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
10241 VkStructureType sType;
10243 VkDebugUtilsMessengerCreateFlagsEXT flags;
10244 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
10245 VkDebugUtilsMessageTypeFlagsEXT messageType;
10246 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
10248 } VkDebugUtilsMessengerCreateInfoEXT;
10250 typedef struct VkDebugUtilsObjectTagInfoEXT {
10251 VkStructureType sType;
10253 VkObjectType objectType;
10254 deUint64 objectHandle;
10258 } VkDebugUtilsObjectTagInfoEXT;
10260 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10261 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10262 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10263 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
10264 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10265 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10266 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
10267 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10268 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
10269 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
10270 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10272 #ifndef VK_NO_PROTOTYPES
10273 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
10275 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10277 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
10279 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10281 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
10283 const VkDebugUtilsLabelEXT* pLabelInfo);
10285 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
10288 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
10290 const VkDebugUtilsLabelEXT* pLabelInfo);
10292 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
10293 VkCommandBuffer commandBuffer,
10294 const VkDebugUtilsLabelEXT* pLabelInfo);
10296 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
10297 VkCommandBuffer commandBuffer);
10299 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
10300 VkCommandBuffer commandBuffer,
10301 const VkDebugUtilsLabelEXT* pLabelInfo);
10303 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
10304 VkInstance instance,
10305 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
10306 const VkAllocationCallbacks* pAllocator,
10307 VkDebugUtilsMessengerEXT* pMessenger);
10309 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
10310 VkInstance instance,
10311 VkDebugUtilsMessengerEXT messenger,
10312 const VkAllocationCallbacks* pAllocator);
10314 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
10315 VkInstance instance,
10316 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10317 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10318 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10322 #define VK_EXT_sampler_filter_minmax 1
10323 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
10324 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
10325 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
10327 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
10329 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
10333 #define VK_AMD_gpu_shader_int16 1
10334 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
10335 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
10338 #define VK_AMD_mixed_attachment_samples 1
10339 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
10340 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
10343 #define VK_AMD_shader_fragment_mask 1
10344 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
10345 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
10348 #define VK_EXT_inline_uniform_block 1
10349 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
10350 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
10351 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
10352 VkStructureType sType;
10354 VkBool32 inlineUniformBlock;
10355 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
10356 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
10358 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
10359 VkStructureType sType;
10361 deUint32 maxInlineUniformBlockSize;
10362 deUint32 maxPerStageDescriptorInlineUniformBlocks;
10363 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
10364 deUint32 maxDescriptorSetInlineUniformBlocks;
10365 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
10366 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
10368 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
10369 VkStructureType sType;
10373 } VkWriteDescriptorSetInlineUniformBlockEXT;
10375 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
10376 VkStructureType sType;
10378 deUint32 maxInlineUniformBlockBindings;
10379 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
10383 #define VK_EXT_shader_stencil_export 1
10384 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
10385 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
10388 #define VK_EXT_sample_locations 1
10389 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
10390 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
10391 typedef struct VkSampleLocationEXT {
10394 } VkSampleLocationEXT;
10396 typedef struct VkSampleLocationsInfoEXT {
10397 VkStructureType sType;
10399 VkSampleCountFlagBits sampleLocationsPerPixel;
10400 VkExtent2D sampleLocationGridSize;
10401 deUint32 sampleLocationsCount;
10402 const VkSampleLocationEXT* pSampleLocations;
10403 } VkSampleLocationsInfoEXT;
10405 typedef struct VkAttachmentSampleLocationsEXT {
10406 deUint32 attachmentIndex;
10407 VkSampleLocationsInfoEXT sampleLocationsInfo;
10408 } VkAttachmentSampleLocationsEXT;
10410 typedef struct VkSubpassSampleLocationsEXT {
10411 deUint32 subpassIndex;
10412 VkSampleLocationsInfoEXT sampleLocationsInfo;
10413 } VkSubpassSampleLocationsEXT;
10415 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
10416 VkStructureType sType;
10418 deUint32 attachmentInitialSampleLocationsCount;
10419 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
10420 deUint32 postSubpassSampleLocationsCount;
10421 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
10422 } VkRenderPassSampleLocationsBeginInfoEXT;
10424 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
10425 VkStructureType sType;
10427 VkBool32 sampleLocationsEnable;
10428 VkSampleLocationsInfoEXT sampleLocationsInfo;
10429 } VkPipelineSampleLocationsStateCreateInfoEXT;
10431 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
10432 VkStructureType sType;
10434 VkSampleCountFlags sampleLocationSampleCounts;
10435 VkExtent2D maxSampleLocationGridSize;
10436 float sampleLocationCoordinateRange[2];
10437 deUint32 sampleLocationSubPixelBits;
10438 VkBool32 variableSampleLocations;
10439 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
10441 typedef struct VkMultisamplePropertiesEXT {
10442 VkStructureType sType;
10444 VkExtent2D maxSampleLocationGridSize;
10445 } VkMultisamplePropertiesEXT;
10447 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10448 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
10450 #ifndef VK_NO_PROTOTYPES
10451 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
10452 VkCommandBuffer commandBuffer,
10453 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10455 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
10456 VkPhysicalDevice physicalDevice,
10457 VkSampleCountFlagBits samples,
10458 VkMultisamplePropertiesEXT* pMultisampleProperties);
10462 #define VK_EXT_blend_operation_advanced 1
10463 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
10464 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
10466 typedef enum VkBlendOverlapEXT {
10467 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
10468 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
10469 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
10470 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
10471 } VkBlendOverlapEXT;
10472 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
10473 VkStructureType sType;
10475 VkBool32 advancedBlendCoherentOperations;
10476 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
10478 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
10479 VkStructureType sType;
10481 deUint32 advancedBlendMaxColorAttachments;
10482 VkBool32 advancedBlendIndependentBlend;
10483 VkBool32 advancedBlendNonPremultipliedSrcColor;
10484 VkBool32 advancedBlendNonPremultipliedDstColor;
10485 VkBool32 advancedBlendCorrelatedOverlap;
10486 VkBool32 advancedBlendAllOperations;
10487 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
10489 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
10490 VkStructureType sType;
10492 VkBool32 srcPremultiplied;
10493 VkBool32 dstPremultiplied;
10494 VkBlendOverlapEXT blendOverlap;
10495 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
10499 #define VK_NV_fragment_coverage_to_color 1
10500 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
10501 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
10502 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
10503 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
10504 VkStructureType sType;
10506 VkPipelineCoverageToColorStateCreateFlagsNV flags;
10507 VkBool32 coverageToColorEnable;
10508 deUint32 coverageToColorLocation;
10509 } VkPipelineCoverageToColorStateCreateInfoNV;
10513 #define VK_NV_framebuffer_mixed_samples 1
10514 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
10515 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
10517 typedef enum VkCoverageModulationModeNV {
10518 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
10519 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
10520 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
10521 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
10522 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10523 } VkCoverageModulationModeNV;
10524 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
10525 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
10526 VkStructureType sType;
10528 VkPipelineCoverageModulationStateCreateFlagsNV flags;
10529 VkCoverageModulationModeNV coverageModulationMode;
10530 VkBool32 coverageModulationTableEnable;
10531 deUint32 coverageModulationTableCount;
10532 const float* pCoverageModulationTable;
10533 } VkPipelineCoverageModulationStateCreateInfoNV;
10537 #define VK_NV_fill_rectangle 1
10538 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
10539 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
10542 #define VK_NV_shader_sm_builtins 1
10543 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
10544 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
10545 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
10546 VkStructureType sType;
10548 deUint32 shaderSMCount;
10549 deUint32 shaderWarpsPerSM;
10550 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
10552 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
10553 VkStructureType sType;
10555 VkBool32 shaderSMBuiltins;
10556 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
10560 #define VK_EXT_post_depth_coverage 1
10561 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
10562 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
10565 #define VK_EXT_image_drm_format_modifier 1
10566 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
10567 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
10568 typedef struct VkDrmFormatModifierPropertiesEXT {
10569 deUint64 drmFormatModifier;
10570 deUint32 drmFormatModifierPlaneCount;
10571 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
10572 } VkDrmFormatModifierPropertiesEXT;
10574 typedef struct VkDrmFormatModifierPropertiesListEXT {
10575 VkStructureType sType;
10577 deUint32 drmFormatModifierCount;
10578 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
10579 } VkDrmFormatModifierPropertiesListEXT;
10581 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
10582 VkStructureType sType;
10584 deUint64 drmFormatModifier;
10585 VkSharingMode sharingMode;
10586 deUint32 queueFamilyIndexCount;
10587 const deUint32* pQueueFamilyIndices;
10588 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
10590 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
10591 VkStructureType sType;
10593 deUint32 drmFormatModifierCount;
10594 const deUint64* pDrmFormatModifiers;
10595 } VkImageDrmFormatModifierListCreateInfoEXT;
10597 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
10598 VkStructureType sType;
10600 deUint64 drmFormatModifier;
10601 deUint32 drmFormatModifierPlaneCount;
10602 const VkSubresourceLayout* pPlaneLayouts;
10603 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
10605 typedef struct VkImageDrmFormatModifierPropertiesEXT {
10606 VkStructureType sType;
10608 deUint64 drmFormatModifier;
10609 } VkImageDrmFormatModifierPropertiesEXT;
10611 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
10613 #ifndef VK_NO_PROTOTYPES
10614 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
10617 VkImageDrmFormatModifierPropertiesEXT* pProperties);
10621 #define VK_EXT_validation_cache 1
10622 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
10623 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
10624 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
10626 typedef enum VkValidationCacheHeaderVersionEXT {
10627 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
10628 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
10629 } VkValidationCacheHeaderVersionEXT;
10630 typedef VkFlags VkValidationCacheCreateFlagsEXT;
10631 typedef struct VkValidationCacheCreateInfoEXT {
10632 VkStructureType sType;
10634 VkValidationCacheCreateFlagsEXT flags;
10635 deUintptr initialDataSize;
10636 const void* pInitialData;
10637 } VkValidationCacheCreateInfoEXT;
10639 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
10640 VkStructureType sType;
10642 VkValidationCacheEXT validationCache;
10643 } VkShaderModuleValidationCacheCreateInfoEXT;
10645 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
10646 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
10647 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
10648 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
10650 #ifndef VK_NO_PROTOTYPES
10651 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
10653 const VkValidationCacheCreateInfoEXT* pCreateInfo,
10654 const VkAllocationCallbacks* pAllocator,
10655 VkValidationCacheEXT* pValidationCache);
10657 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
10659 VkValidationCacheEXT validationCache,
10660 const VkAllocationCallbacks* pAllocator);
10662 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
10664 VkValidationCacheEXT dstCache,
10665 deUint32 srcCacheCount,
10666 const VkValidationCacheEXT* pSrcCaches);
10668 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
10670 VkValidationCacheEXT validationCache,
10671 deUintptr* pDataSize,
10676 #define VK_EXT_descriptor_indexing 1
10677 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
10678 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
10679 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
10681 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
10683 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
10685 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
10687 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
10689 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
10691 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
10695 #define VK_EXT_shader_viewport_index_layer 1
10696 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
10697 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
10700 #define VK_NV_shading_rate_image 1
10701 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
10702 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
10704 typedef enum VkShadingRatePaletteEntryNV {
10705 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
10706 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
10707 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
10708 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
10709 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
10710 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
10711 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
10712 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
10713 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
10714 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
10715 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
10716 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
10717 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
10718 } VkShadingRatePaletteEntryNV;
10720 typedef enum VkCoarseSampleOrderTypeNV {
10721 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
10722 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
10723 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
10724 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
10725 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10726 } VkCoarseSampleOrderTypeNV;
10727 typedef struct VkShadingRatePaletteNV {
10728 deUint32 shadingRatePaletteEntryCount;
10729 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
10730 } VkShadingRatePaletteNV;
10732 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
10733 VkStructureType sType;
10735 VkBool32 shadingRateImageEnable;
10736 deUint32 viewportCount;
10737 const VkShadingRatePaletteNV* pShadingRatePalettes;
10738 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
10740 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10741 VkStructureType sType;
10743 VkBool32 shadingRateImage;
10744 VkBool32 shadingRateCoarseSampleOrder;
10745 } VkPhysicalDeviceShadingRateImageFeaturesNV;
10747 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10748 VkStructureType sType;
10750 VkExtent2D shadingRateTexelSize;
10751 deUint32 shadingRatePaletteSize;
10752 deUint32 shadingRateMaxCoarseSamples;
10753 } VkPhysicalDeviceShadingRateImagePropertiesNV;
10755 typedef struct VkCoarseSampleLocationNV {
10759 } VkCoarseSampleLocationNV;
10761 typedef struct VkCoarseSampleOrderCustomNV {
10762 VkShadingRatePaletteEntryNV shadingRate;
10763 deUint32 sampleCount;
10764 deUint32 sampleLocationCount;
10765 const VkCoarseSampleLocationNV* pSampleLocations;
10766 } VkCoarseSampleOrderCustomNV;
10768 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10769 VkStructureType sType;
10771 VkCoarseSampleOrderTypeNV sampleOrderType;
10772 deUint32 customSampleOrderCount;
10773 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
10774 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
10776 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
10777 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
10778 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10780 #ifndef VK_NO_PROTOTYPES
10781 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
10782 VkCommandBuffer commandBuffer,
10783 VkImageView imageView,
10784 VkImageLayout imageLayout);
10786 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
10787 VkCommandBuffer commandBuffer,
10788 deUint32 firstViewport,
10789 deUint32 viewportCount,
10790 const VkShadingRatePaletteNV* pShadingRatePalettes);
10792 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
10793 VkCommandBuffer commandBuffer,
10794 VkCoarseSampleOrderTypeNV sampleOrderType,
10795 deUint32 customSampleOrderCount,
10796 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10800 #define VK_NV_ray_tracing 1
10801 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
10802 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
10803 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
10804 #define VK_SHADER_UNUSED_KHR (~0U)
10805 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
10807 typedef enum VkRayTracingShaderGroupTypeKHR {
10808 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
10809 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
10810 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
10811 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
10812 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
10813 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
10814 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10815 } VkRayTracingShaderGroupTypeKHR;
10816 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
10819 typedef enum VkGeometryTypeKHR {
10820 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
10821 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
10822 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
10823 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
10824 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
10825 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10826 } VkGeometryTypeKHR;
10827 typedef VkGeometryTypeKHR VkGeometryTypeNV;
10830 typedef enum VkAccelerationStructureTypeKHR {
10831 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
10832 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
10833 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
10834 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
10835 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
10836 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10837 } VkAccelerationStructureTypeKHR;
10838 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
10841 typedef enum VkCopyAccelerationStructureModeKHR {
10842 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
10843 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
10844 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
10845 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
10846 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
10847 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
10848 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10849 } VkCopyAccelerationStructureModeKHR;
10850 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
10853 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
10854 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
10855 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
10856 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
10857 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10858 } VkAccelerationStructureMemoryRequirementsTypeNV;
10860 typedef enum VkGeometryFlagBitsKHR {
10861 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
10862 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
10863 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
10864 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
10865 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10866 } VkGeometryFlagBitsKHR;
10867 typedef VkFlags VkGeometryFlagsKHR;
10868 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
10870 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
10873 typedef enum VkGeometryInstanceFlagBitsKHR {
10874 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
10875 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
10876 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
10877 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
10878 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
10879 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
10880 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
10881 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
10882 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10883 } VkGeometryInstanceFlagBitsKHR;
10884 typedef VkFlags VkGeometryInstanceFlagsKHR;
10885 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
10887 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
10890 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
10891 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
10892 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
10893 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
10894 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
10895 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
10896 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
10897 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
10898 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
10899 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
10900 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
10901 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10902 } VkBuildAccelerationStructureFlagBitsKHR;
10903 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
10904 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
10906 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
10908 typedef struct VkRayTracingShaderGroupCreateInfoNV {
10909 VkStructureType sType;
10911 VkRayTracingShaderGroupTypeKHR type;
10912 deUint32 generalShader;
10913 deUint32 closestHitShader;
10914 deUint32 anyHitShader;
10915 deUint32 intersectionShader;
10916 } VkRayTracingShaderGroupCreateInfoNV;
10918 typedef struct VkRayTracingPipelineCreateInfoNV {
10919 VkStructureType sType;
10921 VkPipelineCreateFlags flags;
10922 deUint32 stageCount;
10923 const VkPipelineShaderStageCreateInfo* pStages;
10924 deUint32 groupCount;
10925 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
10926 deUint32 maxRecursionDepth;
10927 VkPipelineLayout layout;
10928 VkPipeline basePipelineHandle;
10929 deInt32 basePipelineIndex;
10930 } VkRayTracingPipelineCreateInfoNV;
10932 typedef struct VkGeometryTrianglesNV {
10933 VkStructureType sType;
10935 VkBuffer vertexData;
10936 VkDeviceSize vertexOffset;
10937 deUint32 vertexCount;
10938 VkDeviceSize vertexStride;
10939 VkFormat vertexFormat;
10940 VkBuffer indexData;
10941 VkDeviceSize indexOffset;
10942 deUint32 indexCount;
10943 VkIndexType indexType;
10944 VkBuffer transformData;
10945 VkDeviceSize transformOffset;
10946 } VkGeometryTrianglesNV;
10948 typedef struct VkGeometryAABBNV {
10949 VkStructureType sType;
10954 VkDeviceSize offset;
10955 } VkGeometryAABBNV;
10957 typedef struct VkGeometryDataNV {
10958 VkGeometryTrianglesNV triangles;
10959 VkGeometryAABBNV aabbs;
10960 } VkGeometryDataNV;
10962 typedef struct VkGeometryNV {
10963 VkStructureType sType;
10965 VkGeometryTypeKHR geometryType;
10966 VkGeometryDataNV geometry;
10967 VkGeometryFlagsKHR flags;
10970 typedef struct VkAccelerationStructureInfoNV {
10971 VkStructureType sType;
10973 VkAccelerationStructureTypeNV type;
10974 VkBuildAccelerationStructureFlagsNV flags;
10975 deUint32 instanceCount;
10976 deUint32 geometryCount;
10977 const VkGeometryNV* pGeometries;
10978 } VkAccelerationStructureInfoNV;
10980 typedef struct VkAccelerationStructureCreateInfoNV {
10981 VkStructureType sType;
10983 VkDeviceSize compactedSize;
10984 VkAccelerationStructureInfoNV info;
10985 } VkAccelerationStructureCreateInfoNV;
10987 typedef struct VkBindAccelerationStructureMemoryInfoNV {
10988 VkStructureType sType;
10990 VkAccelerationStructureNV accelerationStructure;
10991 VkDeviceMemory memory;
10992 VkDeviceSize memoryOffset;
10993 deUint32 deviceIndexCount;
10994 const deUint32* pDeviceIndices;
10995 } VkBindAccelerationStructureMemoryInfoNV;
10997 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
10998 VkStructureType sType;
11000 deUint32 accelerationStructureCount;
11001 const VkAccelerationStructureNV* pAccelerationStructures;
11002 } VkWriteDescriptorSetAccelerationStructureNV;
11004 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
11005 VkStructureType sType;
11007 VkAccelerationStructureMemoryRequirementsTypeNV type;
11008 VkAccelerationStructureNV accelerationStructure;
11009 } VkAccelerationStructureMemoryRequirementsInfoNV;
11011 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
11012 VkStructureType sType;
11014 deUint32 shaderGroupHandleSize;
11015 deUint32 maxRecursionDepth;
11016 deUint32 maxShaderGroupStride;
11017 deUint32 shaderGroupBaseAlignment;
11018 deUint64 maxGeometryCount;
11019 deUint64 maxInstanceCount;
11020 deUint64 maxTriangleCount;
11021 deUint32 maxDescriptorSetAccelerationStructures;
11022 } VkPhysicalDeviceRayTracingPropertiesNV;
11024 typedef struct VkTransformMatrixKHR {
11025 float matrix[3][4];
11026 } VkTransformMatrixKHR;
11028 typedef VkTransformMatrixKHR VkTransformMatrixNV;
11030 typedef struct VkAabbPositionsKHR {
11037 } VkAabbPositionsKHR;
11039 typedef VkAabbPositionsKHR VkAabbPositionsNV;
11041 typedef struct VkAccelerationStructureInstanceKHR {
11042 VkTransformMatrixKHR transform;
11043 deUint32 instanceCustomIndex:24;
11045 deUint32 instanceShaderBindingTableRecordOffset:24;
11046 VkGeometryInstanceFlagsKHR flags:8;
11047 deUint64 accelerationStructureReference;
11048 } VkAccelerationStructureInstanceKHR;
11050 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
11052 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
11053 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
11054 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
11055 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11056 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);
11057 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
11058 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);
11059 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
11060 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11061 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11062 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
11063 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
11064 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
11066 #ifndef VK_NO_PROTOTYPES
11067 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
11069 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
11070 const VkAllocationCallbacks* pAllocator,
11071 VkAccelerationStructureNV* pAccelerationStructure);
11073 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
11075 VkAccelerationStructureNV accelerationStructure,
11076 const VkAllocationCallbacks* pAllocator);
11078 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
11080 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
11081 VkMemoryRequirements2KHR* pMemoryRequirements);
11083 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
11085 deUint32 bindInfoCount,
11086 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11088 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
11089 VkCommandBuffer commandBuffer,
11090 const VkAccelerationStructureInfoNV* pInfo,
11091 VkBuffer instanceData,
11092 VkDeviceSize instanceOffset,
11094 VkAccelerationStructureNV dst,
11095 VkAccelerationStructureNV src,
11097 VkDeviceSize scratchOffset);
11099 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
11100 VkCommandBuffer commandBuffer,
11101 VkAccelerationStructureNV dst,
11102 VkAccelerationStructureNV src,
11103 VkCopyAccelerationStructureModeKHR mode);
11105 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
11106 VkCommandBuffer commandBuffer,
11107 VkBuffer raygenShaderBindingTableBuffer,
11108 VkDeviceSize raygenShaderBindingOffset,
11109 VkBuffer missShaderBindingTableBuffer,
11110 VkDeviceSize missShaderBindingOffset,
11111 VkDeviceSize missShaderBindingStride,
11112 VkBuffer hitShaderBindingTableBuffer,
11113 VkDeviceSize hitShaderBindingOffset,
11114 VkDeviceSize hitShaderBindingStride,
11115 VkBuffer callableShaderBindingTableBuffer,
11116 VkDeviceSize callableShaderBindingOffset,
11117 VkDeviceSize callableShaderBindingStride,
11122 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
11124 VkPipelineCache pipelineCache,
11125 deUint32 createInfoCount,
11126 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
11127 const VkAllocationCallbacks* pAllocator,
11128 VkPipeline* pPipelines);
11130 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
11132 VkPipeline pipeline,
11133 deUint32 firstGroup,
11134 deUint32 groupCount,
11135 deUintptr dataSize,
11138 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
11140 VkPipeline pipeline,
11141 deUint32 firstGroup,
11142 deUint32 groupCount,
11143 deUintptr dataSize,
11146 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
11148 VkAccelerationStructureNV accelerationStructure,
11149 deUintptr dataSize,
11152 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
11153 VkCommandBuffer commandBuffer,
11154 deUint32 accelerationStructureCount,
11155 const VkAccelerationStructureNV* pAccelerationStructures,
11156 VkQueryType queryType,
11157 VkQueryPool queryPool,
11158 deUint32 firstQuery);
11160 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
11162 VkPipeline pipeline,
11167 #define VK_NV_representative_fragment_test 1
11168 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
11169 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
11170 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11171 VkStructureType sType;
11173 VkBool32 representativeFragmentTest;
11174 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
11176 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
11177 VkStructureType sType;
11179 VkBool32 representativeFragmentTestEnable;
11180 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
11184 #define VK_EXT_filter_cubic 1
11185 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
11186 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
11187 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
11188 VkStructureType sType;
11190 VkImageViewType imageViewType;
11191 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
11193 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
11194 VkStructureType sType;
11196 VkBool32 filterCubic;
11197 VkBool32 filterCubicMinmax;
11198 } VkFilterCubicImageViewImageFormatPropertiesEXT;
11202 #define VK_QCOM_render_pass_shader_resolve 1
11203 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
11204 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
11207 #define VK_EXT_global_priority 1
11208 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
11209 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
11211 typedef enum VkQueueGlobalPriorityEXT {
11212 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
11213 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
11214 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
11215 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
11216 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
11217 } VkQueueGlobalPriorityEXT;
11218 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
11219 VkStructureType sType;
11221 VkQueueGlobalPriorityEXT globalPriority;
11222 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
11226 #define VK_EXT_external_memory_host 1
11227 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
11228 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
11229 typedef struct VkImportMemoryHostPointerInfoEXT {
11230 VkStructureType sType;
11232 VkExternalMemoryHandleTypeFlagBits handleType;
11233 void* pHostPointer;
11234 } VkImportMemoryHostPointerInfoEXT;
11236 typedef struct VkMemoryHostPointerPropertiesEXT {
11237 VkStructureType sType;
11239 deUint32 memoryTypeBits;
11240 } VkMemoryHostPointerPropertiesEXT;
11242 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
11243 VkStructureType sType;
11245 VkDeviceSize minImportedHostPointerAlignment;
11246 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
11248 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11250 #ifndef VK_NO_PROTOTYPES
11251 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
11253 VkExternalMemoryHandleTypeFlagBits handleType,
11254 const void* pHostPointer,
11255 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11259 #define VK_AMD_buffer_marker 1
11260 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
11261 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
11262 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
11264 #ifndef VK_NO_PROTOTYPES
11265 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
11266 VkCommandBuffer commandBuffer,
11267 VkPipelineStageFlagBits pipelineStage,
11268 VkBuffer dstBuffer,
11269 VkDeviceSize dstOffset,
11274 #define VK_AMD_pipeline_compiler_control 1
11275 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
11276 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
11278 typedef enum VkPipelineCompilerControlFlagBitsAMD {
11279 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11280 } VkPipelineCompilerControlFlagBitsAMD;
11281 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
11282 typedef struct VkPipelineCompilerControlCreateInfoAMD {
11283 VkStructureType sType;
11285 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
11286 } VkPipelineCompilerControlCreateInfoAMD;
11290 #define VK_EXT_calibrated_timestamps 1
11291 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
11292 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
11294 typedef enum VkTimeDomainEXT {
11295 VK_TIME_DOMAIN_DEVICE_EXT = 0,
11296 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
11297 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
11298 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
11299 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
11301 typedef struct VkCalibratedTimestampInfoEXT {
11302 VkStructureType sType;
11304 VkTimeDomainEXT timeDomain;
11305 } VkCalibratedTimestampInfoEXT;
11307 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
11308 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
11310 #ifndef VK_NO_PROTOTYPES
11311 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11312 VkPhysicalDevice physicalDevice,
11313 deUint32* pTimeDomainCount,
11314 VkTimeDomainEXT* pTimeDomains);
11316 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
11318 deUint32 timestampCount,
11319 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
11320 deUint64* pTimestamps,
11321 deUint64* pMaxDeviation);
11325 #define VK_AMD_shader_core_properties 1
11326 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
11327 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
11328 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
11329 VkStructureType sType;
11331 deUint32 shaderEngineCount;
11332 deUint32 shaderArraysPerEngineCount;
11333 deUint32 computeUnitsPerShaderArray;
11334 deUint32 simdPerComputeUnit;
11335 deUint32 wavefrontsPerSimd;
11336 deUint32 wavefrontSize;
11337 deUint32 sgprsPerSimd;
11338 deUint32 minSgprAllocation;
11339 deUint32 maxSgprAllocation;
11340 deUint32 sgprAllocationGranularity;
11341 deUint32 vgprsPerSimd;
11342 deUint32 minVgprAllocation;
11343 deUint32 maxVgprAllocation;
11344 deUint32 vgprAllocationGranularity;
11345 } VkPhysicalDeviceShaderCorePropertiesAMD;
11349 #define VK_AMD_memory_overallocation_behavior 1
11350 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
11351 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
11353 typedef enum VkMemoryOverallocationBehaviorAMD {
11354 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
11355 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
11356 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
11357 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
11358 } VkMemoryOverallocationBehaviorAMD;
11359 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
11360 VkStructureType sType;
11362 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
11363 } VkDeviceMemoryOverallocationCreateInfoAMD;
11367 #define VK_EXT_vertex_attribute_divisor 1
11368 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
11369 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
11370 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
11371 VkStructureType sType;
11373 deUint32 maxVertexAttribDivisor;
11374 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
11376 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
11379 } VkVertexInputBindingDivisorDescriptionEXT;
11381 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
11382 VkStructureType sType;
11384 deUint32 vertexBindingDivisorCount;
11385 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
11386 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
11388 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
11389 VkStructureType sType;
11391 VkBool32 vertexAttributeInstanceRateDivisor;
11392 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11393 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
11397 #define VK_EXT_pipeline_creation_feedback 1
11398 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
11399 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
11401 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
11402 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
11403 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
11404 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
11405 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11406 } VkPipelineCreationFeedbackFlagBitsEXT;
11407 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
11408 typedef struct VkPipelineCreationFeedbackEXT {
11409 VkPipelineCreationFeedbackFlagsEXT flags;
11411 } VkPipelineCreationFeedbackEXT;
11413 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
11414 VkStructureType sType;
11416 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
11417 deUint32 pipelineStageCreationFeedbackCount;
11418 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
11419 } VkPipelineCreationFeedbackCreateInfoEXT;
11423 #define VK_NV_shader_subgroup_partitioned 1
11424 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
11425 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
11428 #define VK_NV_compute_shader_derivatives 1
11429 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
11430 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
11431 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
11432 VkStructureType sType;
11434 VkBool32 computeDerivativeGroupQuads;
11435 VkBool32 computeDerivativeGroupLinear;
11436 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
11440 #define VK_NV_mesh_shader 1
11441 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
11442 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
11443 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
11444 VkStructureType sType;
11446 VkBool32 taskShader;
11447 VkBool32 meshShader;
11448 } VkPhysicalDeviceMeshShaderFeaturesNV;
11450 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
11451 VkStructureType sType;
11453 deUint32 maxDrawMeshTasksCount;
11454 deUint32 maxTaskWorkGroupInvocations;
11455 deUint32 maxTaskWorkGroupSize[3];
11456 deUint32 maxTaskTotalMemorySize;
11457 deUint32 maxTaskOutputCount;
11458 deUint32 maxMeshWorkGroupInvocations;
11459 deUint32 maxMeshWorkGroupSize[3];
11460 deUint32 maxMeshTotalMemorySize;
11461 deUint32 maxMeshOutputVertices;
11462 deUint32 maxMeshOutputPrimitives;
11463 deUint32 maxMeshMultiviewViewCount;
11464 deUint32 meshOutputPerVertexGranularity;
11465 deUint32 meshOutputPerPrimitiveGranularity;
11466 } VkPhysicalDeviceMeshShaderPropertiesNV;
11468 typedef struct VkDrawMeshTasksIndirectCommandNV {
11469 deUint32 taskCount;
11470 deUint32 firstTask;
11471 } VkDrawMeshTasksIndirectCommandNV;
11473 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
11474 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
11475 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11477 #ifndef VK_NO_PROTOTYPES
11478 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
11479 VkCommandBuffer commandBuffer,
11480 deUint32 taskCount,
11481 deUint32 firstTask);
11483 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
11484 VkCommandBuffer commandBuffer,
11486 VkDeviceSize offset,
11487 deUint32 drawCount,
11490 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
11491 VkCommandBuffer commandBuffer,
11493 VkDeviceSize offset,
11494 VkBuffer countBuffer,
11495 VkDeviceSize countBufferOffset,
11496 deUint32 maxDrawCount,
11501 #define VK_NV_fragment_shader_barycentric 1
11502 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
11503 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
11504 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11505 VkStructureType sType;
11507 VkBool32 fragmentShaderBarycentric;
11508 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
11512 #define VK_NV_shader_image_footprint 1
11513 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
11514 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
11515 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11516 VkStructureType sType;
11518 VkBool32 imageFootprint;
11519 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
11523 #define VK_NV_scissor_exclusive 1
11524 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
11525 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
11526 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11527 VkStructureType sType;
11529 deUint32 exclusiveScissorCount;
11530 const VkRect2D* pExclusiveScissors;
11531 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
11533 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11534 VkStructureType sType;
11536 VkBool32 exclusiveScissor;
11537 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
11539 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
11541 #ifndef VK_NO_PROTOTYPES
11542 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
11543 VkCommandBuffer commandBuffer,
11544 deUint32 firstExclusiveScissor,
11545 deUint32 exclusiveScissorCount,
11546 const VkRect2D* pExclusiveScissors);
11550 #define VK_NV_device_diagnostic_checkpoints 1
11551 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
11552 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
11553 typedef struct VkQueueFamilyCheckpointPropertiesNV {
11554 VkStructureType sType;
11556 VkPipelineStageFlags checkpointExecutionStageMask;
11557 } VkQueueFamilyCheckpointPropertiesNV;
11559 typedef struct VkCheckpointDataNV {
11560 VkStructureType sType;
11562 VkPipelineStageFlagBits stage;
11563 void* pCheckpointMarker;
11564 } VkCheckpointDataNV;
11566 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
11567 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
11569 #ifndef VK_NO_PROTOTYPES
11570 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
11571 VkCommandBuffer commandBuffer,
11572 const void* pCheckpointMarker);
11574 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
11576 deUint32* pCheckpointDataCount,
11577 VkCheckpointDataNV* pCheckpointData);
11581 #define VK_INTEL_shader_integer_functions2 1
11582 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
11583 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
11584 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
11585 VkStructureType sType;
11587 VkBool32 shaderIntegerFunctions2;
11588 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
11592 #define VK_INTEL_performance_query 1
11593 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
11594 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
11595 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
11597 typedef enum VkPerformanceConfigurationTypeINTEL {
11598 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
11599 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11600 } VkPerformanceConfigurationTypeINTEL;
11602 typedef enum VkQueryPoolSamplingModeINTEL {
11603 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
11604 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
11605 } VkQueryPoolSamplingModeINTEL;
11607 typedef enum VkPerformanceOverrideTypeINTEL {
11608 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
11609 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
11610 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11611 } VkPerformanceOverrideTypeINTEL;
11613 typedef enum VkPerformanceParameterTypeINTEL {
11614 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
11615 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
11616 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11617 } VkPerformanceParameterTypeINTEL;
11619 typedef enum VkPerformanceValueTypeINTEL {
11620 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
11621 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
11622 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
11623 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
11624 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
11625 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11626 } VkPerformanceValueTypeINTEL;
11627 typedef union VkPerformanceValueDataINTEL {
11631 VkBool32 valueBool;
11632 const char* valueString;
11633 } VkPerformanceValueDataINTEL;
11635 typedef struct VkPerformanceValueINTEL {
11636 VkPerformanceValueTypeINTEL type;
11637 VkPerformanceValueDataINTEL data;
11638 } VkPerformanceValueINTEL;
11640 typedef struct VkInitializePerformanceApiInfoINTEL {
11641 VkStructureType sType;
11644 } VkInitializePerformanceApiInfoINTEL;
11646 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
11647 VkStructureType sType;
11649 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
11650 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
11652 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
11654 typedef struct VkPerformanceMarkerInfoINTEL {
11655 VkStructureType sType;
11658 } VkPerformanceMarkerInfoINTEL;
11660 typedef struct VkPerformanceStreamMarkerInfoINTEL {
11661 VkStructureType sType;
11664 } VkPerformanceStreamMarkerInfoINTEL;
11666 typedef struct VkPerformanceOverrideInfoINTEL {
11667 VkStructureType sType;
11669 VkPerformanceOverrideTypeINTEL type;
11671 deUint64 parameter;
11672 } VkPerformanceOverrideInfoINTEL;
11674 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
11675 VkStructureType sType;
11677 VkPerformanceConfigurationTypeINTEL type;
11678 } VkPerformanceConfigurationAcquireInfoINTEL;
11680 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11681 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
11682 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11683 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11684 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11685 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
11686 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
11687 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
11688 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
11690 #ifndef VK_NO_PROTOTYPES
11691 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
11693 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11695 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
11698 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
11699 VkCommandBuffer commandBuffer,
11700 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11702 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
11703 VkCommandBuffer commandBuffer,
11704 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11706 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
11707 VkCommandBuffer commandBuffer,
11708 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11710 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
11712 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
11713 VkPerformanceConfigurationINTEL* pConfiguration);
11715 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
11717 VkPerformanceConfigurationINTEL configuration);
11719 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
11721 VkPerformanceConfigurationINTEL configuration);
11723 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
11725 VkPerformanceParameterTypeINTEL parameter,
11726 VkPerformanceValueINTEL* pValue);
11730 #define VK_EXT_pci_bus_info 1
11731 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
11732 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
11733 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
11734 VkStructureType sType;
11736 deUint32 pciDomain;
11738 deUint32 pciDevice;
11739 deUint32 pciFunction;
11740 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
11744 #define VK_AMD_display_native_hdr 1
11745 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
11746 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
11747 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11748 VkStructureType sType;
11750 VkBool32 localDimmingSupport;
11751 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
11753 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11754 VkStructureType sType;
11756 VkBool32 localDimmingEnable;
11757 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
11759 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
11761 #ifndef VK_NO_PROTOTYPES
11762 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
11764 VkSwapchainKHR swapChain,
11765 VkBool32 localDimmingEnable);
11769 #define VK_EXT_fragment_density_map 1
11770 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
11771 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
11772 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11773 VkStructureType sType;
11775 VkBool32 fragmentDensityMap;
11776 VkBool32 fragmentDensityMapDynamic;
11777 VkBool32 fragmentDensityMapNonSubsampledImages;
11778 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
11780 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11781 VkStructureType sType;
11783 VkExtent2D minFragmentDensityTexelSize;
11784 VkExtent2D maxFragmentDensityTexelSize;
11785 VkBool32 fragmentDensityInvocations;
11786 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
11788 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11789 VkStructureType sType;
11791 VkAttachmentReference fragmentDensityMapAttachment;
11792 } VkRenderPassFragmentDensityMapCreateInfoEXT;
11796 #define VK_EXT_scalar_block_layout 1
11797 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
11798 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
11799 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
11803 #define VK_GOOGLE_hlsl_functionality1 1
11804 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
11805 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
11808 #define VK_GOOGLE_decorate_string 1
11809 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
11810 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
11813 #define VK_EXT_subgroup_size_control 1
11814 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
11815 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
11816 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
11817 VkStructureType sType;
11819 VkBool32 subgroupSizeControl;
11820 VkBool32 computeFullSubgroups;
11821 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
11823 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
11824 VkStructureType sType;
11826 deUint32 minSubgroupSize;
11827 deUint32 maxSubgroupSize;
11828 deUint32 maxComputeWorkgroupSubgroups;
11829 VkShaderStageFlags requiredSubgroupSizeStages;
11830 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
11832 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
11833 VkStructureType sType;
11835 deUint32 requiredSubgroupSize;
11836 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
11840 #define VK_AMD_shader_core_properties2 1
11841 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
11842 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
11844 typedef enum VkShaderCorePropertiesFlagBitsAMD {
11845 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11846 } VkShaderCorePropertiesFlagBitsAMD;
11847 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
11848 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
11849 VkStructureType sType;
11851 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
11852 deUint32 activeComputeUnitCount;
11853 } VkPhysicalDeviceShaderCoreProperties2AMD;
11857 #define VK_AMD_device_coherent_memory 1
11858 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
11859 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
11860 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
11861 VkStructureType sType;
11863 VkBool32 deviceCoherentMemory;
11864 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
11868 #define VK_EXT_shader_image_atomic_int64 1
11869 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
11870 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
11871 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
11872 VkStructureType sType;
11874 VkBool32 shaderImageInt64Atomics;
11875 VkBool32 sparseImageInt64Atomics;
11876 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
11880 #define VK_EXT_memory_budget 1
11881 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
11882 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
11883 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
11884 VkStructureType sType;
11886 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
11887 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
11888 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
11892 #define VK_EXT_memory_priority 1
11893 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
11894 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
11895 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
11896 VkStructureType sType;
11898 VkBool32 memoryPriority;
11899 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
11901 typedef struct VkMemoryPriorityAllocateInfoEXT {
11902 VkStructureType sType;
11905 } VkMemoryPriorityAllocateInfoEXT;
11909 #define VK_NV_dedicated_allocation_image_aliasing 1
11910 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
11911 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
11912 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
11913 VkStructureType sType;
11915 VkBool32 dedicatedAllocationImageAliasing;
11916 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
11920 #define VK_EXT_buffer_device_address 1
11921 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
11922 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
11923 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
11924 VkStructureType sType;
11926 VkBool32 bufferDeviceAddress;
11927 VkBool32 bufferDeviceAddressCaptureReplay;
11928 VkBool32 bufferDeviceAddressMultiDevice;
11929 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
11931 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
11933 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
11935 typedef struct VkBufferDeviceAddressCreateInfoEXT {
11936 VkStructureType sType;
11938 VkDeviceAddress deviceAddress;
11939 } VkBufferDeviceAddressCreateInfoEXT;
11941 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
11943 #ifndef VK_NO_PROTOTYPES
11944 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
11946 const VkBufferDeviceAddressInfo* pInfo);
11950 #define VK_EXT_tooling_info 1
11951 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
11952 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
11954 typedef enum VkToolPurposeFlagBitsEXT {
11955 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
11956 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
11957 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
11958 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
11959 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
11960 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
11961 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
11962 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11963 } VkToolPurposeFlagBitsEXT;
11964 typedef VkFlags VkToolPurposeFlagsEXT;
11965 typedef struct VkPhysicalDeviceToolPropertiesEXT {
11966 VkStructureType sType;
11968 char name[VK_MAX_EXTENSION_NAME_SIZE];
11969 char version[VK_MAX_EXTENSION_NAME_SIZE];
11970 VkToolPurposeFlagsEXT purposes;
11971 char description[VK_MAX_DESCRIPTION_SIZE];
11972 char layer[VK_MAX_EXTENSION_NAME_SIZE];
11973 } VkPhysicalDeviceToolPropertiesEXT;
11975 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11977 #ifndef VK_NO_PROTOTYPES
11978 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
11979 VkPhysicalDevice physicalDevice,
11980 deUint32* pToolCount,
11981 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
11985 #define VK_EXT_separate_stencil_usage 1
11986 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
11987 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
11988 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
11992 #define VK_EXT_validation_features 1
11993 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 4
11994 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
11996 typedef enum VkValidationFeatureEnableEXT {
11997 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
11998 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
11999 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
12000 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
12001 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
12002 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12003 } VkValidationFeatureEnableEXT;
12005 typedef enum VkValidationFeatureDisableEXT {
12006 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
12007 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
12008 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
12009 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
12010 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
12011 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
12012 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
12013 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12014 } VkValidationFeatureDisableEXT;
12015 typedef struct VkValidationFeaturesEXT {
12016 VkStructureType sType;
12018 deUint32 enabledValidationFeatureCount;
12019 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
12020 deUint32 disabledValidationFeatureCount;
12021 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
12022 } VkValidationFeaturesEXT;
12026 #define VK_NV_cooperative_matrix 1
12027 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
12028 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
12030 typedef enum VkComponentTypeNV {
12031 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
12032 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
12033 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
12034 VK_COMPONENT_TYPE_SINT8_NV = 3,
12035 VK_COMPONENT_TYPE_SINT16_NV = 4,
12036 VK_COMPONENT_TYPE_SINT32_NV = 5,
12037 VK_COMPONENT_TYPE_SINT64_NV = 6,
12038 VK_COMPONENT_TYPE_UINT8_NV = 7,
12039 VK_COMPONENT_TYPE_UINT16_NV = 8,
12040 VK_COMPONENT_TYPE_UINT32_NV = 9,
12041 VK_COMPONENT_TYPE_UINT64_NV = 10,
12042 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12043 } VkComponentTypeNV;
12045 typedef enum VkScopeNV {
12046 VK_SCOPE_DEVICE_NV = 1,
12047 VK_SCOPE_WORKGROUP_NV = 2,
12048 VK_SCOPE_SUBGROUP_NV = 3,
12049 VK_SCOPE_QUEUE_FAMILY_NV = 5,
12050 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
12052 typedef struct VkCooperativeMatrixPropertiesNV {
12053 VkStructureType sType;
12058 VkComponentTypeNV AType;
12059 VkComponentTypeNV BType;
12060 VkComponentTypeNV CType;
12061 VkComponentTypeNV DType;
12063 } VkCooperativeMatrixPropertiesNV;
12065 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
12066 VkStructureType sType;
12068 VkBool32 cooperativeMatrix;
12069 VkBool32 cooperativeMatrixRobustBufferAccess;
12070 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
12072 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
12073 VkStructureType sType;
12075 VkShaderStageFlags cooperativeMatrixSupportedStages;
12076 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
12078 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
12080 #ifndef VK_NO_PROTOTYPES
12081 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
12082 VkPhysicalDevice physicalDevice,
12083 deUint32* pPropertyCount,
12084 VkCooperativeMatrixPropertiesNV* pProperties);
12088 #define VK_NV_coverage_reduction_mode 1
12089 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
12090 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
12092 typedef enum VkCoverageReductionModeNV {
12093 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
12094 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
12095 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12096 } VkCoverageReductionModeNV;
12097 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
12098 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
12099 VkStructureType sType;
12101 VkBool32 coverageReductionMode;
12102 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
12104 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
12105 VkStructureType sType;
12107 VkPipelineCoverageReductionStateCreateFlagsNV flags;
12108 VkCoverageReductionModeNV coverageReductionMode;
12109 } VkPipelineCoverageReductionStateCreateInfoNV;
12111 typedef struct VkFramebufferMixedSamplesCombinationNV {
12112 VkStructureType sType;
12114 VkCoverageReductionModeNV coverageReductionMode;
12115 VkSampleCountFlagBits rasterizationSamples;
12116 VkSampleCountFlags depthStencilSamples;
12117 VkSampleCountFlags colorSamples;
12118 } VkFramebufferMixedSamplesCombinationNV;
12120 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
12122 #ifndef VK_NO_PROTOTYPES
12123 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
12124 VkPhysicalDevice physicalDevice,
12125 deUint32* pCombinationCount,
12126 VkFramebufferMixedSamplesCombinationNV* pCombinations);
12130 #define VK_EXT_fragment_shader_interlock 1
12131 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
12132 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
12133 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12134 VkStructureType sType;
12136 VkBool32 fragmentShaderSampleInterlock;
12137 VkBool32 fragmentShaderPixelInterlock;
12138 VkBool32 fragmentShaderShadingRateInterlock;
12139 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
12143 #define VK_EXT_ycbcr_image_arrays 1
12144 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
12145 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
12146 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
12147 VkStructureType sType;
12149 VkBool32 ycbcrImageArrays;
12150 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
12154 #define VK_EXT_headless_surface 1
12155 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
12156 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
12157 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
12158 typedef struct VkHeadlessSurfaceCreateInfoEXT {
12159 VkStructureType sType;
12161 VkHeadlessSurfaceCreateFlagsEXT flags;
12162 } VkHeadlessSurfaceCreateInfoEXT;
12164 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
12166 #ifndef VK_NO_PROTOTYPES
12167 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
12168 VkInstance instance,
12169 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
12170 const VkAllocationCallbacks* pAllocator,
12171 VkSurfaceKHR* pSurface);
12175 #define VK_EXT_line_rasterization 1
12176 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
12177 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
12179 typedef enum VkLineRasterizationModeEXT {
12180 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
12181 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
12182 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
12183 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
12184 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12185 } VkLineRasterizationModeEXT;
12186 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
12187 VkStructureType sType;
12189 VkBool32 rectangularLines;
12190 VkBool32 bresenhamLines;
12191 VkBool32 smoothLines;
12192 VkBool32 stippledRectangularLines;
12193 VkBool32 stippledBresenhamLines;
12194 VkBool32 stippledSmoothLines;
12195 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
12197 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
12198 VkStructureType sType;
12200 deUint32 lineSubPixelPrecisionBits;
12201 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
12203 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
12204 VkStructureType sType;
12206 VkLineRasterizationModeEXT lineRasterizationMode;
12207 VkBool32 stippledLineEnable;
12208 deUint32 lineStippleFactor;
12209 deUint16 lineStipplePattern;
12210 } VkPipelineRasterizationLineStateCreateInfoEXT;
12212 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
12214 #ifndef VK_NO_PROTOTYPES
12215 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
12216 VkCommandBuffer commandBuffer,
12217 deUint32 lineStippleFactor,
12218 deUint16 lineStipplePattern);
12222 #define VK_EXT_shader_atomic_float 1
12223 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
12224 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
12225 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
12226 VkStructureType sType;
12228 VkBool32 shaderBufferFloat32Atomics;
12229 VkBool32 shaderBufferFloat32AtomicAdd;
12230 VkBool32 shaderBufferFloat64Atomics;
12231 VkBool32 shaderBufferFloat64AtomicAdd;
12232 VkBool32 shaderSharedFloat32Atomics;
12233 VkBool32 shaderSharedFloat32AtomicAdd;
12234 VkBool32 shaderSharedFloat64Atomics;
12235 VkBool32 shaderSharedFloat64AtomicAdd;
12236 VkBool32 shaderImageFloat32Atomics;
12237 VkBool32 shaderImageFloat32AtomicAdd;
12238 VkBool32 sparseImageFloat32Atomics;
12239 VkBool32 sparseImageFloat32AtomicAdd;
12240 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
12244 #define VK_EXT_host_query_reset 1
12245 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
12246 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
12247 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
12249 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
12251 #ifndef VK_NO_PROTOTYPES
12252 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
12254 VkQueryPool queryPool,
12255 deUint32 firstQuery,
12256 deUint32 queryCount);
12260 #define VK_EXT_index_type_uint8 1
12261 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
12262 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
12263 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
12264 VkStructureType sType;
12266 VkBool32 indexTypeUint8;
12267 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
12271 #define VK_EXT_extended_dynamic_state 1
12272 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
12273 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
12274 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
12275 VkStructureType sType;
12277 VkBool32 extendedDynamicState;
12278 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
12280 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
12281 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
12282 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
12283 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
12284 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
12285 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
12286 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
12287 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
12288 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
12289 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
12290 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
12291 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
12293 #ifndef VK_NO_PROTOTYPES
12294 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
12295 VkCommandBuffer commandBuffer,
12296 VkCullModeFlags cullMode);
12298 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
12299 VkCommandBuffer commandBuffer,
12300 VkFrontFace frontFace);
12302 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
12303 VkCommandBuffer commandBuffer,
12304 VkPrimitiveTopology primitiveTopology);
12306 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
12307 VkCommandBuffer commandBuffer,
12308 deUint32 viewportCount,
12309 const VkViewport* pViewports);
12311 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
12312 VkCommandBuffer commandBuffer,
12313 deUint32 scissorCount,
12314 const VkRect2D* pScissors);
12316 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
12317 VkCommandBuffer commandBuffer,
12318 deUint32 firstBinding,
12319 deUint32 bindingCount,
12320 const VkBuffer* pBuffers,
12321 const VkDeviceSize* pOffsets,
12322 const VkDeviceSize* pSizes,
12323 const VkDeviceSize* pStrides);
12325 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
12326 VkCommandBuffer commandBuffer,
12327 VkBool32 depthTestEnable);
12329 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
12330 VkCommandBuffer commandBuffer,
12331 VkBool32 depthWriteEnable);
12333 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
12334 VkCommandBuffer commandBuffer,
12335 VkCompareOp depthCompareOp);
12337 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
12338 VkCommandBuffer commandBuffer,
12339 VkBool32 depthBoundsTestEnable);
12341 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
12342 VkCommandBuffer commandBuffer,
12343 VkBool32 stencilTestEnable);
12345 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
12346 VkCommandBuffer commandBuffer,
12347 VkStencilFaceFlags faceMask,
12348 VkStencilOp failOp,
12349 VkStencilOp passOp,
12350 VkStencilOp depthFailOp,
12351 VkCompareOp compareOp);
12355 #define VK_EXT_shader_demote_to_helper_invocation 1
12356 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
12357 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
12358 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
12359 VkStructureType sType;
12361 VkBool32 shaderDemoteToHelperInvocation;
12362 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
12366 #define VK_NV_device_generated_commands 1
12367 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
12368 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
12369 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
12371 typedef enum VkIndirectCommandsTokenTypeNV {
12372 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
12373 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
12374 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
12375 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
12376 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
12377 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
12378 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
12379 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
12380 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12381 } VkIndirectCommandsTokenTypeNV;
12383 typedef enum VkIndirectStateFlagBitsNV {
12384 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
12385 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12386 } VkIndirectStateFlagBitsNV;
12387 typedef VkFlags VkIndirectStateFlagsNV;
12389 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
12390 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
12391 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
12392 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
12393 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12394 } VkIndirectCommandsLayoutUsageFlagBitsNV;
12395 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
12396 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
12397 VkStructureType sType;
12399 deUint32 maxGraphicsShaderGroupCount;
12400 deUint32 maxIndirectSequenceCount;
12401 deUint32 maxIndirectCommandsTokenCount;
12402 deUint32 maxIndirectCommandsStreamCount;
12403 deUint32 maxIndirectCommandsTokenOffset;
12404 deUint32 maxIndirectCommandsStreamStride;
12405 deUint32 minSequencesCountBufferOffsetAlignment;
12406 deUint32 minSequencesIndexBufferOffsetAlignment;
12407 deUint32 minIndirectCommandsBufferOffsetAlignment;
12408 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
12410 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
12411 VkStructureType sType;
12413 VkBool32 deviceGeneratedCommands;
12414 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
12416 typedef struct VkGraphicsShaderGroupCreateInfoNV {
12417 VkStructureType sType;
12419 deUint32 stageCount;
12420 const VkPipelineShaderStageCreateInfo* pStages;
12421 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
12422 const VkPipelineTessellationStateCreateInfo* pTessellationState;
12423 } VkGraphicsShaderGroupCreateInfoNV;
12425 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
12426 VkStructureType sType;
12428 deUint32 groupCount;
12429 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
12430 deUint32 pipelineCount;
12431 const VkPipeline* pPipelines;
12432 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
12434 typedef struct VkBindShaderGroupIndirectCommandNV {
12435 deUint32 groupIndex;
12436 } VkBindShaderGroupIndirectCommandNV;
12438 typedef struct VkBindIndexBufferIndirectCommandNV {
12439 VkDeviceAddress bufferAddress;
12441 VkIndexType indexType;
12442 } VkBindIndexBufferIndirectCommandNV;
12444 typedef struct VkBindVertexBufferIndirectCommandNV {
12445 VkDeviceAddress bufferAddress;
12448 } VkBindVertexBufferIndirectCommandNV;
12450 typedef struct VkSetStateFlagsIndirectCommandNV {
12452 } VkSetStateFlagsIndirectCommandNV;
12454 typedef struct VkIndirectCommandsStreamNV {
12456 VkDeviceSize offset;
12457 } VkIndirectCommandsStreamNV;
12459 typedef struct VkIndirectCommandsLayoutTokenNV {
12460 VkStructureType sType;
12462 VkIndirectCommandsTokenTypeNV tokenType;
12465 deUint32 vertexBindingUnit;
12466 VkBool32 vertexDynamicStride;
12467 VkPipelineLayout pushconstantPipelineLayout;
12468 VkShaderStageFlags pushconstantShaderStageFlags;
12469 deUint32 pushconstantOffset;
12470 deUint32 pushconstantSize;
12471 VkIndirectStateFlagsNV indirectStateFlags;
12472 deUint32 indexTypeCount;
12473 const VkIndexType* pIndexTypes;
12474 const deUint32* pIndexTypeValues;
12475 } VkIndirectCommandsLayoutTokenNV;
12477 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
12478 VkStructureType sType;
12480 VkIndirectCommandsLayoutUsageFlagsNV flags;
12481 VkPipelineBindPoint pipelineBindPoint;
12482 deUint32 tokenCount;
12483 const VkIndirectCommandsLayoutTokenNV* pTokens;
12484 deUint32 streamCount;
12485 const deUint32* pStreamStrides;
12486 } VkIndirectCommandsLayoutCreateInfoNV;
12488 typedef struct VkGeneratedCommandsInfoNV {
12489 VkStructureType sType;
12491 VkPipelineBindPoint pipelineBindPoint;
12492 VkPipeline pipeline;
12493 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12494 deUint32 streamCount;
12495 const VkIndirectCommandsStreamNV* pStreams;
12496 deUint32 sequencesCount;
12497 VkBuffer preprocessBuffer;
12498 VkDeviceSize preprocessOffset;
12499 VkDeviceSize preprocessSize;
12500 VkBuffer sequencesCountBuffer;
12501 VkDeviceSize sequencesCountOffset;
12502 VkBuffer sequencesIndexBuffer;
12503 VkDeviceSize sequencesIndexOffset;
12504 } VkGeneratedCommandsInfoNV;
12506 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
12507 VkStructureType sType;
12509 VkPipelineBindPoint pipelineBindPoint;
12510 VkPipeline pipeline;
12511 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12512 deUint32 maxSequencesCount;
12513 } VkGeneratedCommandsMemoryRequirementsInfoNV;
12515 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12516 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12517 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12518 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
12519 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12520 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
12522 #ifndef VK_NO_PROTOTYPES
12523 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
12525 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
12526 VkMemoryRequirements2* pMemoryRequirements);
12528 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
12529 VkCommandBuffer commandBuffer,
12530 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12532 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
12533 VkCommandBuffer commandBuffer,
12534 VkBool32 isPreprocessed,
12535 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12537 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
12538 VkCommandBuffer commandBuffer,
12539 VkPipelineBindPoint pipelineBindPoint,
12540 VkPipeline pipeline,
12541 deUint32 groupIndex);
12543 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
12545 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
12546 const VkAllocationCallbacks* pAllocator,
12547 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12549 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
12551 VkIndirectCommandsLayoutNV indirectCommandsLayout,
12552 const VkAllocationCallbacks* pAllocator);
12556 #define VK_NV_inherited_viewport_scissor 1
12557 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
12558 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
12559 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
12560 VkStructureType sType;
12562 VkBool32 inheritedViewportScissor2D;
12563 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
12565 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
12566 VkStructureType sType;
12568 VkBool32 viewportScissor2D;
12569 deUint32 viewportDepthCount;
12570 const VkViewport* pViewportDepths;
12571 } VkCommandBufferInheritanceViewportScissorInfoNV;
12575 #define VK_EXT_texel_buffer_alignment 1
12576 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
12577 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
12578 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
12579 VkStructureType sType;
12581 VkBool32 texelBufferAlignment;
12582 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
12584 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
12585 VkStructureType sType;
12587 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
12588 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
12589 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
12590 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
12591 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
12595 #define VK_QCOM_render_pass_transform 1
12596 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
12597 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
12598 typedef struct VkRenderPassTransformBeginInfoQCOM {
12599 VkStructureType sType;
12601 VkSurfaceTransformFlagBitsKHR transform;
12602 } VkRenderPassTransformBeginInfoQCOM;
12604 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
12605 VkStructureType sType;
12607 VkSurfaceTransformFlagBitsKHR transform;
12608 VkRect2D renderArea;
12609 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
12613 #define VK_EXT_device_memory_report 1
12614 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
12615 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
12617 typedef enum VkDeviceMemoryReportEventTypeEXT {
12618 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
12619 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
12620 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
12621 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
12622 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
12623 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12624 } VkDeviceMemoryReportEventTypeEXT;
12625 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
12626 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
12627 VkStructureType sType;
12629 VkBool32 deviceMemoryReport;
12630 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
12632 typedef struct VkDeviceMemoryReportCallbackDataEXT {
12633 VkStructureType sType;
12635 VkDeviceMemoryReportFlagsEXT flags;
12636 VkDeviceMemoryReportEventTypeEXT type;
12637 deUint64 memoryObjectId;
12639 VkObjectType objectType;
12640 deUint64 objectHandle;
12641 deUint32 heapIndex;
12642 } VkDeviceMemoryReportCallbackDataEXT;
12644 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
12645 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
12648 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
12649 VkStructureType sType;
12651 VkDeviceMemoryReportFlagsEXT flags;
12652 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
12654 } VkDeviceDeviceMemoryReportCreateInfoEXT;
12658 #define VK_EXT_robustness2 1
12659 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
12660 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
12661 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
12662 VkStructureType sType;
12664 VkBool32 robustBufferAccess2;
12665 VkBool32 robustImageAccess2;
12666 VkBool32 nullDescriptor;
12667 } VkPhysicalDeviceRobustness2FeaturesEXT;
12669 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
12670 VkStructureType sType;
12672 VkDeviceSize robustStorageBufferAccessSizeAlignment;
12673 VkDeviceSize robustUniformBufferAccessSizeAlignment;
12674 } VkPhysicalDeviceRobustness2PropertiesEXT;
12678 #define VK_EXT_custom_border_color 1
12679 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
12680 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
12681 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
12682 VkStructureType sType;
12684 VkClearColorValue customBorderColor;
12686 } VkSamplerCustomBorderColorCreateInfoEXT;
12688 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
12689 VkStructureType sType;
12691 deUint32 maxCustomBorderColorSamplers;
12692 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
12694 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
12695 VkStructureType sType;
12697 VkBool32 customBorderColors;
12698 VkBool32 customBorderColorWithoutFormat;
12699 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
12703 #define VK_GOOGLE_user_type 1
12704 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
12705 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
12708 #define VK_EXT_private_data 1
12709 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
12710 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
12711 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
12713 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
12714 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12715 } VkPrivateDataSlotCreateFlagBitsEXT;
12716 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
12717 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
12718 VkStructureType sType;
12720 VkBool32 privateData;
12721 } VkPhysicalDevicePrivateDataFeaturesEXT;
12723 typedef struct VkDevicePrivateDataCreateInfoEXT {
12724 VkStructureType sType;
12726 deUint32 privateDataSlotRequestCount;
12727 } VkDevicePrivateDataCreateInfoEXT;
12729 typedef struct VkPrivateDataSlotCreateInfoEXT {
12730 VkStructureType sType;
12732 VkPrivateDataSlotCreateFlagsEXT flags;
12733 } VkPrivateDataSlotCreateInfoEXT;
12735 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
12736 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
12737 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
12738 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
12740 #ifndef VK_NO_PROTOTYPES
12741 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
12743 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
12744 const VkAllocationCallbacks* pAllocator,
12745 VkPrivateDataSlotEXT* pPrivateDataSlot);
12747 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
12749 VkPrivateDataSlotEXT privateDataSlot,
12750 const VkAllocationCallbacks* pAllocator);
12752 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
12754 VkObjectType objectType,
12755 deUint64 objectHandle,
12756 VkPrivateDataSlotEXT privateDataSlot,
12759 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
12761 VkObjectType objectType,
12762 deUint64 objectHandle,
12763 VkPrivateDataSlotEXT privateDataSlot,
12768 #define VK_EXT_pipeline_creation_cache_control 1
12769 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
12770 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
12771 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
12772 VkStructureType sType;
12774 VkBool32 pipelineCreationCacheControl;
12775 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
12779 #define VK_NV_device_diagnostics_config 1
12780 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
12781 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
12783 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
12784 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
12785 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
12786 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
12787 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12788 } VkDeviceDiagnosticsConfigFlagBitsNV;
12789 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
12790 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
12791 VkStructureType sType;
12793 VkBool32 diagnosticsConfig;
12794 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
12796 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
12797 VkStructureType sType;
12799 VkDeviceDiagnosticsConfigFlagsNV flags;
12800 } VkDeviceDiagnosticsConfigCreateInfoNV;
12804 #define VK_QCOM_render_pass_store_ops 1
12805 #define VK_QCOM_render_pass_store_ops_SPEC_VERSION 2
12806 #define VK_QCOM_render_pass_store_ops_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
12809 #define VK_NV_fragment_shading_rate_enums 1
12810 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
12811 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
12813 typedef enum VkFragmentShadingRateTypeNV {
12814 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
12815 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
12816 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12817 } VkFragmentShadingRateTypeNV;
12819 typedef enum VkFragmentShadingRateNV {
12820 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
12821 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
12822 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
12823 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
12824 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
12825 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12826 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
12827 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
12828 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
12829 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
12830 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
12831 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
12832 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
12833 } VkFragmentShadingRateNV;
12834 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
12835 VkStructureType sType;
12837 VkBool32 fragmentShadingRateEnums;
12838 VkBool32 supersampleFragmentShadingRates;
12839 VkBool32 noInvocationFragmentShadingRates;
12840 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
12842 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
12843 VkStructureType sType;
12845 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
12846 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
12848 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
12849 VkStructureType sType;
12851 VkFragmentShadingRateTypeNV shadingRateType;
12852 VkFragmentShadingRateNV shadingRate;
12853 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
12854 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
12856 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12858 #ifndef VK_NO_PROTOTYPES
12859 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
12860 VkCommandBuffer commandBuffer,
12861 VkFragmentShadingRateNV shadingRate,
12862 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
12866 #define VK_EXT_ycbcr_2plane_444_formats 1
12867 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
12868 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
12869 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
12870 VkStructureType sType;
12872 VkBool32 ycbcr2plane444Formats;
12873 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
12877 #define VK_EXT_fragment_density_map2 1
12878 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
12879 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
12880 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
12881 VkStructureType sType;
12883 VkBool32 fragmentDensityMapDeferred;
12884 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
12886 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
12887 VkStructureType sType;
12889 VkBool32 subsampledLoads;
12890 VkBool32 subsampledCoarseReconstructionEarlyAccess;
12891 deUint32 maxSubsampledArrayLayers;
12892 deUint32 maxDescriptorSetSubsampledSamplers;
12893 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
12897 #define VK_QCOM_rotated_copy_commands 1
12898 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
12899 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
12900 typedef struct VkCopyCommandTransformInfoQCOM {
12901 VkStructureType sType;
12903 VkSurfaceTransformFlagBitsKHR transform;
12904 } VkCopyCommandTransformInfoQCOM;
12908 #define VK_EXT_image_robustness 1
12909 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
12910 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
12911 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
12912 VkStructureType sType;
12914 VkBool32 robustImageAccess;
12915 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
12919 #define VK_EXT_4444_formats 1
12920 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
12921 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
12922 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
12923 VkStructureType sType;
12925 VkBool32 formatA4R4G4B4;
12926 VkBool32 formatA4B4G4R4;
12927 } VkPhysicalDevice4444FormatsFeaturesEXT;
12931 #define VK_NV_acquire_winrt_display 1
12932 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
12933 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
12934 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
12935 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
12937 #ifndef VK_NO_PROTOTYPES
12938 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
12939 VkPhysicalDevice physicalDevice,
12940 VkDisplayKHR display);
12942 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
12943 VkPhysicalDevice physicalDevice,
12944 deUint32 deviceRelativeId,
12945 VkDisplayKHR* pDisplay);
12949 #define VK_VALVE_mutable_descriptor_type 1
12950 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
12951 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
12952 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
12953 VkStructureType sType;
12955 VkBool32 mutableDescriptorType;
12956 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
12958 typedef struct VkMutableDescriptorTypeListVALVE {
12959 deUint32 descriptorTypeCount;
12960 const VkDescriptorType* pDescriptorTypes;
12961 } VkMutableDescriptorTypeListVALVE;
12963 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
12964 VkStructureType sType;
12966 deUint32 mutableDescriptorTypeListCount;
12967 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
12968 } VkMutableDescriptorTypeCreateInfoVALVE;
12972 #define VK_EXT_vertex_input_dynamic_state 1
12973 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
12974 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
12975 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
12976 VkStructureType sType;
12978 VkBool32 vertexInputDynamicState;
12979 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
12981 typedef struct VkVertexInputBindingDescription2EXT {
12982 VkStructureType sType;
12986 VkVertexInputRate inputRate;
12988 } VkVertexInputBindingDescription2EXT;
12990 typedef struct VkVertexInputAttributeDescription2EXT {
12991 VkStructureType sType;
12997 } VkVertexInputAttributeDescription2EXT;
12999 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13001 #ifndef VK_NO_PROTOTYPES
13002 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
13003 VkCommandBuffer commandBuffer,
13004 deUint32 vertexBindingDescriptionCount,
13005 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
13006 deUint32 vertexAttributeDescriptionCount,
13007 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13011 #define VK_EXT_extended_dynamic_state2 1
13012 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
13013 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
13014 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
13015 VkStructureType sType;
13017 VkBool32 extendedDynamicState2;
13018 VkBool32 extendedDynamicState2LogicOp;
13019 VkBool32 extendedDynamicState2PatchControlPoints;
13020 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
13022 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
13023 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
13024 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
13025 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
13026 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
13028 #ifndef VK_NO_PROTOTYPES
13029 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
13030 VkCommandBuffer commandBuffer,
13031 deUint32 patchControlPoints);
13033 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
13034 VkCommandBuffer commandBuffer,
13035 VkBool32 rasterizerDiscardEnable);
13037 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
13038 VkCommandBuffer commandBuffer,
13039 VkBool32 depthBiasEnable);
13041 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
13042 VkCommandBuffer commandBuffer,
13043 VkLogicOp logicOp);
13045 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
13046 VkCommandBuffer commandBuffer,
13047 VkBool32 primitiveRestartEnable);
13051 #define VK_EXT_color_write_enable 1
13052 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
13053 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
13054 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
13055 VkStructureType sType;
13057 VkBool32 colorWriteEnable;
13058 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
13060 typedef struct VkPipelineColorWriteCreateInfoEXT {
13061 VkStructureType sType;
13063 deUint32 attachmentCount;
13064 const VkBool32* pColorWriteEnables;
13065 } VkPipelineColorWriteCreateInfoEXT;
13067 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
13069 #ifndef VK_NO_PROTOTYPES
13070 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
13071 VkCommandBuffer commandBuffer,
13072 deUint32 attachmentCount,
13073 const VkBool32* pColorWriteEnables);
13077 #define VK_KHR_acceleration_structure 1
13078 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
13079 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
13080 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
13082 typedef enum VkBuildAccelerationStructureModeKHR {
13083 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
13084 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
13085 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13086 } VkBuildAccelerationStructureModeKHR;
13088 typedef enum VkAccelerationStructureBuildTypeKHR {
13089 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
13090 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
13091 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
13092 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13093 } VkAccelerationStructureBuildTypeKHR;
13095 typedef enum VkAccelerationStructureCompatibilityKHR {
13096 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
13097 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
13098 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
13099 } VkAccelerationStructureCompatibilityKHR;
13101 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
13102 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
13103 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13104 } VkAccelerationStructureCreateFlagBitsKHR;
13105 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
13106 typedef union VkDeviceOrHostAddressKHR {
13107 VkDeviceAddress deviceAddress;
13109 } VkDeviceOrHostAddressKHR;
13111 typedef union VkDeviceOrHostAddressConstKHR {
13112 VkDeviceAddress deviceAddress;
13113 const void* hostAddress;
13114 } VkDeviceOrHostAddressConstKHR;
13116 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
13117 deUint32 primitiveCount;
13118 deUint32 primitiveOffset;
13119 deUint32 firstVertex;
13120 deUint32 transformOffset;
13121 } VkAccelerationStructureBuildRangeInfoKHR;
13123 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
13124 VkStructureType sType;
13126 VkFormat vertexFormat;
13127 VkDeviceOrHostAddressConstKHR vertexData;
13128 VkDeviceSize vertexStride;
13129 deUint32 maxVertex;
13130 VkIndexType indexType;
13131 VkDeviceOrHostAddressConstKHR indexData;
13132 VkDeviceOrHostAddressConstKHR transformData;
13133 } VkAccelerationStructureGeometryTrianglesDataKHR;
13135 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
13136 VkStructureType sType;
13138 VkDeviceOrHostAddressConstKHR data;
13139 VkDeviceSize stride;
13140 } VkAccelerationStructureGeometryAabbsDataKHR;
13142 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
13143 VkStructureType sType;
13145 VkBool32 arrayOfPointers;
13146 VkDeviceOrHostAddressConstKHR data;
13147 } VkAccelerationStructureGeometryInstancesDataKHR;
13149 typedef union VkAccelerationStructureGeometryDataKHR {
13150 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
13151 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
13152 VkAccelerationStructureGeometryInstancesDataKHR instances;
13153 } VkAccelerationStructureGeometryDataKHR;
13155 typedef struct VkAccelerationStructureGeometryKHR {
13156 VkStructureType sType;
13158 VkGeometryTypeKHR geometryType;
13159 VkAccelerationStructureGeometryDataKHR geometry;
13160 VkGeometryFlagsKHR flags;
13161 } VkAccelerationStructureGeometryKHR;
13163 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
13164 VkStructureType sType;
13166 VkAccelerationStructureTypeKHR type;
13167 VkBuildAccelerationStructureFlagsKHR flags;
13168 VkBuildAccelerationStructureModeKHR mode;
13169 VkAccelerationStructureKHR srcAccelerationStructure;
13170 VkAccelerationStructureKHR dstAccelerationStructure;
13171 deUint32 geometryCount;
13172 const VkAccelerationStructureGeometryKHR* pGeometries;
13173 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
13174 VkDeviceOrHostAddressKHR scratchData;
13175 } VkAccelerationStructureBuildGeometryInfoKHR;
13177 typedef struct VkAccelerationStructureCreateInfoKHR {
13178 VkStructureType sType;
13180 VkAccelerationStructureCreateFlagsKHR createFlags;
13182 VkDeviceSize offset;
13184 VkAccelerationStructureTypeKHR type;
13185 VkDeviceAddress deviceAddress;
13186 } VkAccelerationStructureCreateInfoKHR;
13188 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13189 VkStructureType sType;
13191 deUint32 accelerationStructureCount;
13192 const VkAccelerationStructureKHR* pAccelerationStructures;
13193 } VkWriteDescriptorSetAccelerationStructureKHR;
13195 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13196 VkStructureType sType;
13198 VkBool32 accelerationStructure;
13199 VkBool32 accelerationStructureCaptureReplay;
13200 VkBool32 accelerationStructureIndirectBuild;
13201 VkBool32 accelerationStructureHostCommands;
13202 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13203 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13205 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13206 VkStructureType sType;
13208 deUint64 maxGeometryCount;
13209 deUint64 maxInstanceCount;
13210 deUint64 maxPrimitiveCount;
13211 deUint32 maxPerStageDescriptorAccelerationStructures;
13212 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
13213 deUint32 maxDescriptorSetAccelerationStructures;
13214 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
13215 deUint32 minAccelerationStructureScratchOffsetAlignment;
13216 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
13218 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
13219 VkStructureType sType;
13221 VkAccelerationStructureKHR accelerationStructure;
13222 } VkAccelerationStructureDeviceAddressInfoKHR;
13224 typedef struct VkAccelerationStructureVersionInfoKHR {
13225 VkStructureType sType;
13227 const deUint8* pVersionData;
13228 } VkAccelerationStructureVersionInfoKHR;
13230 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
13231 VkStructureType sType;
13233 VkAccelerationStructureKHR src;
13234 VkDeviceOrHostAddressKHR dst;
13235 VkCopyAccelerationStructureModeKHR mode;
13236 } VkCopyAccelerationStructureToMemoryInfoKHR;
13238 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
13239 VkStructureType sType;
13241 VkDeviceOrHostAddressConstKHR src;
13242 VkAccelerationStructureKHR dst;
13243 VkCopyAccelerationStructureModeKHR mode;
13244 } VkCopyMemoryToAccelerationStructureInfoKHR;
13246 typedef struct VkCopyAccelerationStructureInfoKHR {
13247 VkStructureType sType;
13249 VkAccelerationStructureKHR src;
13250 VkAccelerationStructureKHR dst;
13251 VkCopyAccelerationStructureModeKHR mode;
13252 } VkCopyAccelerationStructureInfoKHR;
13254 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
13255 VkStructureType sType;
13257 VkDeviceSize accelerationStructureSize;
13258 VkDeviceSize updateScratchSize;
13259 VkDeviceSize buildScratchSize;
13260 } VkAccelerationStructureBuildSizesInfoKHR;
13262 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
13263 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
13264 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13265 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
13266 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13267 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
13268 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13269 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13270 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
13271 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
13272 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13273 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13274 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13275 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
13276 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
13277 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13279 #ifndef VK_NO_PROTOTYPES
13280 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
13282 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
13283 const VkAllocationCallbacks* pAllocator,
13284 VkAccelerationStructureKHR* pAccelerationStructure);
13286 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
13288 VkAccelerationStructureKHR accelerationStructure,
13289 const VkAllocationCallbacks* pAllocator);
13291 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
13292 VkCommandBuffer commandBuffer,
13293 deUint32 infoCount,
13294 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13295 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13297 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
13298 VkCommandBuffer commandBuffer,
13299 deUint32 infoCount,
13300 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13301 const VkDeviceAddress* pIndirectDeviceAddresses,
13302 const deUint32* pIndirectStrides,
13303 const deUint32* const* ppMaxPrimitiveCounts);
13305 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
13307 VkDeferredOperationKHR deferredOperation,
13308 deUint32 infoCount,
13309 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13310 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13312 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
13314 VkDeferredOperationKHR deferredOperation,
13315 const VkCopyAccelerationStructureInfoKHR* pInfo);
13317 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
13319 VkDeferredOperationKHR deferredOperation,
13320 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13322 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
13324 VkDeferredOperationKHR deferredOperation,
13325 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13327 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
13329 deUint32 accelerationStructureCount,
13330 const VkAccelerationStructureKHR* pAccelerationStructures,
13331 VkQueryType queryType,
13332 deUintptr dataSize,
13336 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
13337 VkCommandBuffer commandBuffer,
13338 const VkCopyAccelerationStructureInfoKHR* pInfo);
13340 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
13341 VkCommandBuffer commandBuffer,
13342 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13344 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
13345 VkCommandBuffer commandBuffer,
13346 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13348 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
13350 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13352 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
13353 VkCommandBuffer commandBuffer,
13354 deUint32 accelerationStructureCount,
13355 const VkAccelerationStructureKHR* pAccelerationStructures,
13356 VkQueryType queryType,
13357 VkQueryPool queryPool,
13358 deUint32 firstQuery);
13360 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
13362 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
13363 VkAccelerationStructureCompatibilityKHR* pCompatibility);
13365 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
13367 VkAccelerationStructureBuildTypeKHR buildType,
13368 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
13369 const deUint32* pMaxPrimitiveCounts,
13370 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13374 #define VK_KHR_ray_tracing_pipeline 1
13375 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
13376 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
13378 typedef enum VkShaderGroupShaderKHR {
13379 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
13380 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
13381 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
13382 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
13383 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
13384 } VkShaderGroupShaderKHR;
13385 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
13386 VkStructureType sType;
13388 VkRayTracingShaderGroupTypeKHR type;
13389 deUint32 generalShader;
13390 deUint32 closestHitShader;
13391 deUint32 anyHitShader;
13392 deUint32 intersectionShader;
13393 const void* pShaderGroupCaptureReplayHandle;
13394 } VkRayTracingShaderGroupCreateInfoKHR;
13396 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
13397 VkStructureType sType;
13399 deUint32 maxPipelineRayPayloadSize;
13400 deUint32 maxPipelineRayHitAttributeSize;
13401 } VkRayTracingPipelineInterfaceCreateInfoKHR;
13403 typedef struct VkRayTracingPipelineCreateInfoKHR {
13404 VkStructureType sType;
13406 VkPipelineCreateFlags flags;
13407 deUint32 stageCount;
13408 const VkPipelineShaderStageCreateInfo* pStages;
13409 deUint32 groupCount;
13410 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
13411 deUint32 maxPipelineRayRecursionDepth;
13412 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
13413 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
13414 const VkPipelineDynamicStateCreateInfo* pDynamicState;
13415 VkPipelineLayout layout;
13416 VkPipeline basePipelineHandle;
13417 deInt32 basePipelineIndex;
13418 } VkRayTracingPipelineCreateInfoKHR;
13420 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
13421 VkStructureType sType;
13423 VkBool32 rayTracingPipeline;
13424 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
13425 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
13426 VkBool32 rayTracingPipelineTraceRaysIndirect;
13427 VkBool32 rayTraversalPrimitiveCulling;
13428 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
13430 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
13431 VkStructureType sType;
13433 deUint32 shaderGroupHandleSize;
13434 deUint32 maxRayRecursionDepth;
13435 deUint32 maxShaderGroupStride;
13436 deUint32 shaderGroupBaseAlignment;
13437 deUint32 shaderGroupHandleCaptureReplaySize;
13438 deUint32 maxRayDispatchInvocationCount;
13439 deUint32 shaderGroupHandleAlignment;
13440 deUint32 maxRayHitAttributeSize;
13441 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
13443 typedef struct VkStridedDeviceAddressRegionKHR {
13444 VkDeviceAddress deviceAddress;
13445 VkDeviceSize stride;
13447 } VkStridedDeviceAddressRegionKHR;
13449 typedef struct VkTraceRaysIndirectCommandKHR {
13453 } VkTraceRaysIndirectCommandKHR;
13455 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);
13456 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13457 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
13458 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
13459 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
13460 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
13462 #ifndef VK_NO_PROTOTYPES
13463 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
13464 VkCommandBuffer commandBuffer,
13465 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13466 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13467 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13468 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13473 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
13475 VkDeferredOperationKHR deferredOperation,
13476 VkPipelineCache pipelineCache,
13477 deUint32 createInfoCount,
13478 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
13479 const VkAllocationCallbacks* pAllocator,
13480 VkPipeline* pPipelines);
13482 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
13484 VkPipeline pipeline,
13485 deUint32 firstGroup,
13486 deUint32 groupCount,
13487 deUintptr dataSize,
13490 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
13491 VkCommandBuffer commandBuffer,
13492 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13493 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13494 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13495 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13496 VkDeviceAddress indirectDeviceAddress);
13498 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
13500 VkPipeline pipeline,
13502 VkShaderGroupShaderKHR groupShader);
13504 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
13505 VkCommandBuffer commandBuffer,
13506 deUint32 pipelineStackSize);
13510 #define VK_KHR_ray_query 1
13511 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
13512 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
13513 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
13514 VkStructureType sType;
13517 } VkPhysicalDeviceRayQueryFeaturesKHR;