1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
5 ** Copyright (c) 2019-2021 The Khronos Group Inc.
7 ** SPDX-License-Identifier: Apache-2.0
10 #ifndef VULKAN_VIDEO_CODEC_COMMON_H_
11 #define VULKAN_VIDEO_CODEC_COMMON_H_ 1
17 #define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
18 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
24 #endif // VULKAN_VIDEO_CODEC_COMMON_H_
26 ** Copyright (c) 2019-2021 The Khronos Group Inc.
28 ** SPDX-License-Identifier: Apache-2.0
31 #ifndef VULKAN_VIDEO_CODEC_H264STD_H_
32 #define VULKAN_VIDEO_CODEC_H264STD_H_ 1
40 // Vulkan 0.9 provisional Vulkan video H.264 encode and decode std specification version number
41 #define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9 VK_MAKE_VIDEO_STD_VERSION(0, 9, 0) // Patch version should always be set to 0
43 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
44 #define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9
45 #define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
47 // *************************************************
48 // Video H.264 common definitions:
49 // *************************************************
51 typedef enum StdVideoH264ChromaFormatIdc {
52 std_video_h264_chroma_format_idc_monochrome = 0,
53 std_video_h264_chroma_format_idc_420 = 1,
54 std_video_h264_chroma_format_idc_422 = 2,
55 std_video_h264_chroma_format_idc_444 = 3,
56 } StdVideoH264ChromaFormatIdc;
58 typedef enum StdVideoH264ProfileIdc {
59 std_video_h264_profile_idc_baseline = 66, /* Only constrained baseline is supported */
60 std_video_h264_profile_idc_main = 77,
61 std_video_h264_profile_idc_high = 100,
62 std_video_h264_profile_idc_high_444_predictive = 244,
63 std_video_h264_profile_idc_invalid = 0x7FFFFFFF
64 } StdVideoH264ProfileIdc;
66 typedef enum StdVideoH264Level {
67 std_video_h264_level_1_0 = 0,
68 std_video_h264_level_1_1 = 1,
69 std_video_h264_level_1_2 = 2,
70 std_video_h264_level_1_3 = 3,
71 std_video_h264_level_2_0 = 4,
72 std_video_h264_level_2_1 = 5,
73 std_video_h264_level_2_2 = 6,
74 std_video_h264_level_3_0 = 7,
75 std_video_h264_level_3_1 = 8,
76 std_video_h264_level_3_2 = 9,
77 std_video_h264_level_4_0 = 10,
78 std_video_h264_level_4_1 = 11,
79 std_video_h264_level_4_2 = 12,
80 std_video_h264_level_5_0 = 13,
81 std_video_h264_level_5_1 = 14,
82 std_video_h264_level_5_2 = 15,
83 std_video_h264_level_6_0 = 16,
84 std_video_h264_level_6_1 = 17,
85 std_video_h264_level_6_2 = 18,
86 std_video_h264_level_invalid = 0x7FFFFFFF
89 typedef enum StdVideoH264PocType {
90 std_video_h264_poc_type_0 = 0,
91 std_video_h264_poc_type_1 = 1,
92 std_video_h264_poc_type_2 = 2,
93 std_video_h264_poc_type_invalid = 0x7FFFFFFF
94 } StdVideoH264PocType;
96 typedef enum StdVideoH264AspectRatioIdc {
97 std_video_h264_aspect_ratio_idc_unspecified = 0,
98 std_video_h264_aspect_ratio_idc_square = 1,
99 std_video_h264_aspect_ratio_idc_12_11 = 2,
100 std_video_h264_aspect_ratio_idc_10_11 = 3,
101 std_video_h264_aspect_ratio_idc_16_11 = 4,
102 std_video_h264_aspect_ratio_idc_40_33 = 5,
103 std_video_h264_aspect_ratio_idc_24_11 = 6,
104 std_video_h264_aspect_ratio_idc_20_11 = 7,
105 std_video_h264_aspect_ratio_idc_32_11 = 8,
106 std_video_h264_aspect_ratio_idc_80_33 = 9,
107 std_video_h264_aspect_ratio_idc_18_11 = 10,
108 std_video_h264_aspect_ratio_idc_15_11 = 11,
109 std_video_h264_aspect_ratio_idc_64_33 = 12,
110 std_video_h264_aspect_ratio_idc_160_99 = 13,
111 std_video_h264_aspect_ratio_idc_4_3 = 14,
112 std_video_h264_aspect_ratio_idc_3_2 = 15,
113 std_video_h264_aspect_ratio_idc_2_1 = 16,
114 std_video_h264_aspect_ratio_idc_extended_sar = 255,
115 std_video_h264_aspect_ratio_idc_invalid = 0x7FFFFFFF
116 } StdVideoH264AspectRatioIdc;
118 typedef enum StdVideoH264WeightedBiPredIdc {
119 std_video_h264_default_weighted_b_slices_prediction_idc = 0,
120 std_video_h264_explicit_weighted_b_slices_prediction_idc = 1,
121 std_video_h264_implicit_weighted_b_slices_prediction_idc = 2,
122 std_video_h264_invalid_weighted_b_slices_prediction_idc = 0x7FFFFFFF
123 } StdVideoH264WeightedBiPredIdc;
125 typedef enum StdVideoH264ModificationOfPicNumsIdc {
126 std_video_h264_modification_of_pic_nums_idc_short_term_subtract = 0,
127 std_video_h264_modification_of_pic_nums_idc_short_term_add = 1,
128 std_video_h264_modification_of_pic_nums_idc_long_term = 2,
129 std_video_h264_modification_of_pic_nums_idc_end = 3,
130 std_video_h264_modification_of_pic_nums_idc_invalid = 0x7FFFFFFF
131 } StdVideoH264ModificationOfPicNumsIdc;
133 typedef enum StdVideoH264MemMgmtControlOp {
134 std_video_h264_mem_mgmt_control_op_end = 0,
135 std_video_h264_mem_mgmt_control_op_unmark_short_term = 1,
136 std_video_h264_mem_mgmt_control_op_unmark_long_term = 2,
137 std_video_h264_mem_mgmt_control_op_mark_long_term = 3,
138 std_video_h264_mem_mgmt_control_op_set_max_long_term_index = 4,
139 std_video_h264_mem_mgmt_control_op_unmark_all = 5,
140 std_video_h264_mem_mgmt_control_op_mark_current_as_long_term = 6,
141 std_video_h264_mem_mgmt_control_op_invalid = 0x7FFFFFFF
142 } StdVideoH264MemMgmtControlOp;
144 typedef enum StdVideoH264CabacInitIdc {
145 std_video_h264_cabac_init_idc_0 = 0,
146 std_video_h264_cabac_init_idc_1 = 1,
147 std_video_h264_cabac_init_idc_2 = 2,
148 std_video_h264_cabac_init_idc_invalid = 0x7FFFFFFF
149 } StdVideoH264CabacInitIdc;
151 typedef enum StdVideoH264DisableDeblockingFilterIdc {
152 std_video_h264_disable_deblocking_filter_idc_disabled = 0,
153 std_video_h264_disable_deblocking_filter_idc_enabled = 1,
154 std_video_h264_disable_deblocking_filter_idc_partial = 2,
155 std_video_h264_disable_deblocking_filter_idc_invalid = 0x7FFFFFFF
156 } StdVideoH264DisableDeblockingFilterIdc;
158 typedef enum StdVideoH264PictureType {
159 std_video_h264_picture_type_i = 0,
160 std_video_h264_picture_type_p = 1,
161 std_video_h264_picture_type_b = 2,
162 std_video_h264_picture_type_invalid = 0x7FFFFFFF
163 } StdVideoH264PictureType;
165 typedef enum StdVideoH264SliceType {
166 std_video_h264_slice_type_i = 0,
167 std_video_h264_slice_type_p = 1,
168 std_video_h264_slice_type_b = 2,
169 std_video_h264_slice_type_invalid = 0x7FFFFFFF
170 } StdVideoH264SliceType;
172 typedef enum StdVideoH264NonVclNaluType {
173 std_video_h264_non_vcl_nalu_type_sps = 0,
174 std_video_h264_non_vcl_nalu_type_pps = 1,
175 std_video_h264_non_vcl_nalu_type_aud = 2,
176 std_video_h264_non_vcl_nalu_type_prefix = 3,
177 std_video_h264_non_vcl_nalu_type_end_of_sequence = 4,
178 std_video_h264_non_vcl_nalu_type_end_of_stream = 5,
179 std_video_h264_non_vcl_nalu_type_precoded = 6,
180 std_video_h264_non_vcl_nalu_type_invalid = 0x7FFFFFFF
181 } StdVideoH264NonVclNaluType;
183 typedef struct StdVideoH264SpsVuiFlags {
184 deUint32 aspect_ratio_info_present_flag:1;
185 deUint32 overscan_info_present_flag:1;
186 deUint32 overscan_appropriate_flag:1;
187 deUint32 video_signal_type_present_flag:1;
188 deUint32 video_full_range_flag:1;
189 deUint32 color_description_present_flag:1;
190 deUint32 chroma_loc_info_present_flag:1;
191 deUint32 timing_info_present_flag:1;
192 deUint32 fixed_frame_rate_flag:1;
193 deUint32 bitstream_restriction_flag:1;
194 deUint32 nal_hrd_parameters_present_flag:1;
195 deUint32 vcl_hrd_parameters_present_flag:1;
196 } StdVideoH264SpsVuiFlags;
198 typedef struct StdVideoH264HrdParameters {
199 deUint8 cpb_cnt_minus1;
200 deUint8 bit_rate_scale;
201 deUint8 cpb_size_scale;
202 deUint32 bit_rate_value_minus1[32];
203 deUint32 cpb_size_value_minus1[32];
204 deUint8 cbr_flag[32];
205 deUint32 initial_cpb_removal_delay_length_minus1;
206 deUint32 cpb_removal_delay_length_minus1;
207 deUint32 dpb_output_delay_length_minus1;
208 deUint32 time_offset_length;
209 } StdVideoH264HrdParameters;
211 typedef struct StdVideoH264SequenceParameterSetVui {
212 StdVideoH264AspectRatioIdc aspect_ratio_idc;
215 deUint8 video_format;
216 deUint8 color_primaries;
217 deUint8 transfer_characteristics;
218 deUint8 matrix_coefficients;
219 deUint32 num_units_in_tick;
221 StdVideoH264HrdParameters hrd_parameters;
222 deUint8 num_reorder_frames;
223 deUint8 max_dec_frame_buffering;
224 StdVideoH264SpsVuiFlags flags;
225 } StdVideoH264SequenceParameterSetVui;
227 typedef struct StdVideoH264SpsFlags {
228 deUint32 constraint_set0_flag:1;
229 deUint32 constraint_set1_flag:1;
230 deUint32 constraint_set2_flag:1;
231 deUint32 constraint_set3_flag:1;
232 deUint32 constraint_set4_flag:1;
233 deUint32 constraint_set5_flag:1;
234 deUint32 direct_8x8_inference_flag:1;
235 deUint32 mb_adaptive_frame_field_flag:1;
236 deUint32 frame_mbs_only_flag:1;
237 deUint32 delta_pic_order_always_zero_flag:1;
238 deUint32 residual_colour_transform_flag:1;
239 deUint32 gaps_in_frame_num_value_allowed_flag:1;
240 deUint32 first_picture_after_seek_flag:1; // where is this being documented?
241 deUint32 qpprime_y_zero_transform_bypass_flag:1;
242 deUint32 frame_cropping_flag:1;
243 deUint32 scaling_matrix_present_flag:1;
244 deUint32 vui_parameters_present_flag:1;
245 } StdVideoH264SpsFlags;
247 typedef struct StdVideoH264ScalingLists
249 // scaling_list_present_mask has one bit for each
250 // seq_scaling_list_present_flag[i] for SPS OR
251 // pic_scaling_list_present_flag[i] for PPS,
252 // bit 0 - 5 are for each entry of ScalingList4x4
253 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
254 deUint8 scaling_list_present_mask;
255 // use_default_scaling_matrix_mask has one bit for each
256 // UseDefaultScalingMatrix4x4Flag[ i ] and
257 // UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS
258 // bit 0 - 5 are for each entry of ScalingList4x4
259 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
260 deUint8 use_default_scaling_matrix_mask;
261 deUint8 ScalingList4x4[6][16];
262 deUint8 ScalingList8x8[2][64];
263 } StdVideoH264ScalingLists;
265 typedef struct StdVideoH264SequenceParameterSet
267 StdVideoH264ProfileIdc profile_idc;
268 StdVideoH264Level level_idc;
269 deUint8 seq_parameter_set_id;
270 StdVideoH264ChromaFormatIdc chroma_format_idc;
271 deUint8 bit_depth_luma_minus8;
272 deUint8 bit_depth_chroma_minus8;
273 deUint8 log2_max_frame_num_minus4;
274 StdVideoH264PocType pic_order_cnt_type;
275 deUint8 log2_max_pic_order_cnt_lsb_minus4;
276 deInt32 offset_for_non_ref_pic;
277 deInt32 offset_for_top_to_bottom_field;
278 deUint8 num_ref_frames_in_pic_order_cnt_cycle;
279 deUint8 max_num_ref_frames;
280 deUint32 pic_width_in_mbs_minus1;
281 deUint32 pic_height_in_map_units_minus1;
282 deUint32 frame_crop_left_offset;
283 deUint32 frame_crop_right_offset;
284 deUint32 frame_crop_top_offset;
285 deUint32 frame_crop_bottom_offset;
286 StdVideoH264SpsFlags flags;
287 deInt32 offset_for_ref_frame[255]; // The number of valid values are defined by the num_ref_frames_in_pic_order_cnt_cycle
288 StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if scaling_matrix_present_flag is set
289 StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set
290 } StdVideoH264SequenceParameterSet;
292 typedef struct StdVideoH264PpsFlags {
293 deUint32 transform_8x8_mode_flag:1;
294 deUint32 redundant_pic_cnt_present_flag:1;
295 deUint32 constrained_intra_pred_flag:1;
296 deUint32 deblocking_filter_control_present_flag:1;
297 deUint32 weighted_bipred_idc_flag:1;
298 deUint32 weighted_pred_flag:1;
299 deUint32 pic_order_present_flag:1;
300 deUint32 entropy_coding_mode_flag:1;
301 deUint32 scaling_matrix_present_flag:1;
302 } StdVideoH264PpsFlags;
304 typedef struct StdVideoH264PictureParameterSet
306 deUint8 seq_parameter_set_id;
307 deUint8 pic_parameter_set_id;
308 deUint8 num_ref_idx_l0_default_active_minus1;
309 deUint8 num_ref_idx_l1_default_active_minus1;
310 StdVideoH264WeightedBiPredIdc weighted_bipred_idc;
311 deInt8 pic_init_qp_minus26;
312 deInt8 pic_init_qs_minus26;
313 deInt8 chroma_qp_index_offset;
314 deInt8 second_chroma_qp_index_offset;
315 StdVideoH264PpsFlags flags;
316 StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if StdVideoH264PpsFlags::scaling_matrix_present_flag is set.
317 } StdVideoH264PictureParameterSet;
323 #endif // VULKAN_VIDEO_CODEC_H264STD_H_
325 ** Copyright (c) 2019-2021 The Khronos Group Inc.
327 ** SPDX-License-Identifier: Apache-2.0
330 #ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
331 #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1
339 // *************************************************
340 // Video H.264 Encode related parameters:
341 // *************************************************
343 typedef struct StdVideoEncodeH264SliceHeaderFlags {
345 deUint32 is_reference_flag:1;
346 deUint32 num_ref_idx_active_override_flag:1;
347 deUint32 no_output_of_prior_pics_flag:1;
348 deUint32 long_term_reference_flag:1;
349 deUint32 adaptive_ref_pic_marking_mode_flag:1;
350 deUint32 no_prior_references_available_flag:1;
351 } StdVideoEncodeH264SliceHeaderFlags;
353 typedef struct StdVideoEncodeH264PictureInfoFlags {
355 deUint32 is_reference_flag:1;
356 deUint32 long_term_reference_flag:1;
357 } StdVideoEncodeH264PictureInfoFlags;
359 typedef struct StdVideoEncodeH264RefMgmtFlags {
360 deUint32 ref_pic_list_modification_l0_flag:1;
361 deUint32 ref_pic_list_modification_l1_flag:1;
362 } StdVideoEncodeH264RefMgmtFlags;
364 typedef struct StdVideoEncodeH264RefListModEntry {
365 StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
366 deUint16 abs_diff_pic_num_minus1;
367 deUint16 long_term_pic_num;
368 } StdVideoEncodeH264RefListModEntry;
370 typedef struct StdVideoEncodeH264RefPicMarkingEntry {
371 StdVideoH264MemMgmtControlOp operation;
372 deUint16 difference_of_pic_nums_minus1;
373 deUint16 long_term_pic_num;
374 deUint16 long_term_frame_idx;
375 deUint16 max_long_term_frame_idx_plus1;
376 } StdVideoEncodeH264RefPicMarkingEntry;
378 typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations {
379 StdVideoEncodeH264RefMgmtFlags flags;
380 deUint8 refList0ModOpCount;
381 StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
382 deUint8 refList1ModOpCount;
383 StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
384 deUint8 refPicMarkingOpCount;
385 StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
386 } StdVideoEncodeH264RefMemMgmtCtrlOperations;
388 typedef struct StdVideoEncodeH264PictureInfo {
389 StdVideoEncodeH264PictureInfoFlags flags;
390 StdVideoH264PictureType pictureType;
392 deUint32 pictureOrderCount;
393 deUint16 long_term_pic_num;
394 deUint16 long_term_frame_idx;
395 } StdVideoEncodeH264PictureInfo;
397 typedef struct StdVideoEncodeH264SliceHeader {
398 StdVideoEncodeH264SliceHeaderFlags flags;
399 StdVideoH264SliceType slice_type;
400 deUint8 seq_parameter_set_id;
401 deUint8 pic_parameter_set_id;
403 deUint8 num_ref_idx_l0_active_minus1;
404 deUint8 num_ref_idx_l1_active_minus1;
405 StdVideoH264CabacInitIdc cabac_init_idc;
406 StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
407 deInt8 slice_alpha_c0_offset_div2;
408 deInt8 slice_beta_offset_div2;
409 StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations;
410 } StdVideoEncodeH264SliceHeader;
417 #endif // VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
419 ** Copyright (c) 2019-2021 The Khronos Group Inc.
421 ** SPDX-License-Identifier: Apache-2.0
424 #ifndef VULKAN_VIDEO_CODEC_H265STD_H_
425 #define VULKAN_VIDEO_CODEC_H265STD_H_ 1
433 // Vulkan 0.5 version number WIP
434 #define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5 VK_MAKE_VIDEO_STD_VERSION(0, 5, 0) // Patch version should always be set to 0
436 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
437 #define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5
438 #define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265"
440 typedef enum StdVideoH265ChromaFormatIdc {
441 std_video_h265_chroma_format_idc_monochrome = 0,
442 std_video_h265_chroma_format_idc_420 = 1,
443 std_video_h265_chroma_format_idc_422 = 2,
444 std_video_h265_chroma_format_idc_444 = 3,
445 } StdVideoH265ChromaFormatIdc;
447 typedef enum StdVideoH265ProfileIdc {
448 std_video_h265_profile_idc_main = 1,
449 std_video_h265_profile_idc_main_10 = 2,
450 std_video_h265_profile_idc_main_still_picture = 3,
451 std_video_h265_profile_idc_format_range_extensions = 4,
452 std_video_h265_profile_idc_scc_extensions = 9,
453 std_video_h265_profile_idc_invalid = 0x7FFFFFFF
454 } StdVideoH265ProfileIdc;
456 typedef enum StdVideoH265Level {
457 std_video_h265_level_1_0 = 0,
458 std_video_h265_level_2_0 = 1,
459 std_video_h265_level_2_1 = 2,
460 std_video_h265_level_3_0 = 3,
461 std_video_h265_level_3_1 = 4,
462 std_video_h265_level_4_0 = 5,
463 std_video_h265_level_4_1 = 6,
464 std_video_h265_level_5_0 = 7,
465 std_video_h265_level_5_1 = 8,
466 std_video_h265_level_5_2 = 9,
467 std_video_h265_level_6_0 = 10,
468 std_video_h265_level_6_1 = 11,
469 std_video_h265_level_6_2 = 12,
470 std_video_h265_level_invalid = 0x7FFFFFFF
474 typedef struct StdVideoH265DecPicBufMgr
476 deUint32 max_latency_increase_plus1[7];
477 deUint8 max_dec_pic_buffering_minus1[7];
478 deUint8 max_num_reorder_pics[7];
479 } StdVideoH265DecPicBufMgr;
481 typedef struct StdVideoH265SubLayerHrdParameters {
482 deUint32 bit_rate_value_minus1[32];
483 deUint32 cpb_size_value_minus1[32];
484 deUint32 cpb_size_du_value_minus1[32];
485 deUint32 bit_rate_du_value_minus1[32];
486 deUint32 cbr_flag; // each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer
487 } StdVideoH265SubLayerHrdParameters;
489 typedef struct StdVideoH265HrdFlags {
490 deUint32 nal_hrd_parameters_present_flag : 1;
491 deUint32 vcl_hrd_parameters_present_flag : 1;
492 deUint32 sub_pic_hrd_params_present_flag : 1;
493 deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
494 deUint8 fixed_pic_rate_general_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
495 deUint8 fixed_pic_rate_within_cvs_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
496 deUint8 low_delay_hrd_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
497 } StdVideoH265HrdFlags;
499 typedef struct StdVideoH265HrdParameters {
500 deUint8 tick_divisor_minus2;
501 deUint8 du_cpb_removal_delay_increment_length_minus1;
502 deUint8 dpb_output_delay_du_length_minus1;
503 deUint8 bit_rate_scale;
504 deUint8 cpb_size_scale;
505 deUint8 cpb_size_du_scale;
506 deUint8 initial_cpb_removal_delay_length_minus1;
507 deUint8 au_cpb_removal_delay_length_minus1;
508 deUint8 dpb_output_delay_length_minus1;
509 deUint8 cpb_cnt_minus1[7];
510 deUint16 elemental_duration_in_tc_minus1[7];
511 StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersNal[7];
512 StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersVcl[7];
513 StdVideoH265HrdFlags flags;
514 } StdVideoH265HrdParameters;
516 typedef struct StdVideoH265VpsFlags {
517 deUint32 vps_temporal_id_nesting_flag : 1;
518 deUint32 vps_sub_layer_ordering_info_present_flag : 1;
519 deUint32 vps_timing_info_present_flag : 1;
520 deUint32 vps_poc_proportional_to_timing_flag : 1;
521 } StdVideoH265VpsFlags;
523 typedef struct StdVideoH265VideoParameterSet
525 deUint8 vps_video_parameter_set_id;
526 deUint8 vps_max_sub_layers_minus1;
527 deUint32 vps_num_units_in_tick;
528 deUint32 vps_time_scale;
529 deUint32 vps_num_ticks_poc_diff_one_minus1;
530 StdVideoH265DecPicBufMgr* pDecPicBufMgr;
531 StdVideoH265HrdParameters* hrd_parameters;
532 StdVideoH265VpsFlags flags;
533 } StdVideoH265VideoParameterSet;
535 typedef struct StdVideoH265ScalingLists
537 deUint8 ScalingList4x4[6][16]; // ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0)
538 deUint8 ScalingList8x8[6][64]; // ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1)
539 deUint8 ScalingList16x16[6][64]; // ScalingList[ 2 ][ MatrixID ][ i ] (sizeID = 2)
540 deUint8 ScalingList32x32[2][64]; // ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3)
541 deUint8 ScalingListDCCoef16x16[6]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2
542 deUint8 ScalingListDCCoef32x32[2]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3
543 } StdVideoH265ScalingLists;
545 typedef struct StdVideoH265SpsVuiFlags {
546 deUint32 aspect_ratio_info_present_flag : 1;
547 deUint32 overscan_info_present_flag : 1;
548 deUint32 overscan_appropriate_flag : 1;
549 deUint32 video_signal_type_present_flag : 1;
550 deUint32 video_full_range_flag : 1;
551 deUint32 colour_description_present_flag : 1;
552 deUint32 chroma_loc_info_present_flag : 1;
553 deUint32 neutral_chroma_indication_flag : 1;
554 deUint32 field_seq_flag : 1;
555 deUint32 frame_field_info_present_flag : 1;
556 deUint32 default_display_window_flag : 1;
557 deUint32 vui_timing_info_present_flag : 1;
558 deUint32 vui_poc_proportional_to_timing_flag : 1;
559 deUint32 vui_hrd_parameters_present_flag : 1;
560 deUint32 bitstream_restriction_flag : 1;
561 deUint32 tiles_fixed_structure_flag : 1;
562 deUint32 motion_vectors_over_pic_boundaries_flag : 1;
563 deUint32 restricted_ref_pic_lists_flag : 1;
564 } StdVideoH265SpsVuiFlags;
566 typedef struct StdVideoH265SequenceParameterSetVui {
567 deUint8 aspect_ratio_idc;
570 deUint8 video_format;
571 deUint8 colour_primaries;
572 deUint8 transfer_characteristics;
573 deUint8 matrix_coeffs;
574 deUint8 chroma_sample_loc_type_top_field;
575 deUint8 chroma_sample_loc_type_bottom_field;
576 deUint16 def_disp_win_left_offset;
577 deUint16 def_disp_win_right_offset;
578 deUint16 def_disp_win_top_offset;
579 deUint16 def_disp_win_bottom_offset;
580 deUint32 vui_num_units_in_tick;
581 deUint32 vui_time_scale;
582 deUint32 vui_num_ticks_poc_diff_one_minus1;
583 StdVideoH265HrdParameters* hrd_parameters;
584 deUint16 min_spatial_segmentation_idc;
585 deUint8 max_bytes_per_pic_denom;
586 deUint8 max_bits_per_min_cu_denom;
587 deUint8 log2_max_mv_length_horizontal;
588 deUint8 log2_max_mv_length_vertical;
589 StdVideoH265SpsVuiFlags flags;
590 } StdVideoH265SequenceParameterSetVui;
592 typedef struct StdVideoH265PredictorPaletteEntries
594 deUint16 PredictorPaletteEntries[3][128];
595 } StdVideoH265PredictorPaletteEntries;
598 typedef struct StdVideoH265SpsFlags {
599 deUint32 sps_temporal_id_nesting_flag : 1;
600 deUint32 separate_colour_plane_flag : 1;
601 deUint32 scaling_list_enabled_flag : 1;
602 deUint32 sps_scaling_list_data_present_flag : 1;
603 deUint32 amp_enabled_flag : 1;
604 deUint32 sample_adaptive_offset_enabled_flag : 1;
605 deUint32 pcm_enabled_flag : 1;
606 deUint32 pcm_loop_filter_disabled_flag : 1;
607 deUint32 long_term_ref_pics_present_flag : 1;
608 deUint32 sps_temporal_mvp_enabled_flag : 1;
609 deUint32 strong_intra_smoothing_enabled_flag : 1;
610 deUint32 vui_parameters_present_flag : 1;
611 deUint32 sps_extension_present_flag : 1;
612 deUint32 sps_range_extension_flag : 1;
614 // extension SPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set
615 deUint32 transform_skip_rotation_enabled_flag : 1;
616 deUint32 transform_skip_context_enabled_flag : 1;
617 deUint32 implicit_rdpcm_enabled_flag : 1;
618 deUint32 explicit_rdpcm_enabled_flag : 1;
619 deUint32 extended_precision_processing_flag : 1;
620 deUint32 intra_smoothing_disabled_flag : 1;
621 deUint32 high_precision_offsets_enabled_flag : 1;
622 deUint32 persistent_rice_adaptation_enabled_flag : 1;
623 deUint32 cabac_bypass_alignment_enabled_flag : 1;
625 // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
626 deUint32 sps_curr_pic_ref_enabled_flag : 1;
627 deUint32 palette_mode_enabled_flag : 1;
628 deUint32 sps_palette_predictor_initializer_present_flag : 1;
629 deUint32 intra_boundary_filtering_disabled_flag : 1;
630 } StdVideoH265SpsFlags;
632 typedef struct StdVideoH265SequenceParameterSet
634 StdVideoH265ProfileIdc profile_idc;
635 StdVideoH265Level level_idc;
636 deUint32 pic_width_in_luma_samples;
637 deUint32 pic_height_in_luma_samples;
638 deUint8 sps_video_parameter_set_id;
639 deUint8 sps_max_sub_layers_minus1;
640 deUint8 sps_seq_parameter_set_id;
641 deUint8 chroma_format_idc;
642 deUint8 bit_depth_luma_minus8;
643 deUint8 bit_depth_chroma_minus8;
644 deUint8 log2_max_pic_order_cnt_lsb_minus4;
645 deUint8 sps_max_dec_pic_buffering_minus1;
646 deUint8 log2_min_luma_coding_block_size_minus3;
647 deUint8 log2_diff_max_min_luma_coding_block_size;
648 deUint8 log2_min_luma_transform_block_size_minus2;
649 deUint8 log2_diff_max_min_luma_transform_block_size;
650 deUint8 max_transform_hierarchy_depth_inter;
651 deUint8 max_transform_hierarchy_depth_intra;
652 deUint8 num_short_term_ref_pic_sets;
653 deUint8 num_long_term_ref_pics_sps;
654 deUint8 pcm_sample_bit_depth_luma_minus1;
655 deUint8 pcm_sample_bit_depth_chroma_minus1;
656 deUint8 log2_min_pcm_luma_coding_block_size_minus3;
657 deUint8 log2_diff_max_min_pcm_luma_coding_block_size;
658 deUint32 conf_win_left_offset;
659 deUint32 conf_win_right_offset;
660 deUint32 conf_win_top_offset;
661 deUint32 conf_win_bottom_offset;
662 StdVideoH265DecPicBufMgr* pDecPicBufMgr;
663 StdVideoH265SpsFlags flags;
664 StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if sps_scaling_list_data_present_flag is set
665 StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size;
667 // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
668 deUint8 palette_max_size;
669 deUint8 delta_palette_max_predictor_size;
670 deUint8 motion_vector_resolution_control_idc;
671 deUint8 sps_num_palette_predictor_initializer_minus1;
672 StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if sps_palette_predictor_initializer_present_flag is set
673 } StdVideoH265SequenceParameterSet;
676 typedef struct StdVideoH265PpsFlags {
677 deUint32 dependent_slice_segments_enabled_flag : 1;
678 deUint32 output_flag_present_flag : 1;
679 deUint32 sign_data_hiding_enabled_flag : 1;
680 deUint32 cabac_init_present_flag : 1;
681 deUint32 constrained_intra_pred_flag : 1;
682 deUint32 transform_skip_enabled_flag : 1;
683 deUint32 cu_qp_delta_enabled_flag : 1;
684 deUint32 pps_slice_chroma_qp_offsets_present_flag : 1;
685 deUint32 weighted_pred_flag : 1;
686 deUint32 weighted_bipred_flag : 1;
687 deUint32 transquant_bypass_enabled_flag : 1;
688 deUint32 tiles_enabled_flag : 1;
689 deUint32 entropy_coding_sync_enabled_flag : 1;
690 deUint32 uniform_spacing_flag : 1;
691 deUint32 loop_filter_across_tiles_enabled_flag : 1;
692 deUint32 pps_loop_filter_across_slices_enabled_flag : 1;
693 deUint32 deblocking_filter_control_present_flag : 1;
694 deUint32 deblocking_filter_override_enabled_flag : 1;
695 deUint32 pps_deblocking_filter_disabled_flag : 1;
696 deUint32 pps_scaling_list_data_present_flag : 1;
697 deUint32 lists_modification_present_flag : 1;
698 deUint32 slice_segment_header_extension_present_flag : 1;
699 deUint32 pps_extension_present_flag : 1;
701 // extension PPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set
702 deUint32 cross_component_prediction_enabled_flag : 1;
703 deUint32 chroma_qp_offset_list_enabled_flag : 1;
705 // extension PPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
706 deUint32 pps_curr_pic_ref_enabled_flag : 1;
707 deUint32 residual_adaptive_colour_transform_enabled_flag : 1;
708 deUint32 pps_slice_act_qp_offsets_present_flag : 1;
709 deUint32 pps_palette_predictor_initializer_present_flag : 1;
710 deUint32 monochrome_palette_flag : 1;
711 deUint32 pps_range_extension_flag : 1;
712 } StdVideoH265PpsFlags;
714 typedef struct StdVideoH265PictureParameterSet
716 deUint8 pps_pic_parameter_set_id;
717 deUint8 pps_seq_parameter_set_id;
718 deUint8 num_extra_slice_header_bits;
719 deUint8 num_ref_idx_l0_default_active_minus1;
720 deUint8 num_ref_idx_l1_default_active_minus1;
721 deInt8 init_qp_minus26;
722 deUint8 diff_cu_qp_delta_depth;
723 deInt8 pps_cb_qp_offset;
724 deInt8 pps_cr_qp_offset;
725 deUint8 num_tile_columns_minus1;
726 deUint8 num_tile_rows_minus1;
727 deUint16 column_width_minus1[19];
728 deUint16 row_height_minus1[21];
729 deInt8 pps_beta_offset_div2;
730 deInt8 pps_tc_offset_div2;
731 deUint8 log2_parallel_merge_level_minus2;
732 StdVideoH265PpsFlags flags;
733 StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if pps_scaling_list_data_present_flag is set
735 // extension PPS, valid when std_video_h265_profile_idc_format_range_extensions is set
736 deUint8 log2_max_transform_skip_block_size_minus2;
737 deUint8 diff_cu_chroma_qp_offset_depth;
738 deUint8 chroma_qp_offset_list_len_minus1;
739 deInt8 cb_qp_offset_list[6];
740 deInt8 cr_qp_offset_list[6];
741 deUint8 log2_sao_offset_scale_luma;
742 deUint8 log2_sao_offset_scale_chroma;
744 // extension PPS, valid when std_video_h265_profile_idc_scc_extensions is set
745 deInt8 pps_act_y_qp_offset_plus5;
746 deInt8 pps_act_cb_qp_offset_plus5;
747 deInt8 pps_act_cr_qp_offset_plus5;
748 deUint8 pps_num_palette_predictor_initializer;
749 deUint8 luma_bit_depth_entry_minus8;
750 deUint8 chroma_bit_depth_entry_minus8;
751 StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if pps_palette_predictor_initializer_present_flag is set
752 } StdVideoH265PictureParameterSet;
758 #endif // VULKAN_VIDEO_CODEC_H265STD_H_
760 ** Copyright (c) 2019-2020 The Khronos Group Inc.
762 ** SPDX-License-Identifier: Apache-2.0
765 #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
766 #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
774 // *************************************************
775 // Video H.264 Decode related parameters:
776 // *************************************************
778 typedef struct StdVideoDecodeH264PictureInfoFlags {
779 deUint32 field_pic_flag:1; // Is field picture
780 deUint32 is_intra:1; // Is intra picture
781 deUint32 bottom_field_flag:1; // bottom (true) or top (false) field if field_pic_flag is set.
782 deUint32 is_reference:1; // This only applies to picture info, and not to the DPB lists.
783 deUint32 complementary_field_pair:1; // complementary field pair, complementary non-reference field pair, complementary reference field pair
784 } StdVideoDecodeH264PictureInfoFlags;
786 typedef struct StdVideoDecodeH264PictureInfo {
787 deUint8 seq_parameter_set_id; // Selecting SPS from the Picture Parameters
788 deUint8 pic_parameter_set_id; // Selecting PPS from the Picture Parameters and the SPS
789 deUint16 reserved; // for structure members 32-bit packing/alignment
790 deUint16 frame_num; // 7.4.3 Slice header semantics
791 deUint16 idr_pic_id; // 7.4.3 Slice header semantics
792 // PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2
793 deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
794 StdVideoDecodeH264PictureInfoFlags flags;
795 } StdVideoDecodeH264PictureInfo;
797 typedef struct StdVideoDecodeH264ReferenceInfoFlags {
798 deUint32 top_field_flag:1; // Reference is used for top field reference.
799 deUint32 bottom_field_flag:1; // Reference is used for bottom field reference.
800 deUint32 is_long_term:1; // this is a long term reference
801 deUint32 is_non_existing:1; // Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num
802 } StdVideoDecodeH264ReferenceInfoFlags;
804 typedef struct StdVideoDecodeH264ReferenceInfo {
805 // FrameNum = is_long_term ? long_term_frame_idx : frame_num
806 deUint16 FrameNum; // 7.4.3.3 Decoded reference picture marking semantics
807 deUint16 reserved; // for structure members 32-bit packing/alignment
808 deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
809 StdVideoDecodeH264ReferenceInfoFlags flags;
810 } StdVideoDecodeH264ReferenceInfo;
812 typedef struct StdVideoDecodeH264MvcElementFlags {
814 deUint32 anchor_pic:1;
815 deUint32 inter_view:1;
816 } StdVideoDecodeH264MvcElementFlags;
818 typedef struct StdVideoDecodeH264MvcElement {
819 StdVideoDecodeH264MvcElementFlags flags;
820 deUint16 viewOrderIndex;
822 deUint16 temporalId; // move out?
823 deUint16 priorityId; // move out?
824 deUint16 numOfAnchorRefsInL0;
825 deUint16 viewIdOfAnchorRefsInL0[15];
826 deUint16 numOfAnchorRefsInL1;
827 deUint16 viewIdOfAnchorRefsInL1[15];
828 deUint16 numOfNonAnchorRefsInL0;
829 deUint16 viewIdOfNonAnchorRefsInL0[15];
830 deUint16 numOfNonAnchorRefsInL1;
831 deUint16 viewIdOfNonAnchorRefsInL1[15];
832 } StdVideoDecodeH264MvcElement;
834 typedef struct StdVideoDecodeH264Mvc {
836 deUint32 mvcElementCount;
837 StdVideoDecodeH264MvcElement* pMvcElements;
838 } StdVideoDecodeH264Mvc;
845 #endif // VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
847 ** Copyright (c) 2019-2021 The Khronos Group Inc.
849 ** SPDX-License-Identifier: Apache-2.0
852 #ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
853 #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
861 // *************************************************
862 // Video h265 Decode related parameters:
863 // *************************************************
865 typedef struct StdVideoDecodeH265PictureInfoFlags {
866 deUint32 IrapPicFlag : 1;
867 deUint32 IdrPicFlag : 1;
868 deUint32 IsReference : 1;
869 deUint32 short_term_ref_pic_set_sps_flag : 1;
870 } StdVideoDecodeH265PictureInfoFlags;
872 typedef struct StdVideoDecodeH265PictureInfo {
873 deUint8 vps_video_parameter_set_id;
874 deUint8 sps_seq_parameter_set_id;
875 deUint8 pps_pic_parameter_set_id;
876 deUint8 num_short_term_ref_pic_sets;
877 deInt32 PicOrderCntVal;
878 deUint16 NumBitsForSTRefPicSetInSlice; // number of bits used in st_ref_pic_set()
879 //when short_term_ref_pic_set_sps_flag is 0; otherwise set to 0.
880 deUint8 NumDeltaPocsOfRefRpsIdx; // NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0
881 deUint8 RefPicSetStCurrBefore[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
882 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
883 deUint8 RefPicSetStCurrAfter[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
884 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
885 deUint8 RefPicSetLtCurr[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
886 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
887 StdVideoDecodeH265PictureInfoFlags flags;
888 } StdVideoDecodeH265PictureInfo;
890 typedef struct StdVideoDecodeH265ReferenceInfoFlags {
891 deUint32 is_long_term : 1;
892 deUint32 is_non_existing : 1;
893 } StdVideoDecodeH265ReferenceInfoFlags;
895 typedef struct StdVideoDecodeH265ReferenceInfo {
896 deInt32 PicOrderCntVal;
897 StdVideoDecodeH265ReferenceInfoFlags flags;
898 } StdVideoDecodeH265ReferenceInfo;
904 #endif // VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
905 #ifndef VULKAN_CORE_H_
906 #define VULKAN_CORE_H_ 1
909 ** Copyright 2015-2021 The Khronos Group Inc.
911 ** SPDX-License-Identifier: Apache-2.0
915 ** This header is generated from the Khronos Vulkan XML API Registry.
926 #define VK_VERSION_1_0 1
929 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
932 #ifndef VK_USE_64_BIT_PTR_DEFINES
933 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
934 #define VK_USE_64_BIT_PTR_DEFINES 1
936 #define VK_USE_64_BIT_PTR_DEFINES 0
941 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
942 #if (VK_USE_64_BIT_PTR_DEFINES==1)
943 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
944 #define VK_NULL_HANDLE nullptr
946 #define VK_NULL_HANDLE ((void*)0)
949 #define VK_NULL_HANDLE 0ULL
952 #ifndef VK_NULL_HANDLE
953 #define VK_NULL_HANDLE 0
957 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
958 #if (VK_USE_64_BIT_PTR_DEFINES==1)
959 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
961 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
965 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
966 #define VK_MAKE_VERSION(major, minor, patch) \
967 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
969 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
970 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
972 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
973 ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
975 // Vulkan 1.0 version number
976 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
978 // Version of this file
979 #define VK_HEADER_VERSION 183
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 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1329 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1330 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1333 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1334 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
1335 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
1336 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
1337 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
1338 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
1339 #ifdef VK_ENABLE_BETA_EXTENSIONS
1340 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
1342 #ifdef VK_ENABLE_BETA_EXTENSIONS
1343 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
1345 #ifdef VK_ENABLE_BETA_EXTENSIONS
1346 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
1348 #ifdef VK_ENABLE_BETA_EXTENSIONS
1349 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
1351 #ifdef VK_ENABLE_BETA_EXTENSIONS
1352 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
1354 #ifdef VK_ENABLE_BETA_EXTENSIONS
1355 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
1357 #ifdef VK_ENABLE_BETA_EXTENSIONS
1358 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
1360 #ifdef VK_ENABLE_BETA_EXTENSIONS
1361 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
1363 #ifdef VK_ENABLE_BETA_EXTENSIONS
1364 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
1366 #ifdef VK_ENABLE_BETA_EXTENSIONS
1367 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
1369 #ifdef VK_ENABLE_BETA_EXTENSIONS
1370 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
1372 #ifdef VK_ENABLE_BETA_EXTENSIONS
1373 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
1375 #ifdef VK_ENABLE_BETA_EXTENSIONS
1376 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
1378 #ifdef VK_ENABLE_BETA_EXTENSIONS
1379 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
1381 #ifdef VK_ENABLE_BETA_EXTENSIONS
1382 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
1384 #ifdef VK_ENABLE_BETA_EXTENSIONS
1385 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
1387 #ifdef VK_ENABLE_BETA_EXTENSIONS
1388 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
1390 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1391 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1393 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1394 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1395 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1396 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1397 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1398 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1399 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
1401 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1403 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1404 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1405 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1406 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1407 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1408 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1409 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1410 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1411 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1412 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1413 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1414 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1415 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1416 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1418 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1420 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1421 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1422 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1423 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1424 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1425 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1426 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1427 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1428 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1429 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1430 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1432 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1433 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1434 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1436 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1437 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1438 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1439 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1440 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1441 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1442 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1443 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1444 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1445 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1446 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1447 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1448 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1449 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1450 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1452 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1453 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1454 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1455 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1456 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1457 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1458 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1459 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1460 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1461 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1462 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1463 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1464 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1465 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1466 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1467 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1468 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1469 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1470 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1471 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
1473 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
1474 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
1475 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
1476 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1477 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1478 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1479 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1480 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1481 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1482 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1483 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1484 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1485 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1486 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1487 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1488 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1489 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1490 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1491 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1492 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1493 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1494 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1495 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1497 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1498 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1499 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1500 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1501 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1502 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1503 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1504 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1506 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1509 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1511 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1512 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1513 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1514 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1515 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1516 #ifdef VK_ENABLE_BETA_EXTENSIONS
1517 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1519 #ifdef VK_ENABLE_BETA_EXTENSIONS
1520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1522 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1523 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1524 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1525 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1526 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1527 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1528 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1529 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1530 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1531 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1532 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1533 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1534 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1535 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1536 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1538 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1540 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1541 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
1542 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1543 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1546 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1547 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1549 #ifdef VK_ENABLE_BETA_EXTENSIONS
1550 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1552 #ifdef VK_ENABLE_BETA_EXTENSIONS
1553 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
1555 #ifdef VK_ENABLE_BETA_EXTENSIONS
1556 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
1558 #ifdef VK_ENABLE_BETA_EXTENSIONS
1559 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
1561 #ifdef VK_ENABLE_BETA_EXTENSIONS
1562 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
1564 #ifdef VK_ENABLE_BETA_EXTENSIONS
1565 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
1567 #ifdef VK_ENABLE_BETA_EXTENSIONS
1568 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
1570 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1572 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1573 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1574 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1575 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
1576 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1577 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1579 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
1580 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1581 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1582 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1583 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1584 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1585 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1586 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1587 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1588 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1589 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1590 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1591 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1592 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1593 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1594 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1595 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
1597 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1600 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
1602 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
1603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
1604 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1605 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1607 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1608 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1614 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1615 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1618 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
1620 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
1622 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
1623 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
1624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
1625 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
1626 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
1627 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
1628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
1629 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
1630 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
1631 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
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 #ifdef VK_ENABLE_BETA_EXTENSIONS
1677 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
1679 #ifdef VK_ENABLE_BETA_EXTENSIONS
1680 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
1682 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1683 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1684 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
1685 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
1686 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
1687 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
1688 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
1689 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
1690 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
1691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
1692 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1693 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1694 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
1695 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
1696 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1698 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1699 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
1700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
1701 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
1702 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1704 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1705 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
1707 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1708 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
1709 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
1710 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
1711 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
1712 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
1713 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
1714 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
1715 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
1716 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
1717 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
1718 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
1719 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1720 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1721 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1722 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1723 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1724 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1725 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1726 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
1727 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1728 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1729 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1730 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1731 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1732 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
1733 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
1734 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
1735 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1736 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1738 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000,
1740 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001,
1741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
1742 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
1743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1745 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1746 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1747 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1748 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1750 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1751 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1752 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1754 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1756 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1757 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1758 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1759 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1760 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1761 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1762 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1763 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1764 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1765 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1766 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1768 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1770 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1772 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1773 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1774 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1775 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1776 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1777 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1779 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1780 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1781 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1782 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1783 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1784 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1785 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1786 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1787 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1788 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1789 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1790 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1791 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1792 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1793 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1794 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1795 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1796 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1797 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1798 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1799 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1800 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1801 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1803 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1804 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1805 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1806 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1807 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1808 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1809 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1810 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1811 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1812 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1813 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1814 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1815 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1816 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1817 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1818 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1819 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1820 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1821 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1822 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1823 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1824 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1825 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1827 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1828 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1829 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1834 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1836 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1837 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1838 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1839 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1840 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1841 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1843 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1844 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1845 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1846 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1847 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1848 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1849 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1850 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1852 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1853 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1854 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1855 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1856 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1857 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1860 typedef enum VkImageLayout {
1861 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1862 VK_IMAGE_LAYOUT_GENERAL = 1,
1863 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1864 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1865 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1866 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1867 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1868 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1869 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1870 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1871 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1872 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1873 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1874 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1875 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1876 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1877 #ifdef VK_ENABLE_BETA_EXTENSIONS
1878 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1880 #ifdef VK_ENABLE_BETA_EXTENSIONS
1881 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1883 #ifdef VK_ENABLE_BETA_EXTENSIONS
1884 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1886 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1887 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1888 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
1889 #ifdef VK_ENABLE_BETA_EXTENSIONS
1890 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1892 #ifdef VK_ENABLE_BETA_EXTENSIONS
1893 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1895 #ifdef VK_ENABLE_BETA_EXTENSIONS
1896 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1898 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1899 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1900 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1901 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1902 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1903 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1904 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1905 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1906 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1907 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1910 typedef enum VkObjectType {
1911 VK_OBJECT_TYPE_UNKNOWN = 0,
1912 VK_OBJECT_TYPE_INSTANCE = 1,
1913 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1914 VK_OBJECT_TYPE_DEVICE = 3,
1915 VK_OBJECT_TYPE_QUEUE = 4,
1916 VK_OBJECT_TYPE_SEMAPHORE = 5,
1917 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1918 VK_OBJECT_TYPE_FENCE = 7,
1919 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1920 VK_OBJECT_TYPE_BUFFER = 9,
1921 VK_OBJECT_TYPE_IMAGE = 10,
1922 VK_OBJECT_TYPE_EVENT = 11,
1923 VK_OBJECT_TYPE_QUERY_POOL = 12,
1924 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1925 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1926 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1927 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1928 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1929 VK_OBJECT_TYPE_RENDER_PASS = 18,
1930 VK_OBJECT_TYPE_PIPELINE = 19,
1931 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1932 VK_OBJECT_TYPE_SAMPLER = 21,
1933 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1934 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1935 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1936 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1937 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1938 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1939 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1940 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1941 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1942 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1943 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1944 #ifdef VK_ENABLE_BETA_EXTENSIONS
1945 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1947 #ifdef VK_ENABLE_BETA_EXTENSIONS
1948 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1950 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1951 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1952 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1953 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1954 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1955 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1956 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1957 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1958 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1959 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1960 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1961 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1962 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1965 typedef enum VkVendorId {
1966 VK_VENDOR_ID_VIV = 0x10001,
1967 VK_VENDOR_ID_VSI = 0x10002,
1968 VK_VENDOR_ID_KAZAN = 0x10003,
1969 VK_VENDOR_ID_CODEPLAY = 0x10004,
1970 VK_VENDOR_ID_MESA = 0x10005,
1971 VK_VENDOR_ID_POCL = 0x10006,
1972 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1975 typedef enum VkPipelineCacheHeaderVersion {
1976 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1977 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1978 } VkPipelineCacheHeaderVersion;
1980 typedef enum VkSystemAllocationScope {
1981 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1982 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1983 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1984 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1985 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1986 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1987 } VkSystemAllocationScope;
1989 typedef enum VkInternalAllocationType {
1990 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1991 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1992 } VkInternalAllocationType;
1994 typedef enum VkFormat {
1995 VK_FORMAT_UNDEFINED = 0,
1996 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1997 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
1998 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
1999 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
2000 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
2001 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
2002 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
2003 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
2004 VK_FORMAT_R8_UNORM = 9,
2005 VK_FORMAT_R8_SNORM = 10,
2006 VK_FORMAT_R8_USCALED = 11,
2007 VK_FORMAT_R8_SSCALED = 12,
2008 VK_FORMAT_R8_UINT = 13,
2009 VK_FORMAT_R8_SINT = 14,
2010 VK_FORMAT_R8_SRGB = 15,
2011 VK_FORMAT_R8G8_UNORM = 16,
2012 VK_FORMAT_R8G8_SNORM = 17,
2013 VK_FORMAT_R8G8_USCALED = 18,
2014 VK_FORMAT_R8G8_SSCALED = 19,
2015 VK_FORMAT_R8G8_UINT = 20,
2016 VK_FORMAT_R8G8_SINT = 21,
2017 VK_FORMAT_R8G8_SRGB = 22,
2018 VK_FORMAT_R8G8B8_UNORM = 23,
2019 VK_FORMAT_R8G8B8_SNORM = 24,
2020 VK_FORMAT_R8G8B8_USCALED = 25,
2021 VK_FORMAT_R8G8B8_SSCALED = 26,
2022 VK_FORMAT_R8G8B8_UINT = 27,
2023 VK_FORMAT_R8G8B8_SINT = 28,
2024 VK_FORMAT_R8G8B8_SRGB = 29,
2025 VK_FORMAT_B8G8R8_UNORM = 30,
2026 VK_FORMAT_B8G8R8_SNORM = 31,
2027 VK_FORMAT_B8G8R8_USCALED = 32,
2028 VK_FORMAT_B8G8R8_SSCALED = 33,
2029 VK_FORMAT_B8G8R8_UINT = 34,
2030 VK_FORMAT_B8G8R8_SINT = 35,
2031 VK_FORMAT_B8G8R8_SRGB = 36,
2032 VK_FORMAT_R8G8B8A8_UNORM = 37,
2033 VK_FORMAT_R8G8B8A8_SNORM = 38,
2034 VK_FORMAT_R8G8B8A8_USCALED = 39,
2035 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2036 VK_FORMAT_R8G8B8A8_UINT = 41,
2037 VK_FORMAT_R8G8B8A8_SINT = 42,
2038 VK_FORMAT_R8G8B8A8_SRGB = 43,
2039 VK_FORMAT_B8G8R8A8_UNORM = 44,
2040 VK_FORMAT_B8G8R8A8_SNORM = 45,
2041 VK_FORMAT_B8G8R8A8_USCALED = 46,
2042 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2043 VK_FORMAT_B8G8R8A8_UINT = 48,
2044 VK_FORMAT_B8G8R8A8_SINT = 49,
2045 VK_FORMAT_B8G8R8A8_SRGB = 50,
2046 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2047 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2048 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2049 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2050 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2051 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2052 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2053 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2054 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2055 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2056 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2057 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2058 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2059 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2060 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2061 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2062 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2063 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2064 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2065 VK_FORMAT_R16_UNORM = 70,
2066 VK_FORMAT_R16_SNORM = 71,
2067 VK_FORMAT_R16_USCALED = 72,
2068 VK_FORMAT_R16_SSCALED = 73,
2069 VK_FORMAT_R16_UINT = 74,
2070 VK_FORMAT_R16_SINT = 75,
2071 VK_FORMAT_R16_SFLOAT = 76,
2072 VK_FORMAT_R16G16_UNORM = 77,
2073 VK_FORMAT_R16G16_SNORM = 78,
2074 VK_FORMAT_R16G16_USCALED = 79,
2075 VK_FORMAT_R16G16_SSCALED = 80,
2076 VK_FORMAT_R16G16_UINT = 81,
2077 VK_FORMAT_R16G16_SINT = 82,
2078 VK_FORMAT_R16G16_SFLOAT = 83,
2079 VK_FORMAT_R16G16B16_UNORM = 84,
2080 VK_FORMAT_R16G16B16_SNORM = 85,
2081 VK_FORMAT_R16G16B16_USCALED = 86,
2082 VK_FORMAT_R16G16B16_SSCALED = 87,
2083 VK_FORMAT_R16G16B16_UINT = 88,
2084 VK_FORMAT_R16G16B16_SINT = 89,
2085 VK_FORMAT_R16G16B16_SFLOAT = 90,
2086 VK_FORMAT_R16G16B16A16_UNORM = 91,
2087 VK_FORMAT_R16G16B16A16_SNORM = 92,
2088 VK_FORMAT_R16G16B16A16_USCALED = 93,
2089 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2090 VK_FORMAT_R16G16B16A16_UINT = 95,
2091 VK_FORMAT_R16G16B16A16_SINT = 96,
2092 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2093 VK_FORMAT_R32_UINT = 98,
2094 VK_FORMAT_R32_SINT = 99,
2095 VK_FORMAT_R32_SFLOAT = 100,
2096 VK_FORMAT_R32G32_UINT = 101,
2097 VK_FORMAT_R32G32_SINT = 102,
2098 VK_FORMAT_R32G32_SFLOAT = 103,
2099 VK_FORMAT_R32G32B32_UINT = 104,
2100 VK_FORMAT_R32G32B32_SINT = 105,
2101 VK_FORMAT_R32G32B32_SFLOAT = 106,
2102 VK_FORMAT_R32G32B32A32_UINT = 107,
2103 VK_FORMAT_R32G32B32A32_SINT = 108,
2104 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2105 VK_FORMAT_R64_UINT = 110,
2106 VK_FORMAT_R64_SINT = 111,
2107 VK_FORMAT_R64_SFLOAT = 112,
2108 VK_FORMAT_R64G64_UINT = 113,
2109 VK_FORMAT_R64G64_SINT = 114,
2110 VK_FORMAT_R64G64_SFLOAT = 115,
2111 VK_FORMAT_R64G64B64_UINT = 116,
2112 VK_FORMAT_R64G64B64_SINT = 117,
2113 VK_FORMAT_R64G64B64_SFLOAT = 118,
2114 VK_FORMAT_R64G64B64A64_UINT = 119,
2115 VK_FORMAT_R64G64B64A64_SINT = 120,
2116 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2117 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2118 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2119 VK_FORMAT_D16_UNORM = 124,
2120 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2121 VK_FORMAT_D32_SFLOAT = 126,
2122 VK_FORMAT_S8_UINT = 127,
2123 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2124 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2125 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2126 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2127 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2128 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2129 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2130 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2131 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2132 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2133 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2134 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2135 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2136 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2137 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2138 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2139 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2140 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2141 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2142 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2143 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2144 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2145 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2146 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2147 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2148 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2149 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2150 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2151 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2152 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2153 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2154 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2155 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2156 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2157 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2158 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2159 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2160 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2161 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2162 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2163 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2164 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2165 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2166 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2167 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2168 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2169 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2170 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2171 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2172 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2173 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2174 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2175 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2176 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2177 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2178 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2179 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2180 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2181 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2182 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2183 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2184 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2185 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2186 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2187 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2188 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2189 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2190 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2191 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2192 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2193 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2194 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2195 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2196 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2197 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2198 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2199 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2200 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2201 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2202 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2203 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2204 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2205 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2206 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2207 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2208 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2209 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2210 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2211 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2212 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2213 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2214 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2215 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2216 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2217 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2218 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2219 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2220 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2221 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2222 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
2223 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
2224 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
2225 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
2226 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
2227 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
2228 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
2229 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
2230 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
2231 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
2232 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
2233 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
2234 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
2235 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
2236 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
2237 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
2238 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
2239 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
2240 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
2241 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
2242 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2243 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2244 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2245 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2246 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2247 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2248 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2249 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2250 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2251 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2252 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2253 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2254 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2255 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2256 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2257 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2258 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2259 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2260 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2261 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2262 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2263 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2264 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2265 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2266 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2267 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2268 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2269 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2270 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2271 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2272 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2273 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2274 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2275 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2276 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2279 typedef enum VkImageTiling {
2280 VK_IMAGE_TILING_OPTIMAL = 0,
2281 VK_IMAGE_TILING_LINEAR = 1,
2282 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2283 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2286 typedef enum VkImageType {
2287 VK_IMAGE_TYPE_1D = 0,
2288 VK_IMAGE_TYPE_2D = 1,
2289 VK_IMAGE_TYPE_3D = 2,
2290 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2293 typedef enum VkPhysicalDeviceType {
2294 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2295 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2296 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2297 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2298 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2299 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2300 } VkPhysicalDeviceType;
2302 typedef enum VkQueryType {
2303 VK_QUERY_TYPE_OCCLUSION = 0,
2304 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2305 VK_QUERY_TYPE_TIMESTAMP = 2,
2306 #ifdef VK_ENABLE_BETA_EXTENSIONS
2307 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2309 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2310 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2311 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2312 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2313 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2314 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2315 #ifdef VK_ENABLE_BETA_EXTENSIONS
2316 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2318 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2321 typedef enum VkSharingMode {
2322 VK_SHARING_MODE_EXCLUSIVE = 0,
2323 VK_SHARING_MODE_CONCURRENT = 1,
2324 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2327 typedef enum VkComponentSwizzle {
2328 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2329 VK_COMPONENT_SWIZZLE_ZERO = 1,
2330 VK_COMPONENT_SWIZZLE_ONE = 2,
2331 VK_COMPONENT_SWIZZLE_R = 3,
2332 VK_COMPONENT_SWIZZLE_G = 4,
2333 VK_COMPONENT_SWIZZLE_B = 5,
2334 VK_COMPONENT_SWIZZLE_A = 6,
2335 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2336 } VkComponentSwizzle;
2338 typedef enum VkImageViewType {
2339 VK_IMAGE_VIEW_TYPE_1D = 0,
2340 VK_IMAGE_VIEW_TYPE_2D = 1,
2341 VK_IMAGE_VIEW_TYPE_3D = 2,
2342 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2343 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2344 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2345 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2346 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2349 typedef enum VkBlendFactor {
2350 VK_BLEND_FACTOR_ZERO = 0,
2351 VK_BLEND_FACTOR_ONE = 1,
2352 VK_BLEND_FACTOR_SRC_COLOR = 2,
2353 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2354 VK_BLEND_FACTOR_DST_COLOR = 4,
2355 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2356 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2357 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2358 VK_BLEND_FACTOR_DST_ALPHA = 8,
2359 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2360 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2361 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2362 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2363 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2364 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2365 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2366 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2367 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2368 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2369 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2372 typedef enum VkBlendOp {
2373 VK_BLEND_OP_ADD = 0,
2374 VK_BLEND_OP_SUBTRACT = 1,
2375 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2376 VK_BLEND_OP_MIN = 3,
2377 VK_BLEND_OP_MAX = 4,
2378 VK_BLEND_OP_ZERO_EXT = 1000148000,
2379 VK_BLEND_OP_SRC_EXT = 1000148001,
2380 VK_BLEND_OP_DST_EXT = 1000148002,
2381 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2382 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2383 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2384 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2385 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2386 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2387 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2388 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2389 VK_BLEND_OP_XOR_EXT = 1000148011,
2390 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2391 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2392 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2393 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2394 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2395 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2396 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2397 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2398 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2399 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2400 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2401 VK_BLEND_OP_INVERT_EXT = 1000148023,
2402 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2403 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2404 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2405 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2406 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2407 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2408 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2409 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2410 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2411 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2412 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2413 VK_BLEND_OP_PLUS_EXT = 1000148035,
2414 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2415 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2416 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2417 VK_BLEND_OP_MINUS_EXT = 1000148039,
2418 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2419 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2420 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2421 VK_BLEND_OP_RED_EXT = 1000148043,
2422 VK_BLEND_OP_GREEN_EXT = 1000148044,
2423 VK_BLEND_OP_BLUE_EXT = 1000148045,
2424 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2427 typedef enum VkCompareOp {
2428 VK_COMPARE_OP_NEVER = 0,
2429 VK_COMPARE_OP_LESS = 1,
2430 VK_COMPARE_OP_EQUAL = 2,
2431 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2432 VK_COMPARE_OP_GREATER = 4,
2433 VK_COMPARE_OP_NOT_EQUAL = 5,
2434 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2435 VK_COMPARE_OP_ALWAYS = 7,
2436 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2439 typedef enum VkDynamicState {
2440 VK_DYNAMIC_STATE_VIEWPORT = 0,
2441 VK_DYNAMIC_STATE_SCISSOR = 1,
2442 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2443 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2444 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2445 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2446 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2447 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2448 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2449 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2450 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2451 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2452 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2453 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2454 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2455 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2456 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2457 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2458 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
2459 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
2460 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
2461 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
2462 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
2463 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
2464 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
2465 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
2466 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
2467 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
2468 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
2469 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
2470 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2471 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2472 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
2473 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
2474 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2475 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
2476 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2477 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2480 typedef enum VkFrontFace {
2481 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2482 VK_FRONT_FACE_CLOCKWISE = 1,
2483 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2486 typedef enum VkVertexInputRate {
2487 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2488 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2489 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2490 } VkVertexInputRate;
2492 typedef enum VkPrimitiveTopology {
2493 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2494 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2495 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2496 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2497 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2498 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2499 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2500 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2501 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2502 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2503 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2504 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2505 } VkPrimitiveTopology;
2507 typedef enum VkPolygonMode {
2508 VK_POLYGON_MODE_FILL = 0,
2509 VK_POLYGON_MODE_LINE = 1,
2510 VK_POLYGON_MODE_POINT = 2,
2511 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2512 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2515 typedef enum VkStencilOp {
2516 VK_STENCIL_OP_KEEP = 0,
2517 VK_STENCIL_OP_ZERO = 1,
2518 VK_STENCIL_OP_REPLACE = 2,
2519 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2520 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2521 VK_STENCIL_OP_INVERT = 5,
2522 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2523 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2524 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2527 typedef enum VkLogicOp {
2528 VK_LOGIC_OP_CLEAR = 0,
2529 VK_LOGIC_OP_AND = 1,
2530 VK_LOGIC_OP_AND_REVERSE = 2,
2531 VK_LOGIC_OP_COPY = 3,
2532 VK_LOGIC_OP_AND_INVERTED = 4,
2533 VK_LOGIC_OP_NO_OP = 5,
2534 VK_LOGIC_OP_XOR = 6,
2536 VK_LOGIC_OP_NOR = 8,
2537 VK_LOGIC_OP_EQUIVALENT = 9,
2538 VK_LOGIC_OP_INVERT = 10,
2539 VK_LOGIC_OP_OR_REVERSE = 11,
2540 VK_LOGIC_OP_COPY_INVERTED = 12,
2541 VK_LOGIC_OP_OR_INVERTED = 13,
2542 VK_LOGIC_OP_NAND = 14,
2543 VK_LOGIC_OP_SET = 15,
2544 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2547 typedef enum VkBorderColor {
2548 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2549 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2550 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2551 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2552 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2553 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2554 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2555 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2556 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2559 typedef enum VkFilter {
2560 VK_FILTER_NEAREST = 0,
2561 VK_FILTER_LINEAR = 1,
2562 VK_FILTER_CUBIC_IMG = 1000015000,
2563 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2564 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2567 typedef enum VkSamplerAddressMode {
2568 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2569 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2570 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2571 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2572 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2573 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2574 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2575 } VkSamplerAddressMode;
2577 typedef enum VkSamplerMipmapMode {
2578 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2579 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2580 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2581 } VkSamplerMipmapMode;
2583 typedef enum VkDescriptorType {
2584 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2585 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2586 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2587 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2588 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2589 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2590 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2591 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2592 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2593 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2594 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2595 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
2596 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2597 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2598 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2599 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2602 typedef enum VkAttachmentLoadOp {
2603 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2604 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2605 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2606 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2607 } VkAttachmentLoadOp;
2609 typedef enum VkAttachmentStoreOp {
2610 VK_ATTACHMENT_STORE_OP_STORE = 0,
2611 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2612 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
2613 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2614 } VkAttachmentStoreOp;
2616 typedef enum VkPipelineBindPoint {
2617 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2618 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2619 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2620 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
2621 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2622 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2623 } VkPipelineBindPoint;
2625 typedef enum VkCommandBufferLevel {
2626 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2627 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2628 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2629 } VkCommandBufferLevel;
2631 typedef enum VkIndexType {
2632 VK_INDEX_TYPE_UINT16 = 0,
2633 VK_INDEX_TYPE_UINT32 = 1,
2634 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2635 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2636 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2637 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2640 typedef enum VkSubpassContents {
2641 VK_SUBPASS_CONTENTS_INLINE = 0,
2642 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2643 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2644 } VkSubpassContents;
2646 typedef enum VkAccessFlagBits {
2647 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2648 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2649 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2650 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2651 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2652 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2653 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2654 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2655 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2656 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2657 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2658 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2659 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2660 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2661 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2662 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2663 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2664 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2665 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2666 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2667 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2668 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2669 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2670 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2671 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2672 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
2673 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2674 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2675 VK_ACCESS_NONE_KHR = 0,
2676 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2677 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2678 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2679 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2681 typedef VkFlags VkAccessFlags;
2683 typedef enum VkImageAspectFlagBits {
2684 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2685 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2686 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2687 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2688 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2689 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2690 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2691 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2692 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2693 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2694 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2695 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2696 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2697 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2698 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2699 } VkImageAspectFlagBits;
2700 typedef VkFlags VkImageAspectFlags;
2702 typedef enum VkFormatFeatureFlagBits {
2703 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2704 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2705 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2706 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2707 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2708 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2709 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2710 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2711 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2712 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2713 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2714 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2715 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2716 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2717 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2718 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2719 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2720 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2721 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2722 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2723 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2724 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2725 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2726 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2727 #ifdef VK_ENABLE_BETA_EXTENSIONS
2728 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2730 #ifdef VK_ENABLE_BETA_EXTENSIONS
2731 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2733 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2734 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2735 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2736 #ifdef VK_ENABLE_BETA_EXTENSIONS
2737 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2739 #ifdef VK_ENABLE_BETA_EXTENSIONS
2740 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2742 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2743 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2744 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2745 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2746 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2747 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2748 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2749 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,
2750 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2751 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2752 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2753 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2754 } VkFormatFeatureFlagBits;
2755 typedef VkFlags VkFormatFeatureFlags;
2757 typedef enum VkImageCreateFlagBits {
2758 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2759 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2760 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2761 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2762 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2763 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2764 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2765 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2766 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2767 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2768 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2769 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2770 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2771 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2772 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2773 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2774 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2775 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2776 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2777 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2778 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2779 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2780 } VkImageCreateFlagBits;
2781 typedef VkFlags VkImageCreateFlags;
2783 typedef enum VkSampleCountFlagBits {
2784 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2785 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2786 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2787 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2788 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2789 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2790 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2791 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2792 } VkSampleCountFlagBits;
2793 typedef VkFlags VkSampleCountFlags;
2795 typedef enum VkImageUsageFlagBits {
2796 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2797 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2798 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2799 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2800 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2801 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2802 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2803 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2804 #ifdef VK_ENABLE_BETA_EXTENSIONS
2805 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2807 #ifdef VK_ENABLE_BETA_EXTENSIONS
2808 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2810 #ifdef VK_ENABLE_BETA_EXTENSIONS
2811 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2813 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2814 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
2815 #ifdef VK_ENABLE_BETA_EXTENSIONS
2816 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2818 #ifdef VK_ENABLE_BETA_EXTENSIONS
2819 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2821 #ifdef VK_ENABLE_BETA_EXTENSIONS
2822 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2824 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2825 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2826 } VkImageUsageFlagBits;
2827 typedef VkFlags VkImageUsageFlags;
2828 typedef VkFlags VkInstanceCreateFlags;
2830 typedef enum VkMemoryHeapFlagBits {
2831 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2832 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2833 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2834 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2835 } VkMemoryHeapFlagBits;
2836 typedef VkFlags VkMemoryHeapFlags;
2838 typedef enum VkMemoryPropertyFlagBits {
2839 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2840 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2841 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2842 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2843 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2844 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2845 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2846 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2847 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2848 } VkMemoryPropertyFlagBits;
2849 typedef VkFlags VkMemoryPropertyFlags;
2851 typedef enum VkQueueFlagBits {
2852 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2853 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2854 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2855 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2856 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2857 #ifdef VK_ENABLE_BETA_EXTENSIONS
2858 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2860 #ifdef VK_ENABLE_BETA_EXTENSIONS
2861 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2863 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2865 typedef VkFlags VkQueueFlags;
2866 typedef VkFlags VkDeviceCreateFlags;
2868 typedef enum VkDeviceQueueCreateFlagBits {
2869 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2870 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2871 } VkDeviceQueueCreateFlagBits;
2872 typedef VkFlags VkDeviceQueueCreateFlags;
2874 typedef enum VkPipelineStageFlagBits {
2875 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2876 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2877 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2878 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2879 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2880 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2881 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2882 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2883 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2884 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2885 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2886 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2887 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2888 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2889 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2890 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2891 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2892 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2893 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2894 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2895 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2896 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2897 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2898 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2899 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2900 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2901 VK_PIPELINE_STAGE_NONE_KHR = 0,
2902 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2903 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2904 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2905 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2906 } VkPipelineStageFlagBits;
2907 typedef VkFlags VkPipelineStageFlags;
2908 typedef VkFlags VkMemoryMapFlags;
2910 typedef enum VkSparseMemoryBindFlagBits {
2911 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2912 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2913 } VkSparseMemoryBindFlagBits;
2914 typedef VkFlags VkSparseMemoryBindFlags;
2916 typedef enum VkSparseImageFormatFlagBits {
2917 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2918 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2919 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2920 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2921 } VkSparseImageFormatFlagBits;
2922 typedef VkFlags VkSparseImageFormatFlags;
2924 typedef enum VkFenceCreateFlagBits {
2925 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2926 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2927 } VkFenceCreateFlagBits;
2928 typedef VkFlags VkFenceCreateFlags;
2929 typedef VkFlags VkSemaphoreCreateFlags;
2931 typedef enum VkEventCreateFlagBits {
2932 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2933 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2934 } VkEventCreateFlagBits;
2935 typedef VkFlags VkEventCreateFlags;
2937 typedef enum VkQueryPipelineStatisticFlagBits {
2938 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2939 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2940 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2941 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2942 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2943 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2944 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2945 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2946 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2947 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2948 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2949 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2950 } VkQueryPipelineStatisticFlagBits;
2951 typedef VkFlags VkQueryPipelineStatisticFlags;
2952 typedef VkFlags VkQueryPoolCreateFlags;
2954 typedef enum VkQueryResultFlagBits {
2955 VK_QUERY_RESULT_64_BIT = 0x00000001,
2956 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2957 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2958 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2959 #ifdef VK_ENABLE_BETA_EXTENSIONS
2960 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2962 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2963 } VkQueryResultFlagBits;
2964 typedef VkFlags VkQueryResultFlags;
2966 typedef enum VkBufferCreateFlagBits {
2967 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2968 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2969 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2970 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2971 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2972 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2973 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2974 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2975 } VkBufferCreateFlagBits;
2976 typedef VkFlags VkBufferCreateFlags;
2978 typedef enum VkBufferUsageFlagBits {
2979 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2980 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2981 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2982 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2983 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2984 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2985 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2986 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2987 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2988 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2989 #ifdef VK_ENABLE_BETA_EXTENSIONS
2990 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2992 #ifdef VK_ENABLE_BETA_EXTENSIONS
2993 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2995 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2996 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
2997 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
2998 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
2999 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
3000 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
3001 #ifdef VK_ENABLE_BETA_EXTENSIONS
3002 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
3004 #ifdef VK_ENABLE_BETA_EXTENSIONS
3005 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
3007 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
3008 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3009 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3010 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3011 } VkBufferUsageFlagBits;
3012 typedef VkFlags VkBufferUsageFlags;
3013 typedef VkFlags VkBufferViewCreateFlags;
3015 typedef enum VkImageViewCreateFlagBits {
3016 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
3017 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
3018 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3019 } VkImageViewCreateFlagBits;
3020 typedef VkFlags VkImageViewCreateFlags;
3022 typedef enum VkShaderModuleCreateFlagBits {
3023 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3024 } VkShaderModuleCreateFlagBits;
3025 typedef VkFlags VkShaderModuleCreateFlags;
3027 typedef enum VkPipelineCacheCreateFlagBits {
3028 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
3029 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3030 } VkPipelineCacheCreateFlagBits;
3031 typedef VkFlags VkPipelineCacheCreateFlags;
3033 typedef enum VkColorComponentFlagBits {
3034 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3035 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3036 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3037 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3038 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3039 } VkColorComponentFlagBits;
3040 typedef VkFlags VkColorComponentFlags;
3042 typedef enum VkPipelineCreateFlagBits {
3043 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3044 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3045 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3046 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3047 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3048 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3049 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3050 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3051 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3052 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3053 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3054 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3055 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3056 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3057 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3058 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3059 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3060 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
3061 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
3062 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
3063 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3064 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3065 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3066 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3067 } VkPipelineCreateFlagBits;
3068 typedef VkFlags VkPipelineCreateFlags;
3070 typedef enum VkPipelineShaderStageCreateFlagBits {
3071 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
3072 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
3073 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3074 } VkPipelineShaderStageCreateFlagBits;
3075 typedef VkFlags VkPipelineShaderStageCreateFlags;
3077 typedef enum VkShaderStageFlagBits {
3078 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3079 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3080 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3081 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3082 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3083 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3084 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3085 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3086 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3087 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3088 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3089 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3090 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3091 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3092 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3093 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3094 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
3095 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3096 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3097 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3098 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3099 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3100 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3101 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3102 } VkShaderStageFlagBits;
3104 typedef enum VkCullModeFlagBits {
3105 VK_CULL_MODE_NONE = 0,
3106 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3107 VK_CULL_MODE_BACK_BIT = 0x00000002,
3108 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3109 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3110 } VkCullModeFlagBits;
3111 typedef VkFlags VkCullModeFlags;
3112 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3113 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3114 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3115 typedef VkFlags VkPipelineViewportStateCreateFlags;
3116 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3117 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3118 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3119 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3120 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3121 typedef VkFlags VkPipelineLayoutCreateFlags;
3122 typedef VkFlags VkShaderStageFlags;
3124 typedef enum VkSamplerCreateFlagBits {
3125 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3126 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3127 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3128 } VkSamplerCreateFlagBits;
3129 typedef VkFlags VkSamplerCreateFlags;
3131 typedef enum VkDescriptorPoolCreateFlagBits {
3132 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3133 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3134 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3135 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3136 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3137 } VkDescriptorPoolCreateFlagBits;
3138 typedef VkFlags VkDescriptorPoolCreateFlags;
3139 typedef VkFlags VkDescriptorPoolResetFlags;
3141 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3142 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3143 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3144 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3145 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3146 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3147 } VkDescriptorSetLayoutCreateFlagBits;
3148 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3150 typedef enum VkAttachmentDescriptionFlagBits {
3151 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3152 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3153 } VkAttachmentDescriptionFlagBits;
3154 typedef VkFlags VkAttachmentDescriptionFlags;
3156 typedef enum VkDependencyFlagBits {
3157 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3158 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3159 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3160 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3161 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3162 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3163 } VkDependencyFlagBits;
3164 typedef VkFlags VkDependencyFlags;
3166 typedef enum VkFramebufferCreateFlagBits {
3167 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3168 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3169 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3170 } VkFramebufferCreateFlagBits;
3171 typedef VkFlags VkFramebufferCreateFlags;
3173 typedef enum VkRenderPassCreateFlagBits {
3174 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3175 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3176 } VkRenderPassCreateFlagBits;
3177 typedef VkFlags VkRenderPassCreateFlags;
3179 typedef enum VkSubpassDescriptionFlagBits {
3180 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3181 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3182 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3183 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3184 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3185 } VkSubpassDescriptionFlagBits;
3186 typedef VkFlags VkSubpassDescriptionFlags;
3188 typedef enum VkCommandPoolCreateFlagBits {
3189 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3190 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3191 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3192 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3193 } VkCommandPoolCreateFlagBits;
3194 typedef VkFlags VkCommandPoolCreateFlags;
3196 typedef enum VkCommandPoolResetFlagBits {
3197 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3198 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3199 } VkCommandPoolResetFlagBits;
3200 typedef VkFlags VkCommandPoolResetFlags;
3202 typedef enum VkCommandBufferUsageFlagBits {
3203 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3204 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3205 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3206 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3207 } VkCommandBufferUsageFlagBits;
3208 typedef VkFlags VkCommandBufferUsageFlags;
3210 typedef enum VkQueryControlFlagBits {
3211 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3212 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3213 } VkQueryControlFlagBits;
3214 typedef VkFlags VkQueryControlFlags;
3216 typedef enum VkCommandBufferResetFlagBits {
3217 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3218 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3219 } VkCommandBufferResetFlagBits;
3220 typedef VkFlags VkCommandBufferResetFlags;
3222 typedef enum VkStencilFaceFlagBits {
3223 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3224 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3225 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3226 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3227 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3228 } VkStencilFaceFlagBits;
3229 typedef VkFlags VkStencilFaceFlags;
3230 typedef struct VkExtent2D {
3235 typedef struct VkExtent3D {
3241 typedef struct VkOffset2D {
3246 typedef struct VkOffset3D {
3252 typedef struct VkRect2D {
3257 typedef struct VkBaseInStructure {
3258 VkStructureType sType;
3259 const struct VkBaseInStructure* pNext;
3260 } VkBaseInStructure;
3262 typedef struct VkBaseOutStructure {
3263 VkStructureType sType;
3264 struct VkBaseOutStructure* pNext;
3265 } VkBaseOutStructure;
3267 typedef struct VkBufferMemoryBarrier {
3268 VkStructureType sType;
3270 VkAccessFlags srcAccessMask;
3271 VkAccessFlags dstAccessMask;
3272 deUint32 srcQueueFamilyIndex;
3273 deUint32 dstQueueFamilyIndex;
3275 VkDeviceSize offset;
3277 } VkBufferMemoryBarrier;
3279 typedef struct VkDispatchIndirectCommand {
3283 } VkDispatchIndirectCommand;
3285 typedef struct VkDrawIndexedIndirectCommand {
3286 deUint32 indexCount;
3287 deUint32 instanceCount;
3288 deUint32 firstIndex;
3289 deInt32 vertexOffset;
3290 deUint32 firstInstance;
3291 } VkDrawIndexedIndirectCommand;
3293 typedef struct VkDrawIndirectCommand {
3294 deUint32 vertexCount;
3295 deUint32 instanceCount;
3296 deUint32 firstVertex;
3297 deUint32 firstInstance;
3298 } VkDrawIndirectCommand;
3300 typedef struct VkImageSubresourceRange {
3301 VkImageAspectFlags aspectMask;
3302 deUint32 baseMipLevel;
3303 deUint32 levelCount;
3304 deUint32 baseArrayLayer;
3305 deUint32 layerCount;
3306 } VkImageSubresourceRange;
3308 typedef struct VkImageMemoryBarrier {
3309 VkStructureType sType;
3311 VkAccessFlags srcAccessMask;
3312 VkAccessFlags dstAccessMask;
3313 VkImageLayout oldLayout;
3314 VkImageLayout newLayout;
3315 deUint32 srcQueueFamilyIndex;
3316 deUint32 dstQueueFamilyIndex;
3318 VkImageSubresourceRange subresourceRange;
3319 } VkImageMemoryBarrier;
3321 typedef struct VkMemoryBarrier {
3322 VkStructureType sType;
3324 VkAccessFlags srcAccessMask;
3325 VkAccessFlags dstAccessMask;
3328 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3331 deUintptr alignment,
3332 VkSystemAllocationScope allocationScope);
3334 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3338 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3341 VkInternalAllocationType allocationType,
3342 VkSystemAllocationScope allocationScope);
3344 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3347 VkInternalAllocationType allocationType,
3348 VkSystemAllocationScope allocationScope);
3350 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3354 deUintptr alignment,
3355 VkSystemAllocationScope allocationScope);
3357 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3358 typedef struct VkAllocationCallbacks {
3360 PFN_vkAllocationFunction pfnAllocation;
3361 PFN_vkReallocationFunction pfnReallocation;
3362 PFN_vkFreeFunction pfnFree;
3363 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3364 PFN_vkInternalFreeNotification pfnInternalFree;
3365 } VkAllocationCallbacks;
3367 typedef struct VkApplicationInfo {
3368 VkStructureType sType;
3370 const char* pApplicationName;
3371 deUint32 applicationVersion;
3372 const char* pEngineName;
3373 deUint32 engineVersion;
3374 deUint32 apiVersion;
3375 } VkApplicationInfo;
3377 typedef struct VkFormatProperties {
3378 VkFormatFeatureFlags linearTilingFeatures;
3379 VkFormatFeatureFlags optimalTilingFeatures;
3380 VkFormatFeatureFlags bufferFeatures;
3381 } VkFormatProperties;
3383 typedef struct VkImageFormatProperties {
3384 VkExtent3D maxExtent;
3385 deUint32 maxMipLevels;
3386 deUint32 maxArrayLayers;
3387 VkSampleCountFlags sampleCounts;
3388 VkDeviceSize maxResourceSize;
3389 } VkImageFormatProperties;
3391 typedef struct VkInstanceCreateInfo {
3392 VkStructureType sType;
3394 VkInstanceCreateFlags flags;
3395 const VkApplicationInfo* pApplicationInfo;
3396 deUint32 enabledLayerCount;
3397 const char* const* ppEnabledLayerNames;
3398 deUint32 enabledExtensionCount;
3399 const char* const* ppEnabledExtensionNames;
3400 } VkInstanceCreateInfo;
3402 typedef struct VkMemoryHeap {
3404 VkMemoryHeapFlags flags;
3407 typedef struct VkMemoryType {
3408 VkMemoryPropertyFlags propertyFlags;
3412 typedef struct VkPhysicalDeviceFeatures {
3413 VkBool32 robustBufferAccess;
3414 VkBool32 fullDrawIndexUint32;
3415 VkBool32 imageCubeArray;
3416 VkBool32 independentBlend;
3417 VkBool32 geometryShader;
3418 VkBool32 tessellationShader;
3419 VkBool32 sampleRateShading;
3420 VkBool32 dualSrcBlend;
3422 VkBool32 multiDrawIndirect;
3423 VkBool32 drawIndirectFirstInstance;
3424 VkBool32 depthClamp;
3425 VkBool32 depthBiasClamp;
3426 VkBool32 fillModeNonSolid;
3427 VkBool32 depthBounds;
3429 VkBool32 largePoints;
3430 VkBool32 alphaToOne;
3431 VkBool32 multiViewport;
3432 VkBool32 samplerAnisotropy;
3433 VkBool32 textureCompressionETC2;
3434 VkBool32 textureCompressionASTC_LDR;
3435 VkBool32 textureCompressionBC;
3436 VkBool32 occlusionQueryPrecise;
3437 VkBool32 pipelineStatisticsQuery;
3438 VkBool32 vertexPipelineStoresAndAtomics;
3439 VkBool32 fragmentStoresAndAtomics;
3440 VkBool32 shaderTessellationAndGeometryPointSize;
3441 VkBool32 shaderImageGatherExtended;
3442 VkBool32 shaderStorageImageExtendedFormats;
3443 VkBool32 shaderStorageImageMultisample;
3444 VkBool32 shaderStorageImageReadWithoutFormat;
3445 VkBool32 shaderStorageImageWriteWithoutFormat;
3446 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3447 VkBool32 shaderSampledImageArrayDynamicIndexing;
3448 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3449 VkBool32 shaderStorageImageArrayDynamicIndexing;
3450 VkBool32 shaderClipDistance;
3451 VkBool32 shaderCullDistance;
3452 VkBool32 shaderFloat64;
3453 VkBool32 shaderInt64;
3454 VkBool32 shaderInt16;
3455 VkBool32 shaderResourceResidency;
3456 VkBool32 shaderResourceMinLod;
3457 VkBool32 sparseBinding;
3458 VkBool32 sparseResidencyBuffer;
3459 VkBool32 sparseResidencyImage2D;
3460 VkBool32 sparseResidencyImage3D;
3461 VkBool32 sparseResidency2Samples;
3462 VkBool32 sparseResidency4Samples;
3463 VkBool32 sparseResidency8Samples;
3464 VkBool32 sparseResidency16Samples;
3465 VkBool32 sparseResidencyAliased;
3466 VkBool32 variableMultisampleRate;
3467 VkBool32 inheritedQueries;
3468 } VkPhysicalDeviceFeatures;
3470 typedef struct VkPhysicalDeviceLimits {
3471 deUint32 maxImageDimension1D;
3472 deUint32 maxImageDimension2D;
3473 deUint32 maxImageDimension3D;
3474 deUint32 maxImageDimensionCube;
3475 deUint32 maxImageArrayLayers;
3476 deUint32 maxTexelBufferElements;
3477 deUint32 maxUniformBufferRange;
3478 deUint32 maxStorageBufferRange;
3479 deUint32 maxPushConstantsSize;
3480 deUint32 maxMemoryAllocationCount;
3481 deUint32 maxSamplerAllocationCount;
3482 VkDeviceSize bufferImageGranularity;
3483 VkDeviceSize sparseAddressSpaceSize;
3484 deUint32 maxBoundDescriptorSets;
3485 deUint32 maxPerStageDescriptorSamplers;
3486 deUint32 maxPerStageDescriptorUniformBuffers;
3487 deUint32 maxPerStageDescriptorStorageBuffers;
3488 deUint32 maxPerStageDescriptorSampledImages;
3489 deUint32 maxPerStageDescriptorStorageImages;
3490 deUint32 maxPerStageDescriptorInputAttachments;
3491 deUint32 maxPerStageResources;
3492 deUint32 maxDescriptorSetSamplers;
3493 deUint32 maxDescriptorSetUniformBuffers;
3494 deUint32 maxDescriptorSetUniformBuffersDynamic;
3495 deUint32 maxDescriptorSetStorageBuffers;
3496 deUint32 maxDescriptorSetStorageBuffersDynamic;
3497 deUint32 maxDescriptorSetSampledImages;
3498 deUint32 maxDescriptorSetStorageImages;
3499 deUint32 maxDescriptorSetInputAttachments;
3500 deUint32 maxVertexInputAttributes;
3501 deUint32 maxVertexInputBindings;
3502 deUint32 maxVertexInputAttributeOffset;
3503 deUint32 maxVertexInputBindingStride;
3504 deUint32 maxVertexOutputComponents;
3505 deUint32 maxTessellationGenerationLevel;
3506 deUint32 maxTessellationPatchSize;
3507 deUint32 maxTessellationControlPerVertexInputComponents;
3508 deUint32 maxTessellationControlPerVertexOutputComponents;
3509 deUint32 maxTessellationControlPerPatchOutputComponents;
3510 deUint32 maxTessellationControlTotalOutputComponents;
3511 deUint32 maxTessellationEvaluationInputComponents;
3512 deUint32 maxTessellationEvaluationOutputComponents;
3513 deUint32 maxGeometryShaderInvocations;
3514 deUint32 maxGeometryInputComponents;
3515 deUint32 maxGeometryOutputComponents;
3516 deUint32 maxGeometryOutputVertices;
3517 deUint32 maxGeometryTotalOutputComponents;
3518 deUint32 maxFragmentInputComponents;
3519 deUint32 maxFragmentOutputAttachments;
3520 deUint32 maxFragmentDualSrcAttachments;
3521 deUint32 maxFragmentCombinedOutputResources;
3522 deUint32 maxComputeSharedMemorySize;
3523 deUint32 maxComputeWorkGroupCount[3];
3524 deUint32 maxComputeWorkGroupInvocations;
3525 deUint32 maxComputeWorkGroupSize[3];
3526 deUint32 subPixelPrecisionBits;
3527 deUint32 subTexelPrecisionBits;
3528 deUint32 mipmapPrecisionBits;
3529 deUint32 maxDrawIndexedIndexValue;
3530 deUint32 maxDrawIndirectCount;
3531 float maxSamplerLodBias;
3532 float maxSamplerAnisotropy;
3533 deUint32 maxViewports;
3534 deUint32 maxViewportDimensions[2];
3535 float viewportBoundsRange[2];
3536 deUint32 viewportSubPixelBits;
3537 deUintptr minMemoryMapAlignment;
3538 VkDeviceSize minTexelBufferOffsetAlignment;
3539 VkDeviceSize minUniformBufferOffsetAlignment;
3540 VkDeviceSize minStorageBufferOffsetAlignment;
3541 deInt32 minTexelOffset;
3542 deUint32 maxTexelOffset;
3543 deInt32 minTexelGatherOffset;
3544 deUint32 maxTexelGatherOffset;
3545 float minInterpolationOffset;
3546 float maxInterpolationOffset;
3547 deUint32 subPixelInterpolationOffsetBits;
3548 deUint32 maxFramebufferWidth;
3549 deUint32 maxFramebufferHeight;
3550 deUint32 maxFramebufferLayers;
3551 VkSampleCountFlags framebufferColorSampleCounts;
3552 VkSampleCountFlags framebufferDepthSampleCounts;
3553 VkSampleCountFlags framebufferStencilSampleCounts;
3554 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3555 deUint32 maxColorAttachments;
3556 VkSampleCountFlags sampledImageColorSampleCounts;
3557 VkSampleCountFlags sampledImageIntegerSampleCounts;
3558 VkSampleCountFlags sampledImageDepthSampleCounts;
3559 VkSampleCountFlags sampledImageStencilSampleCounts;
3560 VkSampleCountFlags storageImageSampleCounts;
3561 deUint32 maxSampleMaskWords;
3562 VkBool32 timestampComputeAndGraphics;
3563 float timestampPeriod;
3564 deUint32 maxClipDistances;
3565 deUint32 maxCullDistances;
3566 deUint32 maxCombinedClipAndCullDistances;
3567 deUint32 discreteQueuePriorities;
3568 float pointSizeRange[2];
3569 float lineWidthRange[2];
3570 float pointSizeGranularity;
3571 float lineWidthGranularity;
3572 VkBool32 strictLines;
3573 VkBool32 standardSampleLocations;
3574 VkDeviceSize optimalBufferCopyOffsetAlignment;
3575 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3576 VkDeviceSize nonCoherentAtomSize;
3577 } VkPhysicalDeviceLimits;
3579 typedef struct VkPhysicalDeviceMemoryProperties {
3580 deUint32 memoryTypeCount;
3581 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3582 deUint32 memoryHeapCount;
3583 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3584 } VkPhysicalDeviceMemoryProperties;
3586 typedef struct VkPhysicalDeviceSparseProperties {
3587 VkBool32 residencyStandard2DBlockShape;
3588 VkBool32 residencyStandard2DMultisampleBlockShape;
3589 VkBool32 residencyStandard3DBlockShape;
3590 VkBool32 residencyAlignedMipSize;
3591 VkBool32 residencyNonResidentStrict;
3592 } VkPhysicalDeviceSparseProperties;
3594 typedef struct VkPhysicalDeviceProperties {
3595 deUint32 apiVersion;
3596 deUint32 driverVersion;
3599 VkPhysicalDeviceType deviceType;
3600 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3601 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3602 VkPhysicalDeviceLimits limits;
3603 VkPhysicalDeviceSparseProperties sparseProperties;
3604 } VkPhysicalDeviceProperties;
3606 typedef struct VkQueueFamilyProperties {
3607 VkQueueFlags queueFlags;
3608 deUint32 queueCount;
3609 deUint32 timestampValidBits;
3610 VkExtent3D minImageTransferGranularity;
3611 } VkQueueFamilyProperties;
3613 typedef struct VkDeviceQueueCreateInfo {
3614 VkStructureType sType;
3616 VkDeviceQueueCreateFlags flags;
3617 deUint32 queueFamilyIndex;
3618 deUint32 queueCount;
3619 const float* pQueuePriorities;
3620 } VkDeviceQueueCreateInfo;
3622 typedef struct VkDeviceCreateInfo {
3623 VkStructureType sType;
3625 VkDeviceCreateFlags flags;
3626 deUint32 queueCreateInfoCount;
3627 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3628 deUint32 enabledLayerCount;
3629 const char* const* ppEnabledLayerNames;
3630 deUint32 enabledExtensionCount;
3631 const char* const* ppEnabledExtensionNames;
3632 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3633 } VkDeviceCreateInfo;
3635 typedef struct VkExtensionProperties {
3636 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3637 deUint32 specVersion;
3638 } VkExtensionProperties;
3640 typedef struct VkLayerProperties {
3641 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3642 deUint32 specVersion;
3643 deUint32 implementationVersion;
3644 char description[VK_MAX_DESCRIPTION_SIZE];
3645 } VkLayerProperties;
3647 typedef struct VkSubmitInfo {
3648 VkStructureType sType;
3650 deUint32 waitSemaphoreCount;
3651 const VkSemaphore* pWaitSemaphores;
3652 const VkPipelineStageFlags* pWaitDstStageMask;
3653 deUint32 commandBufferCount;
3654 const VkCommandBuffer* pCommandBuffers;
3655 deUint32 signalSemaphoreCount;
3656 const VkSemaphore* pSignalSemaphores;
3659 typedef struct VkMappedMemoryRange {
3660 VkStructureType sType;
3662 VkDeviceMemory memory;
3663 VkDeviceSize offset;
3665 } VkMappedMemoryRange;
3667 typedef struct VkMemoryAllocateInfo {
3668 VkStructureType sType;
3670 VkDeviceSize allocationSize;
3671 deUint32 memoryTypeIndex;
3672 } VkMemoryAllocateInfo;
3674 typedef struct VkMemoryRequirements {
3676 VkDeviceSize alignment;
3677 deUint32 memoryTypeBits;
3678 } VkMemoryRequirements;
3680 typedef struct VkSparseMemoryBind {
3681 VkDeviceSize resourceOffset;
3683 VkDeviceMemory memory;
3684 VkDeviceSize memoryOffset;
3685 VkSparseMemoryBindFlags flags;
3686 } VkSparseMemoryBind;
3688 typedef struct VkSparseBufferMemoryBindInfo {
3691 const VkSparseMemoryBind* pBinds;
3692 } VkSparseBufferMemoryBindInfo;
3694 typedef struct VkSparseImageOpaqueMemoryBindInfo {
3697 const VkSparseMemoryBind* pBinds;
3698 } VkSparseImageOpaqueMemoryBindInfo;
3700 typedef struct VkImageSubresource {
3701 VkImageAspectFlags aspectMask;
3703 deUint32 arrayLayer;
3704 } VkImageSubresource;
3706 typedef struct VkSparseImageMemoryBind {
3707 VkImageSubresource subresource;
3710 VkDeviceMemory memory;
3711 VkDeviceSize memoryOffset;
3712 VkSparseMemoryBindFlags flags;
3713 } VkSparseImageMemoryBind;
3715 typedef struct VkSparseImageMemoryBindInfo {
3718 const VkSparseImageMemoryBind* pBinds;
3719 } VkSparseImageMemoryBindInfo;
3721 typedef struct VkBindSparseInfo {
3722 VkStructureType sType;
3724 deUint32 waitSemaphoreCount;
3725 const VkSemaphore* pWaitSemaphores;
3726 deUint32 bufferBindCount;
3727 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3728 deUint32 imageOpaqueBindCount;
3729 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3730 deUint32 imageBindCount;
3731 const VkSparseImageMemoryBindInfo* pImageBinds;
3732 deUint32 signalSemaphoreCount;
3733 const VkSemaphore* pSignalSemaphores;
3736 typedef struct VkSparseImageFormatProperties {
3737 VkImageAspectFlags aspectMask;
3738 VkExtent3D imageGranularity;
3739 VkSparseImageFormatFlags flags;
3740 } VkSparseImageFormatProperties;
3742 typedef struct VkSparseImageMemoryRequirements {
3743 VkSparseImageFormatProperties formatProperties;
3744 deUint32 imageMipTailFirstLod;
3745 VkDeviceSize imageMipTailSize;
3746 VkDeviceSize imageMipTailOffset;
3747 VkDeviceSize imageMipTailStride;
3748 } VkSparseImageMemoryRequirements;
3750 typedef struct VkFenceCreateInfo {
3751 VkStructureType sType;
3753 VkFenceCreateFlags flags;
3754 } VkFenceCreateInfo;
3756 typedef struct VkSemaphoreCreateInfo {
3757 VkStructureType sType;
3759 VkSemaphoreCreateFlags flags;
3760 } VkSemaphoreCreateInfo;
3762 typedef struct VkEventCreateInfo {
3763 VkStructureType sType;
3765 VkEventCreateFlags flags;
3766 } VkEventCreateInfo;
3768 typedef struct VkQueryPoolCreateInfo {
3769 VkStructureType sType;
3771 VkQueryPoolCreateFlags flags;
3772 VkQueryType queryType;
3773 deUint32 queryCount;
3774 VkQueryPipelineStatisticFlags pipelineStatistics;
3775 } VkQueryPoolCreateInfo;
3777 typedef struct VkBufferCreateInfo {
3778 VkStructureType sType;
3780 VkBufferCreateFlags flags;
3782 VkBufferUsageFlags usage;
3783 VkSharingMode sharingMode;
3784 deUint32 queueFamilyIndexCount;
3785 const deUint32* pQueueFamilyIndices;
3786 } VkBufferCreateInfo;
3788 typedef struct VkBufferViewCreateInfo {
3789 VkStructureType sType;
3791 VkBufferViewCreateFlags flags;
3794 VkDeviceSize offset;
3796 } VkBufferViewCreateInfo;
3798 typedef struct VkImageCreateInfo {
3799 VkStructureType sType;
3801 VkImageCreateFlags flags;
3802 VkImageType imageType;
3806 deUint32 arrayLayers;
3807 VkSampleCountFlagBits samples;
3808 VkImageTiling tiling;
3809 VkImageUsageFlags usage;
3810 VkSharingMode sharingMode;
3811 deUint32 queueFamilyIndexCount;
3812 const deUint32* pQueueFamilyIndices;
3813 VkImageLayout initialLayout;
3814 } VkImageCreateInfo;
3816 typedef struct VkSubresourceLayout {
3817 VkDeviceSize offset;
3819 VkDeviceSize rowPitch;
3820 VkDeviceSize arrayPitch;
3821 VkDeviceSize depthPitch;
3822 } VkSubresourceLayout;
3824 typedef struct VkComponentMapping {
3825 VkComponentSwizzle r;
3826 VkComponentSwizzle g;
3827 VkComponentSwizzle b;
3828 VkComponentSwizzle a;
3829 } VkComponentMapping;
3831 typedef struct VkImageViewCreateInfo {
3832 VkStructureType sType;
3834 VkImageViewCreateFlags flags;
3836 VkImageViewType viewType;
3838 VkComponentMapping components;
3839 VkImageSubresourceRange subresourceRange;
3840 } VkImageViewCreateInfo;
3842 typedef struct VkShaderModuleCreateInfo {
3843 VkStructureType sType;
3845 VkShaderModuleCreateFlags flags;
3847 const deUint32* pCode;
3848 } VkShaderModuleCreateInfo;
3850 typedef struct VkPipelineCacheCreateInfo {
3851 VkStructureType sType;
3853 VkPipelineCacheCreateFlags flags;
3854 deUintptr initialDataSize;
3855 const void* pInitialData;
3856 } VkPipelineCacheCreateInfo;
3858 typedef struct VkSpecializationMapEntry {
3859 deUint32 constantID;
3862 } VkSpecializationMapEntry;
3864 typedef struct VkSpecializationInfo {
3865 deUint32 mapEntryCount;
3866 const VkSpecializationMapEntry* pMapEntries;
3869 } VkSpecializationInfo;
3871 typedef struct VkPipelineShaderStageCreateInfo {
3872 VkStructureType sType;
3874 VkPipelineShaderStageCreateFlags flags;
3875 VkShaderStageFlagBits stage;
3876 VkShaderModule module;
3878 const VkSpecializationInfo* pSpecializationInfo;
3879 } VkPipelineShaderStageCreateInfo;
3881 typedef struct VkComputePipelineCreateInfo {
3882 VkStructureType sType;
3884 VkPipelineCreateFlags flags;
3885 VkPipelineShaderStageCreateInfo stage;
3886 VkPipelineLayout layout;
3887 VkPipeline basePipelineHandle;
3888 deInt32 basePipelineIndex;
3889 } VkComputePipelineCreateInfo;
3891 typedef struct VkVertexInputBindingDescription {
3894 VkVertexInputRate inputRate;
3895 } VkVertexInputBindingDescription;
3897 typedef struct VkVertexInputAttributeDescription {
3902 } VkVertexInputAttributeDescription;
3904 typedef struct VkPipelineVertexInputStateCreateInfo {
3905 VkStructureType sType;
3907 VkPipelineVertexInputStateCreateFlags flags;
3908 deUint32 vertexBindingDescriptionCount;
3909 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3910 deUint32 vertexAttributeDescriptionCount;
3911 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3912 } VkPipelineVertexInputStateCreateInfo;
3914 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3915 VkStructureType sType;
3917 VkPipelineInputAssemblyStateCreateFlags flags;
3918 VkPrimitiveTopology topology;
3919 VkBool32 primitiveRestartEnable;
3920 } VkPipelineInputAssemblyStateCreateInfo;
3922 typedef struct VkPipelineTessellationStateCreateInfo {
3923 VkStructureType sType;
3925 VkPipelineTessellationStateCreateFlags flags;
3926 deUint32 patchControlPoints;
3927 } VkPipelineTessellationStateCreateInfo;
3929 typedef struct VkViewport {
3938 typedef struct VkPipelineViewportStateCreateInfo {
3939 VkStructureType sType;
3941 VkPipelineViewportStateCreateFlags flags;
3942 deUint32 viewportCount;
3943 const VkViewport* pViewports;
3944 deUint32 scissorCount;
3945 const VkRect2D* pScissors;
3946 } VkPipelineViewportStateCreateInfo;
3948 typedef struct VkPipelineRasterizationStateCreateInfo {
3949 VkStructureType sType;
3951 VkPipelineRasterizationStateCreateFlags flags;
3952 VkBool32 depthClampEnable;
3953 VkBool32 rasterizerDiscardEnable;
3954 VkPolygonMode polygonMode;
3955 VkCullModeFlags cullMode;
3956 VkFrontFace frontFace;
3957 VkBool32 depthBiasEnable;
3958 float depthBiasConstantFactor;
3959 float depthBiasClamp;
3960 float depthBiasSlopeFactor;
3962 } VkPipelineRasterizationStateCreateInfo;
3964 typedef struct VkPipelineMultisampleStateCreateInfo {
3965 VkStructureType sType;
3967 VkPipelineMultisampleStateCreateFlags flags;
3968 VkSampleCountFlagBits rasterizationSamples;
3969 VkBool32 sampleShadingEnable;
3970 float minSampleShading;
3971 const VkSampleMask* pSampleMask;
3972 VkBool32 alphaToCoverageEnable;
3973 VkBool32 alphaToOneEnable;
3974 } VkPipelineMultisampleStateCreateInfo;
3976 typedef struct VkStencilOpState {
3979 VkStencilOp depthFailOp;
3980 VkCompareOp compareOp;
3981 deUint32 compareMask;
3986 typedef struct VkPipelineDepthStencilStateCreateInfo {
3987 VkStructureType sType;
3989 VkPipelineDepthStencilStateCreateFlags flags;
3990 VkBool32 depthTestEnable;
3991 VkBool32 depthWriteEnable;
3992 VkCompareOp depthCompareOp;
3993 VkBool32 depthBoundsTestEnable;
3994 VkBool32 stencilTestEnable;
3995 VkStencilOpState front;
3996 VkStencilOpState back;
3997 float minDepthBounds;
3998 float maxDepthBounds;
3999 } VkPipelineDepthStencilStateCreateInfo;
4001 typedef struct VkPipelineColorBlendAttachmentState {
4002 VkBool32 blendEnable;
4003 VkBlendFactor srcColorBlendFactor;
4004 VkBlendFactor dstColorBlendFactor;
4005 VkBlendOp colorBlendOp;
4006 VkBlendFactor srcAlphaBlendFactor;
4007 VkBlendFactor dstAlphaBlendFactor;
4008 VkBlendOp alphaBlendOp;
4009 VkColorComponentFlags colorWriteMask;
4010 } VkPipelineColorBlendAttachmentState;
4012 typedef struct VkPipelineColorBlendStateCreateInfo {
4013 VkStructureType sType;
4015 VkPipelineColorBlendStateCreateFlags flags;
4016 VkBool32 logicOpEnable;
4018 deUint32 attachmentCount;
4019 const VkPipelineColorBlendAttachmentState* pAttachments;
4020 float blendConstants[4];
4021 } VkPipelineColorBlendStateCreateInfo;
4023 typedef struct VkPipelineDynamicStateCreateInfo {
4024 VkStructureType sType;
4026 VkPipelineDynamicStateCreateFlags flags;
4027 deUint32 dynamicStateCount;
4028 const VkDynamicState* pDynamicStates;
4029 } VkPipelineDynamicStateCreateInfo;
4031 typedef struct VkGraphicsPipelineCreateInfo {
4032 VkStructureType sType;
4034 VkPipelineCreateFlags flags;
4035 deUint32 stageCount;
4036 const VkPipelineShaderStageCreateInfo* pStages;
4037 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4038 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4039 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4040 const VkPipelineViewportStateCreateInfo* pViewportState;
4041 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4042 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4043 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4044 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4045 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4046 VkPipelineLayout layout;
4047 VkRenderPass renderPass;
4049 VkPipeline basePipelineHandle;
4050 deInt32 basePipelineIndex;
4051 } VkGraphicsPipelineCreateInfo;
4053 typedef struct VkPushConstantRange {
4054 VkShaderStageFlags stageFlags;
4057 } VkPushConstantRange;
4059 typedef struct VkPipelineLayoutCreateInfo {
4060 VkStructureType sType;
4062 VkPipelineLayoutCreateFlags flags;
4063 deUint32 setLayoutCount;
4064 const VkDescriptorSetLayout* pSetLayouts;
4065 deUint32 pushConstantRangeCount;
4066 const VkPushConstantRange* pPushConstantRanges;
4067 } VkPipelineLayoutCreateInfo;
4069 typedef struct VkSamplerCreateInfo {
4070 VkStructureType sType;
4072 VkSamplerCreateFlags flags;
4075 VkSamplerMipmapMode mipmapMode;
4076 VkSamplerAddressMode addressModeU;
4077 VkSamplerAddressMode addressModeV;
4078 VkSamplerAddressMode addressModeW;
4080 VkBool32 anisotropyEnable;
4081 float maxAnisotropy;
4082 VkBool32 compareEnable;
4083 VkCompareOp compareOp;
4086 VkBorderColor borderColor;
4087 VkBool32 unnormalizedCoordinates;
4088 } VkSamplerCreateInfo;
4090 typedef struct VkCopyDescriptorSet {
4091 VkStructureType sType;
4093 VkDescriptorSet srcSet;
4094 deUint32 srcBinding;
4095 deUint32 srcArrayElement;
4096 VkDescriptorSet dstSet;
4097 deUint32 dstBinding;
4098 deUint32 dstArrayElement;
4099 deUint32 descriptorCount;
4100 } VkCopyDescriptorSet;
4102 typedef struct VkDescriptorBufferInfo {
4104 VkDeviceSize offset;
4106 } VkDescriptorBufferInfo;
4108 typedef struct VkDescriptorImageInfo {
4110 VkImageView imageView;
4111 VkImageLayout imageLayout;
4112 } VkDescriptorImageInfo;
4114 typedef struct VkDescriptorPoolSize {
4115 VkDescriptorType type;
4116 deUint32 descriptorCount;
4117 } VkDescriptorPoolSize;
4119 typedef struct VkDescriptorPoolCreateInfo {
4120 VkStructureType sType;
4122 VkDescriptorPoolCreateFlags flags;
4124 deUint32 poolSizeCount;
4125 const VkDescriptorPoolSize* pPoolSizes;
4126 } VkDescriptorPoolCreateInfo;
4128 typedef struct VkDescriptorSetAllocateInfo {
4129 VkStructureType sType;
4131 VkDescriptorPool descriptorPool;
4132 deUint32 descriptorSetCount;
4133 const VkDescriptorSetLayout* pSetLayouts;
4134 } VkDescriptorSetAllocateInfo;
4136 typedef struct VkDescriptorSetLayoutBinding {
4138 VkDescriptorType descriptorType;
4139 deUint32 descriptorCount;
4140 VkShaderStageFlags stageFlags;
4141 const VkSampler* pImmutableSamplers;
4142 } VkDescriptorSetLayoutBinding;
4144 typedef struct VkDescriptorSetLayoutCreateInfo {
4145 VkStructureType sType;
4147 VkDescriptorSetLayoutCreateFlags flags;
4148 deUint32 bindingCount;
4149 const VkDescriptorSetLayoutBinding* pBindings;
4150 } VkDescriptorSetLayoutCreateInfo;
4152 typedef struct VkWriteDescriptorSet {
4153 VkStructureType sType;
4155 VkDescriptorSet dstSet;
4156 deUint32 dstBinding;
4157 deUint32 dstArrayElement;
4158 deUint32 descriptorCount;
4159 VkDescriptorType descriptorType;
4160 const VkDescriptorImageInfo* pImageInfo;
4161 const VkDescriptorBufferInfo* pBufferInfo;
4162 const VkBufferView* pTexelBufferView;
4163 } VkWriteDescriptorSet;
4165 typedef struct VkAttachmentDescription {
4166 VkAttachmentDescriptionFlags flags;
4168 VkSampleCountFlagBits samples;
4169 VkAttachmentLoadOp loadOp;
4170 VkAttachmentStoreOp storeOp;
4171 VkAttachmentLoadOp stencilLoadOp;
4172 VkAttachmentStoreOp stencilStoreOp;
4173 VkImageLayout initialLayout;
4174 VkImageLayout finalLayout;
4175 } VkAttachmentDescription;
4177 typedef struct VkAttachmentReference {
4178 deUint32 attachment;
4179 VkImageLayout layout;
4180 } VkAttachmentReference;
4182 typedef struct VkFramebufferCreateInfo {
4183 VkStructureType sType;
4185 VkFramebufferCreateFlags flags;
4186 VkRenderPass renderPass;
4187 deUint32 attachmentCount;
4188 const VkImageView* pAttachments;
4192 } VkFramebufferCreateInfo;
4194 typedef struct VkSubpassDescription {
4195 VkSubpassDescriptionFlags flags;
4196 VkPipelineBindPoint pipelineBindPoint;
4197 deUint32 inputAttachmentCount;
4198 const VkAttachmentReference* pInputAttachments;
4199 deUint32 colorAttachmentCount;
4200 const VkAttachmentReference* pColorAttachments;
4201 const VkAttachmentReference* pResolveAttachments;
4202 const VkAttachmentReference* pDepthStencilAttachment;
4203 deUint32 preserveAttachmentCount;
4204 const deUint32* pPreserveAttachments;
4205 } VkSubpassDescription;
4207 typedef struct VkSubpassDependency {
4208 deUint32 srcSubpass;
4209 deUint32 dstSubpass;
4210 VkPipelineStageFlags srcStageMask;
4211 VkPipelineStageFlags dstStageMask;
4212 VkAccessFlags srcAccessMask;
4213 VkAccessFlags dstAccessMask;
4214 VkDependencyFlags dependencyFlags;
4215 } VkSubpassDependency;
4217 typedef struct VkRenderPassCreateInfo {
4218 VkStructureType sType;
4220 VkRenderPassCreateFlags flags;
4221 deUint32 attachmentCount;
4222 const VkAttachmentDescription* pAttachments;
4223 deUint32 subpassCount;
4224 const VkSubpassDescription* pSubpasses;
4225 deUint32 dependencyCount;
4226 const VkSubpassDependency* pDependencies;
4227 } VkRenderPassCreateInfo;
4229 typedef struct VkCommandPoolCreateInfo {
4230 VkStructureType sType;
4232 VkCommandPoolCreateFlags flags;
4233 deUint32 queueFamilyIndex;
4234 } VkCommandPoolCreateInfo;
4236 typedef struct VkCommandBufferAllocateInfo {
4237 VkStructureType sType;
4239 VkCommandPool commandPool;
4240 VkCommandBufferLevel level;
4241 deUint32 commandBufferCount;
4242 } VkCommandBufferAllocateInfo;
4244 typedef struct VkCommandBufferInheritanceInfo {
4245 VkStructureType sType;
4247 VkRenderPass renderPass;
4249 VkFramebuffer framebuffer;
4250 VkBool32 occlusionQueryEnable;
4251 VkQueryControlFlags queryFlags;
4252 VkQueryPipelineStatisticFlags pipelineStatistics;
4253 } VkCommandBufferInheritanceInfo;
4255 typedef struct VkCommandBufferBeginInfo {
4256 VkStructureType sType;
4258 VkCommandBufferUsageFlags flags;
4259 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4260 } VkCommandBufferBeginInfo;
4262 typedef struct VkBufferCopy {
4263 VkDeviceSize srcOffset;
4264 VkDeviceSize dstOffset;
4268 typedef struct VkImageSubresourceLayers {
4269 VkImageAspectFlags aspectMask;
4271 deUint32 baseArrayLayer;
4272 deUint32 layerCount;
4273 } VkImageSubresourceLayers;
4275 typedef struct VkBufferImageCopy {
4276 VkDeviceSize bufferOffset;
4277 deUint32 bufferRowLength;
4278 deUint32 bufferImageHeight;
4279 VkImageSubresourceLayers imageSubresource;
4280 VkOffset3D imageOffset;
4281 VkExtent3D imageExtent;
4282 } VkBufferImageCopy;
4284 typedef union VkClearColorValue {
4288 } VkClearColorValue;
4290 typedef struct VkClearDepthStencilValue {
4293 } VkClearDepthStencilValue;
4295 typedef union VkClearValue {
4296 VkClearColorValue color;
4297 VkClearDepthStencilValue depthStencil;
4300 typedef struct VkClearAttachment {
4301 VkImageAspectFlags aspectMask;
4302 deUint32 colorAttachment;
4303 VkClearValue clearValue;
4304 } VkClearAttachment;
4306 typedef struct VkClearRect {
4308 deUint32 baseArrayLayer;
4309 deUint32 layerCount;
4312 typedef struct VkImageBlit {
4313 VkImageSubresourceLayers srcSubresource;
4314 VkOffset3D srcOffsets[2];
4315 VkImageSubresourceLayers dstSubresource;
4316 VkOffset3D dstOffsets[2];
4319 typedef struct VkImageCopy {
4320 VkImageSubresourceLayers srcSubresource;
4321 VkOffset3D srcOffset;
4322 VkImageSubresourceLayers dstSubresource;
4323 VkOffset3D dstOffset;
4327 typedef struct VkImageResolve {
4328 VkImageSubresourceLayers srcSubresource;
4329 VkOffset3D srcOffset;
4330 VkImageSubresourceLayers dstSubresource;
4331 VkOffset3D dstOffset;
4335 typedef struct VkRenderPassBeginInfo {
4336 VkStructureType sType;
4338 VkRenderPass renderPass;
4339 VkFramebuffer framebuffer;
4340 VkRect2D renderArea;
4341 deUint32 clearValueCount;
4342 const VkClearValue* pClearValues;
4343 } VkRenderPassBeginInfo;
4345 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4346 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4347 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4348 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4349 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4350 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4351 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4352 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4353 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4354 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4355 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4356 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4357 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4358 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4359 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4360 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4361 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4362 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4363 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4364 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4365 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4366 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4367 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4368 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4369 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4370 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4371 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4372 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4373 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4374 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4375 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4376 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4377 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4378 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4379 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4380 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4381 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4382 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4383 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4384 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4385 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4386 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4387 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4388 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4389 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4390 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4391 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4392 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4393 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4394 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4395 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4396 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4397 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4398 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4399 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4400 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4401 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4402 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4403 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4404 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4405 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4406 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4407 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4408 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4409 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4410 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4411 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4412 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4413 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4414 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4415 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4416 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4417 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4418 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4419 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4420 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4421 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4422 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4423 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4424 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4425 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4426 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4427 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4428 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4429 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4430 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4431 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4432 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4433 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4434 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4435 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4436 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4437 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4438 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4439 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4440 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4441 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4442 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4443 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4444 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4445 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4446 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4447 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4448 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4449 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4450 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4451 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4452 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4453 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4454 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4455 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4456 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4457 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4458 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4459 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4460 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4461 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4462 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4463 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4464 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4465 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4466 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4467 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4468 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4469 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4470 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);
4471 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);
4472 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4473 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4474 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4475 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4476 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4477 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4478 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4479 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4480 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4481 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4483 #ifndef VK_NO_PROTOTYPES
4484 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4485 const VkInstanceCreateInfo* pCreateInfo,
4486 const VkAllocationCallbacks* pAllocator,
4487 VkInstance* pInstance);
4489 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4490 VkInstance instance,
4491 const VkAllocationCallbacks* pAllocator);
4493 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4494 VkInstance instance,
4495 deUint32* pPhysicalDeviceCount,
4496 VkPhysicalDevice* pPhysicalDevices);
4498 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4499 VkPhysicalDevice physicalDevice,
4500 VkPhysicalDeviceFeatures* pFeatures);
4502 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4503 VkPhysicalDevice physicalDevice,
4505 VkFormatProperties* pFormatProperties);
4507 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4508 VkPhysicalDevice physicalDevice,
4511 VkImageTiling tiling,
4512 VkImageUsageFlags usage,
4513 VkImageCreateFlags flags,
4514 VkImageFormatProperties* pImageFormatProperties);
4516 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4517 VkPhysicalDevice physicalDevice,
4518 VkPhysicalDeviceProperties* pProperties);
4520 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4521 VkPhysicalDevice physicalDevice,
4522 deUint32* pQueueFamilyPropertyCount,
4523 VkQueueFamilyProperties* pQueueFamilyProperties);
4525 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4526 VkPhysicalDevice physicalDevice,
4527 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4529 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4530 VkInstance instance,
4533 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4537 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4538 VkPhysicalDevice physicalDevice,
4539 const VkDeviceCreateInfo* pCreateInfo,
4540 const VkAllocationCallbacks* pAllocator,
4543 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4545 const VkAllocationCallbacks* pAllocator);
4547 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4548 const char* pLayerName,
4549 deUint32* pPropertyCount,
4550 VkExtensionProperties* pProperties);
4552 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4553 VkPhysicalDevice physicalDevice,
4554 const char* pLayerName,
4555 deUint32* pPropertyCount,
4556 VkExtensionProperties* pProperties);
4558 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4559 deUint32* pPropertyCount,
4560 VkLayerProperties* pProperties);
4562 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4563 VkPhysicalDevice physicalDevice,
4564 deUint32* pPropertyCount,
4565 VkLayerProperties* pProperties);
4567 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4569 deUint32 queueFamilyIndex,
4570 deUint32 queueIndex,
4573 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4575 deUint32 submitCount,
4576 const VkSubmitInfo* pSubmits,
4579 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4582 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4585 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4587 const VkMemoryAllocateInfo* pAllocateInfo,
4588 const VkAllocationCallbacks* pAllocator,
4589 VkDeviceMemory* pMemory);
4591 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4593 VkDeviceMemory memory,
4594 const VkAllocationCallbacks* pAllocator);
4596 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4598 VkDeviceMemory memory,
4599 VkDeviceSize offset,
4601 VkMemoryMapFlags flags,
4604 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4606 VkDeviceMemory memory);
4608 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4610 deUint32 memoryRangeCount,
4611 const VkMappedMemoryRange* pMemoryRanges);
4613 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4615 deUint32 memoryRangeCount,
4616 const VkMappedMemoryRange* pMemoryRanges);
4618 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4620 VkDeviceMemory memory,
4621 VkDeviceSize* pCommittedMemoryInBytes);
4623 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4626 VkDeviceMemory memory,
4627 VkDeviceSize memoryOffset);
4629 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4632 VkDeviceMemory memory,
4633 VkDeviceSize memoryOffset);
4635 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4638 VkMemoryRequirements* pMemoryRequirements);
4640 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4643 VkMemoryRequirements* pMemoryRequirements);
4645 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4648 deUint32* pSparseMemoryRequirementCount,
4649 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4651 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4652 VkPhysicalDevice physicalDevice,
4655 VkSampleCountFlagBits samples,
4656 VkImageUsageFlags usage,
4657 VkImageTiling tiling,
4658 deUint32* pPropertyCount,
4659 VkSparseImageFormatProperties* pProperties);
4661 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4663 deUint32 bindInfoCount,
4664 const VkBindSparseInfo* pBindInfo,
4667 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4669 const VkFenceCreateInfo* pCreateInfo,
4670 const VkAllocationCallbacks* pAllocator,
4673 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4676 const VkAllocationCallbacks* pAllocator);
4678 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4680 deUint32 fenceCount,
4681 const VkFence* pFences);
4683 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4687 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4689 deUint32 fenceCount,
4690 const VkFence* pFences,
4694 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4696 const VkSemaphoreCreateInfo* pCreateInfo,
4697 const VkAllocationCallbacks* pAllocator,
4698 VkSemaphore* pSemaphore);
4700 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4702 VkSemaphore semaphore,
4703 const VkAllocationCallbacks* pAllocator);
4705 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4707 const VkEventCreateInfo* pCreateInfo,
4708 const VkAllocationCallbacks* pAllocator,
4711 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4714 const VkAllocationCallbacks* pAllocator);
4716 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4720 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4724 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4728 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4730 const VkQueryPoolCreateInfo* pCreateInfo,
4731 const VkAllocationCallbacks* pAllocator,
4732 VkQueryPool* pQueryPool);
4734 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4736 VkQueryPool queryPool,
4737 const VkAllocationCallbacks* pAllocator);
4739 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4741 VkQueryPool queryPool,
4742 deUint32 firstQuery,
4743 deUint32 queryCount,
4746 VkDeviceSize stride,
4747 VkQueryResultFlags flags);
4749 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4751 const VkBufferCreateInfo* pCreateInfo,
4752 const VkAllocationCallbacks* pAllocator,
4755 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4758 const VkAllocationCallbacks* pAllocator);
4760 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4762 const VkBufferViewCreateInfo* pCreateInfo,
4763 const VkAllocationCallbacks* pAllocator,
4764 VkBufferView* pView);
4766 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4768 VkBufferView bufferView,
4769 const VkAllocationCallbacks* pAllocator);
4771 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4773 const VkImageCreateInfo* pCreateInfo,
4774 const VkAllocationCallbacks* pAllocator,
4777 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4780 const VkAllocationCallbacks* pAllocator);
4782 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4785 const VkImageSubresource* pSubresource,
4786 VkSubresourceLayout* pLayout);
4788 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4790 const VkImageViewCreateInfo* pCreateInfo,
4791 const VkAllocationCallbacks* pAllocator,
4792 VkImageView* pView);
4794 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4796 VkImageView imageView,
4797 const VkAllocationCallbacks* pAllocator);
4799 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4801 const VkShaderModuleCreateInfo* pCreateInfo,
4802 const VkAllocationCallbacks* pAllocator,
4803 VkShaderModule* pShaderModule);
4805 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4807 VkShaderModule shaderModule,
4808 const VkAllocationCallbacks* pAllocator);
4810 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4812 const VkPipelineCacheCreateInfo* pCreateInfo,
4813 const VkAllocationCallbacks* pAllocator,
4814 VkPipelineCache* pPipelineCache);
4816 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4818 VkPipelineCache pipelineCache,
4819 const VkAllocationCallbacks* pAllocator);
4821 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4823 VkPipelineCache pipelineCache,
4824 deUintptr* pDataSize,
4827 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4829 VkPipelineCache dstCache,
4830 deUint32 srcCacheCount,
4831 const VkPipelineCache* pSrcCaches);
4833 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4835 VkPipelineCache pipelineCache,
4836 deUint32 createInfoCount,
4837 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4838 const VkAllocationCallbacks* pAllocator,
4839 VkPipeline* pPipelines);
4841 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4843 VkPipelineCache pipelineCache,
4844 deUint32 createInfoCount,
4845 const VkComputePipelineCreateInfo* pCreateInfos,
4846 const VkAllocationCallbacks* pAllocator,
4847 VkPipeline* pPipelines);
4849 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4851 VkPipeline pipeline,
4852 const VkAllocationCallbacks* pAllocator);
4854 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4856 const VkPipelineLayoutCreateInfo* pCreateInfo,
4857 const VkAllocationCallbacks* pAllocator,
4858 VkPipelineLayout* pPipelineLayout);
4860 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4862 VkPipelineLayout pipelineLayout,
4863 const VkAllocationCallbacks* pAllocator);
4865 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4867 const VkSamplerCreateInfo* pCreateInfo,
4868 const VkAllocationCallbacks* pAllocator,
4869 VkSampler* pSampler);
4871 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4874 const VkAllocationCallbacks* pAllocator);
4876 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4878 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4879 const VkAllocationCallbacks* pAllocator,
4880 VkDescriptorSetLayout* pSetLayout);
4882 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4884 VkDescriptorSetLayout descriptorSetLayout,
4885 const VkAllocationCallbacks* pAllocator);
4887 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4889 const VkDescriptorPoolCreateInfo* pCreateInfo,
4890 const VkAllocationCallbacks* pAllocator,
4891 VkDescriptorPool* pDescriptorPool);
4893 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4895 VkDescriptorPool descriptorPool,
4896 const VkAllocationCallbacks* pAllocator);
4898 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4900 VkDescriptorPool descriptorPool,
4901 VkDescriptorPoolResetFlags flags);
4903 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4905 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4906 VkDescriptorSet* pDescriptorSets);
4908 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4910 VkDescriptorPool descriptorPool,
4911 deUint32 descriptorSetCount,
4912 const VkDescriptorSet* pDescriptorSets);
4914 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4916 deUint32 descriptorWriteCount,
4917 const VkWriteDescriptorSet* pDescriptorWrites,
4918 deUint32 descriptorCopyCount,
4919 const VkCopyDescriptorSet* pDescriptorCopies);
4921 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4923 const VkFramebufferCreateInfo* pCreateInfo,
4924 const VkAllocationCallbacks* pAllocator,
4925 VkFramebuffer* pFramebuffer);
4927 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4929 VkFramebuffer framebuffer,
4930 const VkAllocationCallbacks* pAllocator);
4932 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4934 const VkRenderPassCreateInfo* pCreateInfo,
4935 const VkAllocationCallbacks* pAllocator,
4936 VkRenderPass* pRenderPass);
4938 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4940 VkRenderPass renderPass,
4941 const VkAllocationCallbacks* pAllocator);
4943 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4945 VkRenderPass renderPass,
4946 VkExtent2D* pGranularity);
4948 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4950 const VkCommandPoolCreateInfo* pCreateInfo,
4951 const VkAllocationCallbacks* pAllocator,
4952 VkCommandPool* pCommandPool);
4954 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4956 VkCommandPool commandPool,
4957 const VkAllocationCallbacks* pAllocator);
4959 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4961 VkCommandPool commandPool,
4962 VkCommandPoolResetFlags flags);
4964 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4966 const VkCommandBufferAllocateInfo* pAllocateInfo,
4967 VkCommandBuffer* pCommandBuffers);
4969 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4971 VkCommandPool commandPool,
4972 deUint32 commandBufferCount,
4973 const VkCommandBuffer* pCommandBuffers);
4975 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4976 VkCommandBuffer commandBuffer,
4977 const VkCommandBufferBeginInfo* pBeginInfo);
4979 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4980 VkCommandBuffer commandBuffer);
4982 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4983 VkCommandBuffer commandBuffer,
4984 VkCommandBufferResetFlags flags);
4986 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4987 VkCommandBuffer commandBuffer,
4988 VkPipelineBindPoint pipelineBindPoint,
4989 VkPipeline pipeline);
4991 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
4992 VkCommandBuffer commandBuffer,
4993 deUint32 firstViewport,
4994 deUint32 viewportCount,
4995 const VkViewport* pViewports);
4997 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
4998 VkCommandBuffer commandBuffer,
4999 deUint32 firstScissor,
5000 deUint32 scissorCount,
5001 const VkRect2D* pScissors);
5003 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
5004 VkCommandBuffer commandBuffer,
5007 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
5008 VkCommandBuffer commandBuffer,
5009 float depthBiasConstantFactor,
5010 float depthBiasClamp,
5011 float depthBiasSlopeFactor);
5013 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
5014 VkCommandBuffer commandBuffer,
5015 const float blendConstants[4]);
5017 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
5018 VkCommandBuffer commandBuffer,
5019 float minDepthBounds,
5020 float maxDepthBounds);
5022 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5023 VkCommandBuffer commandBuffer,
5024 VkStencilFaceFlags faceMask,
5025 deUint32 compareMask);
5027 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5028 VkCommandBuffer commandBuffer,
5029 VkStencilFaceFlags faceMask,
5030 deUint32 writeMask);
5032 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5033 VkCommandBuffer commandBuffer,
5034 VkStencilFaceFlags faceMask,
5035 deUint32 reference);
5037 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5038 VkCommandBuffer commandBuffer,
5039 VkPipelineBindPoint pipelineBindPoint,
5040 VkPipelineLayout layout,
5042 deUint32 descriptorSetCount,
5043 const VkDescriptorSet* pDescriptorSets,
5044 deUint32 dynamicOffsetCount,
5045 const deUint32* pDynamicOffsets);
5047 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5048 VkCommandBuffer commandBuffer,
5050 VkDeviceSize offset,
5051 VkIndexType indexType);
5053 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5054 VkCommandBuffer commandBuffer,
5055 deUint32 firstBinding,
5056 deUint32 bindingCount,
5057 const VkBuffer* pBuffers,
5058 const VkDeviceSize* pOffsets);
5060 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5061 VkCommandBuffer commandBuffer,
5062 deUint32 vertexCount,
5063 deUint32 instanceCount,
5064 deUint32 firstVertex,
5065 deUint32 firstInstance);
5067 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5068 VkCommandBuffer commandBuffer,
5069 deUint32 indexCount,
5070 deUint32 instanceCount,
5071 deUint32 firstIndex,
5072 deInt32 vertexOffset,
5073 deUint32 firstInstance);
5075 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5076 VkCommandBuffer commandBuffer,
5078 VkDeviceSize offset,
5082 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5083 VkCommandBuffer commandBuffer,
5085 VkDeviceSize offset,
5089 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5090 VkCommandBuffer commandBuffer,
5091 deUint32 groupCountX,
5092 deUint32 groupCountY,
5093 deUint32 groupCountZ);
5095 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5096 VkCommandBuffer commandBuffer,
5098 VkDeviceSize offset);
5100 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5101 VkCommandBuffer commandBuffer,
5104 deUint32 regionCount,
5105 const VkBufferCopy* pRegions);
5107 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5108 VkCommandBuffer commandBuffer,
5110 VkImageLayout srcImageLayout,
5112 VkImageLayout dstImageLayout,
5113 deUint32 regionCount,
5114 const VkImageCopy* pRegions);
5116 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5117 VkCommandBuffer commandBuffer,
5119 VkImageLayout srcImageLayout,
5121 VkImageLayout dstImageLayout,
5122 deUint32 regionCount,
5123 const VkImageBlit* pRegions,
5126 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5127 VkCommandBuffer commandBuffer,
5130 VkImageLayout dstImageLayout,
5131 deUint32 regionCount,
5132 const VkBufferImageCopy* pRegions);
5134 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5135 VkCommandBuffer commandBuffer,
5137 VkImageLayout srcImageLayout,
5139 deUint32 regionCount,
5140 const VkBufferImageCopy* pRegions);
5142 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5143 VkCommandBuffer commandBuffer,
5145 VkDeviceSize dstOffset,
5146 VkDeviceSize dataSize,
5149 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5150 VkCommandBuffer commandBuffer,
5152 VkDeviceSize dstOffset,
5156 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5157 VkCommandBuffer commandBuffer,
5159 VkImageLayout imageLayout,
5160 const VkClearColorValue* pColor,
5161 deUint32 rangeCount,
5162 const VkImageSubresourceRange* pRanges);
5164 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5165 VkCommandBuffer commandBuffer,
5167 VkImageLayout imageLayout,
5168 const VkClearDepthStencilValue* pDepthStencil,
5169 deUint32 rangeCount,
5170 const VkImageSubresourceRange* pRanges);
5172 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5173 VkCommandBuffer commandBuffer,
5174 deUint32 attachmentCount,
5175 const VkClearAttachment* pAttachments,
5177 const VkClearRect* pRects);
5179 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5180 VkCommandBuffer commandBuffer,
5182 VkImageLayout srcImageLayout,
5184 VkImageLayout dstImageLayout,
5185 deUint32 regionCount,
5186 const VkImageResolve* pRegions);
5188 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5189 VkCommandBuffer commandBuffer,
5191 VkPipelineStageFlags stageMask);
5193 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5194 VkCommandBuffer commandBuffer,
5196 VkPipelineStageFlags stageMask);
5198 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5199 VkCommandBuffer commandBuffer,
5200 deUint32 eventCount,
5201 const VkEvent* pEvents,
5202 VkPipelineStageFlags srcStageMask,
5203 VkPipelineStageFlags dstStageMask,
5204 deUint32 memoryBarrierCount,
5205 const VkMemoryBarrier* pMemoryBarriers,
5206 deUint32 bufferMemoryBarrierCount,
5207 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5208 deUint32 imageMemoryBarrierCount,
5209 const VkImageMemoryBarrier* pImageMemoryBarriers);
5211 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5212 VkCommandBuffer commandBuffer,
5213 VkPipelineStageFlags srcStageMask,
5214 VkPipelineStageFlags dstStageMask,
5215 VkDependencyFlags dependencyFlags,
5216 deUint32 memoryBarrierCount,
5217 const VkMemoryBarrier* pMemoryBarriers,
5218 deUint32 bufferMemoryBarrierCount,
5219 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5220 deUint32 imageMemoryBarrierCount,
5221 const VkImageMemoryBarrier* pImageMemoryBarriers);
5223 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5224 VkCommandBuffer commandBuffer,
5225 VkQueryPool queryPool,
5227 VkQueryControlFlags flags);
5229 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5230 VkCommandBuffer commandBuffer,
5231 VkQueryPool queryPool,
5234 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5235 VkCommandBuffer commandBuffer,
5236 VkQueryPool queryPool,
5237 deUint32 firstQuery,
5238 deUint32 queryCount);
5240 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5241 VkCommandBuffer commandBuffer,
5242 VkPipelineStageFlagBits pipelineStage,
5243 VkQueryPool queryPool,
5246 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5247 VkCommandBuffer commandBuffer,
5248 VkQueryPool queryPool,
5249 deUint32 firstQuery,
5250 deUint32 queryCount,
5252 VkDeviceSize dstOffset,
5253 VkDeviceSize stride,
5254 VkQueryResultFlags flags);
5256 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5257 VkCommandBuffer commandBuffer,
5258 VkPipelineLayout layout,
5259 VkShaderStageFlags stageFlags,
5262 const void* pValues);
5264 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5265 VkCommandBuffer commandBuffer,
5266 const VkRenderPassBeginInfo* pRenderPassBegin,
5267 VkSubpassContents contents);
5269 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5270 VkCommandBuffer commandBuffer,
5271 VkSubpassContents contents);
5273 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5274 VkCommandBuffer commandBuffer);
5276 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5277 VkCommandBuffer commandBuffer,
5278 deUint32 commandBufferCount,
5279 const VkCommandBuffer* pCommandBuffers);
5283 #define VK_VERSION_1_1 1
5284 // Vulkan 1.1 version number
5285 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5287 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5288 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5289 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5290 #define VK_LUID_SIZE 8U
5291 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5293 typedef enum VkPointClippingBehavior {
5294 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5295 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5296 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5297 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5298 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5299 } VkPointClippingBehavior;
5301 typedef enum VkTessellationDomainOrigin {
5302 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5303 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5304 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5305 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5306 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5307 } VkTessellationDomainOrigin;
5309 typedef enum VkSamplerYcbcrModelConversion {
5310 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5311 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5312 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5313 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5314 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5315 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5316 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5317 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5318 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5319 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5320 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5321 } VkSamplerYcbcrModelConversion;
5323 typedef enum VkSamplerYcbcrRange {
5324 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5325 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5326 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5327 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5328 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5329 } VkSamplerYcbcrRange;
5331 typedef enum VkChromaLocation {
5332 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5333 VK_CHROMA_LOCATION_MIDPOINT = 1,
5334 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5335 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5336 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5339 typedef enum VkDescriptorUpdateTemplateType {
5340 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5341 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5342 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5343 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5344 } VkDescriptorUpdateTemplateType;
5346 typedef enum VkSubgroupFeatureFlagBits {
5347 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5348 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5349 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5350 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5351 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5352 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5353 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5354 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5355 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5356 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5357 } VkSubgroupFeatureFlagBits;
5358 typedef VkFlags VkSubgroupFeatureFlags;
5360 typedef enum VkPeerMemoryFeatureFlagBits {
5361 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5362 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5363 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5364 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5365 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5366 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5367 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5368 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5369 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5370 } VkPeerMemoryFeatureFlagBits;
5371 typedef VkFlags VkPeerMemoryFeatureFlags;
5373 typedef enum VkMemoryAllocateFlagBits {
5374 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5375 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5376 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5377 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5378 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5379 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5380 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5381 } VkMemoryAllocateFlagBits;
5382 typedef VkFlags VkMemoryAllocateFlags;
5383 typedef VkFlags VkCommandPoolTrimFlags;
5384 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5386 typedef enum VkExternalMemoryHandleTypeFlagBits {
5387 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5388 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5389 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5390 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5391 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5392 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5393 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5394 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5395 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5396 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5397 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5398 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5399 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5400 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5401 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5402 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5403 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5404 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5405 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5406 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5407 } VkExternalMemoryHandleTypeFlagBits;
5408 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5410 typedef enum VkExternalMemoryFeatureFlagBits {
5411 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5412 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5413 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5414 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5415 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5416 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5417 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5418 } VkExternalMemoryFeatureFlagBits;
5419 typedef VkFlags VkExternalMemoryFeatureFlags;
5421 typedef enum VkExternalFenceHandleTypeFlagBits {
5422 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5423 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5424 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5425 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5426 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5427 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5428 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5429 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5430 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5431 } VkExternalFenceHandleTypeFlagBits;
5432 typedef VkFlags VkExternalFenceHandleTypeFlags;
5434 typedef enum VkExternalFenceFeatureFlagBits {
5435 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5436 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5437 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5438 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5439 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5440 } VkExternalFenceFeatureFlagBits;
5441 typedef VkFlags VkExternalFenceFeatureFlags;
5443 typedef enum VkFenceImportFlagBits {
5444 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5445 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5446 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5447 } VkFenceImportFlagBits;
5448 typedef VkFlags VkFenceImportFlags;
5450 typedef enum VkSemaphoreImportFlagBits {
5451 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5452 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5453 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5454 } VkSemaphoreImportFlagBits;
5455 typedef VkFlags VkSemaphoreImportFlags;
5457 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5458 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5459 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5460 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5461 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5462 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5463 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5464 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5465 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5466 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5467 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5468 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5469 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5470 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5471 } VkExternalSemaphoreHandleTypeFlagBits;
5472 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5474 typedef enum VkExternalSemaphoreFeatureFlagBits {
5475 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5476 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5477 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5478 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5479 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5480 } VkExternalSemaphoreFeatureFlagBits;
5481 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5482 typedef struct VkPhysicalDeviceSubgroupProperties {
5483 VkStructureType sType;
5485 deUint32 subgroupSize;
5486 VkShaderStageFlags supportedStages;
5487 VkSubgroupFeatureFlags supportedOperations;
5488 VkBool32 quadOperationsInAllStages;
5489 } VkPhysicalDeviceSubgroupProperties;
5491 typedef struct VkBindBufferMemoryInfo {
5492 VkStructureType sType;
5495 VkDeviceMemory memory;
5496 VkDeviceSize memoryOffset;
5497 } VkBindBufferMemoryInfo;
5499 typedef struct VkBindImageMemoryInfo {
5500 VkStructureType sType;
5503 VkDeviceMemory memory;
5504 VkDeviceSize memoryOffset;
5505 } VkBindImageMemoryInfo;
5507 typedef struct VkPhysicalDevice16BitStorageFeatures {
5508 VkStructureType sType;
5510 VkBool32 storageBuffer16BitAccess;
5511 VkBool32 uniformAndStorageBuffer16BitAccess;
5512 VkBool32 storagePushConstant16;
5513 VkBool32 storageInputOutput16;
5514 } VkPhysicalDevice16BitStorageFeatures;
5516 typedef struct VkMemoryDedicatedRequirements {
5517 VkStructureType sType;
5519 VkBool32 prefersDedicatedAllocation;
5520 VkBool32 requiresDedicatedAllocation;
5521 } VkMemoryDedicatedRequirements;
5523 typedef struct VkMemoryDedicatedAllocateInfo {
5524 VkStructureType sType;
5528 } VkMemoryDedicatedAllocateInfo;
5530 typedef struct VkMemoryAllocateFlagsInfo {
5531 VkStructureType sType;
5533 VkMemoryAllocateFlags flags;
5534 deUint32 deviceMask;
5535 } VkMemoryAllocateFlagsInfo;
5537 typedef struct VkDeviceGroupRenderPassBeginInfo {
5538 VkStructureType sType;
5540 deUint32 deviceMask;
5541 deUint32 deviceRenderAreaCount;
5542 const VkRect2D* pDeviceRenderAreas;
5543 } VkDeviceGroupRenderPassBeginInfo;
5545 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5546 VkStructureType sType;
5548 deUint32 deviceMask;
5549 } VkDeviceGroupCommandBufferBeginInfo;
5551 typedef struct VkDeviceGroupSubmitInfo {
5552 VkStructureType sType;
5554 deUint32 waitSemaphoreCount;
5555 const deUint32* pWaitSemaphoreDeviceIndices;
5556 deUint32 commandBufferCount;
5557 const deUint32* pCommandBufferDeviceMasks;
5558 deUint32 signalSemaphoreCount;
5559 const deUint32* pSignalSemaphoreDeviceIndices;
5560 } VkDeviceGroupSubmitInfo;
5562 typedef struct VkDeviceGroupBindSparseInfo {
5563 VkStructureType sType;
5565 deUint32 resourceDeviceIndex;
5566 deUint32 memoryDeviceIndex;
5567 } VkDeviceGroupBindSparseInfo;
5569 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5570 VkStructureType sType;
5572 deUint32 deviceIndexCount;
5573 const deUint32* pDeviceIndices;
5574 } VkBindBufferMemoryDeviceGroupInfo;
5576 typedef struct VkBindImageMemoryDeviceGroupInfo {
5577 VkStructureType sType;
5579 deUint32 deviceIndexCount;
5580 const deUint32* pDeviceIndices;
5581 deUint32 splitInstanceBindRegionCount;
5582 const VkRect2D* pSplitInstanceBindRegions;
5583 } VkBindImageMemoryDeviceGroupInfo;
5585 typedef struct VkPhysicalDeviceGroupProperties {
5586 VkStructureType sType;
5588 deUint32 physicalDeviceCount;
5589 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5590 VkBool32 subsetAllocation;
5591 } VkPhysicalDeviceGroupProperties;
5593 typedef struct VkDeviceGroupDeviceCreateInfo {
5594 VkStructureType sType;
5596 deUint32 physicalDeviceCount;
5597 const VkPhysicalDevice* pPhysicalDevices;
5598 } VkDeviceGroupDeviceCreateInfo;
5600 typedef struct VkBufferMemoryRequirementsInfo2 {
5601 VkStructureType sType;
5604 } VkBufferMemoryRequirementsInfo2;
5606 typedef struct VkImageMemoryRequirementsInfo2 {
5607 VkStructureType sType;
5610 } VkImageMemoryRequirementsInfo2;
5612 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5613 VkStructureType sType;
5616 } VkImageSparseMemoryRequirementsInfo2;
5618 typedef struct VkMemoryRequirements2 {
5619 VkStructureType sType;
5621 VkMemoryRequirements memoryRequirements;
5622 } VkMemoryRequirements2;
5624 typedef struct VkSparseImageMemoryRequirements2 {
5625 VkStructureType sType;
5627 VkSparseImageMemoryRequirements memoryRequirements;
5628 } VkSparseImageMemoryRequirements2;
5630 typedef struct VkPhysicalDeviceFeatures2 {
5631 VkStructureType sType;
5633 VkPhysicalDeviceFeatures features;
5634 } VkPhysicalDeviceFeatures2;
5636 typedef struct VkPhysicalDeviceProperties2 {
5637 VkStructureType sType;
5639 VkPhysicalDeviceProperties properties;
5640 } VkPhysicalDeviceProperties2;
5642 typedef struct VkFormatProperties2 {
5643 VkStructureType sType;
5645 VkFormatProperties formatProperties;
5646 } VkFormatProperties2;
5648 typedef struct VkImageFormatProperties2 {
5649 VkStructureType sType;
5651 VkImageFormatProperties imageFormatProperties;
5652 } VkImageFormatProperties2;
5654 typedef struct VkPhysicalDeviceImageFormatInfo2 {
5655 VkStructureType sType;
5659 VkImageTiling tiling;
5660 VkImageUsageFlags usage;
5661 VkImageCreateFlags flags;
5662 } VkPhysicalDeviceImageFormatInfo2;
5664 typedef struct VkQueueFamilyProperties2 {
5665 VkStructureType sType;
5667 VkQueueFamilyProperties queueFamilyProperties;
5668 } VkQueueFamilyProperties2;
5670 typedef struct VkPhysicalDeviceMemoryProperties2 {
5671 VkStructureType sType;
5673 VkPhysicalDeviceMemoryProperties memoryProperties;
5674 } VkPhysicalDeviceMemoryProperties2;
5676 typedef struct VkSparseImageFormatProperties2 {
5677 VkStructureType sType;
5679 VkSparseImageFormatProperties properties;
5680 } VkSparseImageFormatProperties2;
5682 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5683 VkStructureType sType;
5687 VkSampleCountFlagBits samples;
5688 VkImageUsageFlags usage;
5689 VkImageTiling tiling;
5690 } VkPhysicalDeviceSparseImageFormatInfo2;
5692 typedef struct VkPhysicalDevicePointClippingProperties {
5693 VkStructureType sType;
5695 VkPointClippingBehavior pointClippingBehavior;
5696 } VkPhysicalDevicePointClippingProperties;
5698 typedef struct VkInputAttachmentAspectReference {
5700 deUint32 inputAttachmentIndex;
5701 VkImageAspectFlags aspectMask;
5702 } VkInputAttachmentAspectReference;
5704 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5705 VkStructureType sType;
5707 deUint32 aspectReferenceCount;
5708 const VkInputAttachmentAspectReference* pAspectReferences;
5709 } VkRenderPassInputAttachmentAspectCreateInfo;
5711 typedef struct VkImageViewUsageCreateInfo {
5712 VkStructureType sType;
5714 VkImageUsageFlags usage;
5715 } VkImageViewUsageCreateInfo;
5717 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5718 VkStructureType sType;
5720 VkTessellationDomainOrigin domainOrigin;
5721 } VkPipelineTessellationDomainOriginStateCreateInfo;
5723 typedef struct VkRenderPassMultiviewCreateInfo {
5724 VkStructureType sType;
5726 deUint32 subpassCount;
5727 const deUint32* pViewMasks;
5728 deUint32 dependencyCount;
5729 const deInt32* pViewOffsets;
5730 deUint32 correlationMaskCount;
5731 const deUint32* pCorrelationMasks;
5732 } VkRenderPassMultiviewCreateInfo;
5734 typedef struct VkPhysicalDeviceMultiviewFeatures {
5735 VkStructureType sType;
5738 VkBool32 multiviewGeometryShader;
5739 VkBool32 multiviewTessellationShader;
5740 } VkPhysicalDeviceMultiviewFeatures;
5742 typedef struct VkPhysicalDeviceMultiviewProperties {
5743 VkStructureType sType;
5745 deUint32 maxMultiviewViewCount;
5746 deUint32 maxMultiviewInstanceIndex;
5747 } VkPhysicalDeviceMultiviewProperties;
5749 typedef struct VkPhysicalDeviceVariablePointersFeatures {
5750 VkStructureType sType;
5752 VkBool32 variablePointersStorageBuffer;
5753 VkBool32 variablePointers;
5754 } VkPhysicalDeviceVariablePointersFeatures;
5756 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5758 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5759 VkStructureType sType;
5761 VkBool32 protectedMemory;
5762 } VkPhysicalDeviceProtectedMemoryFeatures;
5764 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5765 VkStructureType sType;
5767 VkBool32 protectedNoFault;
5768 } VkPhysicalDeviceProtectedMemoryProperties;
5770 typedef struct VkDeviceQueueInfo2 {
5771 VkStructureType sType;
5773 VkDeviceQueueCreateFlags flags;
5774 deUint32 queueFamilyIndex;
5775 deUint32 queueIndex;
5776 } VkDeviceQueueInfo2;
5778 typedef struct VkProtectedSubmitInfo {
5779 VkStructureType sType;
5781 VkBool32 protectedSubmit;
5782 } VkProtectedSubmitInfo;
5784 typedef struct VkSamplerYcbcrConversionCreateInfo {
5785 VkStructureType sType;
5788 VkSamplerYcbcrModelConversion ycbcrModel;
5789 VkSamplerYcbcrRange ycbcrRange;
5790 VkComponentMapping components;
5791 VkChromaLocation xChromaOffset;
5792 VkChromaLocation yChromaOffset;
5793 VkFilter chromaFilter;
5794 VkBool32 forceExplicitReconstruction;
5795 } VkSamplerYcbcrConversionCreateInfo;
5797 typedef struct VkSamplerYcbcrConversionInfo {
5798 VkStructureType sType;
5800 VkSamplerYcbcrConversion conversion;
5801 } VkSamplerYcbcrConversionInfo;
5803 typedef struct VkBindImagePlaneMemoryInfo {
5804 VkStructureType sType;
5806 VkImageAspectFlagBits planeAspect;
5807 } VkBindImagePlaneMemoryInfo;
5809 typedef struct VkImagePlaneMemoryRequirementsInfo {
5810 VkStructureType sType;
5812 VkImageAspectFlagBits planeAspect;
5813 } VkImagePlaneMemoryRequirementsInfo;
5815 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5816 VkStructureType sType;
5818 VkBool32 samplerYcbcrConversion;
5819 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5821 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5822 VkStructureType sType;
5824 deUint32 combinedImageSamplerDescriptorCount;
5825 } VkSamplerYcbcrConversionImageFormatProperties;
5827 typedef struct VkDescriptorUpdateTemplateEntry {
5828 deUint32 dstBinding;
5829 deUint32 dstArrayElement;
5830 deUint32 descriptorCount;
5831 VkDescriptorType descriptorType;
5834 } VkDescriptorUpdateTemplateEntry;
5836 typedef struct VkDescriptorUpdateTemplateCreateInfo {
5837 VkStructureType sType;
5839 VkDescriptorUpdateTemplateCreateFlags flags;
5840 deUint32 descriptorUpdateEntryCount;
5841 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5842 VkDescriptorUpdateTemplateType templateType;
5843 VkDescriptorSetLayout descriptorSetLayout;
5844 VkPipelineBindPoint pipelineBindPoint;
5845 VkPipelineLayout pipelineLayout;
5847 } VkDescriptorUpdateTemplateCreateInfo;
5849 typedef struct VkExternalMemoryProperties {
5850 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5851 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5852 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5853 } VkExternalMemoryProperties;
5855 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5856 VkStructureType sType;
5858 VkExternalMemoryHandleTypeFlagBits handleType;
5859 } VkPhysicalDeviceExternalImageFormatInfo;
5861 typedef struct VkExternalImageFormatProperties {
5862 VkStructureType sType;
5864 VkExternalMemoryProperties externalMemoryProperties;
5865 } VkExternalImageFormatProperties;
5867 typedef struct VkPhysicalDeviceExternalBufferInfo {
5868 VkStructureType sType;
5870 VkBufferCreateFlags flags;
5871 VkBufferUsageFlags usage;
5872 VkExternalMemoryHandleTypeFlagBits handleType;
5873 } VkPhysicalDeviceExternalBufferInfo;
5875 typedef struct VkExternalBufferProperties {
5876 VkStructureType sType;
5878 VkExternalMemoryProperties externalMemoryProperties;
5879 } VkExternalBufferProperties;
5881 typedef struct VkPhysicalDeviceIDProperties {
5882 VkStructureType sType;
5884 deUint8 deviceUUID[VK_UUID_SIZE];
5885 deUint8 driverUUID[VK_UUID_SIZE];
5886 deUint8 deviceLUID[VK_LUID_SIZE];
5887 deUint32 deviceNodeMask;
5888 VkBool32 deviceLUIDValid;
5889 } VkPhysicalDeviceIDProperties;
5891 typedef struct VkExternalMemoryImageCreateInfo {
5892 VkStructureType sType;
5894 VkExternalMemoryHandleTypeFlags handleTypes;
5895 } VkExternalMemoryImageCreateInfo;
5897 typedef struct VkExternalMemoryBufferCreateInfo {
5898 VkStructureType sType;
5900 VkExternalMemoryHandleTypeFlags handleTypes;
5901 } VkExternalMemoryBufferCreateInfo;
5903 typedef struct VkExportMemoryAllocateInfo {
5904 VkStructureType sType;
5906 VkExternalMemoryHandleTypeFlags handleTypes;
5907 } VkExportMemoryAllocateInfo;
5909 typedef struct VkPhysicalDeviceExternalFenceInfo {
5910 VkStructureType sType;
5912 VkExternalFenceHandleTypeFlagBits handleType;
5913 } VkPhysicalDeviceExternalFenceInfo;
5915 typedef struct VkExternalFenceProperties {
5916 VkStructureType sType;
5918 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5919 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5920 VkExternalFenceFeatureFlags externalFenceFeatures;
5921 } VkExternalFenceProperties;
5923 typedef struct VkExportFenceCreateInfo {
5924 VkStructureType sType;
5926 VkExternalFenceHandleTypeFlags handleTypes;
5927 } VkExportFenceCreateInfo;
5929 typedef struct VkExportSemaphoreCreateInfo {
5930 VkStructureType sType;
5932 VkExternalSemaphoreHandleTypeFlags handleTypes;
5933 } VkExportSemaphoreCreateInfo;
5935 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5936 VkStructureType sType;
5938 VkExternalSemaphoreHandleTypeFlagBits handleType;
5939 } VkPhysicalDeviceExternalSemaphoreInfo;
5941 typedef struct VkExternalSemaphoreProperties {
5942 VkStructureType sType;
5944 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5945 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5946 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5947 } VkExternalSemaphoreProperties;
5949 typedef struct VkPhysicalDeviceMaintenance3Properties {
5950 VkStructureType sType;
5952 deUint32 maxPerSetDescriptors;
5953 VkDeviceSize maxMemoryAllocationSize;
5954 } VkPhysicalDeviceMaintenance3Properties;
5956 typedef struct VkDescriptorSetLayoutSupport {
5957 VkStructureType sType;
5960 } VkDescriptorSetLayoutSupport;
5962 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5963 VkStructureType sType;
5965 VkBool32 shaderDrawParameters;
5966 } VkPhysicalDeviceShaderDrawParametersFeatures;
5968 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5970 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
5971 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5972 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5973 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5974 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
5975 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
5976 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5977 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5978 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5979 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5980 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5981 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5982 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5983 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5984 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5985 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5986 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5987 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
5988 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
5989 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
5990 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
5991 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
5992 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
5993 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
5994 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
5995 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
5996 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
5997 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
5999 #ifndef VK_NO_PROTOTYPES
6000 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
6001 deUint32* pApiVersion);
6003 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
6005 deUint32 bindInfoCount,
6006 const VkBindBufferMemoryInfo* pBindInfos);
6008 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
6010 deUint32 bindInfoCount,
6011 const VkBindImageMemoryInfo* pBindInfos);
6013 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
6016 deUint32 localDeviceIndex,
6017 deUint32 remoteDeviceIndex,
6018 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6020 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6021 VkCommandBuffer commandBuffer,
6022 deUint32 deviceMask);
6024 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6025 VkCommandBuffer commandBuffer,
6026 deUint32 baseGroupX,
6027 deUint32 baseGroupY,
6028 deUint32 baseGroupZ,
6029 deUint32 groupCountX,
6030 deUint32 groupCountY,
6031 deUint32 groupCountZ);
6033 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6034 VkInstance instance,
6035 deUint32* pPhysicalDeviceGroupCount,
6036 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6038 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6040 const VkImageMemoryRequirementsInfo2* pInfo,
6041 VkMemoryRequirements2* pMemoryRequirements);
6043 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6045 const VkBufferMemoryRequirementsInfo2* pInfo,
6046 VkMemoryRequirements2* pMemoryRequirements);
6048 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6050 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6051 deUint32* pSparseMemoryRequirementCount,
6052 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6054 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6055 VkPhysicalDevice physicalDevice,
6056 VkPhysicalDeviceFeatures2* pFeatures);
6058 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6059 VkPhysicalDevice physicalDevice,
6060 VkPhysicalDeviceProperties2* pProperties);
6062 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6063 VkPhysicalDevice physicalDevice,
6065 VkFormatProperties2* pFormatProperties);
6067 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6068 VkPhysicalDevice physicalDevice,
6069 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6070 VkImageFormatProperties2* pImageFormatProperties);
6072 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6073 VkPhysicalDevice physicalDevice,
6074 deUint32* pQueueFamilyPropertyCount,
6075 VkQueueFamilyProperties2* pQueueFamilyProperties);
6077 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6078 VkPhysicalDevice physicalDevice,
6079 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6081 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6082 VkPhysicalDevice physicalDevice,
6083 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6084 deUint32* pPropertyCount,
6085 VkSparseImageFormatProperties2* pProperties);
6087 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6089 VkCommandPool commandPool,
6090 VkCommandPoolTrimFlags flags);
6092 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6094 const VkDeviceQueueInfo2* pQueueInfo,
6097 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6099 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6100 const VkAllocationCallbacks* pAllocator,
6101 VkSamplerYcbcrConversion* pYcbcrConversion);
6103 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6105 VkSamplerYcbcrConversion ycbcrConversion,
6106 const VkAllocationCallbacks* pAllocator);
6108 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6110 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6111 const VkAllocationCallbacks* pAllocator,
6112 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6114 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6116 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6117 const VkAllocationCallbacks* pAllocator);
6119 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6121 VkDescriptorSet descriptorSet,
6122 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6125 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6126 VkPhysicalDevice physicalDevice,
6127 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6128 VkExternalBufferProperties* pExternalBufferProperties);
6130 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6131 VkPhysicalDevice physicalDevice,
6132 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6133 VkExternalFenceProperties* pExternalFenceProperties);
6135 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6136 VkPhysicalDevice physicalDevice,
6137 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6138 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6140 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6142 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6143 VkDescriptorSetLayoutSupport* pSupport);
6147 #define VK_VERSION_1_2 1
6148 // Vulkan 1.2 version number
6149 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6151 #define VK_MAX_DRIVER_NAME_SIZE 256U
6152 #define VK_MAX_DRIVER_INFO_SIZE 256U
6154 typedef enum VkDriverId {
6155 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6156 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6157 VK_DRIVER_ID_MESA_RADV = 3,
6158 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6159 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6160 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6161 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6162 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6163 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6164 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6165 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6166 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6167 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6168 VK_DRIVER_ID_MOLTENVK = 14,
6169 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6170 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
6171 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6172 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6173 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6174 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6175 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6176 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6177 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6178 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6179 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6180 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6181 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6182 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6183 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6186 typedef enum VkShaderFloatControlsIndependence {
6187 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6188 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6189 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6190 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6191 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6192 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6193 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6194 } VkShaderFloatControlsIndependence;
6196 typedef enum VkSamplerReductionMode {
6197 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6198 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6199 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6200 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6201 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6202 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6203 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6204 } VkSamplerReductionMode;
6206 typedef enum VkSemaphoreType {
6207 VK_SEMAPHORE_TYPE_BINARY = 0,
6208 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6209 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6210 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6211 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6214 typedef enum VkResolveModeFlagBits {
6215 VK_RESOLVE_MODE_NONE = 0,
6216 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6217 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6218 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6219 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6220 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6221 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6222 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6223 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6224 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6225 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6226 } VkResolveModeFlagBits;
6227 typedef VkFlags VkResolveModeFlags;
6229 typedef enum VkDescriptorBindingFlagBits {
6230 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6231 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6232 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6233 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6234 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6235 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6236 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6237 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6238 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6239 } VkDescriptorBindingFlagBits;
6240 typedef VkFlags VkDescriptorBindingFlags;
6242 typedef enum VkSemaphoreWaitFlagBits {
6243 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6244 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6245 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6246 } VkSemaphoreWaitFlagBits;
6247 typedef VkFlags VkSemaphoreWaitFlags;
6248 typedef struct VkPhysicalDeviceVulkan11Features {
6249 VkStructureType sType;
6251 VkBool32 storageBuffer16BitAccess;
6252 VkBool32 uniformAndStorageBuffer16BitAccess;
6253 VkBool32 storagePushConstant16;
6254 VkBool32 storageInputOutput16;
6256 VkBool32 multiviewGeometryShader;
6257 VkBool32 multiviewTessellationShader;
6258 VkBool32 variablePointersStorageBuffer;
6259 VkBool32 variablePointers;
6260 VkBool32 protectedMemory;
6261 VkBool32 samplerYcbcrConversion;
6262 VkBool32 shaderDrawParameters;
6263 } VkPhysicalDeviceVulkan11Features;
6265 typedef struct VkPhysicalDeviceVulkan11Properties {
6266 VkStructureType sType;
6268 deUint8 deviceUUID[VK_UUID_SIZE];
6269 deUint8 driverUUID[VK_UUID_SIZE];
6270 deUint8 deviceLUID[VK_LUID_SIZE];
6271 deUint32 deviceNodeMask;
6272 VkBool32 deviceLUIDValid;
6273 deUint32 subgroupSize;
6274 VkShaderStageFlags subgroupSupportedStages;
6275 VkSubgroupFeatureFlags subgroupSupportedOperations;
6276 VkBool32 subgroupQuadOperationsInAllStages;
6277 VkPointClippingBehavior pointClippingBehavior;
6278 deUint32 maxMultiviewViewCount;
6279 deUint32 maxMultiviewInstanceIndex;
6280 VkBool32 protectedNoFault;
6281 deUint32 maxPerSetDescriptors;
6282 VkDeviceSize maxMemoryAllocationSize;
6283 } VkPhysicalDeviceVulkan11Properties;
6285 typedef struct VkPhysicalDeviceVulkan12Features {
6286 VkStructureType sType;
6288 VkBool32 samplerMirrorClampToEdge;
6289 VkBool32 drawIndirectCount;
6290 VkBool32 storageBuffer8BitAccess;
6291 VkBool32 uniformAndStorageBuffer8BitAccess;
6292 VkBool32 storagePushConstant8;
6293 VkBool32 shaderBufferInt64Atomics;
6294 VkBool32 shaderSharedInt64Atomics;
6295 VkBool32 shaderFloat16;
6296 VkBool32 shaderInt8;
6297 VkBool32 descriptorIndexing;
6298 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6299 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6300 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6301 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6302 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6303 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6304 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6305 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6306 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6307 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6308 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6309 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6310 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6311 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6312 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6313 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6314 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6315 VkBool32 descriptorBindingPartiallyBound;
6316 VkBool32 descriptorBindingVariableDescriptorCount;
6317 VkBool32 runtimeDescriptorArray;
6318 VkBool32 samplerFilterMinmax;
6319 VkBool32 scalarBlockLayout;
6320 VkBool32 imagelessFramebuffer;
6321 VkBool32 uniformBufferStandardLayout;
6322 VkBool32 shaderSubgroupExtendedTypes;
6323 VkBool32 separateDepthStencilLayouts;
6324 VkBool32 hostQueryReset;
6325 VkBool32 timelineSemaphore;
6326 VkBool32 bufferDeviceAddress;
6327 VkBool32 bufferDeviceAddressCaptureReplay;
6328 VkBool32 bufferDeviceAddressMultiDevice;
6329 VkBool32 vulkanMemoryModel;
6330 VkBool32 vulkanMemoryModelDeviceScope;
6331 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6332 VkBool32 shaderOutputViewportIndex;
6333 VkBool32 shaderOutputLayer;
6334 VkBool32 subgroupBroadcastDynamicId;
6335 } VkPhysicalDeviceVulkan12Features;
6337 typedef struct VkConformanceVersion {
6342 } VkConformanceVersion;
6344 typedef struct VkPhysicalDeviceVulkan12Properties {
6345 VkStructureType sType;
6347 VkDriverId driverID;
6348 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6349 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6350 VkConformanceVersion conformanceVersion;
6351 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6352 VkShaderFloatControlsIndependence roundingModeIndependence;
6353 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6354 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6355 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6356 VkBool32 shaderDenormPreserveFloat16;
6357 VkBool32 shaderDenormPreserveFloat32;
6358 VkBool32 shaderDenormPreserveFloat64;
6359 VkBool32 shaderDenormFlushToZeroFloat16;
6360 VkBool32 shaderDenormFlushToZeroFloat32;
6361 VkBool32 shaderDenormFlushToZeroFloat64;
6362 VkBool32 shaderRoundingModeRTEFloat16;
6363 VkBool32 shaderRoundingModeRTEFloat32;
6364 VkBool32 shaderRoundingModeRTEFloat64;
6365 VkBool32 shaderRoundingModeRTZFloat16;
6366 VkBool32 shaderRoundingModeRTZFloat32;
6367 VkBool32 shaderRoundingModeRTZFloat64;
6368 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6369 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6370 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6371 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6372 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6373 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6374 VkBool32 robustBufferAccessUpdateAfterBind;
6375 VkBool32 quadDivergentImplicitLod;
6376 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6377 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6378 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6379 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6380 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6381 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6382 deUint32 maxPerStageUpdateAfterBindResources;
6383 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6384 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6385 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6386 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6387 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6388 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6389 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6390 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6391 VkResolveModeFlags supportedDepthResolveModes;
6392 VkResolveModeFlags supportedStencilResolveModes;
6393 VkBool32 independentResolveNone;
6394 VkBool32 independentResolve;
6395 VkBool32 filterMinmaxSingleComponentFormats;
6396 VkBool32 filterMinmaxImageComponentMapping;
6397 deUint64 maxTimelineSemaphoreValueDifference;
6398 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6399 } VkPhysicalDeviceVulkan12Properties;
6401 typedef struct VkImageFormatListCreateInfo {
6402 VkStructureType sType;
6404 deUint32 viewFormatCount;
6405 const VkFormat* pViewFormats;
6406 } VkImageFormatListCreateInfo;
6408 typedef struct VkAttachmentDescription2 {
6409 VkStructureType sType;
6411 VkAttachmentDescriptionFlags flags;
6413 VkSampleCountFlagBits samples;
6414 VkAttachmentLoadOp loadOp;
6415 VkAttachmentStoreOp storeOp;
6416 VkAttachmentLoadOp stencilLoadOp;
6417 VkAttachmentStoreOp stencilStoreOp;
6418 VkImageLayout initialLayout;
6419 VkImageLayout finalLayout;
6420 } VkAttachmentDescription2;
6422 typedef struct VkAttachmentReference2 {
6423 VkStructureType sType;
6425 deUint32 attachment;
6426 VkImageLayout layout;
6427 VkImageAspectFlags aspectMask;
6428 } VkAttachmentReference2;
6430 typedef struct VkSubpassDescription2 {
6431 VkStructureType sType;
6433 VkSubpassDescriptionFlags flags;
6434 VkPipelineBindPoint pipelineBindPoint;
6436 deUint32 inputAttachmentCount;
6437 const VkAttachmentReference2* pInputAttachments;
6438 deUint32 colorAttachmentCount;
6439 const VkAttachmentReference2* pColorAttachments;
6440 const VkAttachmentReference2* pResolveAttachments;
6441 const VkAttachmentReference2* pDepthStencilAttachment;
6442 deUint32 preserveAttachmentCount;
6443 const deUint32* pPreserveAttachments;
6444 } VkSubpassDescription2;
6446 typedef struct VkSubpassDependency2 {
6447 VkStructureType sType;
6449 deUint32 srcSubpass;
6450 deUint32 dstSubpass;
6451 VkPipelineStageFlags srcStageMask;
6452 VkPipelineStageFlags dstStageMask;
6453 VkAccessFlags srcAccessMask;
6454 VkAccessFlags dstAccessMask;
6455 VkDependencyFlags dependencyFlags;
6457 } VkSubpassDependency2;
6459 typedef struct VkRenderPassCreateInfo2 {
6460 VkStructureType sType;
6462 VkRenderPassCreateFlags flags;
6463 deUint32 attachmentCount;
6464 const VkAttachmentDescription2* pAttachments;
6465 deUint32 subpassCount;
6466 const VkSubpassDescription2* pSubpasses;
6467 deUint32 dependencyCount;
6468 const VkSubpassDependency2* pDependencies;
6469 deUint32 correlatedViewMaskCount;
6470 const deUint32* pCorrelatedViewMasks;
6471 } VkRenderPassCreateInfo2;
6473 typedef struct VkSubpassBeginInfo {
6474 VkStructureType sType;
6476 VkSubpassContents contents;
6477 } VkSubpassBeginInfo;
6479 typedef struct VkSubpassEndInfo {
6480 VkStructureType sType;
6484 typedef struct VkPhysicalDevice8BitStorageFeatures {
6485 VkStructureType sType;
6487 VkBool32 storageBuffer8BitAccess;
6488 VkBool32 uniformAndStorageBuffer8BitAccess;
6489 VkBool32 storagePushConstant8;
6490 } VkPhysicalDevice8BitStorageFeatures;
6492 typedef struct VkPhysicalDeviceDriverProperties {
6493 VkStructureType sType;
6495 VkDriverId driverID;
6496 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6497 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6498 VkConformanceVersion conformanceVersion;
6499 } VkPhysicalDeviceDriverProperties;
6501 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6502 VkStructureType sType;
6504 VkBool32 shaderBufferInt64Atomics;
6505 VkBool32 shaderSharedInt64Atomics;
6506 } VkPhysicalDeviceShaderAtomicInt64Features;
6508 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6509 VkStructureType sType;
6511 VkBool32 shaderFloat16;
6512 VkBool32 shaderInt8;
6513 } VkPhysicalDeviceShaderFloat16Int8Features;
6515 typedef struct VkPhysicalDeviceFloatControlsProperties {
6516 VkStructureType sType;
6518 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6519 VkShaderFloatControlsIndependence roundingModeIndependence;
6520 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6521 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6522 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6523 VkBool32 shaderDenormPreserveFloat16;
6524 VkBool32 shaderDenormPreserveFloat32;
6525 VkBool32 shaderDenormPreserveFloat64;
6526 VkBool32 shaderDenormFlushToZeroFloat16;
6527 VkBool32 shaderDenormFlushToZeroFloat32;
6528 VkBool32 shaderDenormFlushToZeroFloat64;
6529 VkBool32 shaderRoundingModeRTEFloat16;
6530 VkBool32 shaderRoundingModeRTEFloat32;
6531 VkBool32 shaderRoundingModeRTEFloat64;
6532 VkBool32 shaderRoundingModeRTZFloat16;
6533 VkBool32 shaderRoundingModeRTZFloat32;
6534 VkBool32 shaderRoundingModeRTZFloat64;
6535 } VkPhysicalDeviceFloatControlsProperties;
6537 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6538 VkStructureType sType;
6540 deUint32 bindingCount;
6541 const VkDescriptorBindingFlags* pBindingFlags;
6542 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6544 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6545 VkStructureType sType;
6547 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6548 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6549 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6550 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6551 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6552 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6553 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6554 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6555 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6556 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6557 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6558 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6559 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6560 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6561 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6562 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6563 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6564 VkBool32 descriptorBindingPartiallyBound;
6565 VkBool32 descriptorBindingVariableDescriptorCount;
6566 VkBool32 runtimeDescriptorArray;
6567 } VkPhysicalDeviceDescriptorIndexingFeatures;
6569 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6570 VkStructureType sType;
6572 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6573 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6574 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6575 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6576 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6577 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6578 VkBool32 robustBufferAccessUpdateAfterBind;
6579 VkBool32 quadDivergentImplicitLod;
6580 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6581 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6582 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6583 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6584 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6585 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6586 deUint32 maxPerStageUpdateAfterBindResources;
6587 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6588 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6589 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6590 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6591 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6592 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6593 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6594 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6595 } VkPhysicalDeviceDescriptorIndexingProperties;
6597 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6598 VkStructureType sType;
6600 deUint32 descriptorSetCount;
6601 const deUint32* pDescriptorCounts;
6602 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6604 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6605 VkStructureType sType;
6607 deUint32 maxVariableDescriptorCount;
6608 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6610 typedef struct VkSubpassDescriptionDepthStencilResolve {
6611 VkStructureType sType;
6613 VkResolveModeFlagBits depthResolveMode;
6614 VkResolveModeFlagBits stencilResolveMode;
6615 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6616 } VkSubpassDescriptionDepthStencilResolve;
6618 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6619 VkStructureType sType;
6621 VkResolveModeFlags supportedDepthResolveModes;
6622 VkResolveModeFlags supportedStencilResolveModes;
6623 VkBool32 independentResolveNone;
6624 VkBool32 independentResolve;
6625 } VkPhysicalDeviceDepthStencilResolveProperties;
6627 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6628 VkStructureType sType;
6630 VkBool32 scalarBlockLayout;
6631 } VkPhysicalDeviceScalarBlockLayoutFeatures;
6633 typedef struct VkImageStencilUsageCreateInfo {
6634 VkStructureType sType;
6636 VkImageUsageFlags stencilUsage;
6637 } VkImageStencilUsageCreateInfo;
6639 typedef struct VkSamplerReductionModeCreateInfo {
6640 VkStructureType sType;
6642 VkSamplerReductionMode reductionMode;
6643 } VkSamplerReductionModeCreateInfo;
6645 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6646 VkStructureType sType;
6648 VkBool32 filterMinmaxSingleComponentFormats;
6649 VkBool32 filterMinmaxImageComponentMapping;
6650 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
6652 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6653 VkStructureType sType;
6655 VkBool32 vulkanMemoryModel;
6656 VkBool32 vulkanMemoryModelDeviceScope;
6657 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6658 } VkPhysicalDeviceVulkanMemoryModelFeatures;
6660 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6661 VkStructureType sType;
6663 VkBool32 imagelessFramebuffer;
6664 } VkPhysicalDeviceImagelessFramebufferFeatures;
6666 typedef struct VkFramebufferAttachmentImageInfo {
6667 VkStructureType sType;
6669 VkImageCreateFlags flags;
6670 VkImageUsageFlags usage;
6673 deUint32 layerCount;
6674 deUint32 viewFormatCount;
6675 const VkFormat* pViewFormats;
6676 } VkFramebufferAttachmentImageInfo;
6678 typedef struct VkFramebufferAttachmentsCreateInfo {
6679 VkStructureType sType;
6681 deUint32 attachmentImageInfoCount;
6682 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6683 } VkFramebufferAttachmentsCreateInfo;
6685 typedef struct VkRenderPassAttachmentBeginInfo {
6686 VkStructureType sType;
6688 deUint32 attachmentCount;
6689 const VkImageView* pAttachments;
6690 } VkRenderPassAttachmentBeginInfo;
6692 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6693 VkStructureType sType;
6695 VkBool32 uniformBufferStandardLayout;
6696 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6698 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6699 VkStructureType sType;
6701 VkBool32 shaderSubgroupExtendedTypes;
6702 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6704 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6705 VkStructureType sType;
6707 VkBool32 separateDepthStencilLayouts;
6708 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6710 typedef struct VkAttachmentReferenceStencilLayout {
6711 VkStructureType sType;
6713 VkImageLayout stencilLayout;
6714 } VkAttachmentReferenceStencilLayout;
6716 typedef struct VkAttachmentDescriptionStencilLayout {
6717 VkStructureType sType;
6719 VkImageLayout stencilInitialLayout;
6720 VkImageLayout stencilFinalLayout;
6721 } VkAttachmentDescriptionStencilLayout;
6723 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6724 VkStructureType sType;
6726 VkBool32 hostQueryReset;
6727 } VkPhysicalDeviceHostQueryResetFeatures;
6729 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6730 VkStructureType sType;
6732 VkBool32 timelineSemaphore;
6733 } VkPhysicalDeviceTimelineSemaphoreFeatures;
6735 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6736 VkStructureType sType;
6738 deUint64 maxTimelineSemaphoreValueDifference;
6739 } VkPhysicalDeviceTimelineSemaphoreProperties;
6741 typedef struct VkSemaphoreTypeCreateInfo {
6742 VkStructureType sType;
6744 VkSemaphoreType semaphoreType;
6745 deUint64 initialValue;
6746 } VkSemaphoreTypeCreateInfo;
6748 typedef struct VkTimelineSemaphoreSubmitInfo {
6749 VkStructureType sType;
6751 deUint32 waitSemaphoreValueCount;
6752 const deUint64* pWaitSemaphoreValues;
6753 deUint32 signalSemaphoreValueCount;
6754 const deUint64* pSignalSemaphoreValues;
6755 } VkTimelineSemaphoreSubmitInfo;
6757 typedef struct VkSemaphoreWaitInfo {
6758 VkStructureType sType;
6760 VkSemaphoreWaitFlags flags;
6761 deUint32 semaphoreCount;
6762 const VkSemaphore* pSemaphores;
6763 const deUint64* pValues;
6764 } VkSemaphoreWaitInfo;
6766 typedef struct VkSemaphoreSignalInfo {
6767 VkStructureType sType;
6769 VkSemaphore semaphore;
6771 } VkSemaphoreSignalInfo;
6773 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6774 VkStructureType sType;
6776 VkBool32 bufferDeviceAddress;
6777 VkBool32 bufferDeviceAddressCaptureReplay;
6778 VkBool32 bufferDeviceAddressMultiDevice;
6779 } VkPhysicalDeviceBufferDeviceAddressFeatures;
6781 typedef struct VkBufferDeviceAddressInfo {
6782 VkStructureType sType;
6785 } VkBufferDeviceAddressInfo;
6787 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6788 VkStructureType sType;
6790 deUint64 opaqueCaptureAddress;
6791 } VkBufferOpaqueCaptureAddressCreateInfo;
6793 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6794 VkStructureType sType;
6796 deUint64 opaqueCaptureAddress;
6797 } VkMemoryOpaqueCaptureAddressAllocateInfo;
6799 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6800 VkStructureType sType;
6802 VkDeviceMemory memory;
6803 } VkDeviceMemoryOpaqueCaptureAddressInfo;
6805 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6806 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6807 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6808 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6809 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6810 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6811 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
6812 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
6813 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
6814 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6815 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6816 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6817 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6819 #ifndef VK_NO_PROTOTYPES
6820 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6821 VkCommandBuffer commandBuffer,
6823 VkDeviceSize offset,
6824 VkBuffer countBuffer,
6825 VkDeviceSize countBufferOffset,
6826 deUint32 maxDrawCount,
6829 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6830 VkCommandBuffer commandBuffer,
6832 VkDeviceSize offset,
6833 VkBuffer countBuffer,
6834 VkDeviceSize countBufferOffset,
6835 deUint32 maxDrawCount,
6838 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6840 const VkRenderPassCreateInfo2* pCreateInfo,
6841 const VkAllocationCallbacks* pAllocator,
6842 VkRenderPass* pRenderPass);
6844 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6845 VkCommandBuffer commandBuffer,
6846 const VkRenderPassBeginInfo* pRenderPassBegin,
6847 const VkSubpassBeginInfo* pSubpassBeginInfo);
6849 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6850 VkCommandBuffer commandBuffer,
6851 const VkSubpassBeginInfo* pSubpassBeginInfo,
6852 const VkSubpassEndInfo* pSubpassEndInfo);
6854 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6855 VkCommandBuffer commandBuffer,
6856 const VkSubpassEndInfo* pSubpassEndInfo);
6858 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6860 VkQueryPool queryPool,
6861 deUint32 firstQuery,
6862 deUint32 queryCount);
6864 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6866 VkSemaphore semaphore,
6869 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6871 const VkSemaphoreWaitInfo* pWaitInfo,
6874 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6876 const VkSemaphoreSignalInfo* pSignalInfo);
6878 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6880 const VkBufferDeviceAddressInfo* pInfo);
6882 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6884 const VkBufferDeviceAddressInfo* pInfo);
6886 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6888 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6892 #define VK_KHR_surface 1
6893 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6894 #define VK_KHR_SURFACE_SPEC_VERSION 25
6895 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6897 typedef enum VkPresentModeKHR {
6898 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6899 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6900 VK_PRESENT_MODE_FIFO_KHR = 2,
6901 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6902 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6903 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6904 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6907 typedef enum VkColorSpaceKHR {
6908 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6909 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6910 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6911 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6912 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6913 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6914 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6915 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6916 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6917 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6918 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6919 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6920 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6921 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6922 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6923 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6924 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6925 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6926 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6929 typedef enum VkSurfaceTransformFlagBitsKHR {
6930 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6931 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6932 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6933 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6934 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6935 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6936 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6937 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6938 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6939 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6940 } VkSurfaceTransformFlagBitsKHR;
6942 typedef enum VkCompositeAlphaFlagBitsKHR {
6943 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6944 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6945 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6946 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6947 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6948 } VkCompositeAlphaFlagBitsKHR;
6949 typedef VkFlags VkCompositeAlphaFlagsKHR;
6950 typedef VkFlags VkSurfaceTransformFlagsKHR;
6951 typedef struct VkSurfaceCapabilitiesKHR {
6952 deUint32 minImageCount;
6953 deUint32 maxImageCount;
6954 VkExtent2D currentExtent;
6955 VkExtent2D minImageExtent;
6956 VkExtent2D maxImageExtent;
6957 deUint32 maxImageArrayLayers;
6958 VkSurfaceTransformFlagsKHR supportedTransforms;
6959 VkSurfaceTransformFlagBitsKHR currentTransform;
6960 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6961 VkImageUsageFlags supportedUsageFlags;
6962 } VkSurfaceCapabilitiesKHR;
6964 typedef struct VkSurfaceFormatKHR {
6966 VkColorSpaceKHR colorSpace;
6967 } VkSurfaceFormatKHR;
6969 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6970 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6971 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6972 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6973 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6975 #ifndef VK_NO_PROTOTYPES
6976 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6977 VkInstance instance,
6978 VkSurfaceKHR surface,
6979 const VkAllocationCallbacks* pAllocator);
6981 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
6982 VkPhysicalDevice physicalDevice,
6983 deUint32 queueFamilyIndex,
6984 VkSurfaceKHR surface,
6985 VkBool32* pSupported);
6987 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
6988 VkPhysicalDevice physicalDevice,
6989 VkSurfaceKHR surface,
6990 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6992 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
6993 VkPhysicalDevice physicalDevice,
6994 VkSurfaceKHR surface,
6995 deUint32* pSurfaceFormatCount,
6996 VkSurfaceFormatKHR* pSurfaceFormats);
6998 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
6999 VkPhysicalDevice physicalDevice,
7000 VkSurfaceKHR surface,
7001 deUint32* pPresentModeCount,
7002 VkPresentModeKHR* pPresentModes);
7006 #define VK_KHR_swapchain 1
7007 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
7008 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
7009 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
7011 typedef enum VkSwapchainCreateFlagBitsKHR {
7012 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
7013 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
7014 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
7015 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7016 } VkSwapchainCreateFlagBitsKHR;
7017 typedef VkFlags VkSwapchainCreateFlagsKHR;
7019 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
7020 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
7021 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
7022 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
7023 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7024 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7025 } VkDeviceGroupPresentModeFlagBitsKHR;
7026 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7027 typedef struct VkSwapchainCreateInfoKHR {
7028 VkStructureType sType;
7030 VkSwapchainCreateFlagsKHR flags;
7031 VkSurfaceKHR surface;
7032 deUint32 minImageCount;
7033 VkFormat imageFormat;
7034 VkColorSpaceKHR imageColorSpace;
7035 VkExtent2D imageExtent;
7036 deUint32 imageArrayLayers;
7037 VkImageUsageFlags imageUsage;
7038 VkSharingMode imageSharingMode;
7039 deUint32 queueFamilyIndexCount;
7040 const deUint32* pQueueFamilyIndices;
7041 VkSurfaceTransformFlagBitsKHR preTransform;
7042 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7043 VkPresentModeKHR presentMode;
7045 VkSwapchainKHR oldSwapchain;
7046 } VkSwapchainCreateInfoKHR;
7048 typedef struct VkPresentInfoKHR {
7049 VkStructureType sType;
7051 deUint32 waitSemaphoreCount;
7052 const VkSemaphore* pWaitSemaphores;
7053 deUint32 swapchainCount;
7054 const VkSwapchainKHR* pSwapchains;
7055 const deUint32* pImageIndices;
7059 typedef struct VkImageSwapchainCreateInfoKHR {
7060 VkStructureType sType;
7062 VkSwapchainKHR swapchain;
7063 } VkImageSwapchainCreateInfoKHR;
7065 typedef struct VkBindImageMemorySwapchainInfoKHR {
7066 VkStructureType sType;
7068 VkSwapchainKHR swapchain;
7069 deUint32 imageIndex;
7070 } VkBindImageMemorySwapchainInfoKHR;
7072 typedef struct VkAcquireNextImageInfoKHR {
7073 VkStructureType sType;
7075 VkSwapchainKHR swapchain;
7077 VkSemaphore semaphore;
7079 deUint32 deviceMask;
7080 } VkAcquireNextImageInfoKHR;
7082 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7083 VkStructureType sType;
7085 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7086 VkDeviceGroupPresentModeFlagsKHR modes;
7087 } VkDeviceGroupPresentCapabilitiesKHR;
7089 typedef struct VkDeviceGroupPresentInfoKHR {
7090 VkStructureType sType;
7092 deUint32 swapchainCount;
7093 const deUint32* pDeviceMasks;
7094 VkDeviceGroupPresentModeFlagBitsKHR mode;
7095 } VkDeviceGroupPresentInfoKHR;
7097 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7098 VkStructureType sType;
7100 VkDeviceGroupPresentModeFlagsKHR modes;
7101 } VkDeviceGroupSwapchainCreateInfoKHR;
7103 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7104 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7105 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
7106 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
7107 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7108 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7109 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7110 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
7111 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
7113 #ifndef VK_NO_PROTOTYPES
7114 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7116 const VkSwapchainCreateInfoKHR* pCreateInfo,
7117 const VkAllocationCallbacks* pAllocator,
7118 VkSwapchainKHR* pSwapchain);
7120 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7122 VkSwapchainKHR swapchain,
7123 const VkAllocationCallbacks* pAllocator);
7125 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7127 VkSwapchainKHR swapchain,
7128 deUint32* pSwapchainImageCount,
7129 VkImage* pSwapchainImages);
7131 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7133 VkSwapchainKHR swapchain,
7135 VkSemaphore semaphore,
7137 deUint32* pImageIndex);
7139 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7141 const VkPresentInfoKHR* pPresentInfo);
7143 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7145 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7147 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7149 VkSurfaceKHR surface,
7150 VkDeviceGroupPresentModeFlagsKHR* pModes);
7152 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7153 VkPhysicalDevice physicalDevice,
7154 VkSurfaceKHR surface,
7155 deUint32* pRectCount,
7158 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7160 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7161 deUint32* pImageIndex);
7165 #define VK_KHR_display 1
7166 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7167 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7168 #define VK_KHR_DISPLAY_SPEC_VERSION 23
7169 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7170 typedef VkFlags VkDisplayModeCreateFlagsKHR;
7172 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7173 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7174 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7175 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7176 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7177 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7178 } VkDisplayPlaneAlphaFlagBitsKHR;
7179 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7180 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7181 typedef struct VkDisplayModeParametersKHR {
7182 VkExtent2D visibleRegion;
7183 deUint32 refreshRate;
7184 } VkDisplayModeParametersKHR;
7186 typedef struct VkDisplayModeCreateInfoKHR {
7187 VkStructureType sType;
7189 VkDisplayModeCreateFlagsKHR flags;
7190 VkDisplayModeParametersKHR parameters;
7191 } VkDisplayModeCreateInfoKHR;
7193 typedef struct VkDisplayModePropertiesKHR {
7194 VkDisplayModeKHR displayMode;
7195 VkDisplayModeParametersKHR parameters;
7196 } VkDisplayModePropertiesKHR;
7198 typedef struct VkDisplayPlaneCapabilitiesKHR {
7199 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7200 VkOffset2D minSrcPosition;
7201 VkOffset2D maxSrcPosition;
7202 VkExtent2D minSrcExtent;
7203 VkExtent2D maxSrcExtent;
7204 VkOffset2D minDstPosition;
7205 VkOffset2D maxDstPosition;
7206 VkExtent2D minDstExtent;
7207 VkExtent2D maxDstExtent;
7208 } VkDisplayPlaneCapabilitiesKHR;
7210 typedef struct VkDisplayPlanePropertiesKHR {
7211 VkDisplayKHR currentDisplay;
7212 deUint32 currentStackIndex;
7213 } VkDisplayPlanePropertiesKHR;
7215 typedef struct VkDisplayPropertiesKHR {
7216 VkDisplayKHR display;
7217 const char* displayName;
7218 VkExtent2D physicalDimensions;
7219 VkExtent2D physicalResolution;
7220 VkSurfaceTransformFlagsKHR supportedTransforms;
7221 VkBool32 planeReorderPossible;
7222 VkBool32 persistentContent;
7223 } VkDisplayPropertiesKHR;
7225 typedef struct VkDisplaySurfaceCreateInfoKHR {
7226 VkStructureType sType;
7228 VkDisplaySurfaceCreateFlagsKHR flags;
7229 VkDisplayModeKHR displayMode;
7230 deUint32 planeIndex;
7231 deUint32 planeStackIndex;
7232 VkSurfaceTransformFlagBitsKHR transform;
7234 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7235 VkExtent2D imageExtent;
7236 } VkDisplaySurfaceCreateInfoKHR;
7238 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7239 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7240 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
7241 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7242 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7243 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7244 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7246 #ifndef VK_NO_PROTOTYPES
7247 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7248 VkPhysicalDevice physicalDevice,
7249 deUint32* pPropertyCount,
7250 VkDisplayPropertiesKHR* pProperties);
7252 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7253 VkPhysicalDevice physicalDevice,
7254 deUint32* pPropertyCount,
7255 VkDisplayPlanePropertiesKHR* pProperties);
7257 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7258 VkPhysicalDevice physicalDevice,
7259 deUint32 planeIndex,
7260 deUint32* pDisplayCount,
7261 VkDisplayKHR* pDisplays);
7263 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7264 VkPhysicalDevice physicalDevice,
7265 VkDisplayKHR display,
7266 deUint32* pPropertyCount,
7267 VkDisplayModePropertiesKHR* pProperties);
7269 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7270 VkPhysicalDevice physicalDevice,
7271 VkDisplayKHR display,
7272 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7273 const VkAllocationCallbacks* pAllocator,
7274 VkDisplayModeKHR* pMode);
7276 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7277 VkPhysicalDevice physicalDevice,
7278 VkDisplayModeKHR mode,
7279 deUint32 planeIndex,
7280 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7282 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7283 VkInstance instance,
7284 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7285 const VkAllocationCallbacks* pAllocator,
7286 VkSurfaceKHR* pSurface);
7290 #define VK_KHR_display_swapchain 1
7291 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7292 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7293 typedef struct VkDisplayPresentInfoKHR {
7294 VkStructureType sType;
7298 VkBool32 persistent;
7299 } VkDisplayPresentInfoKHR;
7301 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7303 #ifndef VK_NO_PROTOTYPES
7304 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7306 deUint32 swapchainCount,
7307 const VkSwapchainCreateInfoKHR* pCreateInfos,
7308 const VkAllocationCallbacks* pAllocator,
7309 VkSwapchainKHR* pSwapchains);
7313 #define VK_KHR_sampler_mirror_clamp_to_edge 1
7314 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7315 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7318 #define VK_KHR_multiview 1
7319 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
7320 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
7321 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
7323 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
7325 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
7329 #define VK_KHR_get_physical_device_properties2 1
7330 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
7331 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
7332 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
7334 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
7336 typedef VkFormatProperties2 VkFormatProperties2KHR;
7338 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
7340 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
7342 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
7344 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
7346 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
7348 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
7350 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
7351 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
7352 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
7353 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
7354 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
7355 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7356 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
7358 #ifndef VK_NO_PROTOTYPES
7359 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
7360 VkPhysicalDevice physicalDevice,
7361 VkPhysicalDeviceFeatures2* pFeatures);
7363 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
7364 VkPhysicalDevice physicalDevice,
7365 VkPhysicalDeviceProperties2* pProperties);
7367 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
7368 VkPhysicalDevice physicalDevice,
7370 VkFormatProperties2* pFormatProperties);
7372 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
7373 VkPhysicalDevice physicalDevice,
7374 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
7375 VkImageFormatProperties2* pImageFormatProperties);
7377 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7378 VkPhysicalDevice physicalDevice,
7379 deUint32* pQueueFamilyPropertyCount,
7380 VkQueueFamilyProperties2* pQueueFamilyProperties);
7382 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
7383 VkPhysicalDevice physicalDevice,
7384 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7386 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7387 VkPhysicalDevice physicalDevice,
7388 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
7389 deUint32* pPropertyCount,
7390 VkSparseImageFormatProperties2* pProperties);
7394 #define VK_KHR_device_group 1
7395 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
7396 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
7397 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
7399 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
7401 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
7403 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
7405 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
7407 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
7409 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
7411 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
7413 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
7415 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
7417 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
7419 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7420 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
7421 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
7423 #ifndef VK_NO_PROTOTYPES
7424 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
7427 deUint32 localDeviceIndex,
7428 deUint32 remoteDeviceIndex,
7429 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7431 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
7432 VkCommandBuffer commandBuffer,
7433 deUint32 deviceMask);
7435 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
7436 VkCommandBuffer commandBuffer,
7437 deUint32 baseGroupX,
7438 deUint32 baseGroupY,
7439 deUint32 baseGroupZ,
7440 deUint32 groupCountX,
7441 deUint32 groupCountY,
7442 deUint32 groupCountZ);
7446 #define VK_KHR_shader_draw_parameters 1
7447 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
7448 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
7451 #define VK_KHR_maintenance1 1
7452 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
7453 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
7454 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
7456 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
7458 #ifndef VK_NO_PROTOTYPES
7459 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
7461 VkCommandPool commandPool,
7462 VkCommandPoolTrimFlags flags);
7466 #define VK_KHR_device_group_creation 1
7467 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
7468 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
7469 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
7470 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
7472 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
7474 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7476 #ifndef VK_NO_PROTOTYPES
7477 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
7478 VkInstance instance,
7479 deUint32* pPhysicalDeviceGroupCount,
7480 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7484 #define VK_KHR_external_memory_capabilities 1
7485 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7486 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
7487 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
7488 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
7490 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
7492 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
7494 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
7496 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
7498 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
7500 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
7502 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
7504 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
7506 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
7508 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
7510 #ifndef VK_NO_PROTOTYPES
7511 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7512 VkPhysicalDevice physicalDevice,
7513 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
7514 VkExternalBufferProperties* pExternalBufferProperties);
7518 #define VK_KHR_external_memory 1
7519 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
7520 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
7521 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
7522 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
7524 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
7526 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
7530 #define VK_KHR_external_memory_fd 1
7531 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
7532 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
7533 typedef struct VkImportMemoryFdInfoKHR {
7534 VkStructureType sType;
7536 VkExternalMemoryHandleTypeFlagBits handleType;
7538 } VkImportMemoryFdInfoKHR;
7540 typedef struct VkMemoryFdPropertiesKHR {
7541 VkStructureType sType;
7543 deUint32 memoryTypeBits;
7544 } VkMemoryFdPropertiesKHR;
7546 typedef struct VkMemoryGetFdInfoKHR {
7547 VkStructureType sType;
7549 VkDeviceMemory memory;
7550 VkExternalMemoryHandleTypeFlagBits handleType;
7551 } VkMemoryGetFdInfoKHR;
7553 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
7554 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7556 #ifndef VK_NO_PROTOTYPES
7557 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
7559 const VkMemoryGetFdInfoKHR* pGetFdInfo,
7562 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
7564 VkExternalMemoryHandleTypeFlagBits handleType,
7566 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7570 #define VK_KHR_external_semaphore_capabilities 1
7571 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
7572 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
7573 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
7575 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
7577 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
7579 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
7581 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
7583 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
7585 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7587 #ifndef VK_NO_PROTOTYPES
7588 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
7589 VkPhysicalDevice physicalDevice,
7590 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
7591 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7595 #define VK_KHR_external_semaphore 1
7596 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
7597 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
7598 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
7600 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
7602 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
7606 #define VK_KHR_external_semaphore_fd 1
7607 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
7608 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
7609 typedef struct VkImportSemaphoreFdInfoKHR {
7610 VkStructureType sType;
7612 VkSemaphore semaphore;
7613 VkSemaphoreImportFlags flags;
7614 VkExternalSemaphoreHandleTypeFlagBits handleType;
7616 } VkImportSemaphoreFdInfoKHR;
7618 typedef struct VkSemaphoreGetFdInfoKHR {
7619 VkStructureType sType;
7621 VkSemaphore semaphore;
7622 VkExternalSemaphoreHandleTypeFlagBits handleType;
7623 } VkSemaphoreGetFdInfoKHR;
7625 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7626 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
7628 #ifndef VK_NO_PROTOTYPES
7629 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
7631 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7633 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
7635 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
7640 #define VK_KHR_push_descriptor 1
7641 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
7642 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
7643 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7644 VkStructureType sType;
7646 deUint32 maxPushDescriptors;
7647 } VkPhysicalDevicePushDescriptorPropertiesKHR;
7649 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
7650 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
7652 #ifndef VK_NO_PROTOTYPES
7653 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
7654 VkCommandBuffer commandBuffer,
7655 VkPipelineBindPoint pipelineBindPoint,
7656 VkPipelineLayout layout,
7658 deUint32 descriptorWriteCount,
7659 const VkWriteDescriptorSet* pDescriptorWrites);
7661 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
7662 VkCommandBuffer commandBuffer,
7663 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7664 VkPipelineLayout layout,
7670 #define VK_KHR_shader_float16_int8 1
7671 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
7672 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
7673 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
7675 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
7679 #define VK_KHR_16bit_storage 1
7680 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
7681 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
7682 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
7686 #define VK_KHR_incremental_present 1
7687 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
7688 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
7689 typedef struct VkRectLayerKHR {
7695 typedef struct VkPresentRegionKHR {
7696 deUint32 rectangleCount;
7697 const VkRectLayerKHR* pRectangles;
7698 } VkPresentRegionKHR;
7700 typedef struct VkPresentRegionsKHR {
7701 VkStructureType sType;
7703 deUint32 swapchainCount;
7704 const VkPresentRegionKHR* pRegions;
7705 } VkPresentRegionsKHR;
7709 #define VK_KHR_descriptor_update_template 1
7710 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
7712 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
7713 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
7714 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
7716 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
7718 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
7720 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
7722 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7723 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
7724 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
7726 #ifndef VK_NO_PROTOTYPES
7727 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
7729 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
7730 const VkAllocationCallbacks* pAllocator,
7731 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7733 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
7735 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7736 const VkAllocationCallbacks* pAllocator);
7738 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
7740 VkDescriptorSet descriptorSet,
7741 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7746 #define VK_KHR_imageless_framebuffer 1
7747 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
7748 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
7749 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
7751 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
7753 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
7755 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
7759 #define VK_KHR_create_renderpass2 1
7760 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
7761 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
7762 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
7764 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
7766 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
7768 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
7770 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
7772 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
7774 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
7776 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7777 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7778 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7779 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7781 #ifndef VK_NO_PROTOTYPES
7782 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
7784 const VkRenderPassCreateInfo2* pCreateInfo,
7785 const VkAllocationCallbacks* pAllocator,
7786 VkRenderPass* pRenderPass);
7788 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
7789 VkCommandBuffer commandBuffer,
7790 const VkRenderPassBeginInfo* pRenderPassBegin,
7791 const VkSubpassBeginInfo* pSubpassBeginInfo);
7793 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
7794 VkCommandBuffer commandBuffer,
7795 const VkSubpassBeginInfo* pSubpassBeginInfo,
7796 const VkSubpassEndInfo* pSubpassEndInfo);
7798 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
7799 VkCommandBuffer commandBuffer,
7800 const VkSubpassEndInfo* pSubpassEndInfo);
7804 #define VK_KHR_shared_presentable_image 1
7805 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
7806 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
7807 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
7808 VkStructureType sType;
7810 VkImageUsageFlags sharedPresentSupportedUsageFlags;
7811 } VkSharedPresentSurfaceCapabilitiesKHR;
7813 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
7815 #ifndef VK_NO_PROTOTYPES
7816 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
7818 VkSwapchainKHR swapchain);
7822 #define VK_KHR_external_fence_capabilities 1
7823 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
7824 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
7825 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
7827 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
7829 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
7831 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
7833 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
7835 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
7837 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
7839 #ifndef VK_NO_PROTOTYPES
7840 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
7841 VkPhysicalDevice physicalDevice,
7842 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
7843 VkExternalFenceProperties* pExternalFenceProperties);
7847 #define VK_KHR_external_fence 1
7848 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
7849 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
7850 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
7852 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
7854 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
7858 #define VK_KHR_external_fence_fd 1
7859 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
7860 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
7861 typedef struct VkImportFenceFdInfoKHR {
7862 VkStructureType sType;
7865 VkFenceImportFlags flags;
7866 VkExternalFenceHandleTypeFlagBits handleType;
7868 } VkImportFenceFdInfoKHR;
7870 typedef struct VkFenceGetFdInfoKHR {
7871 VkStructureType sType;
7874 VkExternalFenceHandleTypeFlagBits handleType;
7875 } VkFenceGetFdInfoKHR;
7877 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7878 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
7880 #ifndef VK_NO_PROTOTYPES
7881 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
7883 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7885 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
7887 const VkFenceGetFdInfoKHR* pGetFdInfo,
7892 #define VK_KHR_performance_query 1
7893 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7894 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7896 typedef enum VkPerformanceCounterUnitKHR {
7897 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7898 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7899 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7900 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7901 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7902 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7903 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7904 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7905 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7906 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7907 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7908 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7909 } VkPerformanceCounterUnitKHR;
7911 typedef enum VkPerformanceCounterScopeKHR {
7912 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7913 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7914 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7915 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7916 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7917 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7918 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7919 } VkPerformanceCounterScopeKHR;
7921 typedef enum VkPerformanceCounterStorageKHR {
7922 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7923 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7924 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7925 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7926 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7927 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7928 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7929 } VkPerformanceCounterStorageKHR;
7931 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7932 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7933 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7934 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7935 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7936 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7937 } VkPerformanceCounterDescriptionFlagBitsKHR;
7938 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7940 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7941 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7942 } VkAcquireProfilingLockFlagBitsKHR;
7943 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7944 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7945 VkStructureType sType;
7947 VkBool32 performanceCounterQueryPools;
7948 VkBool32 performanceCounterMultipleQueryPools;
7949 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7951 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7952 VkStructureType sType;
7954 VkBool32 allowCommandBufferQueryCopies;
7955 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7957 typedef struct VkPerformanceCounterKHR {
7958 VkStructureType sType;
7960 VkPerformanceCounterUnitKHR unit;
7961 VkPerformanceCounterScopeKHR scope;
7962 VkPerformanceCounterStorageKHR storage;
7963 deUint8 uuid[VK_UUID_SIZE];
7964 } VkPerformanceCounterKHR;
7966 typedef struct VkPerformanceCounterDescriptionKHR {
7967 VkStructureType sType;
7969 VkPerformanceCounterDescriptionFlagsKHR flags;
7970 char name[VK_MAX_DESCRIPTION_SIZE];
7971 char category[VK_MAX_DESCRIPTION_SIZE];
7972 char description[VK_MAX_DESCRIPTION_SIZE];
7973 } VkPerformanceCounterDescriptionKHR;
7975 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7976 VkStructureType sType;
7978 deUint32 queueFamilyIndex;
7979 deUint32 counterIndexCount;
7980 const deUint32* pCounterIndices;
7981 } VkQueryPoolPerformanceCreateInfoKHR;
7983 typedef union VkPerformanceCounterResultKHR {
7990 } VkPerformanceCounterResultKHR;
7992 typedef struct VkAcquireProfilingLockInfoKHR {
7993 VkStructureType sType;
7995 VkAcquireProfilingLockFlagsKHR flags;
7997 } VkAcquireProfilingLockInfoKHR;
7999 typedef struct VkPerformanceQuerySubmitInfoKHR {
8000 VkStructureType sType;
8002 deUint32 counterPassIndex;
8003 } VkPerformanceQuerySubmitInfoKHR;
8005 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8006 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
8007 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
8008 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
8010 #ifndef VK_NO_PROTOTYPES
8011 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
8012 VkPhysicalDevice physicalDevice,
8013 deUint32 queueFamilyIndex,
8014 deUint32* pCounterCount,
8015 VkPerformanceCounterKHR* pCounters,
8016 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8018 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
8019 VkPhysicalDevice physicalDevice,
8020 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
8021 deUint32* pNumPasses);
8023 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
8025 const VkAcquireProfilingLockInfoKHR* pInfo);
8027 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
8032 #define VK_KHR_maintenance2 1
8033 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
8034 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
8035 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
8037 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
8039 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
8041 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
8043 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
8045 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
8047 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
8051 #define VK_KHR_get_surface_capabilities2 1
8052 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
8053 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
8054 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
8055 VkStructureType sType;
8057 VkSurfaceKHR surface;
8058 } VkPhysicalDeviceSurfaceInfo2KHR;
8060 typedef struct VkSurfaceCapabilities2KHR {
8061 VkStructureType sType;
8063 VkSurfaceCapabilitiesKHR surfaceCapabilities;
8064 } VkSurfaceCapabilities2KHR;
8066 typedef struct VkSurfaceFormat2KHR {
8067 VkStructureType sType;
8069 VkSurfaceFormatKHR surfaceFormat;
8070 } VkSurfaceFormat2KHR;
8072 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8073 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
8075 #ifndef VK_NO_PROTOTYPES
8076 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
8077 VkPhysicalDevice physicalDevice,
8078 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8079 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8081 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
8082 VkPhysicalDevice physicalDevice,
8083 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8084 deUint32* pSurfaceFormatCount,
8085 VkSurfaceFormat2KHR* pSurfaceFormats);
8089 #define VK_KHR_variable_pointers 1
8090 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
8091 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
8092 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
8094 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
8098 #define VK_KHR_get_display_properties2 1
8099 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
8100 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
8101 typedef struct VkDisplayProperties2KHR {
8102 VkStructureType sType;
8104 VkDisplayPropertiesKHR displayProperties;
8105 } VkDisplayProperties2KHR;
8107 typedef struct VkDisplayPlaneProperties2KHR {
8108 VkStructureType sType;
8110 VkDisplayPlanePropertiesKHR displayPlaneProperties;
8111 } VkDisplayPlaneProperties2KHR;
8113 typedef struct VkDisplayModeProperties2KHR {
8114 VkStructureType sType;
8116 VkDisplayModePropertiesKHR displayModeProperties;
8117 } VkDisplayModeProperties2KHR;
8119 typedef struct VkDisplayPlaneInfo2KHR {
8120 VkStructureType sType;
8122 VkDisplayModeKHR mode;
8123 deUint32 planeIndex;
8124 } VkDisplayPlaneInfo2KHR;
8126 typedef struct VkDisplayPlaneCapabilities2KHR {
8127 VkStructureType sType;
8129 VkDisplayPlaneCapabilitiesKHR capabilities;
8130 } VkDisplayPlaneCapabilities2KHR;
8132 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
8133 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
8134 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
8135 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
8137 #ifndef VK_NO_PROTOTYPES
8138 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
8139 VkPhysicalDevice physicalDevice,
8140 deUint32* pPropertyCount,
8141 VkDisplayProperties2KHR* pProperties);
8143 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
8144 VkPhysicalDevice physicalDevice,
8145 deUint32* pPropertyCount,
8146 VkDisplayPlaneProperties2KHR* pProperties);
8148 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
8149 VkPhysicalDevice physicalDevice,
8150 VkDisplayKHR display,
8151 deUint32* pPropertyCount,
8152 VkDisplayModeProperties2KHR* pProperties);
8154 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
8155 VkPhysicalDevice physicalDevice,
8156 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
8157 VkDisplayPlaneCapabilities2KHR* pCapabilities);
8161 #define VK_KHR_dedicated_allocation 1
8162 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
8163 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
8164 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
8166 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
8170 #define VK_KHR_storage_buffer_storage_class 1
8171 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
8172 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
8175 #define VK_KHR_relaxed_block_layout 1
8176 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
8177 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
8180 #define VK_KHR_get_memory_requirements2 1
8181 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
8182 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
8183 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
8185 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
8187 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
8189 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
8191 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
8193 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8194 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8195 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8197 #ifndef VK_NO_PROTOTYPES
8198 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
8200 const VkImageMemoryRequirementsInfo2* pInfo,
8201 VkMemoryRequirements2* pMemoryRequirements);
8203 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
8205 const VkBufferMemoryRequirementsInfo2* pInfo,
8206 VkMemoryRequirements2* pMemoryRequirements);
8208 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
8210 const VkImageSparseMemoryRequirementsInfo2* pInfo,
8211 deUint32* pSparseMemoryRequirementCount,
8212 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8216 #define VK_KHR_image_format_list 1
8217 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
8218 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
8219 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
8223 #define VK_KHR_sampler_ycbcr_conversion 1
8224 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
8226 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
8227 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
8228 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
8230 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
8232 typedef VkChromaLocation VkChromaLocationKHR;
8234 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
8236 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
8238 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
8240 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
8242 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
8244 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
8246 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
8247 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
8249 #ifndef VK_NO_PROTOTYPES
8250 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
8252 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
8253 const VkAllocationCallbacks* pAllocator,
8254 VkSamplerYcbcrConversion* pYcbcrConversion);
8256 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
8258 VkSamplerYcbcrConversion ycbcrConversion,
8259 const VkAllocationCallbacks* pAllocator);
8263 #define VK_KHR_bind_memory2 1
8264 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
8265 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
8266 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
8268 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
8270 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
8271 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
8273 #ifndef VK_NO_PROTOTYPES
8274 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
8276 deUint32 bindInfoCount,
8277 const VkBindBufferMemoryInfo* pBindInfos);
8279 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
8281 deUint32 bindInfoCount,
8282 const VkBindImageMemoryInfo* pBindInfos);
8286 #define VK_KHR_maintenance3 1
8287 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
8288 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
8289 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
8291 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
8293 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
8295 #ifndef VK_NO_PROTOTYPES
8296 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
8298 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
8299 VkDescriptorSetLayoutSupport* pSupport);
8303 #define VK_KHR_draw_indirect_count 1
8304 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
8305 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
8306 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8307 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8309 #ifndef VK_NO_PROTOTYPES
8310 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
8311 VkCommandBuffer commandBuffer,
8313 VkDeviceSize offset,
8314 VkBuffer countBuffer,
8315 VkDeviceSize countBufferOffset,
8316 deUint32 maxDrawCount,
8319 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
8320 VkCommandBuffer commandBuffer,
8322 VkDeviceSize offset,
8323 VkBuffer countBuffer,
8324 VkDeviceSize countBufferOffset,
8325 deUint32 maxDrawCount,
8330 #define VK_KHR_shader_subgroup_extended_types 1
8331 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
8332 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
8333 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
8337 #define VK_KHR_8bit_storage 1
8338 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
8339 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
8340 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
8344 #define VK_KHR_shader_atomic_int64 1
8345 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
8346 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
8347 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
8351 #define VK_KHR_shader_clock 1
8352 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
8353 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
8354 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
8355 VkStructureType sType;
8357 VkBool32 shaderSubgroupClock;
8358 VkBool32 shaderDeviceClock;
8359 } VkPhysicalDeviceShaderClockFeaturesKHR;
8363 #define VK_KHR_driver_properties 1
8364 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
8365 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
8366 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
8367 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
8368 typedef VkDriverId VkDriverIdKHR;
8370 typedef VkConformanceVersion VkConformanceVersionKHR;
8372 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
8376 #define VK_KHR_shader_float_controls 1
8377 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
8378 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
8379 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
8381 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
8385 #define VK_KHR_depth_stencil_resolve 1
8386 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
8387 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
8388 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
8390 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
8392 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
8394 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
8398 #define VK_KHR_swapchain_mutable_format 1
8399 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
8400 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
8403 #define VK_KHR_timeline_semaphore 1
8404 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
8405 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
8406 typedef VkSemaphoreType VkSemaphoreTypeKHR;
8408 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
8410 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
8412 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
8414 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
8416 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
8418 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
8420 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
8422 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
8424 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
8425 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
8426 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
8428 #ifndef VK_NO_PROTOTYPES
8429 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
8431 VkSemaphore semaphore,
8434 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
8436 const VkSemaphoreWaitInfo* pWaitInfo,
8439 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
8441 const VkSemaphoreSignalInfo* pSignalInfo);
8445 #define VK_KHR_vulkan_memory_model 1
8446 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
8447 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
8448 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
8452 #define VK_KHR_shader_terminate_invocation 1
8453 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
8454 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
8455 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
8456 VkStructureType sType;
8458 VkBool32 shaderTerminateInvocation;
8459 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
8463 #define VK_KHR_fragment_shading_rate 1
8464 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
8465 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
8467 typedef enum VkFragmentShadingRateCombinerOpKHR {
8468 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
8469 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
8470 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
8471 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
8472 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
8473 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
8474 } VkFragmentShadingRateCombinerOpKHR;
8475 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
8476 VkStructureType sType;
8478 const VkAttachmentReference2* pFragmentShadingRateAttachment;
8479 VkExtent2D shadingRateAttachmentTexelSize;
8480 } VkFragmentShadingRateAttachmentInfoKHR;
8482 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
8483 VkStructureType sType;
8485 VkExtent2D fragmentSize;
8486 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
8487 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
8489 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
8490 VkStructureType sType;
8492 VkBool32 pipelineFragmentShadingRate;
8493 VkBool32 primitiveFragmentShadingRate;
8494 VkBool32 attachmentFragmentShadingRate;
8495 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
8497 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
8498 VkStructureType sType;
8500 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
8501 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
8502 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
8503 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
8504 VkBool32 layeredShadingRateAttachments;
8505 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
8506 VkExtent2D maxFragmentSize;
8507 deUint32 maxFragmentSizeAspectRatio;
8508 deUint32 maxFragmentShadingRateCoverageSamples;
8509 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
8510 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
8511 VkBool32 fragmentShadingRateWithSampleMask;
8512 VkBool32 fragmentShadingRateWithShaderSampleMask;
8513 VkBool32 fragmentShadingRateWithConservativeRasterization;
8514 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
8515 VkBool32 fragmentShadingRateWithCustomSampleLocations;
8516 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
8517 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
8519 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
8520 VkStructureType sType;
8522 VkSampleCountFlags sampleCounts;
8523 VkExtent2D fragmentSize;
8524 } VkPhysicalDeviceFragmentShadingRateKHR;
8526 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8527 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8529 #ifndef VK_NO_PROTOTYPES
8530 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
8531 VkPhysicalDevice physicalDevice,
8532 deUint32* pFragmentShadingRateCount,
8533 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8535 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
8536 VkCommandBuffer commandBuffer,
8537 const VkExtent2D* pFragmentSize,
8538 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8542 #define VK_KHR_spirv_1_4 1
8543 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
8544 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
8547 #define VK_KHR_surface_protected_capabilities 1
8548 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
8549 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
8550 typedef struct VkSurfaceProtectedCapabilitiesKHR {
8551 VkStructureType sType;
8553 VkBool32 supportsProtected;
8554 } VkSurfaceProtectedCapabilitiesKHR;
8558 #define VK_KHR_separate_depth_stencil_layouts 1
8559 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
8560 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
8561 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
8563 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
8565 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
8569 #define VK_KHR_uniform_buffer_standard_layout 1
8570 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
8571 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
8572 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
8576 #define VK_KHR_buffer_device_address 1
8577 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
8578 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
8579 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
8581 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
8583 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
8585 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
8587 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
8589 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8590 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8591 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8593 #ifndef VK_NO_PROTOTYPES
8594 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
8596 const VkBufferDeviceAddressInfo* pInfo);
8598 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
8600 const VkBufferDeviceAddressInfo* pInfo);
8602 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
8604 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8608 #define VK_KHR_deferred_host_operations 1
8609 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
8610 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
8611 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
8612 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
8613 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
8614 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
8615 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
8616 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
8618 #ifndef VK_NO_PROTOTYPES
8619 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
8621 const VkAllocationCallbacks* pAllocator,
8622 VkDeferredOperationKHR* pDeferredOperation);
8624 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
8626 VkDeferredOperationKHR operation,
8627 const VkAllocationCallbacks* pAllocator);
8629 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
8631 VkDeferredOperationKHR operation);
8633 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
8635 VkDeferredOperationKHR operation);
8637 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
8639 VkDeferredOperationKHR operation);
8643 #define VK_KHR_pipeline_executable_properties 1
8644 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
8645 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
8647 typedef enum VkPipelineExecutableStatisticFormatKHR {
8648 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
8649 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
8650 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
8651 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
8652 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
8653 } VkPipelineExecutableStatisticFormatKHR;
8654 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
8655 VkStructureType sType;
8657 VkBool32 pipelineExecutableInfo;
8658 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
8660 typedef struct VkPipelineInfoKHR {
8661 VkStructureType sType;
8663 VkPipeline pipeline;
8664 } VkPipelineInfoKHR;
8666 typedef struct VkPipelineExecutablePropertiesKHR {
8667 VkStructureType sType;
8669 VkShaderStageFlags stages;
8670 char name[VK_MAX_DESCRIPTION_SIZE];
8671 char description[VK_MAX_DESCRIPTION_SIZE];
8672 deUint32 subgroupSize;
8673 } VkPipelineExecutablePropertiesKHR;
8675 typedef struct VkPipelineExecutableInfoKHR {
8676 VkStructureType sType;
8678 VkPipeline pipeline;
8679 deUint32 executableIndex;
8680 } VkPipelineExecutableInfoKHR;
8682 typedef union VkPipelineExecutableStatisticValueKHR {
8687 } VkPipelineExecutableStatisticValueKHR;
8689 typedef struct VkPipelineExecutableStatisticKHR {
8690 VkStructureType sType;
8692 char name[VK_MAX_DESCRIPTION_SIZE];
8693 char description[VK_MAX_DESCRIPTION_SIZE];
8694 VkPipelineExecutableStatisticFormatKHR format;
8695 VkPipelineExecutableStatisticValueKHR value;
8696 } VkPipelineExecutableStatisticKHR;
8698 typedef struct VkPipelineExecutableInternalRepresentationKHR {
8699 VkStructureType sType;
8701 char name[VK_MAX_DESCRIPTION_SIZE];
8702 char description[VK_MAX_DESCRIPTION_SIZE];
8706 } VkPipelineExecutableInternalRepresentationKHR;
8708 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
8709 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
8710 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8712 #ifndef VK_NO_PROTOTYPES
8713 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
8715 const VkPipelineInfoKHR* pPipelineInfo,
8716 deUint32* pExecutableCount,
8717 VkPipelineExecutablePropertiesKHR* pProperties);
8719 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
8721 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8722 deUint32* pStatisticCount,
8723 VkPipelineExecutableStatisticKHR* pStatistics);
8725 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
8727 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8728 deUint32* pInternalRepresentationCount,
8729 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8733 #define VK_KHR_pipeline_library 1
8734 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
8735 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
8736 typedef struct VkPipelineLibraryCreateInfoKHR {
8737 VkStructureType sType;
8739 deUint32 libraryCount;
8740 const VkPipeline* pLibraries;
8741 } VkPipelineLibraryCreateInfoKHR;
8745 #define VK_KHR_shader_non_semantic_info 1
8746 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
8747 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
8750 #define VK_KHR_synchronization2 1
8751 typedef deUint64 VkFlags64;
8752 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
8753 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
8754 typedef VkFlags64 VkPipelineStageFlags2KHR;
8756 // Flag bits for VkPipelineStageFlagBits2KHR
8757 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
8758 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
8759 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
8760 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
8761 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
8762 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
8763 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
8764 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
8765 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
8766 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
8767 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
8768 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
8769 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
8770 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
8771 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
8772 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000;
8773 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
8774 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
8775 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
8776 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
8777 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
8778 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
8779 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
8780 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
8781 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
8782 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
8783 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
8784 #ifdef VK_ENABLE_BETA_EXTENSIONS
8785 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
8787 #ifdef VK_ENABLE_BETA_EXTENSIONS
8788 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
8790 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
8791 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
8792 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
8793 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
8794 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000;
8795 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
8796 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
8797 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000;
8798 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000;
8799 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
8800 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
8801 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
8802 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
8804 typedef VkFlags64 VkAccessFlags2KHR;
8806 // Flag bits for VkAccessFlagBits2KHR
8807 typedef VkFlags64 VkAccessFlagBits2KHR;
8808 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
8809 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
8810 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
8811 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
8812 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
8813 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
8814 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
8815 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
8816 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
8817 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
8818 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
8819 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
8820 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
8821 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
8822 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
8823 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
8824 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
8825 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
8826 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
8827 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
8828 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
8829 #ifdef VK_ENABLE_BETA_EXTENSIONS
8830 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
8832 #ifdef VK_ENABLE_BETA_EXTENSIONS
8833 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
8835 #ifdef VK_ENABLE_BETA_EXTENSIONS
8836 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
8838 #ifdef VK_ENABLE_BETA_EXTENSIONS
8839 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
8841 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
8842 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
8843 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
8844 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
8845 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
8846 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
8847 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
8848 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
8849 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
8850 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
8851 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
8852 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
8853 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
8854 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
8857 typedef enum VkSubmitFlagBitsKHR {
8858 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
8859 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8860 } VkSubmitFlagBitsKHR;
8861 typedef VkFlags VkSubmitFlagsKHR;
8862 typedef struct VkMemoryBarrier2KHR {
8863 VkStructureType sType;
8865 VkPipelineStageFlags2KHR srcStageMask;
8866 VkAccessFlags2KHR srcAccessMask;
8867 VkPipelineStageFlags2KHR dstStageMask;
8868 VkAccessFlags2KHR dstAccessMask;
8869 } VkMemoryBarrier2KHR;
8871 typedef struct VkBufferMemoryBarrier2KHR {
8872 VkStructureType sType;
8874 VkPipelineStageFlags2KHR srcStageMask;
8875 VkAccessFlags2KHR srcAccessMask;
8876 VkPipelineStageFlags2KHR dstStageMask;
8877 VkAccessFlags2KHR dstAccessMask;
8878 deUint32 srcQueueFamilyIndex;
8879 deUint32 dstQueueFamilyIndex;
8881 VkDeviceSize offset;
8883 } VkBufferMemoryBarrier2KHR;
8885 typedef struct VkImageMemoryBarrier2KHR {
8886 VkStructureType sType;
8888 VkPipelineStageFlags2KHR srcStageMask;
8889 VkAccessFlags2KHR srcAccessMask;
8890 VkPipelineStageFlags2KHR dstStageMask;
8891 VkAccessFlags2KHR dstAccessMask;
8892 VkImageLayout oldLayout;
8893 VkImageLayout newLayout;
8894 deUint32 srcQueueFamilyIndex;
8895 deUint32 dstQueueFamilyIndex;
8897 VkImageSubresourceRange subresourceRange;
8898 } VkImageMemoryBarrier2KHR;
8900 typedef struct VkDependencyInfoKHR {
8901 VkStructureType sType;
8903 VkDependencyFlags dependencyFlags;
8904 deUint32 memoryBarrierCount;
8905 const VkMemoryBarrier2KHR* pMemoryBarriers;
8906 deUint32 bufferMemoryBarrierCount;
8907 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
8908 deUint32 imageMemoryBarrierCount;
8909 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
8910 } VkDependencyInfoKHR;
8912 typedef struct VkSemaphoreSubmitInfoKHR {
8913 VkStructureType sType;
8915 VkSemaphore semaphore;
8917 VkPipelineStageFlags2KHR stageMask;
8918 deUint32 deviceIndex;
8919 } VkSemaphoreSubmitInfoKHR;
8921 typedef struct VkCommandBufferSubmitInfoKHR {
8922 VkStructureType sType;
8924 VkCommandBuffer commandBuffer;
8925 deUint32 deviceMask;
8926 } VkCommandBufferSubmitInfoKHR;
8928 typedef struct VkSubmitInfo2KHR {
8929 VkStructureType sType;
8931 VkSubmitFlagsKHR flags;
8932 deUint32 waitSemaphoreInfoCount;
8933 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8934 deUint32 commandBufferInfoCount;
8935 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8936 deUint32 signalSemaphoreInfoCount;
8937 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
8940 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
8941 VkStructureType sType;
8943 VkBool32 synchronization2;
8944 } VkPhysicalDeviceSynchronization2FeaturesKHR;
8946 typedef struct VkQueueFamilyCheckpointProperties2NV {
8947 VkStructureType sType;
8949 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
8950 } VkQueueFamilyCheckpointProperties2NV;
8952 typedef struct VkCheckpointData2NV {
8953 VkStructureType sType;
8955 VkPipelineStageFlags2KHR stage;
8956 void* pCheckpointMarker;
8957 } VkCheckpointData2NV;
8959 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
8960 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
8961 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
8962 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
8963 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
8964 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
8965 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
8966 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
8968 #ifndef VK_NO_PROTOTYPES
8969 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
8970 VkCommandBuffer commandBuffer,
8972 const VkDependencyInfoKHR* pDependencyInfo);
8974 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
8975 VkCommandBuffer commandBuffer,
8977 VkPipelineStageFlags2KHR stageMask);
8979 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
8980 VkCommandBuffer commandBuffer,
8981 deUint32 eventCount,
8982 const VkEvent* pEvents,
8983 const VkDependencyInfoKHR* pDependencyInfos);
8985 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
8986 VkCommandBuffer commandBuffer,
8987 const VkDependencyInfoKHR* pDependencyInfo);
8989 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
8990 VkCommandBuffer commandBuffer,
8991 VkPipelineStageFlags2KHR stage,
8992 VkQueryPool queryPool,
8995 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
8997 deUint32 submitCount,
8998 const VkSubmitInfo2KHR* pSubmits,
9001 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
9002 VkCommandBuffer commandBuffer,
9003 VkPipelineStageFlags2KHR stage,
9005 VkDeviceSize dstOffset,
9008 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
9010 deUint32* pCheckpointDataCount,
9011 VkCheckpointData2NV* pCheckpointData);
9015 #define VK_KHR_shader_subgroup_uniform_control_flow 1
9016 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
9017 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
9018 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
9019 VkStructureType sType;
9021 VkBool32 shaderSubgroupUniformControlFlow;
9022 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
9026 #define VK_KHR_zero_initialize_workgroup_memory 1
9027 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
9028 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
9029 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
9030 VkStructureType sType;
9032 VkBool32 shaderZeroInitializeWorkgroupMemory;
9033 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
9037 #define VK_KHR_workgroup_memory_explicit_layout 1
9038 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
9039 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
9040 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
9041 VkStructureType sType;
9043 VkBool32 workgroupMemoryExplicitLayout;
9044 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
9045 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
9046 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
9047 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
9051 #define VK_KHR_copy_commands2 1
9052 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
9053 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
9054 typedef struct VkBufferCopy2KHR {
9055 VkStructureType sType;
9057 VkDeviceSize srcOffset;
9058 VkDeviceSize dstOffset;
9062 typedef struct VkCopyBufferInfo2KHR {
9063 VkStructureType sType;
9067 deUint32 regionCount;
9068 const VkBufferCopy2KHR* pRegions;
9069 } VkCopyBufferInfo2KHR;
9071 typedef struct VkImageCopy2KHR {
9072 VkStructureType sType;
9074 VkImageSubresourceLayers srcSubresource;
9075 VkOffset3D srcOffset;
9076 VkImageSubresourceLayers dstSubresource;
9077 VkOffset3D dstOffset;
9081 typedef struct VkCopyImageInfo2KHR {
9082 VkStructureType sType;
9085 VkImageLayout srcImageLayout;
9087 VkImageLayout dstImageLayout;
9088 deUint32 regionCount;
9089 const VkImageCopy2KHR* pRegions;
9090 } VkCopyImageInfo2KHR;
9092 typedef struct VkBufferImageCopy2KHR {
9093 VkStructureType sType;
9095 VkDeviceSize bufferOffset;
9096 deUint32 bufferRowLength;
9097 deUint32 bufferImageHeight;
9098 VkImageSubresourceLayers imageSubresource;
9099 VkOffset3D imageOffset;
9100 VkExtent3D imageExtent;
9101 } VkBufferImageCopy2KHR;
9103 typedef struct VkCopyBufferToImageInfo2KHR {
9104 VkStructureType sType;
9108 VkImageLayout dstImageLayout;
9109 deUint32 regionCount;
9110 const VkBufferImageCopy2KHR* pRegions;
9111 } VkCopyBufferToImageInfo2KHR;
9113 typedef struct VkCopyImageToBufferInfo2KHR {
9114 VkStructureType sType;
9117 VkImageLayout srcImageLayout;
9119 deUint32 regionCount;
9120 const VkBufferImageCopy2KHR* pRegions;
9121 } VkCopyImageToBufferInfo2KHR;
9123 typedef struct VkImageBlit2KHR {
9124 VkStructureType sType;
9126 VkImageSubresourceLayers srcSubresource;
9127 VkOffset3D srcOffsets[2];
9128 VkImageSubresourceLayers dstSubresource;
9129 VkOffset3D dstOffsets[2];
9132 typedef struct VkBlitImageInfo2KHR {
9133 VkStructureType sType;
9136 VkImageLayout srcImageLayout;
9138 VkImageLayout dstImageLayout;
9139 deUint32 regionCount;
9140 const VkImageBlit2KHR* pRegions;
9142 } VkBlitImageInfo2KHR;
9144 typedef struct VkImageResolve2KHR {
9145 VkStructureType sType;
9147 VkImageSubresourceLayers srcSubresource;
9148 VkOffset3D srcOffset;
9149 VkImageSubresourceLayers dstSubresource;
9150 VkOffset3D dstOffset;
9152 } VkImageResolve2KHR;
9154 typedef struct VkResolveImageInfo2KHR {
9155 VkStructureType sType;
9158 VkImageLayout srcImageLayout;
9160 VkImageLayout dstImageLayout;
9161 deUint32 regionCount;
9162 const VkImageResolve2KHR* pRegions;
9163 } VkResolveImageInfo2KHR;
9165 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9166 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
9167 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9168 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9169 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
9170 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
9172 #ifndef VK_NO_PROTOTYPES
9173 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
9174 VkCommandBuffer commandBuffer,
9175 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9177 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
9178 VkCommandBuffer commandBuffer,
9179 const VkCopyImageInfo2KHR* pCopyImageInfo);
9181 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
9182 VkCommandBuffer commandBuffer,
9183 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9185 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
9186 VkCommandBuffer commandBuffer,
9187 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9189 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
9190 VkCommandBuffer commandBuffer,
9191 const VkBlitImageInfo2KHR* pBlitImageInfo);
9193 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
9194 VkCommandBuffer commandBuffer,
9195 const VkResolveImageInfo2KHR* pResolveImageInfo);
9199 #define VK_EXT_debug_report 1
9200 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
9201 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
9202 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
9204 typedef enum VkDebugReportObjectTypeEXT {
9205 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
9206 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
9207 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
9208 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
9209 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
9210 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
9211 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
9212 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
9213 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
9214 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
9215 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
9216 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
9217 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
9218 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
9219 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
9220 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
9221 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
9222 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
9223 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
9224 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
9225 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
9226 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
9227 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
9228 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
9229 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
9230 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
9231 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
9232 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
9233 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
9234 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
9235 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
9236 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
9237 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
9238 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
9239 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
9240 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
9241 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
9242 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
9243 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
9244 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
9245 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
9246 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
9247 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9248 } VkDebugReportObjectTypeEXT;
9250 typedef enum VkDebugReportFlagBitsEXT {
9251 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
9252 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
9253 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
9254 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
9255 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
9256 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9257 } VkDebugReportFlagBitsEXT;
9258 typedef VkFlags VkDebugReportFlagsEXT;
9259 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
9260 VkDebugReportFlagsEXT flags,
9261 VkDebugReportObjectTypeEXT objectType,
9264 deInt32 messageCode,
9265 const char* pLayerPrefix,
9266 const char* pMessage,
9269 typedef struct VkDebugReportCallbackCreateInfoEXT {
9270 VkStructureType sType;
9272 VkDebugReportFlagsEXT flags;
9273 PFN_vkDebugReportCallbackEXT pfnCallback;
9275 } VkDebugReportCallbackCreateInfoEXT;
9277 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
9278 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
9279 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
9281 #ifndef VK_NO_PROTOTYPES
9282 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
9283 VkInstance instance,
9284 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
9285 const VkAllocationCallbacks* pAllocator,
9286 VkDebugReportCallbackEXT* pCallback);
9288 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
9289 VkInstance instance,
9290 VkDebugReportCallbackEXT callback,
9291 const VkAllocationCallbacks* pAllocator);
9293 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
9294 VkInstance instance,
9295 VkDebugReportFlagsEXT flags,
9296 VkDebugReportObjectTypeEXT objectType,
9299 deInt32 messageCode,
9300 const char* pLayerPrefix,
9301 const char* pMessage);
9305 #define VK_NV_glsl_shader 1
9306 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
9307 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
9310 #define VK_EXT_depth_range_unrestricted 1
9311 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
9312 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
9315 #define VK_IMG_filter_cubic 1
9316 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
9317 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
9320 #define VK_AMD_rasterization_order 1
9321 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
9322 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
9324 typedef enum VkRasterizationOrderAMD {
9325 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
9326 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
9327 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
9328 } VkRasterizationOrderAMD;
9329 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
9330 VkStructureType sType;
9332 VkRasterizationOrderAMD rasterizationOrder;
9333 } VkPipelineRasterizationStateRasterizationOrderAMD;
9337 #define VK_AMD_shader_trinary_minmax 1
9338 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
9339 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
9342 #define VK_AMD_shader_explicit_vertex_parameter 1
9343 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
9344 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
9347 #define VK_EXT_debug_marker 1
9348 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
9349 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
9350 typedef struct VkDebugMarkerObjectNameInfoEXT {
9351 VkStructureType sType;
9353 VkDebugReportObjectTypeEXT objectType;
9355 const char* pObjectName;
9356 } VkDebugMarkerObjectNameInfoEXT;
9358 typedef struct VkDebugMarkerObjectTagInfoEXT {
9359 VkStructureType sType;
9361 VkDebugReportObjectTypeEXT objectType;
9366 } VkDebugMarkerObjectTagInfoEXT;
9368 typedef struct VkDebugMarkerMarkerInfoEXT {
9369 VkStructureType sType;
9371 const char* pMarkerName;
9373 } VkDebugMarkerMarkerInfoEXT;
9375 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9376 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9377 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9378 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
9379 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9381 #ifndef VK_NO_PROTOTYPES
9382 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
9384 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9386 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
9388 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9390 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
9391 VkCommandBuffer commandBuffer,
9392 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9394 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
9395 VkCommandBuffer commandBuffer);
9397 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
9398 VkCommandBuffer commandBuffer,
9399 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9403 #define VK_AMD_gcn_shader 1
9404 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
9405 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
9408 #define VK_NV_dedicated_allocation 1
9409 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
9410 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
9411 typedef struct VkDedicatedAllocationImageCreateInfoNV {
9412 VkStructureType sType;
9414 VkBool32 dedicatedAllocation;
9415 } VkDedicatedAllocationImageCreateInfoNV;
9417 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
9418 VkStructureType sType;
9420 VkBool32 dedicatedAllocation;
9421 } VkDedicatedAllocationBufferCreateInfoNV;
9423 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
9424 VkStructureType sType;
9428 } VkDedicatedAllocationMemoryAllocateInfoNV;
9432 #define VK_EXT_transform_feedback 1
9433 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
9434 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
9435 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
9436 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
9437 VkStructureType sType;
9439 VkBool32 transformFeedback;
9440 VkBool32 geometryStreams;
9441 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
9443 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
9444 VkStructureType sType;
9446 deUint32 maxTransformFeedbackStreams;
9447 deUint32 maxTransformFeedbackBuffers;
9448 VkDeviceSize maxTransformFeedbackBufferSize;
9449 deUint32 maxTransformFeedbackStreamDataSize;
9450 deUint32 maxTransformFeedbackBufferDataSize;
9451 deUint32 maxTransformFeedbackBufferDataStride;
9452 VkBool32 transformFeedbackQueries;
9453 VkBool32 transformFeedbackStreamsLinesTriangles;
9454 VkBool32 transformFeedbackRasterizationStreamSelect;
9455 VkBool32 transformFeedbackDraw;
9456 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
9458 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
9459 VkStructureType sType;
9461 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
9462 deUint32 rasterizationStream;
9463 } VkPipelineRasterizationStateStreamCreateInfoEXT;
9465 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
9466 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9467 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9468 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
9469 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
9470 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
9472 #ifndef VK_NO_PROTOTYPES
9473 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
9474 VkCommandBuffer commandBuffer,
9475 deUint32 firstBinding,
9476 deUint32 bindingCount,
9477 const VkBuffer* pBuffers,
9478 const VkDeviceSize* pOffsets,
9479 const VkDeviceSize* pSizes);
9481 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
9482 VkCommandBuffer commandBuffer,
9483 deUint32 firstCounterBuffer,
9484 deUint32 counterBufferCount,
9485 const VkBuffer* pCounterBuffers,
9486 const VkDeviceSize* pCounterBufferOffsets);
9488 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
9489 VkCommandBuffer commandBuffer,
9490 deUint32 firstCounterBuffer,
9491 deUint32 counterBufferCount,
9492 const VkBuffer* pCounterBuffers,
9493 const VkDeviceSize* pCounterBufferOffsets);
9495 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
9496 VkCommandBuffer commandBuffer,
9497 VkQueryPool queryPool,
9499 VkQueryControlFlags flags,
9502 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
9503 VkCommandBuffer commandBuffer,
9504 VkQueryPool queryPool,
9508 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
9509 VkCommandBuffer commandBuffer,
9510 deUint32 instanceCount,
9511 deUint32 firstInstance,
9512 VkBuffer counterBuffer,
9513 VkDeviceSize counterBufferOffset,
9514 deUint32 counterOffset,
9515 deUint32 vertexStride);
9519 #define VK_NVX_binary_import 1
9520 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
9521 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
9522 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
9523 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
9524 typedef struct VkCuModuleCreateInfoNVX {
9525 VkStructureType sType;
9529 } VkCuModuleCreateInfoNVX;
9531 typedef struct VkCuFunctionCreateInfoNVX {
9532 VkStructureType sType;
9534 VkCuModuleNVX module;
9536 } VkCuFunctionCreateInfoNVX;
9538 typedef struct VkCuLaunchInfoNVX {
9539 VkStructureType sType;
9541 VkCuFunctionNVX function;
9548 deUint32 sharedMemBytes;
9549 deUintptr paramCount;
9550 const void* const * pParams;
9551 deUintptr extraCount;
9552 const void* const * pExtras;
9553 } VkCuLaunchInfoNVX;
9555 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
9556 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
9557 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
9558 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
9559 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
9561 #ifndef VK_NO_PROTOTYPES
9562 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
9564 const VkCuModuleCreateInfoNVX* pCreateInfo,
9565 const VkAllocationCallbacks* pAllocator,
9566 VkCuModuleNVX* pModule);
9568 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
9570 const VkCuFunctionCreateInfoNVX* pCreateInfo,
9571 const VkAllocationCallbacks* pAllocator,
9572 VkCuFunctionNVX* pFunction);
9574 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
9576 VkCuModuleNVX module,
9577 const VkAllocationCallbacks* pAllocator);
9579 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
9581 VkCuFunctionNVX function,
9582 const VkAllocationCallbacks* pAllocator);
9584 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
9585 VkCommandBuffer commandBuffer,
9586 const VkCuLaunchInfoNVX* pLaunchInfo);
9590 #define VK_NVX_image_view_handle 1
9591 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
9592 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
9593 typedef struct VkImageViewHandleInfoNVX {
9594 VkStructureType sType;
9596 VkImageView imageView;
9597 VkDescriptorType descriptorType;
9599 } VkImageViewHandleInfoNVX;
9601 typedef struct VkImageViewAddressPropertiesNVX {
9602 VkStructureType sType;
9604 VkDeviceAddress deviceAddress;
9606 } VkImageViewAddressPropertiesNVX;
9608 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
9609 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
9611 #ifndef VK_NO_PROTOTYPES
9612 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
9614 const VkImageViewHandleInfoNVX* pInfo);
9616 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
9618 VkImageView imageView,
9619 VkImageViewAddressPropertiesNVX* pProperties);
9623 #define VK_AMD_draw_indirect_count 1
9624 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
9625 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
9626 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9627 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9629 #ifndef VK_NO_PROTOTYPES
9630 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
9631 VkCommandBuffer commandBuffer,
9633 VkDeviceSize offset,
9634 VkBuffer countBuffer,
9635 VkDeviceSize countBufferOffset,
9636 deUint32 maxDrawCount,
9639 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
9640 VkCommandBuffer commandBuffer,
9642 VkDeviceSize offset,
9643 VkBuffer countBuffer,
9644 VkDeviceSize countBufferOffset,
9645 deUint32 maxDrawCount,
9650 #define VK_AMD_negative_viewport_height 1
9651 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
9652 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
9655 #define VK_AMD_gpu_shader_half_float 1
9656 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
9657 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
9660 #define VK_AMD_shader_ballot 1
9661 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
9662 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
9665 #define VK_AMD_texture_gather_bias_lod 1
9666 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
9667 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
9668 typedef struct VkTextureLODGatherFormatPropertiesAMD {
9669 VkStructureType sType;
9671 VkBool32 supportsTextureGatherLODBiasAMD;
9672 } VkTextureLODGatherFormatPropertiesAMD;
9676 #define VK_AMD_shader_info 1
9677 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
9678 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
9680 typedef enum VkShaderInfoTypeAMD {
9681 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
9682 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
9683 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
9684 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
9685 } VkShaderInfoTypeAMD;
9686 typedef struct VkShaderResourceUsageAMD {
9687 deUint32 numUsedVgprs;
9688 deUint32 numUsedSgprs;
9689 deUint32 ldsSizePerLocalWorkGroup;
9690 deUintptr ldsUsageSizeInBytes;
9691 deUintptr scratchMemUsageInBytes;
9692 } VkShaderResourceUsageAMD;
9694 typedef struct VkShaderStatisticsInfoAMD {
9695 VkShaderStageFlags shaderStageMask;
9696 VkShaderResourceUsageAMD resourceUsage;
9697 deUint32 numPhysicalVgprs;
9698 deUint32 numPhysicalSgprs;
9699 deUint32 numAvailableVgprs;
9700 deUint32 numAvailableSgprs;
9701 deUint32 computeWorkGroupSize[3];
9702 } VkShaderStatisticsInfoAMD;
9704 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
9706 #ifndef VK_NO_PROTOTYPES
9707 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
9709 VkPipeline pipeline,
9710 VkShaderStageFlagBits shaderStage,
9711 VkShaderInfoTypeAMD infoType,
9712 deUintptr* pInfoSize,
9717 #define VK_AMD_shader_image_load_store_lod 1
9718 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
9719 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
9722 #define VK_NV_corner_sampled_image 1
9723 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
9724 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
9725 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
9726 VkStructureType sType;
9728 VkBool32 cornerSampledImage;
9729 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
9733 #define VK_IMG_format_pvrtc 1
9734 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
9735 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
9738 #define VK_NV_external_memory_capabilities 1
9739 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9740 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
9742 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
9743 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
9744 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
9745 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
9746 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
9747 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9748 } VkExternalMemoryHandleTypeFlagBitsNV;
9749 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
9751 typedef enum VkExternalMemoryFeatureFlagBitsNV {
9752 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
9753 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
9754 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
9755 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9756 } VkExternalMemoryFeatureFlagBitsNV;
9757 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
9758 typedef struct VkExternalImageFormatPropertiesNV {
9759 VkImageFormatProperties imageFormatProperties;
9760 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
9761 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
9762 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
9763 } VkExternalImageFormatPropertiesNV;
9765 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9767 #ifndef VK_NO_PROTOTYPES
9768 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
9769 VkPhysicalDevice physicalDevice,
9772 VkImageTiling tiling,
9773 VkImageUsageFlags usage,
9774 VkImageCreateFlags flags,
9775 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
9776 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9780 #define VK_NV_external_memory 1
9781 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
9782 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
9783 typedef struct VkExternalMemoryImageCreateInfoNV {
9784 VkStructureType sType;
9786 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9787 } VkExternalMemoryImageCreateInfoNV;
9789 typedef struct VkExportMemoryAllocateInfoNV {
9790 VkStructureType sType;
9792 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9793 } VkExportMemoryAllocateInfoNV;
9797 #define VK_EXT_validation_flags 1
9798 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
9799 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
9801 typedef enum VkValidationCheckEXT {
9802 VK_VALIDATION_CHECK_ALL_EXT = 0,
9803 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
9804 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
9805 } VkValidationCheckEXT;
9806 typedef struct VkValidationFlagsEXT {
9807 VkStructureType sType;
9809 deUint32 disabledValidationCheckCount;
9810 const VkValidationCheckEXT* pDisabledValidationChecks;
9811 } VkValidationFlagsEXT;
9815 #define VK_EXT_shader_subgroup_ballot 1
9816 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
9817 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
9820 #define VK_EXT_shader_subgroup_vote 1
9821 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
9822 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
9825 #define VK_EXT_texture_compression_astc_hdr 1
9826 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
9827 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
9828 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
9829 VkStructureType sType;
9831 VkBool32 textureCompressionASTC_HDR;
9832 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
9836 #define VK_EXT_astc_decode_mode 1
9837 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
9838 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
9839 typedef struct VkImageViewASTCDecodeModeEXT {
9840 VkStructureType sType;
9842 VkFormat decodeMode;
9843 } VkImageViewASTCDecodeModeEXT;
9845 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
9846 VkStructureType sType;
9848 VkBool32 decodeModeSharedExponent;
9849 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
9853 #define VK_EXT_conditional_rendering 1
9854 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
9855 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
9857 typedef enum VkConditionalRenderingFlagBitsEXT {
9858 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
9859 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9860 } VkConditionalRenderingFlagBitsEXT;
9861 typedef VkFlags VkConditionalRenderingFlagsEXT;
9862 typedef struct VkConditionalRenderingBeginInfoEXT {
9863 VkStructureType sType;
9866 VkDeviceSize offset;
9867 VkConditionalRenderingFlagsEXT flags;
9868 } VkConditionalRenderingBeginInfoEXT;
9870 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
9871 VkStructureType sType;
9873 VkBool32 conditionalRendering;
9874 VkBool32 inheritedConditionalRendering;
9875 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
9877 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
9878 VkStructureType sType;
9880 VkBool32 conditionalRenderingEnable;
9881 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
9883 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9884 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
9886 #ifndef VK_NO_PROTOTYPES
9887 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
9888 VkCommandBuffer commandBuffer,
9889 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9891 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
9892 VkCommandBuffer commandBuffer);
9896 #define VK_NV_clip_space_w_scaling 1
9897 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
9898 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
9899 typedef struct VkViewportWScalingNV {
9902 } VkViewportWScalingNV;
9904 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
9905 VkStructureType sType;
9907 VkBool32 viewportWScalingEnable;
9908 deUint32 viewportCount;
9909 const VkViewportWScalingNV* pViewportWScalings;
9910 } VkPipelineViewportWScalingStateCreateInfoNV;
9912 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
9914 #ifndef VK_NO_PROTOTYPES
9915 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
9916 VkCommandBuffer commandBuffer,
9917 deUint32 firstViewport,
9918 deUint32 viewportCount,
9919 const VkViewportWScalingNV* pViewportWScalings);
9923 #define VK_EXT_direct_mode_display 1
9924 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
9925 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
9926 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
9928 #ifndef VK_NO_PROTOTYPES
9929 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
9930 VkPhysicalDevice physicalDevice,
9931 VkDisplayKHR display);
9935 #define VK_EXT_display_surface_counter 1
9936 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
9937 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
9939 typedef enum VkSurfaceCounterFlagBitsEXT {
9940 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
9941 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
9942 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9943 } VkSurfaceCounterFlagBitsEXT;
9944 typedef VkFlags VkSurfaceCounterFlagsEXT;
9945 typedef struct VkSurfaceCapabilities2EXT {
9946 VkStructureType sType;
9948 deUint32 minImageCount;
9949 deUint32 maxImageCount;
9950 VkExtent2D currentExtent;
9951 VkExtent2D minImageExtent;
9952 VkExtent2D maxImageExtent;
9953 deUint32 maxImageArrayLayers;
9954 VkSurfaceTransformFlagsKHR supportedTransforms;
9955 VkSurfaceTransformFlagBitsKHR currentTransform;
9956 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
9957 VkImageUsageFlags supportedUsageFlags;
9958 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
9959 } VkSurfaceCapabilities2EXT;
9961 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9963 #ifndef VK_NO_PROTOTYPES
9964 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
9965 VkPhysicalDevice physicalDevice,
9966 VkSurfaceKHR surface,
9967 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9971 #define VK_EXT_display_control 1
9972 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
9973 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
9975 typedef enum VkDisplayPowerStateEXT {
9976 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
9977 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
9978 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
9979 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
9980 } VkDisplayPowerStateEXT;
9982 typedef enum VkDeviceEventTypeEXT {
9983 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
9984 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9985 } VkDeviceEventTypeEXT;
9987 typedef enum VkDisplayEventTypeEXT {
9988 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
9989 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9990 } VkDisplayEventTypeEXT;
9991 typedef struct VkDisplayPowerInfoEXT {
9992 VkStructureType sType;
9994 VkDisplayPowerStateEXT powerState;
9995 } VkDisplayPowerInfoEXT;
9997 typedef struct VkDeviceEventInfoEXT {
9998 VkStructureType sType;
10000 VkDeviceEventTypeEXT deviceEvent;
10001 } VkDeviceEventInfoEXT;
10003 typedef struct VkDisplayEventInfoEXT {
10004 VkStructureType sType;
10006 VkDisplayEventTypeEXT displayEvent;
10007 } VkDisplayEventInfoEXT;
10009 typedef struct VkSwapchainCounterCreateInfoEXT {
10010 VkStructureType sType;
10012 VkSurfaceCounterFlagsEXT surfaceCounters;
10013 } VkSwapchainCounterCreateInfoEXT;
10015 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10016 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10017 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10018 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
10020 #ifndef VK_NO_PROTOTYPES
10021 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
10023 VkDisplayKHR display,
10024 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10026 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
10028 const VkDeviceEventInfoEXT* pDeviceEventInfo,
10029 const VkAllocationCallbacks* pAllocator,
10032 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
10034 VkDisplayKHR display,
10035 const VkDisplayEventInfoEXT* pDisplayEventInfo,
10036 const VkAllocationCallbacks* pAllocator,
10039 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
10041 VkSwapchainKHR swapchain,
10042 VkSurfaceCounterFlagBitsEXT counter,
10043 deUint64* pCounterValue);
10047 #define VK_GOOGLE_display_timing 1
10048 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
10049 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
10050 typedef struct VkRefreshCycleDurationGOOGLE {
10051 deUint64 refreshDuration;
10052 } VkRefreshCycleDurationGOOGLE;
10054 typedef struct VkPastPresentationTimingGOOGLE {
10055 deUint32 presentID;
10056 deUint64 desiredPresentTime;
10057 deUint64 actualPresentTime;
10058 deUint64 earliestPresentTime;
10059 deUint64 presentMargin;
10060 } VkPastPresentationTimingGOOGLE;
10062 typedef struct VkPresentTimeGOOGLE {
10063 deUint32 presentID;
10064 deUint64 desiredPresentTime;
10065 } VkPresentTimeGOOGLE;
10067 typedef struct VkPresentTimesInfoGOOGLE {
10068 VkStructureType sType;
10070 deUint32 swapchainCount;
10071 const VkPresentTimeGOOGLE* pTimes;
10072 } VkPresentTimesInfoGOOGLE;
10074 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10075 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
10077 #ifndef VK_NO_PROTOTYPES
10078 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
10080 VkSwapchainKHR swapchain,
10081 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10083 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
10085 VkSwapchainKHR swapchain,
10086 deUint32* pPresentationTimingCount,
10087 VkPastPresentationTimingGOOGLE* pPresentationTimings);
10091 #define VK_NV_sample_mask_override_coverage 1
10092 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
10093 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
10096 #define VK_NV_geometry_shader_passthrough 1
10097 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
10098 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
10101 #define VK_NV_viewport_array2 1
10102 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
10103 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
10106 #define VK_NVX_multiview_per_view_attributes 1
10107 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
10108 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
10109 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10110 VkStructureType sType;
10112 VkBool32 perViewPositionAllComponents;
10113 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
10117 #define VK_NV_viewport_swizzle 1
10118 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
10119 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
10121 typedef enum VkViewportCoordinateSwizzleNV {
10122 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
10123 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
10124 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
10125 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
10126 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
10127 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
10128 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
10129 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
10130 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
10131 } VkViewportCoordinateSwizzleNV;
10132 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
10133 typedef struct VkViewportSwizzleNV {
10134 VkViewportCoordinateSwizzleNV x;
10135 VkViewportCoordinateSwizzleNV y;
10136 VkViewportCoordinateSwizzleNV z;
10137 VkViewportCoordinateSwizzleNV w;
10138 } VkViewportSwizzleNV;
10140 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
10141 VkStructureType sType;
10143 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
10144 deUint32 viewportCount;
10145 const VkViewportSwizzleNV* pViewportSwizzles;
10146 } VkPipelineViewportSwizzleStateCreateInfoNV;
10150 #define VK_EXT_discard_rectangles 1
10151 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
10152 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
10154 typedef enum VkDiscardRectangleModeEXT {
10155 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
10156 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
10157 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10158 } VkDiscardRectangleModeEXT;
10159 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
10160 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
10161 VkStructureType sType;
10163 deUint32 maxDiscardRectangles;
10164 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
10166 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
10167 VkStructureType sType;
10169 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
10170 VkDiscardRectangleModeEXT discardRectangleMode;
10171 deUint32 discardRectangleCount;
10172 const VkRect2D* pDiscardRectangles;
10173 } VkPipelineDiscardRectangleStateCreateInfoEXT;
10175 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
10177 #ifndef VK_NO_PROTOTYPES
10178 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
10179 VkCommandBuffer commandBuffer,
10180 deUint32 firstDiscardRectangle,
10181 deUint32 discardRectangleCount,
10182 const VkRect2D* pDiscardRectangles);
10186 #define VK_EXT_conservative_rasterization 1
10187 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
10188 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
10190 typedef enum VkConservativeRasterizationModeEXT {
10191 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
10192 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
10193 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
10194 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10195 } VkConservativeRasterizationModeEXT;
10196 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
10197 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
10198 VkStructureType sType;
10200 float primitiveOverestimationSize;
10201 float maxExtraPrimitiveOverestimationSize;
10202 float extraPrimitiveOverestimationSizeGranularity;
10203 VkBool32 primitiveUnderestimation;
10204 VkBool32 conservativePointAndLineRasterization;
10205 VkBool32 degenerateTrianglesRasterized;
10206 VkBool32 degenerateLinesRasterized;
10207 VkBool32 fullyCoveredFragmentShaderInputVariable;
10208 VkBool32 conservativeRasterizationPostDepthCoverage;
10209 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
10211 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
10212 VkStructureType sType;
10214 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
10215 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
10216 float extraPrimitiveOverestimationSize;
10217 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
10221 #define VK_EXT_depth_clip_enable 1
10222 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
10223 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
10224 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
10225 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
10226 VkStructureType sType;
10228 VkBool32 depthClipEnable;
10229 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
10231 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
10232 VkStructureType sType;
10234 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
10235 VkBool32 depthClipEnable;
10236 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
10240 #define VK_EXT_swapchain_colorspace 1
10241 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
10242 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
10245 #define VK_EXT_hdr_metadata 1
10246 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
10247 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
10248 typedef struct VkXYColorEXT {
10253 typedef struct VkHdrMetadataEXT {
10254 VkStructureType sType;
10256 VkXYColorEXT displayPrimaryRed;
10257 VkXYColorEXT displayPrimaryGreen;
10258 VkXYColorEXT displayPrimaryBlue;
10259 VkXYColorEXT whitePoint;
10260 float maxLuminance;
10261 float minLuminance;
10262 float maxContentLightLevel;
10263 float maxFrameAverageLightLevel;
10264 } VkHdrMetadataEXT;
10266 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
10268 #ifndef VK_NO_PROTOTYPES
10269 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
10271 deUint32 swapchainCount,
10272 const VkSwapchainKHR* pSwapchains,
10273 const VkHdrMetadataEXT* pMetadata);
10277 #define VK_EXT_external_memory_dma_buf 1
10278 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
10279 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
10282 #define VK_EXT_queue_family_foreign 1
10283 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
10284 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
10285 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
10288 #define VK_EXT_debug_utils 1
10289 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
10290 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
10291 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
10292 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
10294 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
10295 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
10296 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
10297 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
10298 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
10299 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10300 } VkDebugUtilsMessageSeverityFlagBitsEXT;
10302 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
10303 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
10304 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
10305 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
10306 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10307 } VkDebugUtilsMessageTypeFlagBitsEXT;
10308 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
10309 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
10310 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
10311 typedef struct VkDebugUtilsLabelEXT {
10312 VkStructureType sType;
10314 const char* pLabelName;
10316 } VkDebugUtilsLabelEXT;
10318 typedef struct VkDebugUtilsObjectNameInfoEXT {
10319 VkStructureType sType;
10321 VkObjectType objectType;
10322 deUint64 objectHandle;
10323 const char* pObjectName;
10324 } VkDebugUtilsObjectNameInfoEXT;
10326 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
10327 VkStructureType sType;
10329 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
10330 const char* pMessageIdName;
10331 deInt32 messageIdNumber;
10332 const char* pMessage;
10333 deUint32 queueLabelCount;
10334 const VkDebugUtilsLabelEXT* pQueueLabels;
10335 deUint32 cmdBufLabelCount;
10336 const VkDebugUtilsLabelEXT* pCmdBufLabels;
10337 deUint32 objectCount;
10338 const VkDebugUtilsObjectNameInfoEXT* pObjects;
10339 } VkDebugUtilsMessengerCallbackDataEXT;
10341 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
10342 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10343 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10344 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
10347 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
10348 VkStructureType sType;
10350 VkDebugUtilsMessengerCreateFlagsEXT flags;
10351 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
10352 VkDebugUtilsMessageTypeFlagsEXT messageType;
10353 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
10355 } VkDebugUtilsMessengerCreateInfoEXT;
10357 typedef struct VkDebugUtilsObjectTagInfoEXT {
10358 VkStructureType sType;
10360 VkObjectType objectType;
10361 deUint64 objectHandle;
10365 } VkDebugUtilsObjectTagInfoEXT;
10367 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10368 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10369 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10370 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
10371 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10372 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10373 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
10374 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10375 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
10376 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
10377 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10379 #ifndef VK_NO_PROTOTYPES
10380 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
10382 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10384 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
10386 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10388 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
10390 const VkDebugUtilsLabelEXT* pLabelInfo);
10392 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
10395 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
10397 const VkDebugUtilsLabelEXT* pLabelInfo);
10399 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
10400 VkCommandBuffer commandBuffer,
10401 const VkDebugUtilsLabelEXT* pLabelInfo);
10403 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
10404 VkCommandBuffer commandBuffer);
10406 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
10407 VkCommandBuffer commandBuffer,
10408 const VkDebugUtilsLabelEXT* pLabelInfo);
10410 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
10411 VkInstance instance,
10412 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
10413 const VkAllocationCallbacks* pAllocator,
10414 VkDebugUtilsMessengerEXT* pMessenger);
10416 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
10417 VkInstance instance,
10418 VkDebugUtilsMessengerEXT messenger,
10419 const VkAllocationCallbacks* pAllocator);
10421 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
10422 VkInstance instance,
10423 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10424 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10425 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10429 #define VK_EXT_sampler_filter_minmax 1
10430 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
10431 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
10432 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
10434 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
10436 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
10440 #define VK_AMD_gpu_shader_int16 1
10441 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
10442 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
10445 #define VK_AMD_mixed_attachment_samples 1
10446 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
10447 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
10450 #define VK_AMD_shader_fragment_mask 1
10451 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
10452 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
10455 #define VK_EXT_inline_uniform_block 1
10456 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
10457 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
10458 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
10459 VkStructureType sType;
10461 VkBool32 inlineUniformBlock;
10462 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
10463 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
10465 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
10466 VkStructureType sType;
10468 deUint32 maxInlineUniformBlockSize;
10469 deUint32 maxPerStageDescriptorInlineUniformBlocks;
10470 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
10471 deUint32 maxDescriptorSetInlineUniformBlocks;
10472 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
10473 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
10475 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
10476 VkStructureType sType;
10480 } VkWriteDescriptorSetInlineUniformBlockEXT;
10482 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
10483 VkStructureType sType;
10485 deUint32 maxInlineUniformBlockBindings;
10486 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
10490 #define VK_EXT_shader_stencil_export 1
10491 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
10492 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
10495 #define VK_EXT_sample_locations 1
10496 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
10497 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
10498 typedef struct VkSampleLocationEXT {
10501 } VkSampleLocationEXT;
10503 typedef struct VkSampleLocationsInfoEXT {
10504 VkStructureType sType;
10506 VkSampleCountFlagBits sampleLocationsPerPixel;
10507 VkExtent2D sampleLocationGridSize;
10508 deUint32 sampleLocationsCount;
10509 const VkSampleLocationEXT* pSampleLocations;
10510 } VkSampleLocationsInfoEXT;
10512 typedef struct VkAttachmentSampleLocationsEXT {
10513 deUint32 attachmentIndex;
10514 VkSampleLocationsInfoEXT sampleLocationsInfo;
10515 } VkAttachmentSampleLocationsEXT;
10517 typedef struct VkSubpassSampleLocationsEXT {
10518 deUint32 subpassIndex;
10519 VkSampleLocationsInfoEXT sampleLocationsInfo;
10520 } VkSubpassSampleLocationsEXT;
10522 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
10523 VkStructureType sType;
10525 deUint32 attachmentInitialSampleLocationsCount;
10526 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
10527 deUint32 postSubpassSampleLocationsCount;
10528 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
10529 } VkRenderPassSampleLocationsBeginInfoEXT;
10531 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
10532 VkStructureType sType;
10534 VkBool32 sampleLocationsEnable;
10535 VkSampleLocationsInfoEXT sampleLocationsInfo;
10536 } VkPipelineSampleLocationsStateCreateInfoEXT;
10538 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
10539 VkStructureType sType;
10541 VkSampleCountFlags sampleLocationSampleCounts;
10542 VkExtent2D maxSampleLocationGridSize;
10543 float sampleLocationCoordinateRange[2];
10544 deUint32 sampleLocationSubPixelBits;
10545 VkBool32 variableSampleLocations;
10546 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
10548 typedef struct VkMultisamplePropertiesEXT {
10549 VkStructureType sType;
10551 VkExtent2D maxSampleLocationGridSize;
10552 } VkMultisamplePropertiesEXT;
10554 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10555 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
10557 #ifndef VK_NO_PROTOTYPES
10558 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
10559 VkCommandBuffer commandBuffer,
10560 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10562 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
10563 VkPhysicalDevice physicalDevice,
10564 VkSampleCountFlagBits samples,
10565 VkMultisamplePropertiesEXT* pMultisampleProperties);
10569 #define VK_EXT_blend_operation_advanced 1
10570 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
10571 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
10573 typedef enum VkBlendOverlapEXT {
10574 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
10575 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
10576 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
10577 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
10578 } VkBlendOverlapEXT;
10579 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
10580 VkStructureType sType;
10582 VkBool32 advancedBlendCoherentOperations;
10583 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
10585 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
10586 VkStructureType sType;
10588 deUint32 advancedBlendMaxColorAttachments;
10589 VkBool32 advancedBlendIndependentBlend;
10590 VkBool32 advancedBlendNonPremultipliedSrcColor;
10591 VkBool32 advancedBlendNonPremultipliedDstColor;
10592 VkBool32 advancedBlendCorrelatedOverlap;
10593 VkBool32 advancedBlendAllOperations;
10594 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
10596 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
10597 VkStructureType sType;
10599 VkBool32 srcPremultiplied;
10600 VkBool32 dstPremultiplied;
10601 VkBlendOverlapEXT blendOverlap;
10602 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
10606 #define VK_NV_fragment_coverage_to_color 1
10607 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
10608 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
10609 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
10610 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
10611 VkStructureType sType;
10613 VkPipelineCoverageToColorStateCreateFlagsNV flags;
10614 VkBool32 coverageToColorEnable;
10615 deUint32 coverageToColorLocation;
10616 } VkPipelineCoverageToColorStateCreateInfoNV;
10620 #define VK_NV_framebuffer_mixed_samples 1
10621 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
10622 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
10624 typedef enum VkCoverageModulationModeNV {
10625 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
10626 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
10627 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
10628 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
10629 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10630 } VkCoverageModulationModeNV;
10631 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
10632 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
10633 VkStructureType sType;
10635 VkPipelineCoverageModulationStateCreateFlagsNV flags;
10636 VkCoverageModulationModeNV coverageModulationMode;
10637 VkBool32 coverageModulationTableEnable;
10638 deUint32 coverageModulationTableCount;
10639 const float* pCoverageModulationTable;
10640 } VkPipelineCoverageModulationStateCreateInfoNV;
10644 #define VK_NV_fill_rectangle 1
10645 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
10646 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
10649 #define VK_NV_shader_sm_builtins 1
10650 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
10651 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
10652 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
10653 VkStructureType sType;
10655 deUint32 shaderSMCount;
10656 deUint32 shaderWarpsPerSM;
10657 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
10659 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
10660 VkStructureType sType;
10662 VkBool32 shaderSMBuiltins;
10663 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
10667 #define VK_EXT_post_depth_coverage 1
10668 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
10669 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
10672 #define VK_EXT_image_drm_format_modifier 1
10673 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
10674 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
10675 typedef struct VkDrmFormatModifierPropertiesEXT {
10676 deUint64 drmFormatModifier;
10677 deUint32 drmFormatModifierPlaneCount;
10678 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
10679 } VkDrmFormatModifierPropertiesEXT;
10681 typedef struct VkDrmFormatModifierPropertiesListEXT {
10682 VkStructureType sType;
10684 deUint32 drmFormatModifierCount;
10685 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
10686 } VkDrmFormatModifierPropertiesListEXT;
10688 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
10689 VkStructureType sType;
10691 deUint64 drmFormatModifier;
10692 VkSharingMode sharingMode;
10693 deUint32 queueFamilyIndexCount;
10694 const deUint32* pQueueFamilyIndices;
10695 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
10697 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
10698 VkStructureType sType;
10700 deUint32 drmFormatModifierCount;
10701 const deUint64* pDrmFormatModifiers;
10702 } VkImageDrmFormatModifierListCreateInfoEXT;
10704 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
10705 VkStructureType sType;
10707 deUint64 drmFormatModifier;
10708 deUint32 drmFormatModifierPlaneCount;
10709 const VkSubresourceLayout* pPlaneLayouts;
10710 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
10712 typedef struct VkImageDrmFormatModifierPropertiesEXT {
10713 VkStructureType sType;
10715 deUint64 drmFormatModifier;
10716 } VkImageDrmFormatModifierPropertiesEXT;
10718 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
10720 #ifndef VK_NO_PROTOTYPES
10721 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
10724 VkImageDrmFormatModifierPropertiesEXT* pProperties);
10728 #define VK_EXT_validation_cache 1
10729 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
10730 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
10731 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
10733 typedef enum VkValidationCacheHeaderVersionEXT {
10734 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
10735 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
10736 } VkValidationCacheHeaderVersionEXT;
10737 typedef VkFlags VkValidationCacheCreateFlagsEXT;
10738 typedef struct VkValidationCacheCreateInfoEXT {
10739 VkStructureType sType;
10741 VkValidationCacheCreateFlagsEXT flags;
10742 deUintptr initialDataSize;
10743 const void* pInitialData;
10744 } VkValidationCacheCreateInfoEXT;
10746 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
10747 VkStructureType sType;
10749 VkValidationCacheEXT validationCache;
10750 } VkShaderModuleValidationCacheCreateInfoEXT;
10752 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
10753 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
10754 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
10755 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
10757 #ifndef VK_NO_PROTOTYPES
10758 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
10760 const VkValidationCacheCreateInfoEXT* pCreateInfo,
10761 const VkAllocationCallbacks* pAllocator,
10762 VkValidationCacheEXT* pValidationCache);
10764 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
10766 VkValidationCacheEXT validationCache,
10767 const VkAllocationCallbacks* pAllocator);
10769 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
10771 VkValidationCacheEXT dstCache,
10772 deUint32 srcCacheCount,
10773 const VkValidationCacheEXT* pSrcCaches);
10775 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
10777 VkValidationCacheEXT validationCache,
10778 deUintptr* pDataSize,
10783 #define VK_EXT_descriptor_indexing 1
10784 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
10785 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
10786 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
10788 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
10790 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
10792 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
10794 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
10796 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
10798 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
10802 #define VK_EXT_shader_viewport_index_layer 1
10803 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
10804 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
10807 #define VK_NV_shading_rate_image 1
10808 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
10809 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
10811 typedef enum VkShadingRatePaletteEntryNV {
10812 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
10813 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
10814 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
10815 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
10816 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
10817 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
10818 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
10819 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
10820 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
10821 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
10822 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
10823 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
10824 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
10825 } VkShadingRatePaletteEntryNV;
10827 typedef enum VkCoarseSampleOrderTypeNV {
10828 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
10829 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
10830 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
10831 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
10832 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10833 } VkCoarseSampleOrderTypeNV;
10834 typedef struct VkShadingRatePaletteNV {
10835 deUint32 shadingRatePaletteEntryCount;
10836 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
10837 } VkShadingRatePaletteNV;
10839 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
10840 VkStructureType sType;
10842 VkBool32 shadingRateImageEnable;
10843 deUint32 viewportCount;
10844 const VkShadingRatePaletteNV* pShadingRatePalettes;
10845 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
10847 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10848 VkStructureType sType;
10850 VkBool32 shadingRateImage;
10851 VkBool32 shadingRateCoarseSampleOrder;
10852 } VkPhysicalDeviceShadingRateImageFeaturesNV;
10854 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10855 VkStructureType sType;
10857 VkExtent2D shadingRateTexelSize;
10858 deUint32 shadingRatePaletteSize;
10859 deUint32 shadingRateMaxCoarseSamples;
10860 } VkPhysicalDeviceShadingRateImagePropertiesNV;
10862 typedef struct VkCoarseSampleLocationNV {
10866 } VkCoarseSampleLocationNV;
10868 typedef struct VkCoarseSampleOrderCustomNV {
10869 VkShadingRatePaletteEntryNV shadingRate;
10870 deUint32 sampleCount;
10871 deUint32 sampleLocationCount;
10872 const VkCoarseSampleLocationNV* pSampleLocations;
10873 } VkCoarseSampleOrderCustomNV;
10875 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10876 VkStructureType sType;
10878 VkCoarseSampleOrderTypeNV sampleOrderType;
10879 deUint32 customSampleOrderCount;
10880 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
10881 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
10883 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
10884 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
10885 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10887 #ifndef VK_NO_PROTOTYPES
10888 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
10889 VkCommandBuffer commandBuffer,
10890 VkImageView imageView,
10891 VkImageLayout imageLayout);
10893 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
10894 VkCommandBuffer commandBuffer,
10895 deUint32 firstViewport,
10896 deUint32 viewportCount,
10897 const VkShadingRatePaletteNV* pShadingRatePalettes);
10899 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
10900 VkCommandBuffer commandBuffer,
10901 VkCoarseSampleOrderTypeNV sampleOrderType,
10902 deUint32 customSampleOrderCount,
10903 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10907 #define VK_NV_ray_tracing 1
10908 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
10909 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
10910 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
10911 #define VK_SHADER_UNUSED_KHR (~0U)
10912 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
10914 typedef enum VkRayTracingShaderGroupTypeKHR {
10915 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
10916 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
10917 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
10918 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
10919 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
10920 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
10921 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10922 } VkRayTracingShaderGroupTypeKHR;
10923 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
10926 typedef enum VkGeometryTypeKHR {
10927 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
10928 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
10929 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
10930 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
10931 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
10932 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10933 } VkGeometryTypeKHR;
10934 typedef VkGeometryTypeKHR VkGeometryTypeNV;
10937 typedef enum VkAccelerationStructureTypeKHR {
10938 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
10939 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
10940 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
10941 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
10942 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
10943 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10944 } VkAccelerationStructureTypeKHR;
10945 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
10948 typedef enum VkCopyAccelerationStructureModeKHR {
10949 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
10950 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
10951 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
10952 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
10953 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
10954 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
10955 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10956 } VkCopyAccelerationStructureModeKHR;
10957 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
10960 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
10961 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
10962 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
10963 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
10964 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10965 } VkAccelerationStructureMemoryRequirementsTypeNV;
10967 typedef enum VkGeometryFlagBitsKHR {
10968 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
10969 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
10970 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
10971 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
10972 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10973 } VkGeometryFlagBitsKHR;
10974 typedef VkFlags VkGeometryFlagsKHR;
10975 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
10977 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
10980 typedef enum VkGeometryInstanceFlagBitsKHR {
10981 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
10982 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
10983 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
10984 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
10985 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
10986 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
10987 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
10988 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
10989 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10990 } VkGeometryInstanceFlagBitsKHR;
10991 typedef VkFlags VkGeometryInstanceFlagsKHR;
10992 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
10994 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
10997 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
10998 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
10999 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
11000 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
11001 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
11002 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
11003 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
11004 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
11005 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
11006 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
11007 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
11008 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
11009 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11010 } VkBuildAccelerationStructureFlagBitsKHR;
11011 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
11012 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
11014 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
11016 typedef struct VkRayTracingShaderGroupCreateInfoNV {
11017 VkStructureType sType;
11019 VkRayTracingShaderGroupTypeKHR type;
11020 deUint32 generalShader;
11021 deUint32 closestHitShader;
11022 deUint32 anyHitShader;
11023 deUint32 intersectionShader;
11024 } VkRayTracingShaderGroupCreateInfoNV;
11026 typedef struct VkRayTracingPipelineCreateInfoNV {
11027 VkStructureType sType;
11029 VkPipelineCreateFlags flags;
11030 deUint32 stageCount;
11031 const VkPipelineShaderStageCreateInfo* pStages;
11032 deUint32 groupCount;
11033 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
11034 deUint32 maxRecursionDepth;
11035 VkPipelineLayout layout;
11036 VkPipeline basePipelineHandle;
11037 deInt32 basePipelineIndex;
11038 } VkRayTracingPipelineCreateInfoNV;
11040 typedef struct VkGeometryTrianglesNV {
11041 VkStructureType sType;
11043 VkBuffer vertexData;
11044 VkDeviceSize vertexOffset;
11045 deUint32 vertexCount;
11046 VkDeviceSize vertexStride;
11047 VkFormat vertexFormat;
11048 VkBuffer indexData;
11049 VkDeviceSize indexOffset;
11050 deUint32 indexCount;
11051 VkIndexType indexType;
11052 VkBuffer transformData;
11053 VkDeviceSize transformOffset;
11054 } VkGeometryTrianglesNV;
11056 typedef struct VkGeometryAABBNV {
11057 VkStructureType sType;
11062 VkDeviceSize offset;
11063 } VkGeometryAABBNV;
11065 typedef struct VkGeometryDataNV {
11066 VkGeometryTrianglesNV triangles;
11067 VkGeometryAABBNV aabbs;
11068 } VkGeometryDataNV;
11070 typedef struct VkGeometryNV {
11071 VkStructureType sType;
11073 VkGeometryTypeKHR geometryType;
11074 VkGeometryDataNV geometry;
11075 VkGeometryFlagsKHR flags;
11078 typedef struct VkAccelerationStructureInfoNV {
11079 VkStructureType sType;
11081 VkAccelerationStructureTypeNV type;
11082 VkBuildAccelerationStructureFlagsNV flags;
11083 deUint32 instanceCount;
11084 deUint32 geometryCount;
11085 const VkGeometryNV* pGeometries;
11086 } VkAccelerationStructureInfoNV;
11088 typedef struct VkAccelerationStructureCreateInfoNV {
11089 VkStructureType sType;
11091 VkDeviceSize compactedSize;
11092 VkAccelerationStructureInfoNV info;
11093 } VkAccelerationStructureCreateInfoNV;
11095 typedef struct VkBindAccelerationStructureMemoryInfoNV {
11096 VkStructureType sType;
11098 VkAccelerationStructureNV accelerationStructure;
11099 VkDeviceMemory memory;
11100 VkDeviceSize memoryOffset;
11101 deUint32 deviceIndexCount;
11102 const deUint32* pDeviceIndices;
11103 } VkBindAccelerationStructureMemoryInfoNV;
11105 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
11106 VkStructureType sType;
11108 deUint32 accelerationStructureCount;
11109 const VkAccelerationStructureNV* pAccelerationStructures;
11110 } VkWriteDescriptorSetAccelerationStructureNV;
11112 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
11113 VkStructureType sType;
11115 VkAccelerationStructureMemoryRequirementsTypeNV type;
11116 VkAccelerationStructureNV accelerationStructure;
11117 } VkAccelerationStructureMemoryRequirementsInfoNV;
11119 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
11120 VkStructureType sType;
11122 deUint32 shaderGroupHandleSize;
11123 deUint32 maxRecursionDepth;
11124 deUint32 maxShaderGroupStride;
11125 deUint32 shaderGroupBaseAlignment;
11126 deUint64 maxGeometryCount;
11127 deUint64 maxInstanceCount;
11128 deUint64 maxTriangleCount;
11129 deUint32 maxDescriptorSetAccelerationStructures;
11130 } VkPhysicalDeviceRayTracingPropertiesNV;
11132 typedef struct VkTransformMatrixKHR {
11133 float matrix[3][4];
11134 } VkTransformMatrixKHR;
11136 typedef VkTransformMatrixKHR VkTransformMatrixNV;
11138 typedef struct VkAabbPositionsKHR {
11145 } VkAabbPositionsKHR;
11147 typedef VkAabbPositionsKHR VkAabbPositionsNV;
11149 typedef struct VkAccelerationStructureInstanceKHR {
11150 VkTransformMatrixKHR transform;
11151 deUint32 instanceCustomIndex:24;
11153 deUint32 instanceShaderBindingTableRecordOffset:24;
11154 VkGeometryInstanceFlagsKHR flags:8;
11155 deUint64 accelerationStructureReference;
11156 } VkAccelerationStructureInstanceKHR;
11158 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
11160 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
11161 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
11162 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
11163 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11164 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);
11165 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
11166 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);
11167 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
11168 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11169 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11170 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
11171 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
11172 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
11174 #ifndef VK_NO_PROTOTYPES
11175 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
11177 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
11178 const VkAllocationCallbacks* pAllocator,
11179 VkAccelerationStructureNV* pAccelerationStructure);
11181 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
11183 VkAccelerationStructureNV accelerationStructure,
11184 const VkAllocationCallbacks* pAllocator);
11186 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
11188 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
11189 VkMemoryRequirements2KHR* pMemoryRequirements);
11191 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
11193 deUint32 bindInfoCount,
11194 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11196 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
11197 VkCommandBuffer commandBuffer,
11198 const VkAccelerationStructureInfoNV* pInfo,
11199 VkBuffer instanceData,
11200 VkDeviceSize instanceOffset,
11202 VkAccelerationStructureNV dst,
11203 VkAccelerationStructureNV src,
11205 VkDeviceSize scratchOffset);
11207 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
11208 VkCommandBuffer commandBuffer,
11209 VkAccelerationStructureNV dst,
11210 VkAccelerationStructureNV src,
11211 VkCopyAccelerationStructureModeKHR mode);
11213 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
11214 VkCommandBuffer commandBuffer,
11215 VkBuffer raygenShaderBindingTableBuffer,
11216 VkDeviceSize raygenShaderBindingOffset,
11217 VkBuffer missShaderBindingTableBuffer,
11218 VkDeviceSize missShaderBindingOffset,
11219 VkDeviceSize missShaderBindingStride,
11220 VkBuffer hitShaderBindingTableBuffer,
11221 VkDeviceSize hitShaderBindingOffset,
11222 VkDeviceSize hitShaderBindingStride,
11223 VkBuffer callableShaderBindingTableBuffer,
11224 VkDeviceSize callableShaderBindingOffset,
11225 VkDeviceSize callableShaderBindingStride,
11230 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
11232 VkPipelineCache pipelineCache,
11233 deUint32 createInfoCount,
11234 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
11235 const VkAllocationCallbacks* pAllocator,
11236 VkPipeline* pPipelines);
11238 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
11240 VkPipeline pipeline,
11241 deUint32 firstGroup,
11242 deUint32 groupCount,
11243 deUintptr dataSize,
11246 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
11248 VkPipeline pipeline,
11249 deUint32 firstGroup,
11250 deUint32 groupCount,
11251 deUintptr dataSize,
11254 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
11256 VkAccelerationStructureNV accelerationStructure,
11257 deUintptr dataSize,
11260 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
11261 VkCommandBuffer commandBuffer,
11262 deUint32 accelerationStructureCount,
11263 const VkAccelerationStructureNV* pAccelerationStructures,
11264 VkQueryType queryType,
11265 VkQueryPool queryPool,
11266 deUint32 firstQuery);
11268 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
11270 VkPipeline pipeline,
11275 #define VK_NV_representative_fragment_test 1
11276 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
11277 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
11278 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11279 VkStructureType sType;
11281 VkBool32 representativeFragmentTest;
11282 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
11284 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
11285 VkStructureType sType;
11287 VkBool32 representativeFragmentTestEnable;
11288 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
11292 #define VK_EXT_filter_cubic 1
11293 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
11294 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
11295 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
11296 VkStructureType sType;
11298 VkImageViewType imageViewType;
11299 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
11301 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
11302 VkStructureType sType;
11304 VkBool32 filterCubic;
11305 VkBool32 filterCubicMinmax;
11306 } VkFilterCubicImageViewImageFormatPropertiesEXT;
11310 #define VK_QCOM_render_pass_shader_resolve 1
11311 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
11312 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
11315 #define VK_EXT_global_priority 1
11316 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
11317 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
11319 typedef enum VkQueueGlobalPriorityEXT {
11320 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
11321 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
11322 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
11323 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
11324 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
11325 } VkQueueGlobalPriorityEXT;
11326 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
11327 VkStructureType sType;
11329 VkQueueGlobalPriorityEXT globalPriority;
11330 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
11334 #define VK_EXT_external_memory_host 1
11335 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
11336 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
11337 typedef struct VkImportMemoryHostPointerInfoEXT {
11338 VkStructureType sType;
11340 VkExternalMemoryHandleTypeFlagBits handleType;
11341 void* pHostPointer;
11342 } VkImportMemoryHostPointerInfoEXT;
11344 typedef struct VkMemoryHostPointerPropertiesEXT {
11345 VkStructureType sType;
11347 deUint32 memoryTypeBits;
11348 } VkMemoryHostPointerPropertiesEXT;
11350 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
11351 VkStructureType sType;
11353 VkDeviceSize minImportedHostPointerAlignment;
11354 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
11356 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11358 #ifndef VK_NO_PROTOTYPES
11359 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
11361 VkExternalMemoryHandleTypeFlagBits handleType,
11362 const void* pHostPointer,
11363 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11367 #define VK_AMD_buffer_marker 1
11368 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
11369 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
11370 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
11372 #ifndef VK_NO_PROTOTYPES
11373 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
11374 VkCommandBuffer commandBuffer,
11375 VkPipelineStageFlagBits pipelineStage,
11376 VkBuffer dstBuffer,
11377 VkDeviceSize dstOffset,
11382 #define VK_AMD_pipeline_compiler_control 1
11383 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
11384 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
11386 typedef enum VkPipelineCompilerControlFlagBitsAMD {
11387 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11388 } VkPipelineCompilerControlFlagBitsAMD;
11389 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
11390 typedef struct VkPipelineCompilerControlCreateInfoAMD {
11391 VkStructureType sType;
11393 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
11394 } VkPipelineCompilerControlCreateInfoAMD;
11398 #define VK_EXT_calibrated_timestamps 1
11399 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
11400 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
11402 typedef enum VkTimeDomainEXT {
11403 VK_TIME_DOMAIN_DEVICE_EXT = 0,
11404 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
11405 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
11406 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
11407 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
11409 typedef struct VkCalibratedTimestampInfoEXT {
11410 VkStructureType sType;
11412 VkTimeDomainEXT timeDomain;
11413 } VkCalibratedTimestampInfoEXT;
11415 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
11416 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
11418 #ifndef VK_NO_PROTOTYPES
11419 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11420 VkPhysicalDevice physicalDevice,
11421 deUint32* pTimeDomainCount,
11422 VkTimeDomainEXT* pTimeDomains);
11424 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
11426 deUint32 timestampCount,
11427 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
11428 deUint64* pTimestamps,
11429 deUint64* pMaxDeviation);
11433 #define VK_AMD_shader_core_properties 1
11434 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
11435 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
11436 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
11437 VkStructureType sType;
11439 deUint32 shaderEngineCount;
11440 deUint32 shaderArraysPerEngineCount;
11441 deUint32 computeUnitsPerShaderArray;
11442 deUint32 simdPerComputeUnit;
11443 deUint32 wavefrontsPerSimd;
11444 deUint32 wavefrontSize;
11445 deUint32 sgprsPerSimd;
11446 deUint32 minSgprAllocation;
11447 deUint32 maxSgprAllocation;
11448 deUint32 sgprAllocationGranularity;
11449 deUint32 vgprsPerSimd;
11450 deUint32 minVgprAllocation;
11451 deUint32 maxVgprAllocation;
11452 deUint32 vgprAllocationGranularity;
11453 } VkPhysicalDeviceShaderCorePropertiesAMD;
11457 #define VK_AMD_memory_overallocation_behavior 1
11458 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
11459 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
11461 typedef enum VkMemoryOverallocationBehaviorAMD {
11462 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
11463 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
11464 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
11465 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
11466 } VkMemoryOverallocationBehaviorAMD;
11467 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
11468 VkStructureType sType;
11470 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
11471 } VkDeviceMemoryOverallocationCreateInfoAMD;
11475 #define VK_EXT_vertex_attribute_divisor 1
11476 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
11477 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
11478 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
11479 VkStructureType sType;
11481 deUint32 maxVertexAttribDivisor;
11482 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
11484 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
11487 } VkVertexInputBindingDivisorDescriptionEXT;
11489 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
11490 VkStructureType sType;
11492 deUint32 vertexBindingDivisorCount;
11493 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
11494 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
11496 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
11497 VkStructureType sType;
11499 VkBool32 vertexAttributeInstanceRateDivisor;
11500 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11501 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
11505 #define VK_EXT_pipeline_creation_feedback 1
11506 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
11507 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
11509 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
11510 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
11511 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
11512 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
11513 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11514 } VkPipelineCreationFeedbackFlagBitsEXT;
11515 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
11516 typedef struct VkPipelineCreationFeedbackEXT {
11517 VkPipelineCreationFeedbackFlagsEXT flags;
11519 } VkPipelineCreationFeedbackEXT;
11521 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
11522 VkStructureType sType;
11524 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
11525 deUint32 pipelineStageCreationFeedbackCount;
11526 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
11527 } VkPipelineCreationFeedbackCreateInfoEXT;
11531 #define VK_NV_shader_subgroup_partitioned 1
11532 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
11533 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
11536 #define VK_NV_compute_shader_derivatives 1
11537 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
11538 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
11539 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
11540 VkStructureType sType;
11542 VkBool32 computeDerivativeGroupQuads;
11543 VkBool32 computeDerivativeGroupLinear;
11544 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
11548 #define VK_NV_mesh_shader 1
11549 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
11550 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
11551 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
11552 VkStructureType sType;
11554 VkBool32 taskShader;
11555 VkBool32 meshShader;
11556 } VkPhysicalDeviceMeshShaderFeaturesNV;
11558 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
11559 VkStructureType sType;
11561 deUint32 maxDrawMeshTasksCount;
11562 deUint32 maxTaskWorkGroupInvocations;
11563 deUint32 maxTaskWorkGroupSize[3];
11564 deUint32 maxTaskTotalMemorySize;
11565 deUint32 maxTaskOutputCount;
11566 deUint32 maxMeshWorkGroupInvocations;
11567 deUint32 maxMeshWorkGroupSize[3];
11568 deUint32 maxMeshTotalMemorySize;
11569 deUint32 maxMeshOutputVertices;
11570 deUint32 maxMeshOutputPrimitives;
11571 deUint32 maxMeshMultiviewViewCount;
11572 deUint32 meshOutputPerVertexGranularity;
11573 deUint32 meshOutputPerPrimitiveGranularity;
11574 } VkPhysicalDeviceMeshShaderPropertiesNV;
11576 typedef struct VkDrawMeshTasksIndirectCommandNV {
11577 deUint32 taskCount;
11578 deUint32 firstTask;
11579 } VkDrawMeshTasksIndirectCommandNV;
11581 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
11582 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
11583 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11585 #ifndef VK_NO_PROTOTYPES
11586 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
11587 VkCommandBuffer commandBuffer,
11588 deUint32 taskCount,
11589 deUint32 firstTask);
11591 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
11592 VkCommandBuffer commandBuffer,
11594 VkDeviceSize offset,
11595 deUint32 drawCount,
11598 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
11599 VkCommandBuffer commandBuffer,
11601 VkDeviceSize offset,
11602 VkBuffer countBuffer,
11603 VkDeviceSize countBufferOffset,
11604 deUint32 maxDrawCount,
11609 #define VK_NV_fragment_shader_barycentric 1
11610 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
11611 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
11612 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11613 VkStructureType sType;
11615 VkBool32 fragmentShaderBarycentric;
11616 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
11620 #define VK_NV_shader_image_footprint 1
11621 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
11622 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
11623 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11624 VkStructureType sType;
11626 VkBool32 imageFootprint;
11627 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
11631 #define VK_NV_scissor_exclusive 1
11632 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
11633 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
11634 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11635 VkStructureType sType;
11637 deUint32 exclusiveScissorCount;
11638 const VkRect2D* pExclusiveScissors;
11639 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
11641 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11642 VkStructureType sType;
11644 VkBool32 exclusiveScissor;
11645 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
11647 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
11649 #ifndef VK_NO_PROTOTYPES
11650 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
11651 VkCommandBuffer commandBuffer,
11652 deUint32 firstExclusiveScissor,
11653 deUint32 exclusiveScissorCount,
11654 const VkRect2D* pExclusiveScissors);
11658 #define VK_NV_device_diagnostic_checkpoints 1
11659 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
11660 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
11661 typedef struct VkQueueFamilyCheckpointPropertiesNV {
11662 VkStructureType sType;
11664 VkPipelineStageFlags checkpointExecutionStageMask;
11665 } VkQueueFamilyCheckpointPropertiesNV;
11667 typedef struct VkCheckpointDataNV {
11668 VkStructureType sType;
11670 VkPipelineStageFlagBits stage;
11671 void* pCheckpointMarker;
11672 } VkCheckpointDataNV;
11674 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
11675 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
11677 #ifndef VK_NO_PROTOTYPES
11678 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
11679 VkCommandBuffer commandBuffer,
11680 const void* pCheckpointMarker);
11682 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
11684 deUint32* pCheckpointDataCount,
11685 VkCheckpointDataNV* pCheckpointData);
11689 #define VK_INTEL_shader_integer_functions2 1
11690 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
11691 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
11692 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
11693 VkStructureType sType;
11695 VkBool32 shaderIntegerFunctions2;
11696 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
11700 #define VK_INTEL_performance_query 1
11701 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
11702 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
11703 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
11705 typedef enum VkPerformanceConfigurationTypeINTEL {
11706 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
11707 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11708 } VkPerformanceConfigurationTypeINTEL;
11710 typedef enum VkQueryPoolSamplingModeINTEL {
11711 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
11712 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
11713 } VkQueryPoolSamplingModeINTEL;
11715 typedef enum VkPerformanceOverrideTypeINTEL {
11716 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
11717 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
11718 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11719 } VkPerformanceOverrideTypeINTEL;
11721 typedef enum VkPerformanceParameterTypeINTEL {
11722 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
11723 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
11724 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11725 } VkPerformanceParameterTypeINTEL;
11727 typedef enum VkPerformanceValueTypeINTEL {
11728 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
11729 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
11730 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
11731 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
11732 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
11733 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11734 } VkPerformanceValueTypeINTEL;
11735 typedef union VkPerformanceValueDataINTEL {
11739 VkBool32 valueBool;
11740 const char* valueString;
11741 } VkPerformanceValueDataINTEL;
11743 typedef struct VkPerformanceValueINTEL {
11744 VkPerformanceValueTypeINTEL type;
11745 VkPerformanceValueDataINTEL data;
11746 } VkPerformanceValueINTEL;
11748 typedef struct VkInitializePerformanceApiInfoINTEL {
11749 VkStructureType sType;
11752 } VkInitializePerformanceApiInfoINTEL;
11754 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
11755 VkStructureType sType;
11757 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
11758 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
11760 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
11762 typedef struct VkPerformanceMarkerInfoINTEL {
11763 VkStructureType sType;
11766 } VkPerformanceMarkerInfoINTEL;
11768 typedef struct VkPerformanceStreamMarkerInfoINTEL {
11769 VkStructureType sType;
11772 } VkPerformanceStreamMarkerInfoINTEL;
11774 typedef struct VkPerformanceOverrideInfoINTEL {
11775 VkStructureType sType;
11777 VkPerformanceOverrideTypeINTEL type;
11779 deUint64 parameter;
11780 } VkPerformanceOverrideInfoINTEL;
11782 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
11783 VkStructureType sType;
11785 VkPerformanceConfigurationTypeINTEL type;
11786 } VkPerformanceConfigurationAcquireInfoINTEL;
11788 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11789 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
11790 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11791 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11792 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11793 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
11794 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
11795 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
11796 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
11798 #ifndef VK_NO_PROTOTYPES
11799 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
11801 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11803 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
11806 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
11807 VkCommandBuffer commandBuffer,
11808 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11810 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
11811 VkCommandBuffer commandBuffer,
11812 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11814 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
11815 VkCommandBuffer commandBuffer,
11816 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11818 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
11820 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
11821 VkPerformanceConfigurationINTEL* pConfiguration);
11823 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
11825 VkPerformanceConfigurationINTEL configuration);
11827 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
11829 VkPerformanceConfigurationINTEL configuration);
11831 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
11833 VkPerformanceParameterTypeINTEL parameter,
11834 VkPerformanceValueINTEL* pValue);
11838 #define VK_EXT_pci_bus_info 1
11839 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
11840 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
11841 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
11842 VkStructureType sType;
11844 deUint32 pciDomain;
11846 deUint32 pciDevice;
11847 deUint32 pciFunction;
11848 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
11852 #define VK_AMD_display_native_hdr 1
11853 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
11854 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
11855 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11856 VkStructureType sType;
11858 VkBool32 localDimmingSupport;
11859 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
11861 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11862 VkStructureType sType;
11864 VkBool32 localDimmingEnable;
11865 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
11867 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
11869 #ifndef VK_NO_PROTOTYPES
11870 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
11872 VkSwapchainKHR swapChain,
11873 VkBool32 localDimmingEnable);
11877 #define VK_EXT_fragment_density_map 1
11878 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
11879 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
11880 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11881 VkStructureType sType;
11883 VkBool32 fragmentDensityMap;
11884 VkBool32 fragmentDensityMapDynamic;
11885 VkBool32 fragmentDensityMapNonSubsampledImages;
11886 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
11888 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11889 VkStructureType sType;
11891 VkExtent2D minFragmentDensityTexelSize;
11892 VkExtent2D maxFragmentDensityTexelSize;
11893 VkBool32 fragmentDensityInvocations;
11894 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
11896 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11897 VkStructureType sType;
11899 VkAttachmentReference fragmentDensityMapAttachment;
11900 } VkRenderPassFragmentDensityMapCreateInfoEXT;
11904 #define VK_EXT_scalar_block_layout 1
11905 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
11906 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
11907 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
11911 #define VK_GOOGLE_hlsl_functionality1 1
11912 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
11913 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
11916 #define VK_GOOGLE_decorate_string 1
11917 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
11918 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
11921 #define VK_EXT_subgroup_size_control 1
11922 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
11923 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
11924 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
11925 VkStructureType sType;
11927 VkBool32 subgroupSizeControl;
11928 VkBool32 computeFullSubgroups;
11929 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
11931 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
11932 VkStructureType sType;
11934 deUint32 minSubgroupSize;
11935 deUint32 maxSubgroupSize;
11936 deUint32 maxComputeWorkgroupSubgroups;
11937 VkShaderStageFlags requiredSubgroupSizeStages;
11938 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
11940 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
11941 VkStructureType sType;
11943 deUint32 requiredSubgroupSize;
11944 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
11948 #define VK_AMD_shader_core_properties2 1
11949 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
11950 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
11952 typedef enum VkShaderCorePropertiesFlagBitsAMD {
11953 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11954 } VkShaderCorePropertiesFlagBitsAMD;
11955 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
11956 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
11957 VkStructureType sType;
11959 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
11960 deUint32 activeComputeUnitCount;
11961 } VkPhysicalDeviceShaderCoreProperties2AMD;
11965 #define VK_AMD_device_coherent_memory 1
11966 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
11967 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
11968 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
11969 VkStructureType sType;
11971 VkBool32 deviceCoherentMemory;
11972 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
11976 #define VK_EXT_shader_image_atomic_int64 1
11977 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
11978 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
11979 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
11980 VkStructureType sType;
11982 VkBool32 shaderImageInt64Atomics;
11983 VkBool32 sparseImageInt64Atomics;
11984 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
11988 #define VK_EXT_memory_budget 1
11989 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
11990 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
11991 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
11992 VkStructureType sType;
11994 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
11995 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
11996 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
12000 #define VK_EXT_memory_priority 1
12001 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
12002 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
12003 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
12004 VkStructureType sType;
12006 VkBool32 memoryPriority;
12007 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
12009 typedef struct VkMemoryPriorityAllocateInfoEXT {
12010 VkStructureType sType;
12013 } VkMemoryPriorityAllocateInfoEXT;
12017 #define VK_NV_dedicated_allocation_image_aliasing 1
12018 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
12019 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
12020 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12021 VkStructureType sType;
12023 VkBool32 dedicatedAllocationImageAliasing;
12024 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
12028 #define VK_EXT_buffer_device_address 1
12029 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
12030 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
12031 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
12032 VkStructureType sType;
12034 VkBool32 bufferDeviceAddress;
12035 VkBool32 bufferDeviceAddressCaptureReplay;
12036 VkBool32 bufferDeviceAddressMultiDevice;
12037 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
12039 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
12041 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
12043 typedef struct VkBufferDeviceAddressCreateInfoEXT {
12044 VkStructureType sType;
12046 VkDeviceAddress deviceAddress;
12047 } VkBufferDeviceAddressCreateInfoEXT;
12049 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
12051 #ifndef VK_NO_PROTOTYPES
12052 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
12054 const VkBufferDeviceAddressInfo* pInfo);
12058 #define VK_EXT_tooling_info 1
12059 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
12060 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
12062 typedef enum VkToolPurposeFlagBitsEXT {
12063 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
12064 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
12065 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
12066 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
12067 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
12068 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
12069 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
12070 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12071 } VkToolPurposeFlagBitsEXT;
12072 typedef VkFlags VkToolPurposeFlagsEXT;
12073 typedef struct VkPhysicalDeviceToolPropertiesEXT {
12074 VkStructureType sType;
12076 char name[VK_MAX_EXTENSION_NAME_SIZE];
12077 char version[VK_MAX_EXTENSION_NAME_SIZE];
12078 VkToolPurposeFlagsEXT purposes;
12079 char description[VK_MAX_DESCRIPTION_SIZE];
12080 char layer[VK_MAX_EXTENSION_NAME_SIZE];
12081 } VkPhysicalDeviceToolPropertiesEXT;
12083 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12085 #ifndef VK_NO_PROTOTYPES
12086 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
12087 VkPhysicalDevice physicalDevice,
12088 deUint32* pToolCount,
12089 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12093 #define VK_EXT_separate_stencil_usage 1
12094 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
12095 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
12096 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
12100 #define VK_EXT_validation_features 1
12101 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
12102 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
12104 typedef enum VkValidationFeatureEnableEXT {
12105 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
12106 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
12107 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
12108 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
12109 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
12110 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12111 } VkValidationFeatureEnableEXT;
12113 typedef enum VkValidationFeatureDisableEXT {
12114 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
12115 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
12116 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
12117 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
12118 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
12119 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
12120 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
12121 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
12122 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12123 } VkValidationFeatureDisableEXT;
12124 typedef struct VkValidationFeaturesEXT {
12125 VkStructureType sType;
12127 deUint32 enabledValidationFeatureCount;
12128 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
12129 deUint32 disabledValidationFeatureCount;
12130 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
12131 } VkValidationFeaturesEXT;
12135 #define VK_NV_cooperative_matrix 1
12136 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
12137 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
12139 typedef enum VkComponentTypeNV {
12140 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
12141 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
12142 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
12143 VK_COMPONENT_TYPE_SINT8_NV = 3,
12144 VK_COMPONENT_TYPE_SINT16_NV = 4,
12145 VK_COMPONENT_TYPE_SINT32_NV = 5,
12146 VK_COMPONENT_TYPE_SINT64_NV = 6,
12147 VK_COMPONENT_TYPE_UINT8_NV = 7,
12148 VK_COMPONENT_TYPE_UINT16_NV = 8,
12149 VK_COMPONENT_TYPE_UINT32_NV = 9,
12150 VK_COMPONENT_TYPE_UINT64_NV = 10,
12151 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12152 } VkComponentTypeNV;
12154 typedef enum VkScopeNV {
12155 VK_SCOPE_DEVICE_NV = 1,
12156 VK_SCOPE_WORKGROUP_NV = 2,
12157 VK_SCOPE_SUBGROUP_NV = 3,
12158 VK_SCOPE_QUEUE_FAMILY_NV = 5,
12159 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
12161 typedef struct VkCooperativeMatrixPropertiesNV {
12162 VkStructureType sType;
12167 VkComponentTypeNV AType;
12168 VkComponentTypeNV BType;
12169 VkComponentTypeNV CType;
12170 VkComponentTypeNV DType;
12172 } VkCooperativeMatrixPropertiesNV;
12174 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
12175 VkStructureType sType;
12177 VkBool32 cooperativeMatrix;
12178 VkBool32 cooperativeMatrixRobustBufferAccess;
12179 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
12181 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
12182 VkStructureType sType;
12184 VkShaderStageFlags cooperativeMatrixSupportedStages;
12185 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
12187 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
12189 #ifndef VK_NO_PROTOTYPES
12190 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
12191 VkPhysicalDevice physicalDevice,
12192 deUint32* pPropertyCount,
12193 VkCooperativeMatrixPropertiesNV* pProperties);
12197 #define VK_NV_coverage_reduction_mode 1
12198 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
12199 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
12201 typedef enum VkCoverageReductionModeNV {
12202 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
12203 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
12204 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12205 } VkCoverageReductionModeNV;
12206 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
12207 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
12208 VkStructureType sType;
12210 VkBool32 coverageReductionMode;
12211 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
12213 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
12214 VkStructureType sType;
12216 VkPipelineCoverageReductionStateCreateFlagsNV flags;
12217 VkCoverageReductionModeNV coverageReductionMode;
12218 } VkPipelineCoverageReductionStateCreateInfoNV;
12220 typedef struct VkFramebufferMixedSamplesCombinationNV {
12221 VkStructureType sType;
12223 VkCoverageReductionModeNV coverageReductionMode;
12224 VkSampleCountFlagBits rasterizationSamples;
12225 VkSampleCountFlags depthStencilSamples;
12226 VkSampleCountFlags colorSamples;
12227 } VkFramebufferMixedSamplesCombinationNV;
12229 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
12231 #ifndef VK_NO_PROTOTYPES
12232 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
12233 VkPhysicalDevice physicalDevice,
12234 deUint32* pCombinationCount,
12235 VkFramebufferMixedSamplesCombinationNV* pCombinations);
12239 #define VK_EXT_fragment_shader_interlock 1
12240 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
12241 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
12242 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12243 VkStructureType sType;
12245 VkBool32 fragmentShaderSampleInterlock;
12246 VkBool32 fragmentShaderPixelInterlock;
12247 VkBool32 fragmentShaderShadingRateInterlock;
12248 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
12252 #define VK_EXT_ycbcr_image_arrays 1
12253 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
12254 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
12255 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
12256 VkStructureType sType;
12258 VkBool32 ycbcrImageArrays;
12259 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
12263 #define VK_EXT_provoking_vertex 1
12264 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
12265 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
12267 typedef enum VkProvokingVertexModeEXT {
12268 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
12269 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
12270 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12271 } VkProvokingVertexModeEXT;
12272 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
12273 VkStructureType sType;
12275 VkBool32 provokingVertexLast;
12276 VkBool32 transformFeedbackPreservesProvokingVertex;
12277 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
12279 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
12280 VkStructureType sType;
12282 VkBool32 provokingVertexModePerPipeline;
12283 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
12284 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
12286 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
12287 VkStructureType sType;
12289 VkProvokingVertexModeEXT provokingVertexMode;
12290 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
12294 #define VK_EXT_headless_surface 1
12295 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
12296 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
12297 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
12298 typedef struct VkHeadlessSurfaceCreateInfoEXT {
12299 VkStructureType sType;
12301 VkHeadlessSurfaceCreateFlagsEXT flags;
12302 } VkHeadlessSurfaceCreateInfoEXT;
12304 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
12306 #ifndef VK_NO_PROTOTYPES
12307 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
12308 VkInstance instance,
12309 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
12310 const VkAllocationCallbacks* pAllocator,
12311 VkSurfaceKHR* pSurface);
12315 #define VK_EXT_line_rasterization 1
12316 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
12317 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
12319 typedef enum VkLineRasterizationModeEXT {
12320 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
12321 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
12322 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
12323 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
12324 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12325 } VkLineRasterizationModeEXT;
12326 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
12327 VkStructureType sType;
12329 VkBool32 rectangularLines;
12330 VkBool32 bresenhamLines;
12331 VkBool32 smoothLines;
12332 VkBool32 stippledRectangularLines;
12333 VkBool32 stippledBresenhamLines;
12334 VkBool32 stippledSmoothLines;
12335 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
12337 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
12338 VkStructureType sType;
12340 deUint32 lineSubPixelPrecisionBits;
12341 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
12343 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
12344 VkStructureType sType;
12346 VkLineRasterizationModeEXT lineRasterizationMode;
12347 VkBool32 stippledLineEnable;
12348 deUint32 lineStippleFactor;
12349 deUint16 lineStipplePattern;
12350 } VkPipelineRasterizationLineStateCreateInfoEXT;
12352 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
12354 #ifndef VK_NO_PROTOTYPES
12355 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
12356 VkCommandBuffer commandBuffer,
12357 deUint32 lineStippleFactor,
12358 deUint16 lineStipplePattern);
12362 #define VK_EXT_shader_atomic_float 1
12363 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
12364 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
12365 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
12366 VkStructureType sType;
12368 VkBool32 shaderBufferFloat32Atomics;
12369 VkBool32 shaderBufferFloat32AtomicAdd;
12370 VkBool32 shaderBufferFloat64Atomics;
12371 VkBool32 shaderBufferFloat64AtomicAdd;
12372 VkBool32 shaderSharedFloat32Atomics;
12373 VkBool32 shaderSharedFloat32AtomicAdd;
12374 VkBool32 shaderSharedFloat64Atomics;
12375 VkBool32 shaderSharedFloat64AtomicAdd;
12376 VkBool32 shaderImageFloat32Atomics;
12377 VkBool32 shaderImageFloat32AtomicAdd;
12378 VkBool32 sparseImageFloat32Atomics;
12379 VkBool32 sparseImageFloat32AtomicAdd;
12380 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
12384 #define VK_EXT_host_query_reset 1
12385 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
12386 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
12387 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
12389 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
12391 #ifndef VK_NO_PROTOTYPES
12392 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
12394 VkQueryPool queryPool,
12395 deUint32 firstQuery,
12396 deUint32 queryCount);
12400 #define VK_EXT_index_type_uint8 1
12401 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
12402 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
12403 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
12404 VkStructureType sType;
12406 VkBool32 indexTypeUint8;
12407 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
12411 #define VK_EXT_extended_dynamic_state 1
12412 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
12413 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
12414 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
12415 VkStructureType sType;
12417 VkBool32 extendedDynamicState;
12418 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
12420 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
12421 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
12422 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
12423 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
12424 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
12425 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
12426 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
12427 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
12428 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
12429 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
12430 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
12431 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
12433 #ifndef VK_NO_PROTOTYPES
12434 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
12435 VkCommandBuffer commandBuffer,
12436 VkCullModeFlags cullMode);
12438 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
12439 VkCommandBuffer commandBuffer,
12440 VkFrontFace frontFace);
12442 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
12443 VkCommandBuffer commandBuffer,
12444 VkPrimitiveTopology primitiveTopology);
12446 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
12447 VkCommandBuffer commandBuffer,
12448 deUint32 viewportCount,
12449 const VkViewport* pViewports);
12451 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
12452 VkCommandBuffer commandBuffer,
12453 deUint32 scissorCount,
12454 const VkRect2D* pScissors);
12456 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
12457 VkCommandBuffer commandBuffer,
12458 deUint32 firstBinding,
12459 deUint32 bindingCount,
12460 const VkBuffer* pBuffers,
12461 const VkDeviceSize* pOffsets,
12462 const VkDeviceSize* pSizes,
12463 const VkDeviceSize* pStrides);
12465 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
12466 VkCommandBuffer commandBuffer,
12467 VkBool32 depthTestEnable);
12469 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
12470 VkCommandBuffer commandBuffer,
12471 VkBool32 depthWriteEnable);
12473 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
12474 VkCommandBuffer commandBuffer,
12475 VkCompareOp depthCompareOp);
12477 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
12478 VkCommandBuffer commandBuffer,
12479 VkBool32 depthBoundsTestEnable);
12481 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
12482 VkCommandBuffer commandBuffer,
12483 VkBool32 stencilTestEnable);
12485 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
12486 VkCommandBuffer commandBuffer,
12487 VkStencilFaceFlags faceMask,
12488 VkStencilOp failOp,
12489 VkStencilOp passOp,
12490 VkStencilOp depthFailOp,
12491 VkCompareOp compareOp);
12495 #define VK_EXT_shader_demote_to_helper_invocation 1
12496 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
12497 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
12498 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
12499 VkStructureType sType;
12501 VkBool32 shaderDemoteToHelperInvocation;
12502 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
12506 #define VK_NV_device_generated_commands 1
12507 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
12508 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
12509 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
12511 typedef enum VkIndirectCommandsTokenTypeNV {
12512 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
12513 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
12514 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
12515 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
12516 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
12517 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
12518 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
12519 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
12520 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12521 } VkIndirectCommandsTokenTypeNV;
12523 typedef enum VkIndirectStateFlagBitsNV {
12524 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
12525 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12526 } VkIndirectStateFlagBitsNV;
12527 typedef VkFlags VkIndirectStateFlagsNV;
12529 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
12530 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
12531 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
12532 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
12533 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12534 } VkIndirectCommandsLayoutUsageFlagBitsNV;
12535 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
12536 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
12537 VkStructureType sType;
12539 deUint32 maxGraphicsShaderGroupCount;
12540 deUint32 maxIndirectSequenceCount;
12541 deUint32 maxIndirectCommandsTokenCount;
12542 deUint32 maxIndirectCommandsStreamCount;
12543 deUint32 maxIndirectCommandsTokenOffset;
12544 deUint32 maxIndirectCommandsStreamStride;
12545 deUint32 minSequencesCountBufferOffsetAlignment;
12546 deUint32 minSequencesIndexBufferOffsetAlignment;
12547 deUint32 minIndirectCommandsBufferOffsetAlignment;
12548 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
12550 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
12551 VkStructureType sType;
12553 VkBool32 deviceGeneratedCommands;
12554 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
12556 typedef struct VkGraphicsShaderGroupCreateInfoNV {
12557 VkStructureType sType;
12559 deUint32 stageCount;
12560 const VkPipelineShaderStageCreateInfo* pStages;
12561 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
12562 const VkPipelineTessellationStateCreateInfo* pTessellationState;
12563 } VkGraphicsShaderGroupCreateInfoNV;
12565 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
12566 VkStructureType sType;
12568 deUint32 groupCount;
12569 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
12570 deUint32 pipelineCount;
12571 const VkPipeline* pPipelines;
12572 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
12574 typedef struct VkBindShaderGroupIndirectCommandNV {
12575 deUint32 groupIndex;
12576 } VkBindShaderGroupIndirectCommandNV;
12578 typedef struct VkBindIndexBufferIndirectCommandNV {
12579 VkDeviceAddress bufferAddress;
12581 VkIndexType indexType;
12582 } VkBindIndexBufferIndirectCommandNV;
12584 typedef struct VkBindVertexBufferIndirectCommandNV {
12585 VkDeviceAddress bufferAddress;
12588 } VkBindVertexBufferIndirectCommandNV;
12590 typedef struct VkSetStateFlagsIndirectCommandNV {
12592 } VkSetStateFlagsIndirectCommandNV;
12594 typedef struct VkIndirectCommandsStreamNV {
12596 VkDeviceSize offset;
12597 } VkIndirectCommandsStreamNV;
12599 typedef struct VkIndirectCommandsLayoutTokenNV {
12600 VkStructureType sType;
12602 VkIndirectCommandsTokenTypeNV tokenType;
12605 deUint32 vertexBindingUnit;
12606 VkBool32 vertexDynamicStride;
12607 VkPipelineLayout pushconstantPipelineLayout;
12608 VkShaderStageFlags pushconstantShaderStageFlags;
12609 deUint32 pushconstantOffset;
12610 deUint32 pushconstantSize;
12611 VkIndirectStateFlagsNV indirectStateFlags;
12612 deUint32 indexTypeCount;
12613 const VkIndexType* pIndexTypes;
12614 const deUint32* pIndexTypeValues;
12615 } VkIndirectCommandsLayoutTokenNV;
12617 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
12618 VkStructureType sType;
12620 VkIndirectCommandsLayoutUsageFlagsNV flags;
12621 VkPipelineBindPoint pipelineBindPoint;
12622 deUint32 tokenCount;
12623 const VkIndirectCommandsLayoutTokenNV* pTokens;
12624 deUint32 streamCount;
12625 const deUint32* pStreamStrides;
12626 } VkIndirectCommandsLayoutCreateInfoNV;
12628 typedef struct VkGeneratedCommandsInfoNV {
12629 VkStructureType sType;
12631 VkPipelineBindPoint pipelineBindPoint;
12632 VkPipeline pipeline;
12633 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12634 deUint32 streamCount;
12635 const VkIndirectCommandsStreamNV* pStreams;
12636 deUint32 sequencesCount;
12637 VkBuffer preprocessBuffer;
12638 VkDeviceSize preprocessOffset;
12639 VkDeviceSize preprocessSize;
12640 VkBuffer sequencesCountBuffer;
12641 VkDeviceSize sequencesCountOffset;
12642 VkBuffer sequencesIndexBuffer;
12643 VkDeviceSize sequencesIndexOffset;
12644 } VkGeneratedCommandsInfoNV;
12646 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
12647 VkStructureType sType;
12649 VkPipelineBindPoint pipelineBindPoint;
12650 VkPipeline pipeline;
12651 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12652 deUint32 maxSequencesCount;
12653 } VkGeneratedCommandsMemoryRequirementsInfoNV;
12655 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12656 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12657 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12658 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
12659 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12660 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
12662 #ifndef VK_NO_PROTOTYPES
12663 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
12665 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
12666 VkMemoryRequirements2* pMemoryRequirements);
12668 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
12669 VkCommandBuffer commandBuffer,
12670 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12672 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
12673 VkCommandBuffer commandBuffer,
12674 VkBool32 isPreprocessed,
12675 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12677 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
12678 VkCommandBuffer commandBuffer,
12679 VkPipelineBindPoint pipelineBindPoint,
12680 VkPipeline pipeline,
12681 deUint32 groupIndex);
12683 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
12685 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
12686 const VkAllocationCallbacks* pAllocator,
12687 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12689 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
12691 VkIndirectCommandsLayoutNV indirectCommandsLayout,
12692 const VkAllocationCallbacks* pAllocator);
12696 #define VK_NV_inherited_viewport_scissor 1
12697 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
12698 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
12699 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
12700 VkStructureType sType;
12702 VkBool32 inheritedViewportScissor2D;
12703 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
12705 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
12706 VkStructureType sType;
12708 VkBool32 viewportScissor2D;
12709 deUint32 viewportDepthCount;
12710 const VkViewport* pViewportDepths;
12711 } VkCommandBufferInheritanceViewportScissorInfoNV;
12715 #define VK_EXT_texel_buffer_alignment 1
12716 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
12717 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
12718 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
12719 VkStructureType sType;
12721 VkBool32 texelBufferAlignment;
12722 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
12724 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
12725 VkStructureType sType;
12727 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
12728 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
12729 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
12730 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
12731 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
12735 #define VK_QCOM_render_pass_transform 1
12736 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
12737 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
12738 typedef struct VkRenderPassTransformBeginInfoQCOM {
12739 VkStructureType sType;
12741 VkSurfaceTransformFlagBitsKHR transform;
12742 } VkRenderPassTransformBeginInfoQCOM;
12744 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
12745 VkStructureType sType;
12747 VkSurfaceTransformFlagBitsKHR transform;
12748 VkRect2D renderArea;
12749 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
12753 #define VK_EXT_device_memory_report 1
12754 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
12755 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
12757 typedef enum VkDeviceMemoryReportEventTypeEXT {
12758 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
12759 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
12760 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
12761 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
12762 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
12763 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12764 } VkDeviceMemoryReportEventTypeEXT;
12765 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
12766 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
12767 VkStructureType sType;
12769 VkBool32 deviceMemoryReport;
12770 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
12772 typedef struct VkDeviceMemoryReportCallbackDataEXT {
12773 VkStructureType sType;
12775 VkDeviceMemoryReportFlagsEXT flags;
12776 VkDeviceMemoryReportEventTypeEXT type;
12777 deUint64 memoryObjectId;
12779 VkObjectType objectType;
12780 deUint64 objectHandle;
12781 deUint32 heapIndex;
12782 } VkDeviceMemoryReportCallbackDataEXT;
12784 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
12785 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
12788 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
12789 VkStructureType sType;
12791 VkDeviceMemoryReportFlagsEXT flags;
12792 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
12794 } VkDeviceDeviceMemoryReportCreateInfoEXT;
12798 #define VK_EXT_acquire_drm_display 1
12799 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
12800 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
12801 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, VkDisplayKHR display);
12802 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, deUint32 connectorId, VkDisplayKHR* display);
12804 #ifndef VK_NO_PROTOTYPES
12805 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
12806 VkPhysicalDevice physicalDevice,
12808 VkDisplayKHR display);
12810 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
12811 VkPhysicalDevice physicalDevice,
12813 deUint32 connectorId,
12814 VkDisplayKHR* display);
12818 #define VK_EXT_robustness2 1
12819 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
12820 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
12821 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
12822 VkStructureType sType;
12824 VkBool32 robustBufferAccess2;
12825 VkBool32 robustImageAccess2;
12826 VkBool32 nullDescriptor;
12827 } VkPhysicalDeviceRobustness2FeaturesEXT;
12829 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
12830 VkStructureType sType;
12832 VkDeviceSize robustStorageBufferAccessSizeAlignment;
12833 VkDeviceSize robustUniformBufferAccessSizeAlignment;
12834 } VkPhysicalDeviceRobustness2PropertiesEXT;
12838 #define VK_EXT_custom_border_color 1
12839 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
12840 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
12841 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
12842 VkStructureType sType;
12844 VkClearColorValue customBorderColor;
12846 } VkSamplerCustomBorderColorCreateInfoEXT;
12848 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
12849 VkStructureType sType;
12851 deUint32 maxCustomBorderColorSamplers;
12852 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
12854 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
12855 VkStructureType sType;
12857 VkBool32 customBorderColors;
12858 VkBool32 customBorderColorWithoutFormat;
12859 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
12863 #define VK_GOOGLE_user_type 1
12864 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
12865 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
12868 #define VK_EXT_private_data 1
12869 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
12870 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
12871 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
12873 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
12874 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12875 } VkPrivateDataSlotCreateFlagBitsEXT;
12876 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
12877 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
12878 VkStructureType sType;
12880 VkBool32 privateData;
12881 } VkPhysicalDevicePrivateDataFeaturesEXT;
12883 typedef struct VkDevicePrivateDataCreateInfoEXT {
12884 VkStructureType sType;
12886 deUint32 privateDataSlotRequestCount;
12887 } VkDevicePrivateDataCreateInfoEXT;
12889 typedef struct VkPrivateDataSlotCreateInfoEXT {
12890 VkStructureType sType;
12892 VkPrivateDataSlotCreateFlagsEXT flags;
12893 } VkPrivateDataSlotCreateInfoEXT;
12895 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
12896 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
12897 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
12898 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
12900 #ifndef VK_NO_PROTOTYPES
12901 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
12903 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
12904 const VkAllocationCallbacks* pAllocator,
12905 VkPrivateDataSlotEXT* pPrivateDataSlot);
12907 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
12909 VkPrivateDataSlotEXT privateDataSlot,
12910 const VkAllocationCallbacks* pAllocator);
12912 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
12914 VkObjectType objectType,
12915 deUint64 objectHandle,
12916 VkPrivateDataSlotEXT privateDataSlot,
12919 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
12921 VkObjectType objectType,
12922 deUint64 objectHandle,
12923 VkPrivateDataSlotEXT privateDataSlot,
12928 #define VK_EXT_pipeline_creation_cache_control 1
12929 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
12930 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
12931 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
12932 VkStructureType sType;
12934 VkBool32 pipelineCreationCacheControl;
12935 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
12939 #define VK_NV_device_diagnostics_config 1
12940 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
12941 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
12943 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
12944 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
12945 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
12946 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
12947 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12948 } VkDeviceDiagnosticsConfigFlagBitsNV;
12949 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
12950 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
12951 VkStructureType sType;
12953 VkBool32 diagnosticsConfig;
12954 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
12956 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
12957 VkStructureType sType;
12959 VkDeviceDiagnosticsConfigFlagsNV flags;
12960 } VkDeviceDiagnosticsConfigCreateInfoNV;
12964 #define VK_QCOM_render_pass_store_ops 1
12965 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
12966 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
12969 #define VK_NV_fragment_shading_rate_enums 1
12970 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
12971 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
12973 typedef enum VkFragmentShadingRateTypeNV {
12974 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
12975 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
12976 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12977 } VkFragmentShadingRateTypeNV;
12979 typedef enum VkFragmentShadingRateNV {
12980 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
12981 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
12982 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
12983 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
12984 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
12985 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12986 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
12987 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
12988 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
12989 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
12990 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
12991 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
12992 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
12993 } VkFragmentShadingRateNV;
12994 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
12995 VkStructureType sType;
12997 VkBool32 fragmentShadingRateEnums;
12998 VkBool32 supersampleFragmentShadingRates;
12999 VkBool32 noInvocationFragmentShadingRates;
13000 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
13002 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
13003 VkStructureType sType;
13005 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
13006 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
13008 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
13009 VkStructureType sType;
13011 VkFragmentShadingRateTypeNV shadingRateType;
13012 VkFragmentShadingRateNV shadingRate;
13013 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
13014 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
13016 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13018 #ifndef VK_NO_PROTOTYPES
13019 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
13020 VkCommandBuffer commandBuffer,
13021 VkFragmentShadingRateNV shadingRate,
13022 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13026 #define VK_NV_ray_tracing_motion_blur 1
13027 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
13028 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
13030 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
13031 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
13032 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
13033 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
13034 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13035 } VkAccelerationStructureMotionInstanceTypeNV;
13036 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
13037 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
13038 typedef union VkDeviceOrHostAddressConstKHR {
13039 VkDeviceAddress deviceAddress;
13040 const void* hostAddress;
13041 } VkDeviceOrHostAddressConstKHR;
13043 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
13044 VkStructureType sType;
13046 VkDeviceOrHostAddressConstKHR vertexData;
13047 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
13049 typedef struct VkAccelerationStructureMotionInfoNV {
13050 VkStructureType sType;
13052 deUint32 maxInstances;
13053 VkAccelerationStructureMotionInfoFlagsNV flags;
13054 } VkAccelerationStructureMotionInfoNV;
13056 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
13057 VkTransformMatrixKHR transformT0;
13058 VkTransformMatrixKHR transformT1;
13059 deUint32 instanceCustomIndex:24;
13061 deUint32 instanceShaderBindingTableRecordOffset:24;
13062 VkGeometryInstanceFlagsKHR flags:8;
13063 deUint64 accelerationStructureReference;
13064 } VkAccelerationStructureMatrixMotionInstanceNV;
13066 typedef struct VkSRTDataNV {
13085 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
13086 VkSRTDataNV transformT0;
13087 VkSRTDataNV transformT1;
13088 deUint32 instanceCustomIndex:24;
13090 deUint32 instanceShaderBindingTableRecordOffset:24;
13091 VkGeometryInstanceFlagsKHR flags:8;
13092 deUint64 accelerationStructureReference;
13093 } VkAccelerationStructureSRTMotionInstanceNV;
13095 typedef union VkAccelerationStructureMotionInstanceDataNV {
13096 VkAccelerationStructureInstanceKHR staticInstance;
13097 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
13098 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
13099 } VkAccelerationStructureMotionInstanceDataNV;
13101 typedef struct VkAccelerationStructureMotionInstanceNV {
13102 VkAccelerationStructureMotionInstanceTypeNV type;
13103 VkAccelerationStructureMotionInstanceFlagsNV flags;
13104 VkAccelerationStructureMotionInstanceDataNV data;
13105 } VkAccelerationStructureMotionInstanceNV;
13107 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
13108 VkStructureType sType;
13110 VkBool32 rayTracingMotionBlur;
13111 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
13112 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
13116 #define VK_EXT_ycbcr_2plane_444_formats 1
13117 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
13118 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
13119 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
13120 VkStructureType sType;
13122 VkBool32 ycbcr2plane444Formats;
13123 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
13127 #define VK_EXT_fragment_density_map2 1
13128 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
13129 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
13130 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
13131 VkStructureType sType;
13133 VkBool32 fragmentDensityMapDeferred;
13134 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
13136 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
13137 VkStructureType sType;
13139 VkBool32 subsampledLoads;
13140 VkBool32 subsampledCoarseReconstructionEarlyAccess;
13141 deUint32 maxSubsampledArrayLayers;
13142 deUint32 maxDescriptorSetSubsampledSamplers;
13143 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
13147 #define VK_QCOM_rotated_copy_commands 1
13148 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
13149 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
13150 typedef struct VkCopyCommandTransformInfoQCOM {
13151 VkStructureType sType;
13153 VkSurfaceTransformFlagBitsKHR transform;
13154 } VkCopyCommandTransformInfoQCOM;
13158 #define VK_EXT_image_robustness 1
13159 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
13160 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
13161 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
13162 VkStructureType sType;
13164 VkBool32 robustImageAccess;
13165 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
13169 #define VK_EXT_4444_formats 1
13170 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
13171 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
13172 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
13173 VkStructureType sType;
13175 VkBool32 formatA4R4G4B4;
13176 VkBool32 formatA4B4G4R4;
13177 } VkPhysicalDevice4444FormatsFeaturesEXT;
13181 #define VK_NV_acquire_winrt_display 1
13182 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
13183 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
13184 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
13185 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
13187 #ifndef VK_NO_PROTOTYPES
13188 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
13189 VkPhysicalDevice physicalDevice,
13190 VkDisplayKHR display);
13192 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
13193 VkPhysicalDevice physicalDevice,
13194 deUint32 deviceRelativeId,
13195 VkDisplayKHR* pDisplay);
13199 #define VK_VALVE_mutable_descriptor_type 1
13200 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
13201 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
13202 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
13203 VkStructureType sType;
13205 VkBool32 mutableDescriptorType;
13206 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
13208 typedef struct VkMutableDescriptorTypeListVALVE {
13209 deUint32 descriptorTypeCount;
13210 const VkDescriptorType* pDescriptorTypes;
13211 } VkMutableDescriptorTypeListVALVE;
13213 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
13214 VkStructureType sType;
13216 deUint32 mutableDescriptorTypeListCount;
13217 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
13218 } VkMutableDescriptorTypeCreateInfoVALVE;
13222 #define VK_EXT_vertex_input_dynamic_state 1
13223 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
13224 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
13225 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
13226 VkStructureType sType;
13228 VkBool32 vertexInputDynamicState;
13229 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
13231 typedef struct VkVertexInputBindingDescription2EXT {
13232 VkStructureType sType;
13236 VkVertexInputRate inputRate;
13238 } VkVertexInputBindingDescription2EXT;
13240 typedef struct VkVertexInputAttributeDescription2EXT {
13241 VkStructureType sType;
13247 } VkVertexInputAttributeDescription2EXT;
13249 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13251 #ifndef VK_NO_PROTOTYPES
13252 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
13253 VkCommandBuffer commandBuffer,
13254 deUint32 vertexBindingDescriptionCount,
13255 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
13256 deUint32 vertexAttributeDescriptionCount,
13257 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13261 #define VK_EXT_physical_device_drm 1
13262 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
13263 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
13264 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
13265 VkStructureType sType;
13267 VkBool32 hasPrimary;
13268 VkBool32 hasRender;
13269 deInt64 primaryMajor;
13270 deInt64 primaryMinor;
13271 deInt64 renderMajor;
13272 deInt64 renderMinor;
13273 } VkPhysicalDeviceDrmPropertiesEXT;
13277 #define VK_HUAWEI_subpass_shading 1
13278 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 0
13279 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
13280 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
13281 VkStructureType sType;
13283 VkRenderPass renderPass;
13285 } VkSubpassShadingPipelineCreateInfoHUAWEI;
13287 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
13288 VkStructureType sType;
13290 VkBool32 subpassShading;
13291 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
13293 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
13294 VkStructureType sType;
13296 deUint32 maxSubpassShadingWorkgroupSizeAspectRatio;
13297 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
13299 typedef VkResult (VKAPI_PTR *PFN_vkGetSubpassShadingMaxWorkgroupSizeHUAWEI)(VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
13300 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
13302 #ifndef VK_NO_PROTOTYPES
13303 VKAPI_ATTR VkResult VKAPI_CALL vkGetSubpassShadingMaxWorkgroupSizeHUAWEI(
13304 VkRenderPass renderpass,
13305 VkExtent2D* pMaxWorkgroupSize);
13307 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
13308 VkCommandBuffer commandBuffer);
13312 #define VK_EXT_extended_dynamic_state2 1
13313 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
13314 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
13315 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
13316 VkStructureType sType;
13318 VkBool32 extendedDynamicState2;
13319 VkBool32 extendedDynamicState2LogicOp;
13320 VkBool32 extendedDynamicState2PatchControlPoints;
13321 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
13323 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
13324 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
13325 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
13326 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
13327 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
13329 #ifndef VK_NO_PROTOTYPES
13330 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
13331 VkCommandBuffer commandBuffer,
13332 deUint32 patchControlPoints);
13334 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
13335 VkCommandBuffer commandBuffer,
13336 VkBool32 rasterizerDiscardEnable);
13338 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
13339 VkCommandBuffer commandBuffer,
13340 VkBool32 depthBiasEnable);
13342 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
13343 VkCommandBuffer commandBuffer,
13344 VkLogicOp logicOp);
13346 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
13347 VkCommandBuffer commandBuffer,
13348 VkBool32 primitiveRestartEnable);
13352 #define VK_EXT_color_write_enable 1
13353 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
13354 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
13355 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
13356 VkStructureType sType;
13358 VkBool32 colorWriteEnable;
13359 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
13361 typedef struct VkPipelineColorWriteCreateInfoEXT {
13362 VkStructureType sType;
13364 deUint32 attachmentCount;
13365 const VkBool32* pColorWriteEnables;
13366 } VkPipelineColorWriteCreateInfoEXT;
13368 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
13370 #ifndef VK_NO_PROTOTYPES
13371 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
13372 VkCommandBuffer commandBuffer,
13373 deUint32 attachmentCount,
13374 const VkBool32* pColorWriteEnables);
13378 #define VK_EXT_global_priority_query 1
13379 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U
13380 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
13381 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
13382 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT {
13383 VkStructureType sType;
13385 VkBool32 globalPriorityQuery;
13386 } VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
13388 typedef struct VkQueueFamilyGlobalPriorityPropertiesEXT {
13389 VkStructureType sType;
13391 deUint32 priorityCount;
13392 VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT];
13393 } VkQueueFamilyGlobalPriorityPropertiesEXT;
13397 #define VK_EXT_multi_draw 1
13398 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
13399 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
13400 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
13401 VkStructureType sType;
13403 VkBool32 multiDraw;
13404 } VkPhysicalDeviceMultiDrawFeaturesEXT;
13406 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
13407 VkStructureType sType;
13409 deUint32 maxMultiDrawCount;
13410 } VkPhysicalDeviceMultiDrawPropertiesEXT;
13412 typedef struct VkMultiDrawInfoEXT {
13413 deUint32 firstVertex;
13414 deUint32 vertexCount;
13415 } VkMultiDrawInfoEXT;
13417 typedef struct VkMultiDrawIndexedInfoEXT {
13418 deUint32 firstIndex;
13419 deUint32 indexCount;
13420 deInt32 vertexOffset;
13421 } VkMultiDrawIndexedInfoEXT;
13423 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawInfoEXT* pVertexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride);
13424 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride, const deInt32* pVertexOffset);
13426 #ifndef VK_NO_PROTOTYPES
13427 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
13428 VkCommandBuffer commandBuffer,
13429 deUint32 drawCount,
13430 const VkMultiDrawInfoEXT* pVertexInfo,
13431 deUint32 instanceCount,
13432 deUint32 firstInstance,
13435 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
13436 VkCommandBuffer commandBuffer,
13437 deUint32 drawCount,
13438 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
13439 deUint32 instanceCount,
13440 deUint32 firstInstance,
13442 const deInt32* pVertexOffset);
13446 #define VK_KHR_acceleration_structure 1
13447 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
13448 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
13449 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
13451 typedef enum VkBuildAccelerationStructureModeKHR {
13452 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
13453 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
13454 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13455 } VkBuildAccelerationStructureModeKHR;
13457 typedef enum VkAccelerationStructureBuildTypeKHR {
13458 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
13459 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
13460 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
13461 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13462 } VkAccelerationStructureBuildTypeKHR;
13464 typedef enum VkAccelerationStructureCompatibilityKHR {
13465 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
13466 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
13467 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
13468 } VkAccelerationStructureCompatibilityKHR;
13470 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
13471 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
13472 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
13473 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13474 } VkAccelerationStructureCreateFlagBitsKHR;
13475 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
13476 typedef union VkDeviceOrHostAddressKHR {
13477 VkDeviceAddress deviceAddress;
13479 } VkDeviceOrHostAddressKHR;
13481 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
13482 deUint32 primitiveCount;
13483 deUint32 primitiveOffset;
13484 deUint32 firstVertex;
13485 deUint32 transformOffset;
13486 } VkAccelerationStructureBuildRangeInfoKHR;
13488 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
13489 VkStructureType sType;
13491 VkFormat vertexFormat;
13492 VkDeviceOrHostAddressConstKHR vertexData;
13493 VkDeviceSize vertexStride;
13494 deUint32 maxVertex;
13495 VkIndexType indexType;
13496 VkDeviceOrHostAddressConstKHR indexData;
13497 VkDeviceOrHostAddressConstKHR transformData;
13498 } VkAccelerationStructureGeometryTrianglesDataKHR;
13500 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
13501 VkStructureType sType;
13503 VkDeviceOrHostAddressConstKHR data;
13504 VkDeviceSize stride;
13505 } VkAccelerationStructureGeometryAabbsDataKHR;
13507 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
13508 VkStructureType sType;
13510 VkBool32 arrayOfPointers;
13511 VkDeviceOrHostAddressConstKHR data;
13512 } VkAccelerationStructureGeometryInstancesDataKHR;
13514 typedef union VkAccelerationStructureGeometryDataKHR {
13515 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
13516 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
13517 VkAccelerationStructureGeometryInstancesDataKHR instances;
13518 } VkAccelerationStructureGeometryDataKHR;
13520 typedef struct VkAccelerationStructureGeometryKHR {
13521 VkStructureType sType;
13523 VkGeometryTypeKHR geometryType;
13524 VkAccelerationStructureGeometryDataKHR geometry;
13525 VkGeometryFlagsKHR flags;
13526 } VkAccelerationStructureGeometryKHR;
13528 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
13529 VkStructureType sType;
13531 VkAccelerationStructureTypeKHR type;
13532 VkBuildAccelerationStructureFlagsKHR flags;
13533 VkBuildAccelerationStructureModeKHR mode;
13534 VkAccelerationStructureKHR srcAccelerationStructure;
13535 VkAccelerationStructureKHR dstAccelerationStructure;
13536 deUint32 geometryCount;
13537 const VkAccelerationStructureGeometryKHR* pGeometries;
13538 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
13539 VkDeviceOrHostAddressKHR scratchData;
13540 } VkAccelerationStructureBuildGeometryInfoKHR;
13542 typedef struct VkAccelerationStructureCreateInfoKHR {
13543 VkStructureType sType;
13545 VkAccelerationStructureCreateFlagsKHR createFlags;
13547 VkDeviceSize offset;
13549 VkAccelerationStructureTypeKHR type;
13550 VkDeviceAddress deviceAddress;
13551 } VkAccelerationStructureCreateInfoKHR;
13553 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13554 VkStructureType sType;
13556 deUint32 accelerationStructureCount;
13557 const VkAccelerationStructureKHR* pAccelerationStructures;
13558 } VkWriteDescriptorSetAccelerationStructureKHR;
13560 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13561 VkStructureType sType;
13563 VkBool32 accelerationStructure;
13564 VkBool32 accelerationStructureCaptureReplay;
13565 VkBool32 accelerationStructureIndirectBuild;
13566 VkBool32 accelerationStructureHostCommands;
13567 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13568 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13570 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13571 VkStructureType sType;
13573 deUint64 maxGeometryCount;
13574 deUint64 maxInstanceCount;
13575 deUint64 maxPrimitiveCount;
13576 deUint32 maxPerStageDescriptorAccelerationStructures;
13577 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
13578 deUint32 maxDescriptorSetAccelerationStructures;
13579 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
13580 deUint32 minAccelerationStructureScratchOffsetAlignment;
13581 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
13583 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
13584 VkStructureType sType;
13586 VkAccelerationStructureKHR accelerationStructure;
13587 } VkAccelerationStructureDeviceAddressInfoKHR;
13589 typedef struct VkAccelerationStructureVersionInfoKHR {
13590 VkStructureType sType;
13592 const deUint8* pVersionData;
13593 } VkAccelerationStructureVersionInfoKHR;
13595 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
13596 VkStructureType sType;
13598 VkAccelerationStructureKHR src;
13599 VkDeviceOrHostAddressKHR dst;
13600 VkCopyAccelerationStructureModeKHR mode;
13601 } VkCopyAccelerationStructureToMemoryInfoKHR;
13603 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
13604 VkStructureType sType;
13606 VkDeviceOrHostAddressConstKHR src;
13607 VkAccelerationStructureKHR dst;
13608 VkCopyAccelerationStructureModeKHR mode;
13609 } VkCopyMemoryToAccelerationStructureInfoKHR;
13611 typedef struct VkCopyAccelerationStructureInfoKHR {
13612 VkStructureType sType;
13614 VkAccelerationStructureKHR src;
13615 VkAccelerationStructureKHR dst;
13616 VkCopyAccelerationStructureModeKHR mode;
13617 } VkCopyAccelerationStructureInfoKHR;
13619 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
13620 VkStructureType sType;
13622 VkDeviceSize accelerationStructureSize;
13623 VkDeviceSize updateScratchSize;
13624 VkDeviceSize buildScratchSize;
13625 } VkAccelerationStructureBuildSizesInfoKHR;
13627 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
13628 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
13629 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13630 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
13631 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13632 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
13633 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13634 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13635 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
13636 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
13637 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13638 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13639 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13640 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
13641 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
13642 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13644 #ifndef VK_NO_PROTOTYPES
13645 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
13647 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
13648 const VkAllocationCallbacks* pAllocator,
13649 VkAccelerationStructureKHR* pAccelerationStructure);
13651 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
13653 VkAccelerationStructureKHR accelerationStructure,
13654 const VkAllocationCallbacks* pAllocator);
13656 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
13657 VkCommandBuffer commandBuffer,
13658 deUint32 infoCount,
13659 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13660 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13662 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
13663 VkCommandBuffer commandBuffer,
13664 deUint32 infoCount,
13665 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13666 const VkDeviceAddress* pIndirectDeviceAddresses,
13667 const deUint32* pIndirectStrides,
13668 const deUint32* const* ppMaxPrimitiveCounts);
13670 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
13672 VkDeferredOperationKHR deferredOperation,
13673 deUint32 infoCount,
13674 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13675 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13677 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
13679 VkDeferredOperationKHR deferredOperation,
13680 const VkCopyAccelerationStructureInfoKHR* pInfo);
13682 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
13684 VkDeferredOperationKHR deferredOperation,
13685 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13687 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
13689 VkDeferredOperationKHR deferredOperation,
13690 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13692 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
13694 deUint32 accelerationStructureCount,
13695 const VkAccelerationStructureKHR* pAccelerationStructures,
13696 VkQueryType queryType,
13697 deUintptr dataSize,
13701 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
13702 VkCommandBuffer commandBuffer,
13703 const VkCopyAccelerationStructureInfoKHR* pInfo);
13705 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
13706 VkCommandBuffer commandBuffer,
13707 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13709 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
13710 VkCommandBuffer commandBuffer,
13711 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13713 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
13715 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13717 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
13718 VkCommandBuffer commandBuffer,
13719 deUint32 accelerationStructureCount,
13720 const VkAccelerationStructureKHR* pAccelerationStructures,
13721 VkQueryType queryType,
13722 VkQueryPool queryPool,
13723 deUint32 firstQuery);
13725 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
13727 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
13728 VkAccelerationStructureCompatibilityKHR* pCompatibility);
13730 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
13732 VkAccelerationStructureBuildTypeKHR buildType,
13733 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
13734 const deUint32* pMaxPrimitiveCounts,
13735 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13739 #define VK_KHR_ray_tracing_pipeline 1
13740 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
13741 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
13743 typedef enum VkShaderGroupShaderKHR {
13744 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
13745 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
13746 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
13747 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
13748 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
13749 } VkShaderGroupShaderKHR;
13750 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
13751 VkStructureType sType;
13753 VkRayTracingShaderGroupTypeKHR type;
13754 deUint32 generalShader;
13755 deUint32 closestHitShader;
13756 deUint32 anyHitShader;
13757 deUint32 intersectionShader;
13758 const void* pShaderGroupCaptureReplayHandle;
13759 } VkRayTracingShaderGroupCreateInfoKHR;
13761 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
13762 VkStructureType sType;
13764 deUint32 maxPipelineRayPayloadSize;
13765 deUint32 maxPipelineRayHitAttributeSize;
13766 } VkRayTracingPipelineInterfaceCreateInfoKHR;
13768 typedef struct VkRayTracingPipelineCreateInfoKHR {
13769 VkStructureType sType;
13771 VkPipelineCreateFlags flags;
13772 deUint32 stageCount;
13773 const VkPipelineShaderStageCreateInfo* pStages;
13774 deUint32 groupCount;
13775 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
13776 deUint32 maxPipelineRayRecursionDepth;
13777 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
13778 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
13779 const VkPipelineDynamicStateCreateInfo* pDynamicState;
13780 VkPipelineLayout layout;
13781 VkPipeline basePipelineHandle;
13782 deInt32 basePipelineIndex;
13783 } VkRayTracingPipelineCreateInfoKHR;
13785 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
13786 VkStructureType sType;
13788 VkBool32 rayTracingPipeline;
13789 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
13790 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
13791 VkBool32 rayTracingPipelineTraceRaysIndirect;
13792 VkBool32 rayTraversalPrimitiveCulling;
13793 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
13795 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
13796 VkStructureType sType;
13798 deUint32 shaderGroupHandleSize;
13799 deUint32 maxRayRecursionDepth;
13800 deUint32 maxShaderGroupStride;
13801 deUint32 shaderGroupBaseAlignment;
13802 deUint32 shaderGroupHandleCaptureReplaySize;
13803 deUint32 maxRayDispatchInvocationCount;
13804 deUint32 shaderGroupHandleAlignment;
13805 deUint32 maxRayHitAttributeSize;
13806 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
13808 typedef struct VkStridedDeviceAddressRegionKHR {
13809 VkDeviceAddress deviceAddress;
13810 VkDeviceSize stride;
13812 } VkStridedDeviceAddressRegionKHR;
13814 typedef struct VkTraceRaysIndirectCommandKHR {
13818 } VkTraceRaysIndirectCommandKHR;
13820 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);
13821 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13822 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
13823 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
13824 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
13825 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
13827 #ifndef VK_NO_PROTOTYPES
13828 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
13829 VkCommandBuffer commandBuffer,
13830 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13831 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13832 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13833 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13838 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
13840 VkDeferredOperationKHR deferredOperation,
13841 VkPipelineCache pipelineCache,
13842 deUint32 createInfoCount,
13843 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
13844 const VkAllocationCallbacks* pAllocator,
13845 VkPipeline* pPipelines);
13847 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
13849 VkPipeline pipeline,
13850 deUint32 firstGroup,
13851 deUint32 groupCount,
13852 deUintptr dataSize,
13855 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
13856 VkCommandBuffer commandBuffer,
13857 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13858 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13859 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13860 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13861 VkDeviceAddress indirectDeviceAddress);
13863 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
13865 VkPipeline pipeline,
13867 VkShaderGroupShaderKHR groupShader);
13869 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
13870 VkCommandBuffer commandBuffer,
13871 deUint32 pipelineStackSize);
13875 #define VK_KHR_ray_query 1
13876 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
13877 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
13878 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
13879 VkStructureType sType;
13882 } VkPhysicalDeviceRayQueryFeaturesKHR;