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 184
981 // Complete version of this file
982 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
984 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
985 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
987 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
988 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
990 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
991 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
993 #define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29)
994 #define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU)
995 #define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
996 #define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
997 typedef deUint32 VkBool32;
998 typedef deUint64 VkDeviceAddress;
999 typedef deUint64 VkDeviceSize;
1000 typedef deUint32 VkFlags;
1001 typedef deUint32 VkSampleMask;
1002 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
1003 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
1004 VK_DEFINE_HANDLE(VkInstance)
1005 VK_DEFINE_HANDLE(VkPhysicalDevice)
1006 VK_DEFINE_HANDLE(VkDevice)
1007 VK_DEFINE_HANDLE(VkQueue)
1008 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
1009 VK_DEFINE_HANDLE(VkCommandBuffer)
1010 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
1011 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
1012 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
1013 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
1014 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
1015 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
1016 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
1017 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
1018 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
1019 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
1020 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
1021 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
1022 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
1023 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
1024 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
1025 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
1026 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
1027 #define VK_UUID_SIZE 16U
1028 #define VK_ATTACHMENT_UNUSED (~0U)
1030 #define VK_LOD_CLAMP_NONE 1000.0F
1031 #define VK_QUEUE_FAMILY_IGNORED (~0U)
1032 #define VK_REMAINING_ARRAY_LAYERS (~0U)
1033 #define VK_REMAINING_MIP_LEVELS (~0U)
1034 #define VK_SUBPASS_EXTERNAL (~0U)
1036 #define VK_WHOLE_SIZE (~0ULL)
1037 #define VK_MAX_MEMORY_TYPES 32U
1038 #define VK_MAX_MEMORY_HEAPS 16U
1039 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
1040 #define VK_MAX_EXTENSION_NAME_SIZE 256U
1041 #define VK_MAX_DESCRIPTION_SIZE 256U
1043 typedef enum VkResult {
1050 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
1051 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
1052 VK_ERROR_INITIALIZATION_FAILED = -3,
1053 VK_ERROR_DEVICE_LOST = -4,
1054 VK_ERROR_MEMORY_MAP_FAILED = -5,
1055 VK_ERROR_LAYER_NOT_PRESENT = -6,
1056 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
1057 VK_ERROR_FEATURE_NOT_PRESENT = -8,
1058 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
1059 VK_ERROR_TOO_MANY_OBJECTS = -10,
1060 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
1061 VK_ERROR_FRAGMENTED_POOL = -12,
1062 VK_ERROR_UNKNOWN = -13,
1063 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
1064 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
1065 VK_ERROR_FRAGMENTATION = -1000161000,
1066 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
1067 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
1068 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
1069 VK_SUBOPTIMAL_KHR = 1000001003,
1070 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
1071 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
1072 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
1073 VK_ERROR_INVALID_SHADER_NV = -1000012000,
1074 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
1075 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
1076 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
1077 VK_THREAD_IDLE_KHR = 1000268000,
1078 VK_THREAD_DONE_KHR = 1000268001,
1079 VK_OPERATION_DEFERRED_KHR = 1000268002,
1080 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
1081 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
1082 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
1083 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
1084 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
1085 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1086 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1087 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
1088 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
1091 typedef enum VkStructureType {
1092 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1093 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1094 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1095 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1096 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1097 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1098 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1099 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1100 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1101 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1102 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1103 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1104 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1105 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1106 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1107 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1108 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1109 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1110 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1111 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1112 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1113 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1114 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1115 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1116 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1117 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1118 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1119 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1120 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1121 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1122 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1123 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1124 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1125 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1126 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1127 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1128 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1129 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1130 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1131 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1132 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1133 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1134 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1135 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1136 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1137 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1138 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1139 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1140 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1141 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
1142 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
1143 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
1144 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
1145 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
1146 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
1147 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
1148 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
1149 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
1150 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
1151 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
1152 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
1153 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
1154 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
1155 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
1156 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
1157 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
1158 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
1159 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
1160 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
1161 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
1162 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
1163 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
1164 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
1165 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
1166 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
1167 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
1168 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
1169 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
1170 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
1171 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
1172 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
1173 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
1174 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
1175 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
1176 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
1177 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
1178 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
1179 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
1181 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
1182 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
1183 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
1184 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
1185 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
1186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
1187 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
1188 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
1190 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
1191 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
1192 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1194 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1195 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1196 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1197 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1198 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1199 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1200 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1201 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1202 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1203 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1204 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
1206 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
1207 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
1208 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
1209 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
1210 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
1211 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
1212 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
1213 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
1214 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
1215 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
1216 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
1217 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
1218 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
1221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
1222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
1223 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
1225 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
1226 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
1227 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
1228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
1229 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
1231 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
1232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
1233 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
1234 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
1235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
1236 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
1237 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
1238 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
1239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
1240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
1242 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
1243 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
1244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
1245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
1246 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
1247 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
1248 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
1249 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
1250 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
1251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
1252 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
1253 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
1254 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
1255 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
1256 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1257 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1258 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1259 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1260 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1261 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1262 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1263 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1264 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
1265 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
1266 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
1267 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
1268 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
1269 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
1270 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
1271 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
1272 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
1273 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
1274 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
1275 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
1276 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
1277 #ifdef VK_ENABLE_BETA_EXTENSIONS
1278 VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
1280 #ifdef VK_ENABLE_BETA_EXTENSIONS
1281 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
1283 #ifdef VK_ENABLE_BETA_EXTENSIONS
1284 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
1286 #ifdef VK_ENABLE_BETA_EXTENSIONS
1287 VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
1289 #ifdef VK_ENABLE_BETA_EXTENSIONS
1290 VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
1292 #ifdef VK_ENABLE_BETA_EXTENSIONS
1293 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
1295 #ifdef VK_ENABLE_BETA_EXTENSIONS
1296 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
1298 #ifdef VK_ENABLE_BETA_EXTENSIONS
1299 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
1301 #ifdef VK_ENABLE_BETA_EXTENSIONS
1302 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
1304 #ifdef VK_ENABLE_BETA_EXTENSIONS
1305 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
1307 #ifdef VK_ENABLE_BETA_EXTENSIONS
1308 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
1310 #ifdef VK_ENABLE_BETA_EXTENSIONS
1311 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
1313 #ifdef VK_ENABLE_BETA_EXTENSIONS
1314 VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
1316 #ifdef VK_ENABLE_BETA_EXTENSIONS
1317 VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
1319 #ifdef VK_ENABLE_BETA_EXTENSIONS
1320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
1322 #ifdef VK_ENABLE_BETA_EXTENSIONS
1323 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
1325 #ifdef VK_ENABLE_BETA_EXTENSIONS
1326 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
1328 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1329 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1330 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1333 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1334 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
1335 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
1336 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
1337 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
1338 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
1339 #ifdef VK_ENABLE_BETA_EXTENSIONS
1340 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
1342 #ifdef VK_ENABLE_BETA_EXTENSIONS
1343 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
1345 #ifdef VK_ENABLE_BETA_EXTENSIONS
1346 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
1348 #ifdef VK_ENABLE_BETA_EXTENSIONS
1349 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
1351 #ifdef VK_ENABLE_BETA_EXTENSIONS
1352 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
1354 #ifdef VK_ENABLE_BETA_EXTENSIONS
1355 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
1357 #ifdef VK_ENABLE_BETA_EXTENSIONS
1358 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
1360 #ifdef VK_ENABLE_BETA_EXTENSIONS
1361 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
1363 #ifdef VK_ENABLE_BETA_EXTENSIONS
1364 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
1366 #ifdef VK_ENABLE_BETA_EXTENSIONS
1367 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
1369 #ifdef VK_ENABLE_BETA_EXTENSIONS
1370 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
1372 #ifdef VK_ENABLE_BETA_EXTENSIONS
1373 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
1375 #ifdef VK_ENABLE_BETA_EXTENSIONS
1376 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
1378 #ifdef VK_ENABLE_BETA_EXTENSIONS
1379 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
1381 #ifdef VK_ENABLE_BETA_EXTENSIONS
1382 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
1384 #ifdef VK_ENABLE_BETA_EXTENSIONS
1385 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
1387 #ifdef VK_ENABLE_BETA_EXTENSIONS
1388 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
1390 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1391 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1393 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1394 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1395 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1396 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1397 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1398 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1399 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
1401 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1403 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1404 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1405 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1406 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1407 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1408 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1409 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1410 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1411 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1412 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1413 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1414 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1415 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1416 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1418 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1420 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1421 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1422 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1423 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1424 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1425 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1426 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1427 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1428 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1429 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1430 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1432 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1433 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1434 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1436 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1437 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1438 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1439 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1440 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1441 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1442 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1443 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1444 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1445 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1446 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1447 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1448 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1449 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1450 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1452 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1453 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1454 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1455 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1456 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1457 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1458 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1459 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1460 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1461 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1462 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1463 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1464 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1465 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1466 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1467 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1468 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1469 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1470 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1471 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
1473 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
1474 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
1475 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
1476 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1477 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1478 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1479 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1480 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1481 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1482 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1483 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1484 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1485 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1486 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1487 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1488 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1489 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1490 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1491 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1492 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1493 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1494 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1495 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1497 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1498 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1499 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1500 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1501 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1502 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1503 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1504 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1506 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1509 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1511 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1512 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1513 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1514 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1515 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1516 #ifdef VK_ENABLE_BETA_EXTENSIONS
1517 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1519 #ifdef VK_ENABLE_BETA_EXTENSIONS
1520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1522 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1523 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1524 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1525 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1526 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1527 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1528 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1529 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1530 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1531 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1532 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1533 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1534 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1535 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1536 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1538 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1540 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1541 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
1542 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1543 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1546 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1547 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1549 #ifdef VK_ENABLE_BETA_EXTENSIONS
1550 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1552 #ifdef VK_ENABLE_BETA_EXTENSIONS
1553 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
1555 #ifdef VK_ENABLE_BETA_EXTENSIONS
1556 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
1558 #ifdef VK_ENABLE_BETA_EXTENSIONS
1559 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
1561 #ifdef VK_ENABLE_BETA_EXTENSIONS
1562 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
1564 #ifdef VK_ENABLE_BETA_EXTENSIONS
1565 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
1567 #ifdef VK_ENABLE_BETA_EXTENSIONS
1568 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
1570 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1572 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1573 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1574 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1575 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
1576 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1577 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1579 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
1580 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1581 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1582 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1583 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1584 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1585 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1586 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1587 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1588 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1589 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1590 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1591 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1592 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1593 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1594 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1595 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
1597 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1600 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
1602 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
1603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
1604 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1605 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1607 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1608 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1614 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1615 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1618 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
1620 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_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_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
1736 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
1737 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1738 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1740 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000,
1742 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001,
1743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
1744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
1745 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1747 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1748 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1749 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1750 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1752 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1753 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1754 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1755 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1756 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1757 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1758 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1760 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1761 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1762 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1763 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1764 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1765 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1766 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1767 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1768 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1769 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1770 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1771 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1772 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1773 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1774 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1775 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1776 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1777 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1778 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1779 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1780 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1781 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1782 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1783 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1784 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1785 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1786 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1787 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1788 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1789 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1790 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1791 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1792 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1793 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1794 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1795 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1797 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1798 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1799 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1800 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1801 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1802 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1804 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1805 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1806 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1807 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1808 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1809 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1810 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1811 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1812 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1813 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1814 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1815 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1816 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1817 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1818 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1819 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1820 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1821 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1822 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1823 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1824 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1825 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1826 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1827 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1828 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1829 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1830 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1833 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1834 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1836 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1837 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1839 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1840 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1841 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1842 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1843 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1844 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1846 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1847 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1848 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1849 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1850 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1851 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1852 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1853 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1854 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1855 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1856 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1857 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1858 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1859 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1862 typedef enum VkImageLayout {
1863 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1864 VK_IMAGE_LAYOUT_GENERAL = 1,
1865 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1866 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1867 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1868 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1869 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1870 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1871 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1872 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1873 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1874 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1875 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1876 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1877 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1878 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1879 #ifdef VK_ENABLE_BETA_EXTENSIONS
1880 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1882 #ifdef VK_ENABLE_BETA_EXTENSIONS
1883 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1885 #ifdef VK_ENABLE_BETA_EXTENSIONS
1886 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1888 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1889 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1890 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
1891 #ifdef VK_ENABLE_BETA_EXTENSIONS
1892 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1894 #ifdef VK_ENABLE_BETA_EXTENSIONS
1895 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1897 #ifdef VK_ENABLE_BETA_EXTENSIONS
1898 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1900 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1901 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1902 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1903 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1904 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1905 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1906 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1907 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1908 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1909 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1912 typedef enum VkObjectType {
1913 VK_OBJECT_TYPE_UNKNOWN = 0,
1914 VK_OBJECT_TYPE_INSTANCE = 1,
1915 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1916 VK_OBJECT_TYPE_DEVICE = 3,
1917 VK_OBJECT_TYPE_QUEUE = 4,
1918 VK_OBJECT_TYPE_SEMAPHORE = 5,
1919 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1920 VK_OBJECT_TYPE_FENCE = 7,
1921 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1922 VK_OBJECT_TYPE_BUFFER = 9,
1923 VK_OBJECT_TYPE_IMAGE = 10,
1924 VK_OBJECT_TYPE_EVENT = 11,
1925 VK_OBJECT_TYPE_QUERY_POOL = 12,
1926 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1927 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1928 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1929 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1930 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1931 VK_OBJECT_TYPE_RENDER_PASS = 18,
1932 VK_OBJECT_TYPE_PIPELINE = 19,
1933 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1934 VK_OBJECT_TYPE_SAMPLER = 21,
1935 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1936 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1937 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1938 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1939 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1940 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1941 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1942 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1943 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1944 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1945 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1946 #ifdef VK_ENABLE_BETA_EXTENSIONS
1947 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1949 #ifdef VK_ENABLE_BETA_EXTENSIONS
1950 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1952 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1953 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1954 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1955 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1956 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1957 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1958 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1959 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1960 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1961 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1962 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1963 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1964 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1967 typedef enum VkPipelineCacheHeaderVersion {
1968 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1969 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1970 } VkPipelineCacheHeaderVersion;
1972 typedef enum VkVendorId {
1973 VK_VENDOR_ID_VIV = 0x10001,
1974 VK_VENDOR_ID_VSI = 0x10002,
1975 VK_VENDOR_ID_KAZAN = 0x10003,
1976 VK_VENDOR_ID_CODEPLAY = 0x10004,
1977 VK_VENDOR_ID_MESA = 0x10005,
1978 VK_VENDOR_ID_POCL = 0x10006,
1979 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1982 typedef enum VkSystemAllocationScope {
1983 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1984 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1985 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1986 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1987 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1988 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1989 } VkSystemAllocationScope;
1991 typedef enum VkInternalAllocationType {
1992 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
1993 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
1994 } VkInternalAllocationType;
1996 typedef enum VkFormat {
1997 VK_FORMAT_UNDEFINED = 0,
1998 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
1999 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
2000 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
2001 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
2002 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
2003 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
2004 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
2005 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
2006 VK_FORMAT_R8_UNORM = 9,
2007 VK_FORMAT_R8_SNORM = 10,
2008 VK_FORMAT_R8_USCALED = 11,
2009 VK_FORMAT_R8_SSCALED = 12,
2010 VK_FORMAT_R8_UINT = 13,
2011 VK_FORMAT_R8_SINT = 14,
2012 VK_FORMAT_R8_SRGB = 15,
2013 VK_FORMAT_R8G8_UNORM = 16,
2014 VK_FORMAT_R8G8_SNORM = 17,
2015 VK_FORMAT_R8G8_USCALED = 18,
2016 VK_FORMAT_R8G8_SSCALED = 19,
2017 VK_FORMAT_R8G8_UINT = 20,
2018 VK_FORMAT_R8G8_SINT = 21,
2019 VK_FORMAT_R8G8_SRGB = 22,
2020 VK_FORMAT_R8G8B8_UNORM = 23,
2021 VK_FORMAT_R8G8B8_SNORM = 24,
2022 VK_FORMAT_R8G8B8_USCALED = 25,
2023 VK_FORMAT_R8G8B8_SSCALED = 26,
2024 VK_FORMAT_R8G8B8_UINT = 27,
2025 VK_FORMAT_R8G8B8_SINT = 28,
2026 VK_FORMAT_R8G8B8_SRGB = 29,
2027 VK_FORMAT_B8G8R8_UNORM = 30,
2028 VK_FORMAT_B8G8R8_SNORM = 31,
2029 VK_FORMAT_B8G8R8_USCALED = 32,
2030 VK_FORMAT_B8G8R8_SSCALED = 33,
2031 VK_FORMAT_B8G8R8_UINT = 34,
2032 VK_FORMAT_B8G8R8_SINT = 35,
2033 VK_FORMAT_B8G8R8_SRGB = 36,
2034 VK_FORMAT_R8G8B8A8_UNORM = 37,
2035 VK_FORMAT_R8G8B8A8_SNORM = 38,
2036 VK_FORMAT_R8G8B8A8_USCALED = 39,
2037 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2038 VK_FORMAT_R8G8B8A8_UINT = 41,
2039 VK_FORMAT_R8G8B8A8_SINT = 42,
2040 VK_FORMAT_R8G8B8A8_SRGB = 43,
2041 VK_FORMAT_B8G8R8A8_UNORM = 44,
2042 VK_FORMAT_B8G8R8A8_SNORM = 45,
2043 VK_FORMAT_B8G8R8A8_USCALED = 46,
2044 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2045 VK_FORMAT_B8G8R8A8_UINT = 48,
2046 VK_FORMAT_B8G8R8A8_SINT = 49,
2047 VK_FORMAT_B8G8R8A8_SRGB = 50,
2048 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2049 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2050 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2051 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2052 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2053 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2054 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2055 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2056 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2057 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2058 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2059 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2060 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2061 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2062 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2063 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2064 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2065 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2066 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2067 VK_FORMAT_R16_UNORM = 70,
2068 VK_FORMAT_R16_SNORM = 71,
2069 VK_FORMAT_R16_USCALED = 72,
2070 VK_FORMAT_R16_SSCALED = 73,
2071 VK_FORMAT_R16_UINT = 74,
2072 VK_FORMAT_R16_SINT = 75,
2073 VK_FORMAT_R16_SFLOAT = 76,
2074 VK_FORMAT_R16G16_UNORM = 77,
2075 VK_FORMAT_R16G16_SNORM = 78,
2076 VK_FORMAT_R16G16_USCALED = 79,
2077 VK_FORMAT_R16G16_SSCALED = 80,
2078 VK_FORMAT_R16G16_UINT = 81,
2079 VK_FORMAT_R16G16_SINT = 82,
2080 VK_FORMAT_R16G16_SFLOAT = 83,
2081 VK_FORMAT_R16G16B16_UNORM = 84,
2082 VK_FORMAT_R16G16B16_SNORM = 85,
2083 VK_FORMAT_R16G16B16_USCALED = 86,
2084 VK_FORMAT_R16G16B16_SSCALED = 87,
2085 VK_FORMAT_R16G16B16_UINT = 88,
2086 VK_FORMAT_R16G16B16_SINT = 89,
2087 VK_FORMAT_R16G16B16_SFLOAT = 90,
2088 VK_FORMAT_R16G16B16A16_UNORM = 91,
2089 VK_FORMAT_R16G16B16A16_SNORM = 92,
2090 VK_FORMAT_R16G16B16A16_USCALED = 93,
2091 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2092 VK_FORMAT_R16G16B16A16_UINT = 95,
2093 VK_FORMAT_R16G16B16A16_SINT = 96,
2094 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2095 VK_FORMAT_R32_UINT = 98,
2096 VK_FORMAT_R32_SINT = 99,
2097 VK_FORMAT_R32_SFLOAT = 100,
2098 VK_FORMAT_R32G32_UINT = 101,
2099 VK_FORMAT_R32G32_SINT = 102,
2100 VK_FORMAT_R32G32_SFLOAT = 103,
2101 VK_FORMAT_R32G32B32_UINT = 104,
2102 VK_FORMAT_R32G32B32_SINT = 105,
2103 VK_FORMAT_R32G32B32_SFLOAT = 106,
2104 VK_FORMAT_R32G32B32A32_UINT = 107,
2105 VK_FORMAT_R32G32B32A32_SINT = 108,
2106 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2107 VK_FORMAT_R64_UINT = 110,
2108 VK_FORMAT_R64_SINT = 111,
2109 VK_FORMAT_R64_SFLOAT = 112,
2110 VK_FORMAT_R64G64_UINT = 113,
2111 VK_FORMAT_R64G64_SINT = 114,
2112 VK_FORMAT_R64G64_SFLOAT = 115,
2113 VK_FORMAT_R64G64B64_UINT = 116,
2114 VK_FORMAT_R64G64B64_SINT = 117,
2115 VK_FORMAT_R64G64B64_SFLOAT = 118,
2116 VK_FORMAT_R64G64B64A64_UINT = 119,
2117 VK_FORMAT_R64G64B64A64_SINT = 120,
2118 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2119 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2120 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2121 VK_FORMAT_D16_UNORM = 124,
2122 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2123 VK_FORMAT_D32_SFLOAT = 126,
2124 VK_FORMAT_S8_UINT = 127,
2125 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2126 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2127 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2128 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2129 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2130 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2131 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2132 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2133 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2134 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2135 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2136 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2137 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2138 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2139 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2140 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2141 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2142 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2143 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2144 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2145 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2146 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2147 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2148 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2149 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2150 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2151 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2152 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2153 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2154 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2155 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2156 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2157 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2158 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2159 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2160 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2161 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2162 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2163 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2164 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2165 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2166 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2167 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2168 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2169 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2170 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2171 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2172 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2173 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2174 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2175 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2176 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2177 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2178 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2179 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2180 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2181 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2182 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2183 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2184 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2185 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2186 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2187 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2188 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2189 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2190 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2191 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2192 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2193 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2194 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2195 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2196 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2197 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2198 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2199 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2200 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2201 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2202 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2203 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2204 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2205 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2206 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2207 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2208 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2209 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2210 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2211 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2212 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2213 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2214 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2215 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2216 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2217 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2218 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2219 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2220 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2221 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2222 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2223 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2224 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
2225 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
2226 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
2227 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
2228 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
2229 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
2230 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
2231 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
2232 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
2233 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
2234 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
2235 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
2236 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
2237 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
2238 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
2239 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
2240 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
2241 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
2242 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
2243 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
2244 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2245 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2246 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2247 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2248 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2249 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2250 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2251 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2252 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2253 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2254 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2255 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2256 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2257 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2258 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2259 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2260 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2261 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2262 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2263 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2264 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2265 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2266 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2267 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2268 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2269 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2270 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2271 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2272 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2273 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2274 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2275 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2276 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2277 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2278 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2281 typedef enum VkImageTiling {
2282 VK_IMAGE_TILING_OPTIMAL = 0,
2283 VK_IMAGE_TILING_LINEAR = 1,
2284 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2285 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2288 typedef enum VkImageType {
2289 VK_IMAGE_TYPE_1D = 0,
2290 VK_IMAGE_TYPE_2D = 1,
2291 VK_IMAGE_TYPE_3D = 2,
2292 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2295 typedef enum VkPhysicalDeviceType {
2296 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2297 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2298 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2299 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2300 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2301 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2302 } VkPhysicalDeviceType;
2304 typedef enum VkQueryType {
2305 VK_QUERY_TYPE_OCCLUSION = 0,
2306 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2307 VK_QUERY_TYPE_TIMESTAMP = 2,
2308 #ifdef VK_ENABLE_BETA_EXTENSIONS
2309 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2311 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2312 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2313 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2314 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2315 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2316 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2317 #ifdef VK_ENABLE_BETA_EXTENSIONS
2318 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2320 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2323 typedef enum VkSharingMode {
2324 VK_SHARING_MODE_EXCLUSIVE = 0,
2325 VK_SHARING_MODE_CONCURRENT = 1,
2326 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2329 typedef enum VkComponentSwizzle {
2330 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2331 VK_COMPONENT_SWIZZLE_ZERO = 1,
2332 VK_COMPONENT_SWIZZLE_ONE = 2,
2333 VK_COMPONENT_SWIZZLE_R = 3,
2334 VK_COMPONENT_SWIZZLE_G = 4,
2335 VK_COMPONENT_SWIZZLE_B = 5,
2336 VK_COMPONENT_SWIZZLE_A = 6,
2337 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2338 } VkComponentSwizzle;
2340 typedef enum VkImageViewType {
2341 VK_IMAGE_VIEW_TYPE_1D = 0,
2342 VK_IMAGE_VIEW_TYPE_2D = 1,
2343 VK_IMAGE_VIEW_TYPE_3D = 2,
2344 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2345 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2346 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2347 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2348 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2351 typedef enum VkBlendFactor {
2352 VK_BLEND_FACTOR_ZERO = 0,
2353 VK_BLEND_FACTOR_ONE = 1,
2354 VK_BLEND_FACTOR_SRC_COLOR = 2,
2355 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2356 VK_BLEND_FACTOR_DST_COLOR = 4,
2357 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2358 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2359 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2360 VK_BLEND_FACTOR_DST_ALPHA = 8,
2361 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2362 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2363 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2364 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2365 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2366 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2367 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2368 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2369 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2370 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2371 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2374 typedef enum VkBlendOp {
2375 VK_BLEND_OP_ADD = 0,
2376 VK_BLEND_OP_SUBTRACT = 1,
2377 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2378 VK_BLEND_OP_MIN = 3,
2379 VK_BLEND_OP_MAX = 4,
2380 VK_BLEND_OP_ZERO_EXT = 1000148000,
2381 VK_BLEND_OP_SRC_EXT = 1000148001,
2382 VK_BLEND_OP_DST_EXT = 1000148002,
2383 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2384 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2385 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2386 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2387 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2388 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2389 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2390 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2391 VK_BLEND_OP_XOR_EXT = 1000148011,
2392 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2393 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2394 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2395 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2396 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2397 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2398 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2399 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2400 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2401 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2402 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2403 VK_BLEND_OP_INVERT_EXT = 1000148023,
2404 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2405 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2406 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2407 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2408 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2409 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2410 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2411 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2412 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2413 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2414 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2415 VK_BLEND_OP_PLUS_EXT = 1000148035,
2416 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2417 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2418 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2419 VK_BLEND_OP_MINUS_EXT = 1000148039,
2420 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2421 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2422 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2423 VK_BLEND_OP_RED_EXT = 1000148043,
2424 VK_BLEND_OP_GREEN_EXT = 1000148044,
2425 VK_BLEND_OP_BLUE_EXT = 1000148045,
2426 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2429 typedef enum VkCompareOp {
2430 VK_COMPARE_OP_NEVER = 0,
2431 VK_COMPARE_OP_LESS = 1,
2432 VK_COMPARE_OP_EQUAL = 2,
2433 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2434 VK_COMPARE_OP_GREATER = 4,
2435 VK_COMPARE_OP_NOT_EQUAL = 5,
2436 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2437 VK_COMPARE_OP_ALWAYS = 7,
2438 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2441 typedef enum VkDynamicState {
2442 VK_DYNAMIC_STATE_VIEWPORT = 0,
2443 VK_DYNAMIC_STATE_SCISSOR = 1,
2444 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2445 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2446 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2447 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2448 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2449 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2450 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2451 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2452 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2453 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2454 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2455 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2456 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2457 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2458 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2459 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2460 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
2461 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
2462 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
2463 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
2464 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
2465 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
2466 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
2467 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
2468 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
2469 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
2470 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
2471 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
2472 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2473 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2474 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
2475 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
2476 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2477 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
2478 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2479 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2482 typedef enum VkFrontFace {
2483 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2484 VK_FRONT_FACE_CLOCKWISE = 1,
2485 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2488 typedef enum VkVertexInputRate {
2489 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2490 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2491 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2492 } VkVertexInputRate;
2494 typedef enum VkPrimitiveTopology {
2495 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2496 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2497 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2498 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2499 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2500 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2501 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2502 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2503 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2504 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2505 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2506 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2507 } VkPrimitiveTopology;
2509 typedef enum VkPolygonMode {
2510 VK_POLYGON_MODE_FILL = 0,
2511 VK_POLYGON_MODE_LINE = 1,
2512 VK_POLYGON_MODE_POINT = 2,
2513 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2514 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2517 typedef enum VkStencilOp {
2518 VK_STENCIL_OP_KEEP = 0,
2519 VK_STENCIL_OP_ZERO = 1,
2520 VK_STENCIL_OP_REPLACE = 2,
2521 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2522 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2523 VK_STENCIL_OP_INVERT = 5,
2524 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2525 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2526 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2529 typedef enum VkLogicOp {
2530 VK_LOGIC_OP_CLEAR = 0,
2531 VK_LOGIC_OP_AND = 1,
2532 VK_LOGIC_OP_AND_REVERSE = 2,
2533 VK_LOGIC_OP_COPY = 3,
2534 VK_LOGIC_OP_AND_INVERTED = 4,
2535 VK_LOGIC_OP_NO_OP = 5,
2536 VK_LOGIC_OP_XOR = 6,
2538 VK_LOGIC_OP_NOR = 8,
2539 VK_LOGIC_OP_EQUIVALENT = 9,
2540 VK_LOGIC_OP_INVERT = 10,
2541 VK_LOGIC_OP_OR_REVERSE = 11,
2542 VK_LOGIC_OP_COPY_INVERTED = 12,
2543 VK_LOGIC_OP_OR_INVERTED = 13,
2544 VK_LOGIC_OP_NAND = 14,
2545 VK_LOGIC_OP_SET = 15,
2546 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2549 typedef enum VkBorderColor {
2550 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2551 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2552 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2553 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2554 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2555 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2556 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2557 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2558 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2561 typedef enum VkFilter {
2562 VK_FILTER_NEAREST = 0,
2563 VK_FILTER_LINEAR = 1,
2564 VK_FILTER_CUBIC_IMG = 1000015000,
2565 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2566 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2569 typedef enum VkSamplerAddressMode {
2570 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2571 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2572 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2573 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2574 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2575 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2576 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2577 } VkSamplerAddressMode;
2579 typedef enum VkSamplerMipmapMode {
2580 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2581 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2582 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2583 } VkSamplerMipmapMode;
2585 typedef enum VkDescriptorType {
2586 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2587 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2588 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2589 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2590 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2591 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2592 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2593 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2594 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2595 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2596 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2597 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
2598 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2599 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2600 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2601 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2604 typedef enum VkAttachmentLoadOp {
2605 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2606 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2607 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2608 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2609 } VkAttachmentLoadOp;
2611 typedef enum VkAttachmentStoreOp {
2612 VK_ATTACHMENT_STORE_OP_STORE = 0,
2613 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2614 VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000,
2615 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2616 } VkAttachmentStoreOp;
2618 typedef enum VkPipelineBindPoint {
2619 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2620 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2621 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2622 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
2623 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2624 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2625 } VkPipelineBindPoint;
2627 typedef enum VkCommandBufferLevel {
2628 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2629 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2630 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2631 } VkCommandBufferLevel;
2633 typedef enum VkIndexType {
2634 VK_INDEX_TYPE_UINT16 = 0,
2635 VK_INDEX_TYPE_UINT32 = 1,
2636 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2637 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2638 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2639 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2642 typedef enum VkSubpassContents {
2643 VK_SUBPASS_CONTENTS_INLINE = 0,
2644 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2645 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2646 } VkSubpassContents;
2648 typedef enum VkAccessFlagBits {
2649 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2650 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2651 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2652 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2653 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2654 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2655 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2656 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2657 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2658 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2659 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2660 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2661 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2662 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2663 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2664 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2665 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2666 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2667 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2668 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2669 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2670 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2671 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2672 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2673 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2674 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
2675 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2676 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2677 VK_ACCESS_NONE_KHR = 0,
2678 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2679 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2680 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2681 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2683 typedef VkFlags VkAccessFlags;
2685 typedef enum VkImageAspectFlagBits {
2686 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2687 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2688 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2689 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2690 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2691 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2692 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2693 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2694 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2695 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2696 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2697 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2698 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2699 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2700 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2701 } VkImageAspectFlagBits;
2702 typedef VkFlags VkImageAspectFlags;
2704 typedef enum VkFormatFeatureFlagBits {
2705 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2706 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2707 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2708 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2709 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2710 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2711 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2712 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2713 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2714 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2715 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2716 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2717 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2718 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2719 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2720 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2721 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2722 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2723 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2724 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2725 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2726 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2727 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2728 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2729 #ifdef VK_ENABLE_BETA_EXTENSIONS
2730 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2732 #ifdef VK_ENABLE_BETA_EXTENSIONS
2733 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2735 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2736 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2737 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2738 #ifdef VK_ENABLE_BETA_EXTENSIONS
2739 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2741 #ifdef VK_ENABLE_BETA_EXTENSIONS
2742 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2744 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2745 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2746 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2747 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2748 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2749 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2750 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2751 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,
2752 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2753 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2754 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2755 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2756 } VkFormatFeatureFlagBits;
2757 typedef VkFlags VkFormatFeatureFlags;
2759 typedef enum VkImageCreateFlagBits {
2760 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2761 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2762 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2763 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2764 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2765 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2766 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2767 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2768 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2769 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2770 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2771 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2772 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2773 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2774 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2775 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2776 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2777 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2778 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2779 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2780 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2781 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2782 } VkImageCreateFlagBits;
2783 typedef VkFlags VkImageCreateFlags;
2785 typedef enum VkSampleCountFlagBits {
2786 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2787 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2788 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2789 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2790 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2791 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2792 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2793 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2794 } VkSampleCountFlagBits;
2795 typedef VkFlags VkSampleCountFlags;
2797 typedef enum VkImageUsageFlagBits {
2798 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2799 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2800 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2801 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2802 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2803 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2804 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2805 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2806 #ifdef VK_ENABLE_BETA_EXTENSIONS
2807 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2809 #ifdef VK_ENABLE_BETA_EXTENSIONS
2810 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2812 #ifdef VK_ENABLE_BETA_EXTENSIONS
2813 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2815 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2816 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
2817 #ifdef VK_ENABLE_BETA_EXTENSIONS
2818 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2820 #ifdef VK_ENABLE_BETA_EXTENSIONS
2821 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2823 #ifdef VK_ENABLE_BETA_EXTENSIONS
2824 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2826 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2827 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2828 } VkImageUsageFlagBits;
2829 typedef VkFlags VkImageUsageFlags;
2830 typedef VkFlags VkInstanceCreateFlags;
2832 typedef enum VkMemoryHeapFlagBits {
2833 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2834 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2835 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2836 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2837 } VkMemoryHeapFlagBits;
2838 typedef VkFlags VkMemoryHeapFlags;
2840 typedef enum VkMemoryPropertyFlagBits {
2841 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2842 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2843 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2844 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2845 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2846 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2847 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2848 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2849 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
2850 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2851 } VkMemoryPropertyFlagBits;
2852 typedef VkFlags VkMemoryPropertyFlags;
2854 typedef enum VkQueueFlagBits {
2855 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2856 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2857 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2858 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2859 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2860 #ifdef VK_ENABLE_BETA_EXTENSIONS
2861 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2863 #ifdef VK_ENABLE_BETA_EXTENSIONS
2864 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2866 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2868 typedef VkFlags VkQueueFlags;
2869 typedef VkFlags VkDeviceCreateFlags;
2871 typedef enum VkDeviceQueueCreateFlagBits {
2872 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2873 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2874 } VkDeviceQueueCreateFlagBits;
2875 typedef VkFlags VkDeviceQueueCreateFlags;
2877 typedef enum VkPipelineStageFlagBits {
2878 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2879 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2880 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2881 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2882 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2883 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2884 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2885 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2886 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2887 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2888 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2889 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2890 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2891 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2892 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2893 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2894 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2895 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2896 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2897 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2898 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2899 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2900 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2901 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2902 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2903 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2904 VK_PIPELINE_STAGE_NONE_KHR = 0,
2905 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2906 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2907 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2908 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2909 } VkPipelineStageFlagBits;
2910 typedef VkFlags VkPipelineStageFlags;
2911 typedef VkFlags VkMemoryMapFlags;
2913 typedef enum VkSparseMemoryBindFlagBits {
2914 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2915 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2916 } VkSparseMemoryBindFlagBits;
2917 typedef VkFlags VkSparseMemoryBindFlags;
2919 typedef enum VkSparseImageFormatFlagBits {
2920 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2921 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2922 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2923 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2924 } VkSparseImageFormatFlagBits;
2925 typedef VkFlags VkSparseImageFormatFlags;
2927 typedef enum VkFenceCreateFlagBits {
2928 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2929 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2930 } VkFenceCreateFlagBits;
2931 typedef VkFlags VkFenceCreateFlags;
2932 typedef VkFlags VkSemaphoreCreateFlags;
2934 typedef enum VkEventCreateFlagBits {
2935 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2936 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2937 } VkEventCreateFlagBits;
2938 typedef VkFlags VkEventCreateFlags;
2940 typedef enum VkQueryPipelineStatisticFlagBits {
2941 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2942 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2943 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2944 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2945 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2946 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2947 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2948 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2949 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2950 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2951 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2952 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2953 } VkQueryPipelineStatisticFlagBits;
2954 typedef VkFlags VkQueryPipelineStatisticFlags;
2955 typedef VkFlags VkQueryPoolCreateFlags;
2957 typedef enum VkQueryResultFlagBits {
2958 VK_QUERY_RESULT_64_BIT = 0x00000001,
2959 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2960 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2961 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2962 #ifdef VK_ENABLE_BETA_EXTENSIONS
2963 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2965 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2966 } VkQueryResultFlagBits;
2967 typedef VkFlags VkQueryResultFlags;
2969 typedef enum VkBufferCreateFlagBits {
2970 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2971 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2972 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2973 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2974 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2975 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2976 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2977 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2978 } VkBufferCreateFlagBits;
2979 typedef VkFlags VkBufferCreateFlags;
2981 typedef enum VkBufferUsageFlagBits {
2982 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2983 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2984 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2985 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2986 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2987 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2988 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2989 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
2990 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
2991 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
2992 #ifdef VK_ENABLE_BETA_EXTENSIONS
2993 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
2995 #ifdef VK_ENABLE_BETA_EXTENSIONS
2996 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
2998 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
2999 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
3000 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
3001 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
3002 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
3003 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
3004 #ifdef VK_ENABLE_BETA_EXTENSIONS
3005 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
3007 #ifdef VK_ENABLE_BETA_EXTENSIONS
3008 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
3010 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
3011 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3012 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3013 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3014 } VkBufferUsageFlagBits;
3015 typedef VkFlags VkBufferUsageFlags;
3016 typedef VkFlags VkBufferViewCreateFlags;
3018 typedef enum VkImageViewCreateFlagBits {
3019 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
3020 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
3021 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3022 } VkImageViewCreateFlagBits;
3023 typedef VkFlags VkImageViewCreateFlags;
3025 typedef enum VkShaderModuleCreateFlagBits {
3026 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3027 } VkShaderModuleCreateFlagBits;
3028 typedef VkFlags VkShaderModuleCreateFlags;
3030 typedef enum VkPipelineCacheCreateFlagBits {
3031 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
3032 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3033 } VkPipelineCacheCreateFlagBits;
3034 typedef VkFlags VkPipelineCacheCreateFlags;
3036 typedef enum VkColorComponentFlagBits {
3037 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3038 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3039 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3040 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3041 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3042 } VkColorComponentFlagBits;
3043 typedef VkFlags VkColorComponentFlags;
3045 typedef enum VkPipelineCreateFlagBits {
3046 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3047 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3048 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3049 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3050 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3051 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3052 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3053 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3054 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3055 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3056 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3057 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3058 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3059 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3060 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3061 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3062 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3063 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
3064 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
3065 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
3066 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3067 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3068 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3069 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3070 } VkPipelineCreateFlagBits;
3071 typedef VkFlags VkPipelineCreateFlags;
3073 typedef enum VkPipelineShaderStageCreateFlagBits {
3074 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
3075 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
3076 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3077 } VkPipelineShaderStageCreateFlagBits;
3078 typedef VkFlags VkPipelineShaderStageCreateFlags;
3080 typedef enum VkShaderStageFlagBits {
3081 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3082 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3083 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3084 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3085 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3086 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3087 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3088 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3089 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3090 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3091 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3092 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3093 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3094 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3095 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3096 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3097 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
3098 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3099 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3100 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3101 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3102 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3103 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3104 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3105 } VkShaderStageFlagBits;
3107 typedef enum VkCullModeFlagBits {
3108 VK_CULL_MODE_NONE = 0,
3109 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3110 VK_CULL_MODE_BACK_BIT = 0x00000002,
3111 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3112 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3113 } VkCullModeFlagBits;
3114 typedef VkFlags VkCullModeFlags;
3115 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3116 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3117 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3118 typedef VkFlags VkPipelineViewportStateCreateFlags;
3119 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3120 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3121 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3122 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3123 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3124 typedef VkFlags VkPipelineLayoutCreateFlags;
3125 typedef VkFlags VkShaderStageFlags;
3127 typedef enum VkSamplerCreateFlagBits {
3128 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3129 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3130 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3131 } VkSamplerCreateFlagBits;
3132 typedef VkFlags VkSamplerCreateFlags;
3134 typedef enum VkDescriptorPoolCreateFlagBits {
3135 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3136 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3137 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3138 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3139 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3140 } VkDescriptorPoolCreateFlagBits;
3141 typedef VkFlags VkDescriptorPoolCreateFlags;
3142 typedef VkFlags VkDescriptorPoolResetFlags;
3144 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3145 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3146 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3147 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3148 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3149 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3150 } VkDescriptorSetLayoutCreateFlagBits;
3151 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3153 typedef enum VkAttachmentDescriptionFlagBits {
3154 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3155 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3156 } VkAttachmentDescriptionFlagBits;
3157 typedef VkFlags VkAttachmentDescriptionFlags;
3159 typedef enum VkDependencyFlagBits {
3160 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3161 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3162 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3163 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3164 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3165 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3166 } VkDependencyFlagBits;
3167 typedef VkFlags VkDependencyFlags;
3169 typedef enum VkFramebufferCreateFlagBits {
3170 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3171 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3172 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3173 } VkFramebufferCreateFlagBits;
3174 typedef VkFlags VkFramebufferCreateFlags;
3176 typedef enum VkRenderPassCreateFlagBits {
3177 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3178 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3179 } VkRenderPassCreateFlagBits;
3180 typedef VkFlags VkRenderPassCreateFlags;
3182 typedef enum VkSubpassDescriptionFlagBits {
3183 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3184 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3185 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3186 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3187 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3188 } VkSubpassDescriptionFlagBits;
3189 typedef VkFlags VkSubpassDescriptionFlags;
3191 typedef enum VkCommandPoolCreateFlagBits {
3192 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3193 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3194 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3195 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3196 } VkCommandPoolCreateFlagBits;
3197 typedef VkFlags VkCommandPoolCreateFlags;
3199 typedef enum VkCommandPoolResetFlagBits {
3200 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3201 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3202 } VkCommandPoolResetFlagBits;
3203 typedef VkFlags VkCommandPoolResetFlags;
3205 typedef enum VkCommandBufferUsageFlagBits {
3206 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3207 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3208 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3209 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3210 } VkCommandBufferUsageFlagBits;
3211 typedef VkFlags VkCommandBufferUsageFlags;
3213 typedef enum VkQueryControlFlagBits {
3214 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3215 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3216 } VkQueryControlFlagBits;
3217 typedef VkFlags VkQueryControlFlags;
3219 typedef enum VkCommandBufferResetFlagBits {
3220 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3221 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3222 } VkCommandBufferResetFlagBits;
3223 typedef VkFlags VkCommandBufferResetFlags;
3225 typedef enum VkStencilFaceFlagBits {
3226 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3227 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3228 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3229 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3230 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3231 } VkStencilFaceFlagBits;
3232 typedef VkFlags VkStencilFaceFlags;
3233 typedef struct VkExtent2D {
3238 typedef struct VkExtent3D {
3244 typedef struct VkOffset2D {
3249 typedef struct VkOffset3D {
3255 typedef struct VkRect2D {
3260 typedef struct VkBaseInStructure {
3261 VkStructureType sType;
3262 const struct VkBaseInStructure* pNext;
3263 } VkBaseInStructure;
3265 typedef struct VkBaseOutStructure {
3266 VkStructureType sType;
3267 struct VkBaseOutStructure* pNext;
3268 } VkBaseOutStructure;
3270 typedef struct VkBufferMemoryBarrier {
3271 VkStructureType sType;
3273 VkAccessFlags srcAccessMask;
3274 VkAccessFlags dstAccessMask;
3275 deUint32 srcQueueFamilyIndex;
3276 deUint32 dstQueueFamilyIndex;
3278 VkDeviceSize offset;
3280 } VkBufferMemoryBarrier;
3282 typedef struct VkDispatchIndirectCommand {
3286 } VkDispatchIndirectCommand;
3288 typedef struct VkDrawIndexedIndirectCommand {
3289 deUint32 indexCount;
3290 deUint32 instanceCount;
3291 deUint32 firstIndex;
3292 deInt32 vertexOffset;
3293 deUint32 firstInstance;
3294 } VkDrawIndexedIndirectCommand;
3296 typedef struct VkDrawIndirectCommand {
3297 deUint32 vertexCount;
3298 deUint32 instanceCount;
3299 deUint32 firstVertex;
3300 deUint32 firstInstance;
3301 } VkDrawIndirectCommand;
3303 typedef struct VkImageSubresourceRange {
3304 VkImageAspectFlags aspectMask;
3305 deUint32 baseMipLevel;
3306 deUint32 levelCount;
3307 deUint32 baseArrayLayer;
3308 deUint32 layerCount;
3309 } VkImageSubresourceRange;
3311 typedef struct VkImageMemoryBarrier {
3312 VkStructureType sType;
3314 VkAccessFlags srcAccessMask;
3315 VkAccessFlags dstAccessMask;
3316 VkImageLayout oldLayout;
3317 VkImageLayout newLayout;
3318 deUint32 srcQueueFamilyIndex;
3319 deUint32 dstQueueFamilyIndex;
3321 VkImageSubresourceRange subresourceRange;
3322 } VkImageMemoryBarrier;
3324 typedef struct VkMemoryBarrier {
3325 VkStructureType sType;
3327 VkAccessFlags srcAccessMask;
3328 VkAccessFlags dstAccessMask;
3331 typedef struct VkPipelineCacheHeaderVersionOne {
3332 deUint32 headerSize;
3333 VkPipelineCacheHeaderVersion headerVersion;
3336 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3337 } VkPipelineCacheHeaderVersionOne;
3339 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3342 deUintptr alignment,
3343 VkSystemAllocationScope allocationScope);
3345 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3349 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3352 VkInternalAllocationType allocationType,
3353 VkSystemAllocationScope allocationScope);
3355 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3358 VkInternalAllocationType allocationType,
3359 VkSystemAllocationScope allocationScope);
3361 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3365 deUintptr alignment,
3366 VkSystemAllocationScope allocationScope);
3368 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3369 typedef struct VkAllocationCallbacks {
3371 PFN_vkAllocationFunction pfnAllocation;
3372 PFN_vkReallocationFunction pfnReallocation;
3373 PFN_vkFreeFunction pfnFree;
3374 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3375 PFN_vkInternalFreeNotification pfnInternalFree;
3376 } VkAllocationCallbacks;
3378 typedef struct VkApplicationInfo {
3379 VkStructureType sType;
3381 const char* pApplicationName;
3382 deUint32 applicationVersion;
3383 const char* pEngineName;
3384 deUint32 engineVersion;
3385 deUint32 apiVersion;
3386 } VkApplicationInfo;
3388 typedef struct VkFormatProperties {
3389 VkFormatFeatureFlags linearTilingFeatures;
3390 VkFormatFeatureFlags optimalTilingFeatures;
3391 VkFormatFeatureFlags bufferFeatures;
3392 } VkFormatProperties;
3394 typedef struct VkImageFormatProperties {
3395 VkExtent3D maxExtent;
3396 deUint32 maxMipLevels;
3397 deUint32 maxArrayLayers;
3398 VkSampleCountFlags sampleCounts;
3399 VkDeviceSize maxResourceSize;
3400 } VkImageFormatProperties;
3402 typedef struct VkInstanceCreateInfo {
3403 VkStructureType sType;
3405 VkInstanceCreateFlags flags;
3406 const VkApplicationInfo* pApplicationInfo;
3407 deUint32 enabledLayerCount;
3408 const char* const* ppEnabledLayerNames;
3409 deUint32 enabledExtensionCount;
3410 const char* const* ppEnabledExtensionNames;
3411 } VkInstanceCreateInfo;
3413 typedef struct VkMemoryHeap {
3415 VkMemoryHeapFlags flags;
3418 typedef struct VkMemoryType {
3419 VkMemoryPropertyFlags propertyFlags;
3423 typedef struct VkPhysicalDeviceFeatures {
3424 VkBool32 robustBufferAccess;
3425 VkBool32 fullDrawIndexUint32;
3426 VkBool32 imageCubeArray;
3427 VkBool32 independentBlend;
3428 VkBool32 geometryShader;
3429 VkBool32 tessellationShader;
3430 VkBool32 sampleRateShading;
3431 VkBool32 dualSrcBlend;
3433 VkBool32 multiDrawIndirect;
3434 VkBool32 drawIndirectFirstInstance;
3435 VkBool32 depthClamp;
3436 VkBool32 depthBiasClamp;
3437 VkBool32 fillModeNonSolid;
3438 VkBool32 depthBounds;
3440 VkBool32 largePoints;
3441 VkBool32 alphaToOne;
3442 VkBool32 multiViewport;
3443 VkBool32 samplerAnisotropy;
3444 VkBool32 textureCompressionETC2;
3445 VkBool32 textureCompressionASTC_LDR;
3446 VkBool32 textureCompressionBC;
3447 VkBool32 occlusionQueryPrecise;
3448 VkBool32 pipelineStatisticsQuery;
3449 VkBool32 vertexPipelineStoresAndAtomics;
3450 VkBool32 fragmentStoresAndAtomics;
3451 VkBool32 shaderTessellationAndGeometryPointSize;
3452 VkBool32 shaderImageGatherExtended;
3453 VkBool32 shaderStorageImageExtendedFormats;
3454 VkBool32 shaderStorageImageMultisample;
3455 VkBool32 shaderStorageImageReadWithoutFormat;
3456 VkBool32 shaderStorageImageWriteWithoutFormat;
3457 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3458 VkBool32 shaderSampledImageArrayDynamicIndexing;
3459 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3460 VkBool32 shaderStorageImageArrayDynamicIndexing;
3461 VkBool32 shaderClipDistance;
3462 VkBool32 shaderCullDistance;
3463 VkBool32 shaderFloat64;
3464 VkBool32 shaderInt64;
3465 VkBool32 shaderInt16;
3466 VkBool32 shaderResourceResidency;
3467 VkBool32 shaderResourceMinLod;
3468 VkBool32 sparseBinding;
3469 VkBool32 sparseResidencyBuffer;
3470 VkBool32 sparseResidencyImage2D;
3471 VkBool32 sparseResidencyImage3D;
3472 VkBool32 sparseResidency2Samples;
3473 VkBool32 sparseResidency4Samples;
3474 VkBool32 sparseResidency8Samples;
3475 VkBool32 sparseResidency16Samples;
3476 VkBool32 sparseResidencyAliased;
3477 VkBool32 variableMultisampleRate;
3478 VkBool32 inheritedQueries;
3479 } VkPhysicalDeviceFeatures;
3481 typedef struct VkPhysicalDeviceLimits {
3482 deUint32 maxImageDimension1D;
3483 deUint32 maxImageDimension2D;
3484 deUint32 maxImageDimension3D;
3485 deUint32 maxImageDimensionCube;
3486 deUint32 maxImageArrayLayers;
3487 deUint32 maxTexelBufferElements;
3488 deUint32 maxUniformBufferRange;
3489 deUint32 maxStorageBufferRange;
3490 deUint32 maxPushConstantsSize;
3491 deUint32 maxMemoryAllocationCount;
3492 deUint32 maxSamplerAllocationCount;
3493 VkDeviceSize bufferImageGranularity;
3494 VkDeviceSize sparseAddressSpaceSize;
3495 deUint32 maxBoundDescriptorSets;
3496 deUint32 maxPerStageDescriptorSamplers;
3497 deUint32 maxPerStageDescriptorUniformBuffers;
3498 deUint32 maxPerStageDescriptorStorageBuffers;
3499 deUint32 maxPerStageDescriptorSampledImages;
3500 deUint32 maxPerStageDescriptorStorageImages;
3501 deUint32 maxPerStageDescriptorInputAttachments;
3502 deUint32 maxPerStageResources;
3503 deUint32 maxDescriptorSetSamplers;
3504 deUint32 maxDescriptorSetUniformBuffers;
3505 deUint32 maxDescriptorSetUniformBuffersDynamic;
3506 deUint32 maxDescriptorSetStorageBuffers;
3507 deUint32 maxDescriptorSetStorageBuffersDynamic;
3508 deUint32 maxDescriptorSetSampledImages;
3509 deUint32 maxDescriptorSetStorageImages;
3510 deUint32 maxDescriptorSetInputAttachments;
3511 deUint32 maxVertexInputAttributes;
3512 deUint32 maxVertexInputBindings;
3513 deUint32 maxVertexInputAttributeOffset;
3514 deUint32 maxVertexInputBindingStride;
3515 deUint32 maxVertexOutputComponents;
3516 deUint32 maxTessellationGenerationLevel;
3517 deUint32 maxTessellationPatchSize;
3518 deUint32 maxTessellationControlPerVertexInputComponents;
3519 deUint32 maxTessellationControlPerVertexOutputComponents;
3520 deUint32 maxTessellationControlPerPatchOutputComponents;
3521 deUint32 maxTessellationControlTotalOutputComponents;
3522 deUint32 maxTessellationEvaluationInputComponents;
3523 deUint32 maxTessellationEvaluationOutputComponents;
3524 deUint32 maxGeometryShaderInvocations;
3525 deUint32 maxGeometryInputComponents;
3526 deUint32 maxGeometryOutputComponents;
3527 deUint32 maxGeometryOutputVertices;
3528 deUint32 maxGeometryTotalOutputComponents;
3529 deUint32 maxFragmentInputComponents;
3530 deUint32 maxFragmentOutputAttachments;
3531 deUint32 maxFragmentDualSrcAttachments;
3532 deUint32 maxFragmentCombinedOutputResources;
3533 deUint32 maxComputeSharedMemorySize;
3534 deUint32 maxComputeWorkGroupCount[3];
3535 deUint32 maxComputeWorkGroupInvocations;
3536 deUint32 maxComputeWorkGroupSize[3];
3537 deUint32 subPixelPrecisionBits;
3538 deUint32 subTexelPrecisionBits;
3539 deUint32 mipmapPrecisionBits;
3540 deUint32 maxDrawIndexedIndexValue;
3541 deUint32 maxDrawIndirectCount;
3542 float maxSamplerLodBias;
3543 float maxSamplerAnisotropy;
3544 deUint32 maxViewports;
3545 deUint32 maxViewportDimensions[2];
3546 float viewportBoundsRange[2];
3547 deUint32 viewportSubPixelBits;
3548 deUintptr minMemoryMapAlignment;
3549 VkDeviceSize minTexelBufferOffsetAlignment;
3550 VkDeviceSize minUniformBufferOffsetAlignment;
3551 VkDeviceSize minStorageBufferOffsetAlignment;
3552 deInt32 minTexelOffset;
3553 deUint32 maxTexelOffset;
3554 deInt32 minTexelGatherOffset;
3555 deUint32 maxTexelGatherOffset;
3556 float minInterpolationOffset;
3557 float maxInterpolationOffset;
3558 deUint32 subPixelInterpolationOffsetBits;
3559 deUint32 maxFramebufferWidth;
3560 deUint32 maxFramebufferHeight;
3561 deUint32 maxFramebufferLayers;
3562 VkSampleCountFlags framebufferColorSampleCounts;
3563 VkSampleCountFlags framebufferDepthSampleCounts;
3564 VkSampleCountFlags framebufferStencilSampleCounts;
3565 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3566 deUint32 maxColorAttachments;
3567 VkSampleCountFlags sampledImageColorSampleCounts;
3568 VkSampleCountFlags sampledImageIntegerSampleCounts;
3569 VkSampleCountFlags sampledImageDepthSampleCounts;
3570 VkSampleCountFlags sampledImageStencilSampleCounts;
3571 VkSampleCountFlags storageImageSampleCounts;
3572 deUint32 maxSampleMaskWords;
3573 VkBool32 timestampComputeAndGraphics;
3574 float timestampPeriod;
3575 deUint32 maxClipDistances;
3576 deUint32 maxCullDistances;
3577 deUint32 maxCombinedClipAndCullDistances;
3578 deUint32 discreteQueuePriorities;
3579 float pointSizeRange[2];
3580 float lineWidthRange[2];
3581 float pointSizeGranularity;
3582 float lineWidthGranularity;
3583 VkBool32 strictLines;
3584 VkBool32 standardSampleLocations;
3585 VkDeviceSize optimalBufferCopyOffsetAlignment;
3586 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3587 VkDeviceSize nonCoherentAtomSize;
3588 } VkPhysicalDeviceLimits;
3590 typedef struct VkPhysicalDeviceMemoryProperties {
3591 deUint32 memoryTypeCount;
3592 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3593 deUint32 memoryHeapCount;
3594 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3595 } VkPhysicalDeviceMemoryProperties;
3597 typedef struct VkPhysicalDeviceSparseProperties {
3598 VkBool32 residencyStandard2DBlockShape;
3599 VkBool32 residencyStandard2DMultisampleBlockShape;
3600 VkBool32 residencyStandard3DBlockShape;
3601 VkBool32 residencyAlignedMipSize;
3602 VkBool32 residencyNonResidentStrict;
3603 } VkPhysicalDeviceSparseProperties;
3605 typedef struct VkPhysicalDeviceProperties {
3606 deUint32 apiVersion;
3607 deUint32 driverVersion;
3610 VkPhysicalDeviceType deviceType;
3611 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3612 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3613 VkPhysicalDeviceLimits limits;
3614 VkPhysicalDeviceSparseProperties sparseProperties;
3615 } VkPhysicalDeviceProperties;
3617 typedef struct VkQueueFamilyProperties {
3618 VkQueueFlags queueFlags;
3619 deUint32 queueCount;
3620 deUint32 timestampValidBits;
3621 VkExtent3D minImageTransferGranularity;
3622 } VkQueueFamilyProperties;
3624 typedef struct VkDeviceQueueCreateInfo {
3625 VkStructureType sType;
3627 VkDeviceQueueCreateFlags flags;
3628 deUint32 queueFamilyIndex;
3629 deUint32 queueCount;
3630 const float* pQueuePriorities;
3631 } VkDeviceQueueCreateInfo;
3633 typedef struct VkDeviceCreateInfo {
3634 VkStructureType sType;
3636 VkDeviceCreateFlags flags;
3637 deUint32 queueCreateInfoCount;
3638 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3639 deUint32 enabledLayerCount;
3640 const char* const* ppEnabledLayerNames;
3641 deUint32 enabledExtensionCount;
3642 const char* const* ppEnabledExtensionNames;
3643 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3644 } VkDeviceCreateInfo;
3646 typedef struct VkExtensionProperties {
3647 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3648 deUint32 specVersion;
3649 } VkExtensionProperties;
3651 typedef struct VkLayerProperties {
3652 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3653 deUint32 specVersion;
3654 deUint32 implementationVersion;
3655 char description[VK_MAX_DESCRIPTION_SIZE];
3656 } VkLayerProperties;
3658 typedef struct VkSubmitInfo {
3659 VkStructureType sType;
3661 deUint32 waitSemaphoreCount;
3662 const VkSemaphore* pWaitSemaphores;
3663 const VkPipelineStageFlags* pWaitDstStageMask;
3664 deUint32 commandBufferCount;
3665 const VkCommandBuffer* pCommandBuffers;
3666 deUint32 signalSemaphoreCount;
3667 const VkSemaphore* pSignalSemaphores;
3670 typedef struct VkMappedMemoryRange {
3671 VkStructureType sType;
3673 VkDeviceMemory memory;
3674 VkDeviceSize offset;
3676 } VkMappedMemoryRange;
3678 typedef struct VkMemoryAllocateInfo {
3679 VkStructureType sType;
3681 VkDeviceSize allocationSize;
3682 deUint32 memoryTypeIndex;
3683 } VkMemoryAllocateInfo;
3685 typedef struct VkMemoryRequirements {
3687 VkDeviceSize alignment;
3688 deUint32 memoryTypeBits;
3689 } VkMemoryRequirements;
3691 typedef struct VkSparseMemoryBind {
3692 VkDeviceSize resourceOffset;
3694 VkDeviceMemory memory;
3695 VkDeviceSize memoryOffset;
3696 VkSparseMemoryBindFlags flags;
3697 } VkSparseMemoryBind;
3699 typedef struct VkSparseBufferMemoryBindInfo {
3702 const VkSparseMemoryBind* pBinds;
3703 } VkSparseBufferMemoryBindInfo;
3705 typedef struct VkSparseImageOpaqueMemoryBindInfo {
3708 const VkSparseMemoryBind* pBinds;
3709 } VkSparseImageOpaqueMemoryBindInfo;
3711 typedef struct VkImageSubresource {
3712 VkImageAspectFlags aspectMask;
3714 deUint32 arrayLayer;
3715 } VkImageSubresource;
3717 typedef struct VkSparseImageMemoryBind {
3718 VkImageSubresource subresource;
3721 VkDeviceMemory memory;
3722 VkDeviceSize memoryOffset;
3723 VkSparseMemoryBindFlags flags;
3724 } VkSparseImageMemoryBind;
3726 typedef struct VkSparseImageMemoryBindInfo {
3729 const VkSparseImageMemoryBind* pBinds;
3730 } VkSparseImageMemoryBindInfo;
3732 typedef struct VkBindSparseInfo {
3733 VkStructureType sType;
3735 deUint32 waitSemaphoreCount;
3736 const VkSemaphore* pWaitSemaphores;
3737 deUint32 bufferBindCount;
3738 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3739 deUint32 imageOpaqueBindCount;
3740 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3741 deUint32 imageBindCount;
3742 const VkSparseImageMemoryBindInfo* pImageBinds;
3743 deUint32 signalSemaphoreCount;
3744 const VkSemaphore* pSignalSemaphores;
3747 typedef struct VkSparseImageFormatProperties {
3748 VkImageAspectFlags aspectMask;
3749 VkExtent3D imageGranularity;
3750 VkSparseImageFormatFlags flags;
3751 } VkSparseImageFormatProperties;
3753 typedef struct VkSparseImageMemoryRequirements {
3754 VkSparseImageFormatProperties formatProperties;
3755 deUint32 imageMipTailFirstLod;
3756 VkDeviceSize imageMipTailSize;
3757 VkDeviceSize imageMipTailOffset;
3758 VkDeviceSize imageMipTailStride;
3759 } VkSparseImageMemoryRequirements;
3761 typedef struct VkFenceCreateInfo {
3762 VkStructureType sType;
3764 VkFenceCreateFlags flags;
3765 } VkFenceCreateInfo;
3767 typedef struct VkSemaphoreCreateInfo {
3768 VkStructureType sType;
3770 VkSemaphoreCreateFlags flags;
3771 } VkSemaphoreCreateInfo;
3773 typedef struct VkEventCreateInfo {
3774 VkStructureType sType;
3776 VkEventCreateFlags flags;
3777 } VkEventCreateInfo;
3779 typedef struct VkQueryPoolCreateInfo {
3780 VkStructureType sType;
3782 VkQueryPoolCreateFlags flags;
3783 VkQueryType queryType;
3784 deUint32 queryCount;
3785 VkQueryPipelineStatisticFlags pipelineStatistics;
3786 } VkQueryPoolCreateInfo;
3788 typedef struct VkBufferCreateInfo {
3789 VkStructureType sType;
3791 VkBufferCreateFlags flags;
3793 VkBufferUsageFlags usage;
3794 VkSharingMode sharingMode;
3795 deUint32 queueFamilyIndexCount;
3796 const deUint32* pQueueFamilyIndices;
3797 } VkBufferCreateInfo;
3799 typedef struct VkBufferViewCreateInfo {
3800 VkStructureType sType;
3802 VkBufferViewCreateFlags flags;
3805 VkDeviceSize offset;
3807 } VkBufferViewCreateInfo;
3809 typedef struct VkImageCreateInfo {
3810 VkStructureType sType;
3812 VkImageCreateFlags flags;
3813 VkImageType imageType;
3817 deUint32 arrayLayers;
3818 VkSampleCountFlagBits samples;
3819 VkImageTiling tiling;
3820 VkImageUsageFlags usage;
3821 VkSharingMode sharingMode;
3822 deUint32 queueFamilyIndexCount;
3823 const deUint32* pQueueFamilyIndices;
3824 VkImageLayout initialLayout;
3825 } VkImageCreateInfo;
3827 typedef struct VkSubresourceLayout {
3828 VkDeviceSize offset;
3830 VkDeviceSize rowPitch;
3831 VkDeviceSize arrayPitch;
3832 VkDeviceSize depthPitch;
3833 } VkSubresourceLayout;
3835 typedef struct VkComponentMapping {
3836 VkComponentSwizzle r;
3837 VkComponentSwizzle g;
3838 VkComponentSwizzle b;
3839 VkComponentSwizzle a;
3840 } VkComponentMapping;
3842 typedef struct VkImageViewCreateInfo {
3843 VkStructureType sType;
3845 VkImageViewCreateFlags flags;
3847 VkImageViewType viewType;
3849 VkComponentMapping components;
3850 VkImageSubresourceRange subresourceRange;
3851 } VkImageViewCreateInfo;
3853 typedef struct VkShaderModuleCreateInfo {
3854 VkStructureType sType;
3856 VkShaderModuleCreateFlags flags;
3858 const deUint32* pCode;
3859 } VkShaderModuleCreateInfo;
3861 typedef struct VkPipelineCacheCreateInfo {
3862 VkStructureType sType;
3864 VkPipelineCacheCreateFlags flags;
3865 deUintptr initialDataSize;
3866 const void* pInitialData;
3867 } VkPipelineCacheCreateInfo;
3869 typedef struct VkSpecializationMapEntry {
3870 deUint32 constantID;
3873 } VkSpecializationMapEntry;
3875 typedef struct VkSpecializationInfo {
3876 deUint32 mapEntryCount;
3877 const VkSpecializationMapEntry* pMapEntries;
3880 } VkSpecializationInfo;
3882 typedef struct VkPipelineShaderStageCreateInfo {
3883 VkStructureType sType;
3885 VkPipelineShaderStageCreateFlags flags;
3886 VkShaderStageFlagBits stage;
3887 VkShaderModule module;
3889 const VkSpecializationInfo* pSpecializationInfo;
3890 } VkPipelineShaderStageCreateInfo;
3892 typedef struct VkComputePipelineCreateInfo {
3893 VkStructureType sType;
3895 VkPipelineCreateFlags flags;
3896 VkPipelineShaderStageCreateInfo stage;
3897 VkPipelineLayout layout;
3898 VkPipeline basePipelineHandle;
3899 deInt32 basePipelineIndex;
3900 } VkComputePipelineCreateInfo;
3902 typedef struct VkVertexInputBindingDescription {
3905 VkVertexInputRate inputRate;
3906 } VkVertexInputBindingDescription;
3908 typedef struct VkVertexInputAttributeDescription {
3913 } VkVertexInputAttributeDescription;
3915 typedef struct VkPipelineVertexInputStateCreateInfo {
3916 VkStructureType sType;
3918 VkPipelineVertexInputStateCreateFlags flags;
3919 deUint32 vertexBindingDescriptionCount;
3920 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3921 deUint32 vertexAttributeDescriptionCount;
3922 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3923 } VkPipelineVertexInputStateCreateInfo;
3925 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3926 VkStructureType sType;
3928 VkPipelineInputAssemblyStateCreateFlags flags;
3929 VkPrimitiveTopology topology;
3930 VkBool32 primitiveRestartEnable;
3931 } VkPipelineInputAssemblyStateCreateInfo;
3933 typedef struct VkPipelineTessellationStateCreateInfo {
3934 VkStructureType sType;
3936 VkPipelineTessellationStateCreateFlags flags;
3937 deUint32 patchControlPoints;
3938 } VkPipelineTessellationStateCreateInfo;
3940 typedef struct VkViewport {
3949 typedef struct VkPipelineViewportStateCreateInfo {
3950 VkStructureType sType;
3952 VkPipelineViewportStateCreateFlags flags;
3953 deUint32 viewportCount;
3954 const VkViewport* pViewports;
3955 deUint32 scissorCount;
3956 const VkRect2D* pScissors;
3957 } VkPipelineViewportStateCreateInfo;
3959 typedef struct VkPipelineRasterizationStateCreateInfo {
3960 VkStructureType sType;
3962 VkPipelineRasterizationStateCreateFlags flags;
3963 VkBool32 depthClampEnable;
3964 VkBool32 rasterizerDiscardEnable;
3965 VkPolygonMode polygonMode;
3966 VkCullModeFlags cullMode;
3967 VkFrontFace frontFace;
3968 VkBool32 depthBiasEnable;
3969 float depthBiasConstantFactor;
3970 float depthBiasClamp;
3971 float depthBiasSlopeFactor;
3973 } VkPipelineRasterizationStateCreateInfo;
3975 typedef struct VkPipelineMultisampleStateCreateInfo {
3976 VkStructureType sType;
3978 VkPipelineMultisampleStateCreateFlags flags;
3979 VkSampleCountFlagBits rasterizationSamples;
3980 VkBool32 sampleShadingEnable;
3981 float minSampleShading;
3982 const VkSampleMask* pSampleMask;
3983 VkBool32 alphaToCoverageEnable;
3984 VkBool32 alphaToOneEnable;
3985 } VkPipelineMultisampleStateCreateInfo;
3987 typedef struct VkStencilOpState {
3990 VkStencilOp depthFailOp;
3991 VkCompareOp compareOp;
3992 deUint32 compareMask;
3997 typedef struct VkPipelineDepthStencilStateCreateInfo {
3998 VkStructureType sType;
4000 VkPipelineDepthStencilStateCreateFlags flags;
4001 VkBool32 depthTestEnable;
4002 VkBool32 depthWriteEnable;
4003 VkCompareOp depthCompareOp;
4004 VkBool32 depthBoundsTestEnable;
4005 VkBool32 stencilTestEnable;
4006 VkStencilOpState front;
4007 VkStencilOpState back;
4008 float minDepthBounds;
4009 float maxDepthBounds;
4010 } VkPipelineDepthStencilStateCreateInfo;
4012 typedef struct VkPipelineColorBlendAttachmentState {
4013 VkBool32 blendEnable;
4014 VkBlendFactor srcColorBlendFactor;
4015 VkBlendFactor dstColorBlendFactor;
4016 VkBlendOp colorBlendOp;
4017 VkBlendFactor srcAlphaBlendFactor;
4018 VkBlendFactor dstAlphaBlendFactor;
4019 VkBlendOp alphaBlendOp;
4020 VkColorComponentFlags colorWriteMask;
4021 } VkPipelineColorBlendAttachmentState;
4023 typedef struct VkPipelineColorBlendStateCreateInfo {
4024 VkStructureType sType;
4026 VkPipelineColorBlendStateCreateFlags flags;
4027 VkBool32 logicOpEnable;
4029 deUint32 attachmentCount;
4030 const VkPipelineColorBlendAttachmentState* pAttachments;
4031 float blendConstants[4];
4032 } VkPipelineColorBlendStateCreateInfo;
4034 typedef struct VkPipelineDynamicStateCreateInfo {
4035 VkStructureType sType;
4037 VkPipelineDynamicStateCreateFlags flags;
4038 deUint32 dynamicStateCount;
4039 const VkDynamicState* pDynamicStates;
4040 } VkPipelineDynamicStateCreateInfo;
4042 typedef struct VkGraphicsPipelineCreateInfo {
4043 VkStructureType sType;
4045 VkPipelineCreateFlags flags;
4046 deUint32 stageCount;
4047 const VkPipelineShaderStageCreateInfo* pStages;
4048 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4049 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4050 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4051 const VkPipelineViewportStateCreateInfo* pViewportState;
4052 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4053 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4054 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4055 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4056 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4057 VkPipelineLayout layout;
4058 VkRenderPass renderPass;
4060 VkPipeline basePipelineHandle;
4061 deInt32 basePipelineIndex;
4062 } VkGraphicsPipelineCreateInfo;
4064 typedef struct VkPushConstantRange {
4065 VkShaderStageFlags stageFlags;
4068 } VkPushConstantRange;
4070 typedef struct VkPipelineLayoutCreateInfo {
4071 VkStructureType sType;
4073 VkPipelineLayoutCreateFlags flags;
4074 deUint32 setLayoutCount;
4075 const VkDescriptorSetLayout* pSetLayouts;
4076 deUint32 pushConstantRangeCount;
4077 const VkPushConstantRange* pPushConstantRanges;
4078 } VkPipelineLayoutCreateInfo;
4080 typedef struct VkSamplerCreateInfo {
4081 VkStructureType sType;
4083 VkSamplerCreateFlags flags;
4086 VkSamplerMipmapMode mipmapMode;
4087 VkSamplerAddressMode addressModeU;
4088 VkSamplerAddressMode addressModeV;
4089 VkSamplerAddressMode addressModeW;
4091 VkBool32 anisotropyEnable;
4092 float maxAnisotropy;
4093 VkBool32 compareEnable;
4094 VkCompareOp compareOp;
4097 VkBorderColor borderColor;
4098 VkBool32 unnormalizedCoordinates;
4099 } VkSamplerCreateInfo;
4101 typedef struct VkCopyDescriptorSet {
4102 VkStructureType sType;
4104 VkDescriptorSet srcSet;
4105 deUint32 srcBinding;
4106 deUint32 srcArrayElement;
4107 VkDescriptorSet dstSet;
4108 deUint32 dstBinding;
4109 deUint32 dstArrayElement;
4110 deUint32 descriptorCount;
4111 } VkCopyDescriptorSet;
4113 typedef struct VkDescriptorBufferInfo {
4115 VkDeviceSize offset;
4117 } VkDescriptorBufferInfo;
4119 typedef struct VkDescriptorImageInfo {
4121 VkImageView imageView;
4122 VkImageLayout imageLayout;
4123 } VkDescriptorImageInfo;
4125 typedef struct VkDescriptorPoolSize {
4126 VkDescriptorType type;
4127 deUint32 descriptorCount;
4128 } VkDescriptorPoolSize;
4130 typedef struct VkDescriptorPoolCreateInfo {
4131 VkStructureType sType;
4133 VkDescriptorPoolCreateFlags flags;
4135 deUint32 poolSizeCount;
4136 const VkDescriptorPoolSize* pPoolSizes;
4137 } VkDescriptorPoolCreateInfo;
4139 typedef struct VkDescriptorSetAllocateInfo {
4140 VkStructureType sType;
4142 VkDescriptorPool descriptorPool;
4143 deUint32 descriptorSetCount;
4144 const VkDescriptorSetLayout* pSetLayouts;
4145 } VkDescriptorSetAllocateInfo;
4147 typedef struct VkDescriptorSetLayoutBinding {
4149 VkDescriptorType descriptorType;
4150 deUint32 descriptorCount;
4151 VkShaderStageFlags stageFlags;
4152 const VkSampler* pImmutableSamplers;
4153 } VkDescriptorSetLayoutBinding;
4155 typedef struct VkDescriptorSetLayoutCreateInfo {
4156 VkStructureType sType;
4158 VkDescriptorSetLayoutCreateFlags flags;
4159 deUint32 bindingCount;
4160 const VkDescriptorSetLayoutBinding* pBindings;
4161 } VkDescriptorSetLayoutCreateInfo;
4163 typedef struct VkWriteDescriptorSet {
4164 VkStructureType sType;
4166 VkDescriptorSet dstSet;
4167 deUint32 dstBinding;
4168 deUint32 dstArrayElement;
4169 deUint32 descriptorCount;
4170 VkDescriptorType descriptorType;
4171 const VkDescriptorImageInfo* pImageInfo;
4172 const VkDescriptorBufferInfo* pBufferInfo;
4173 const VkBufferView* pTexelBufferView;
4174 } VkWriteDescriptorSet;
4176 typedef struct VkAttachmentDescription {
4177 VkAttachmentDescriptionFlags flags;
4179 VkSampleCountFlagBits samples;
4180 VkAttachmentLoadOp loadOp;
4181 VkAttachmentStoreOp storeOp;
4182 VkAttachmentLoadOp stencilLoadOp;
4183 VkAttachmentStoreOp stencilStoreOp;
4184 VkImageLayout initialLayout;
4185 VkImageLayout finalLayout;
4186 } VkAttachmentDescription;
4188 typedef struct VkAttachmentReference {
4189 deUint32 attachment;
4190 VkImageLayout layout;
4191 } VkAttachmentReference;
4193 typedef struct VkFramebufferCreateInfo {
4194 VkStructureType sType;
4196 VkFramebufferCreateFlags flags;
4197 VkRenderPass renderPass;
4198 deUint32 attachmentCount;
4199 const VkImageView* pAttachments;
4203 } VkFramebufferCreateInfo;
4205 typedef struct VkSubpassDescription {
4206 VkSubpassDescriptionFlags flags;
4207 VkPipelineBindPoint pipelineBindPoint;
4208 deUint32 inputAttachmentCount;
4209 const VkAttachmentReference* pInputAttachments;
4210 deUint32 colorAttachmentCount;
4211 const VkAttachmentReference* pColorAttachments;
4212 const VkAttachmentReference* pResolveAttachments;
4213 const VkAttachmentReference* pDepthStencilAttachment;
4214 deUint32 preserveAttachmentCount;
4215 const deUint32* pPreserveAttachments;
4216 } VkSubpassDescription;
4218 typedef struct VkSubpassDependency {
4219 deUint32 srcSubpass;
4220 deUint32 dstSubpass;
4221 VkPipelineStageFlags srcStageMask;
4222 VkPipelineStageFlags dstStageMask;
4223 VkAccessFlags srcAccessMask;
4224 VkAccessFlags dstAccessMask;
4225 VkDependencyFlags dependencyFlags;
4226 } VkSubpassDependency;
4228 typedef struct VkRenderPassCreateInfo {
4229 VkStructureType sType;
4231 VkRenderPassCreateFlags flags;
4232 deUint32 attachmentCount;
4233 const VkAttachmentDescription* pAttachments;
4234 deUint32 subpassCount;
4235 const VkSubpassDescription* pSubpasses;
4236 deUint32 dependencyCount;
4237 const VkSubpassDependency* pDependencies;
4238 } VkRenderPassCreateInfo;
4240 typedef struct VkCommandPoolCreateInfo {
4241 VkStructureType sType;
4243 VkCommandPoolCreateFlags flags;
4244 deUint32 queueFamilyIndex;
4245 } VkCommandPoolCreateInfo;
4247 typedef struct VkCommandBufferAllocateInfo {
4248 VkStructureType sType;
4250 VkCommandPool commandPool;
4251 VkCommandBufferLevel level;
4252 deUint32 commandBufferCount;
4253 } VkCommandBufferAllocateInfo;
4255 typedef struct VkCommandBufferInheritanceInfo {
4256 VkStructureType sType;
4258 VkRenderPass renderPass;
4260 VkFramebuffer framebuffer;
4261 VkBool32 occlusionQueryEnable;
4262 VkQueryControlFlags queryFlags;
4263 VkQueryPipelineStatisticFlags pipelineStatistics;
4264 } VkCommandBufferInheritanceInfo;
4266 typedef struct VkCommandBufferBeginInfo {
4267 VkStructureType sType;
4269 VkCommandBufferUsageFlags flags;
4270 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4271 } VkCommandBufferBeginInfo;
4273 typedef struct VkBufferCopy {
4274 VkDeviceSize srcOffset;
4275 VkDeviceSize dstOffset;
4279 typedef struct VkImageSubresourceLayers {
4280 VkImageAspectFlags aspectMask;
4282 deUint32 baseArrayLayer;
4283 deUint32 layerCount;
4284 } VkImageSubresourceLayers;
4286 typedef struct VkBufferImageCopy {
4287 VkDeviceSize bufferOffset;
4288 deUint32 bufferRowLength;
4289 deUint32 bufferImageHeight;
4290 VkImageSubresourceLayers imageSubresource;
4291 VkOffset3D imageOffset;
4292 VkExtent3D imageExtent;
4293 } VkBufferImageCopy;
4295 typedef union VkClearColorValue {
4299 } VkClearColorValue;
4301 typedef struct VkClearDepthStencilValue {
4304 } VkClearDepthStencilValue;
4306 typedef union VkClearValue {
4307 VkClearColorValue color;
4308 VkClearDepthStencilValue depthStencil;
4311 typedef struct VkClearAttachment {
4312 VkImageAspectFlags aspectMask;
4313 deUint32 colorAttachment;
4314 VkClearValue clearValue;
4315 } VkClearAttachment;
4317 typedef struct VkClearRect {
4319 deUint32 baseArrayLayer;
4320 deUint32 layerCount;
4323 typedef struct VkImageBlit {
4324 VkImageSubresourceLayers srcSubresource;
4325 VkOffset3D srcOffsets[2];
4326 VkImageSubresourceLayers dstSubresource;
4327 VkOffset3D dstOffsets[2];
4330 typedef struct VkImageCopy {
4331 VkImageSubresourceLayers srcSubresource;
4332 VkOffset3D srcOffset;
4333 VkImageSubresourceLayers dstSubresource;
4334 VkOffset3D dstOffset;
4338 typedef struct VkImageResolve {
4339 VkImageSubresourceLayers srcSubresource;
4340 VkOffset3D srcOffset;
4341 VkImageSubresourceLayers dstSubresource;
4342 VkOffset3D dstOffset;
4346 typedef struct VkRenderPassBeginInfo {
4347 VkStructureType sType;
4349 VkRenderPass renderPass;
4350 VkFramebuffer framebuffer;
4351 VkRect2D renderArea;
4352 deUint32 clearValueCount;
4353 const VkClearValue* pClearValues;
4354 } VkRenderPassBeginInfo;
4356 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4357 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4358 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4359 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4360 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4361 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4362 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4363 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4364 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4365 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4366 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4367 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4368 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4369 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4370 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4371 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4372 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4373 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4374 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4375 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4376 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4377 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4378 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4379 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4380 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4381 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4382 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4383 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4384 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4385 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4386 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4387 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4388 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4389 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4390 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4391 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4392 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4393 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4394 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4395 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4396 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4397 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4398 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4399 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4400 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4401 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4402 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4403 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4404 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4405 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4406 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4407 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4408 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4409 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4410 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4411 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4412 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4413 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4414 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4415 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4416 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4417 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4418 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4419 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4420 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4421 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4422 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4423 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4424 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4425 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4426 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4427 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4428 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4429 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4430 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4431 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4432 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4433 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4434 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4435 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4436 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4437 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4438 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4439 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4440 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4441 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4442 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4443 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4444 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4445 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4446 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4447 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4448 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4449 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4450 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4451 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4452 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4453 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4454 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4455 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4456 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4457 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4458 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4459 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4460 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4461 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4462 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4463 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4464 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4465 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4466 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4467 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4468 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4469 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4470 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4471 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4472 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4473 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4474 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4475 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4476 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4477 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4478 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4479 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4480 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4481 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);
4482 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);
4483 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4484 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4485 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4486 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4487 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4488 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4489 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4490 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4491 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4492 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4494 #ifndef VK_NO_PROTOTYPES
4495 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4496 const VkInstanceCreateInfo* pCreateInfo,
4497 const VkAllocationCallbacks* pAllocator,
4498 VkInstance* pInstance);
4500 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4501 VkInstance instance,
4502 const VkAllocationCallbacks* pAllocator);
4504 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4505 VkInstance instance,
4506 deUint32* pPhysicalDeviceCount,
4507 VkPhysicalDevice* pPhysicalDevices);
4509 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4510 VkPhysicalDevice physicalDevice,
4511 VkPhysicalDeviceFeatures* pFeatures);
4513 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4514 VkPhysicalDevice physicalDevice,
4516 VkFormatProperties* pFormatProperties);
4518 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4519 VkPhysicalDevice physicalDevice,
4522 VkImageTiling tiling,
4523 VkImageUsageFlags usage,
4524 VkImageCreateFlags flags,
4525 VkImageFormatProperties* pImageFormatProperties);
4527 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4528 VkPhysicalDevice physicalDevice,
4529 VkPhysicalDeviceProperties* pProperties);
4531 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4532 VkPhysicalDevice physicalDevice,
4533 deUint32* pQueueFamilyPropertyCount,
4534 VkQueueFamilyProperties* pQueueFamilyProperties);
4536 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4537 VkPhysicalDevice physicalDevice,
4538 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4540 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4541 VkInstance instance,
4544 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4548 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4549 VkPhysicalDevice physicalDevice,
4550 const VkDeviceCreateInfo* pCreateInfo,
4551 const VkAllocationCallbacks* pAllocator,
4554 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4556 const VkAllocationCallbacks* pAllocator);
4558 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4559 const char* pLayerName,
4560 deUint32* pPropertyCount,
4561 VkExtensionProperties* pProperties);
4563 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4564 VkPhysicalDevice physicalDevice,
4565 const char* pLayerName,
4566 deUint32* pPropertyCount,
4567 VkExtensionProperties* pProperties);
4569 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4570 deUint32* pPropertyCount,
4571 VkLayerProperties* pProperties);
4573 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4574 VkPhysicalDevice physicalDevice,
4575 deUint32* pPropertyCount,
4576 VkLayerProperties* pProperties);
4578 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4580 deUint32 queueFamilyIndex,
4581 deUint32 queueIndex,
4584 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4586 deUint32 submitCount,
4587 const VkSubmitInfo* pSubmits,
4590 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4593 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4596 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4598 const VkMemoryAllocateInfo* pAllocateInfo,
4599 const VkAllocationCallbacks* pAllocator,
4600 VkDeviceMemory* pMemory);
4602 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4604 VkDeviceMemory memory,
4605 const VkAllocationCallbacks* pAllocator);
4607 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4609 VkDeviceMemory memory,
4610 VkDeviceSize offset,
4612 VkMemoryMapFlags flags,
4615 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4617 VkDeviceMemory memory);
4619 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4621 deUint32 memoryRangeCount,
4622 const VkMappedMemoryRange* pMemoryRanges);
4624 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4626 deUint32 memoryRangeCount,
4627 const VkMappedMemoryRange* pMemoryRanges);
4629 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4631 VkDeviceMemory memory,
4632 VkDeviceSize* pCommittedMemoryInBytes);
4634 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4637 VkDeviceMemory memory,
4638 VkDeviceSize memoryOffset);
4640 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4643 VkDeviceMemory memory,
4644 VkDeviceSize memoryOffset);
4646 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4649 VkMemoryRequirements* pMemoryRequirements);
4651 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4654 VkMemoryRequirements* pMemoryRequirements);
4656 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4659 deUint32* pSparseMemoryRequirementCount,
4660 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4662 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4663 VkPhysicalDevice physicalDevice,
4666 VkSampleCountFlagBits samples,
4667 VkImageUsageFlags usage,
4668 VkImageTiling tiling,
4669 deUint32* pPropertyCount,
4670 VkSparseImageFormatProperties* pProperties);
4672 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4674 deUint32 bindInfoCount,
4675 const VkBindSparseInfo* pBindInfo,
4678 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4680 const VkFenceCreateInfo* pCreateInfo,
4681 const VkAllocationCallbacks* pAllocator,
4684 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4687 const VkAllocationCallbacks* pAllocator);
4689 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4691 deUint32 fenceCount,
4692 const VkFence* pFences);
4694 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4698 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4700 deUint32 fenceCount,
4701 const VkFence* pFences,
4705 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4707 const VkSemaphoreCreateInfo* pCreateInfo,
4708 const VkAllocationCallbacks* pAllocator,
4709 VkSemaphore* pSemaphore);
4711 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4713 VkSemaphore semaphore,
4714 const VkAllocationCallbacks* pAllocator);
4716 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4718 const VkEventCreateInfo* pCreateInfo,
4719 const VkAllocationCallbacks* pAllocator,
4722 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4725 const VkAllocationCallbacks* pAllocator);
4727 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4731 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4735 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4739 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4741 const VkQueryPoolCreateInfo* pCreateInfo,
4742 const VkAllocationCallbacks* pAllocator,
4743 VkQueryPool* pQueryPool);
4745 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4747 VkQueryPool queryPool,
4748 const VkAllocationCallbacks* pAllocator);
4750 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4752 VkQueryPool queryPool,
4753 deUint32 firstQuery,
4754 deUint32 queryCount,
4757 VkDeviceSize stride,
4758 VkQueryResultFlags flags);
4760 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4762 const VkBufferCreateInfo* pCreateInfo,
4763 const VkAllocationCallbacks* pAllocator,
4766 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4769 const VkAllocationCallbacks* pAllocator);
4771 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4773 const VkBufferViewCreateInfo* pCreateInfo,
4774 const VkAllocationCallbacks* pAllocator,
4775 VkBufferView* pView);
4777 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4779 VkBufferView bufferView,
4780 const VkAllocationCallbacks* pAllocator);
4782 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4784 const VkImageCreateInfo* pCreateInfo,
4785 const VkAllocationCallbacks* pAllocator,
4788 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4791 const VkAllocationCallbacks* pAllocator);
4793 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4796 const VkImageSubresource* pSubresource,
4797 VkSubresourceLayout* pLayout);
4799 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4801 const VkImageViewCreateInfo* pCreateInfo,
4802 const VkAllocationCallbacks* pAllocator,
4803 VkImageView* pView);
4805 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4807 VkImageView imageView,
4808 const VkAllocationCallbacks* pAllocator);
4810 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4812 const VkShaderModuleCreateInfo* pCreateInfo,
4813 const VkAllocationCallbacks* pAllocator,
4814 VkShaderModule* pShaderModule);
4816 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4818 VkShaderModule shaderModule,
4819 const VkAllocationCallbacks* pAllocator);
4821 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4823 const VkPipelineCacheCreateInfo* pCreateInfo,
4824 const VkAllocationCallbacks* pAllocator,
4825 VkPipelineCache* pPipelineCache);
4827 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4829 VkPipelineCache pipelineCache,
4830 const VkAllocationCallbacks* pAllocator);
4832 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4834 VkPipelineCache pipelineCache,
4835 deUintptr* pDataSize,
4838 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4840 VkPipelineCache dstCache,
4841 deUint32 srcCacheCount,
4842 const VkPipelineCache* pSrcCaches);
4844 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4846 VkPipelineCache pipelineCache,
4847 deUint32 createInfoCount,
4848 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4849 const VkAllocationCallbacks* pAllocator,
4850 VkPipeline* pPipelines);
4852 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4854 VkPipelineCache pipelineCache,
4855 deUint32 createInfoCount,
4856 const VkComputePipelineCreateInfo* pCreateInfos,
4857 const VkAllocationCallbacks* pAllocator,
4858 VkPipeline* pPipelines);
4860 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4862 VkPipeline pipeline,
4863 const VkAllocationCallbacks* pAllocator);
4865 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4867 const VkPipelineLayoutCreateInfo* pCreateInfo,
4868 const VkAllocationCallbacks* pAllocator,
4869 VkPipelineLayout* pPipelineLayout);
4871 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4873 VkPipelineLayout pipelineLayout,
4874 const VkAllocationCallbacks* pAllocator);
4876 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4878 const VkSamplerCreateInfo* pCreateInfo,
4879 const VkAllocationCallbacks* pAllocator,
4880 VkSampler* pSampler);
4882 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4885 const VkAllocationCallbacks* pAllocator);
4887 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4889 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4890 const VkAllocationCallbacks* pAllocator,
4891 VkDescriptorSetLayout* pSetLayout);
4893 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4895 VkDescriptorSetLayout descriptorSetLayout,
4896 const VkAllocationCallbacks* pAllocator);
4898 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4900 const VkDescriptorPoolCreateInfo* pCreateInfo,
4901 const VkAllocationCallbacks* pAllocator,
4902 VkDescriptorPool* pDescriptorPool);
4904 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4906 VkDescriptorPool descriptorPool,
4907 const VkAllocationCallbacks* pAllocator);
4909 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4911 VkDescriptorPool descriptorPool,
4912 VkDescriptorPoolResetFlags flags);
4914 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4916 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4917 VkDescriptorSet* pDescriptorSets);
4919 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4921 VkDescriptorPool descriptorPool,
4922 deUint32 descriptorSetCount,
4923 const VkDescriptorSet* pDescriptorSets);
4925 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4927 deUint32 descriptorWriteCount,
4928 const VkWriteDescriptorSet* pDescriptorWrites,
4929 deUint32 descriptorCopyCount,
4930 const VkCopyDescriptorSet* pDescriptorCopies);
4932 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4934 const VkFramebufferCreateInfo* pCreateInfo,
4935 const VkAllocationCallbacks* pAllocator,
4936 VkFramebuffer* pFramebuffer);
4938 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4940 VkFramebuffer framebuffer,
4941 const VkAllocationCallbacks* pAllocator);
4943 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4945 const VkRenderPassCreateInfo* pCreateInfo,
4946 const VkAllocationCallbacks* pAllocator,
4947 VkRenderPass* pRenderPass);
4949 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4951 VkRenderPass renderPass,
4952 const VkAllocationCallbacks* pAllocator);
4954 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4956 VkRenderPass renderPass,
4957 VkExtent2D* pGranularity);
4959 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4961 const VkCommandPoolCreateInfo* pCreateInfo,
4962 const VkAllocationCallbacks* pAllocator,
4963 VkCommandPool* pCommandPool);
4965 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4967 VkCommandPool commandPool,
4968 const VkAllocationCallbacks* pAllocator);
4970 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4972 VkCommandPool commandPool,
4973 VkCommandPoolResetFlags flags);
4975 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4977 const VkCommandBufferAllocateInfo* pAllocateInfo,
4978 VkCommandBuffer* pCommandBuffers);
4980 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4982 VkCommandPool commandPool,
4983 deUint32 commandBufferCount,
4984 const VkCommandBuffer* pCommandBuffers);
4986 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4987 VkCommandBuffer commandBuffer,
4988 const VkCommandBufferBeginInfo* pBeginInfo);
4990 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
4991 VkCommandBuffer commandBuffer);
4993 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
4994 VkCommandBuffer commandBuffer,
4995 VkCommandBufferResetFlags flags);
4997 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
4998 VkCommandBuffer commandBuffer,
4999 VkPipelineBindPoint pipelineBindPoint,
5000 VkPipeline pipeline);
5002 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
5003 VkCommandBuffer commandBuffer,
5004 deUint32 firstViewport,
5005 deUint32 viewportCount,
5006 const VkViewport* pViewports);
5008 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
5009 VkCommandBuffer commandBuffer,
5010 deUint32 firstScissor,
5011 deUint32 scissorCount,
5012 const VkRect2D* pScissors);
5014 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
5015 VkCommandBuffer commandBuffer,
5018 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
5019 VkCommandBuffer commandBuffer,
5020 float depthBiasConstantFactor,
5021 float depthBiasClamp,
5022 float depthBiasSlopeFactor);
5024 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
5025 VkCommandBuffer commandBuffer,
5026 const float blendConstants[4]);
5028 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
5029 VkCommandBuffer commandBuffer,
5030 float minDepthBounds,
5031 float maxDepthBounds);
5033 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5034 VkCommandBuffer commandBuffer,
5035 VkStencilFaceFlags faceMask,
5036 deUint32 compareMask);
5038 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5039 VkCommandBuffer commandBuffer,
5040 VkStencilFaceFlags faceMask,
5041 deUint32 writeMask);
5043 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5044 VkCommandBuffer commandBuffer,
5045 VkStencilFaceFlags faceMask,
5046 deUint32 reference);
5048 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5049 VkCommandBuffer commandBuffer,
5050 VkPipelineBindPoint pipelineBindPoint,
5051 VkPipelineLayout layout,
5053 deUint32 descriptorSetCount,
5054 const VkDescriptorSet* pDescriptorSets,
5055 deUint32 dynamicOffsetCount,
5056 const deUint32* pDynamicOffsets);
5058 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5059 VkCommandBuffer commandBuffer,
5061 VkDeviceSize offset,
5062 VkIndexType indexType);
5064 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5065 VkCommandBuffer commandBuffer,
5066 deUint32 firstBinding,
5067 deUint32 bindingCount,
5068 const VkBuffer* pBuffers,
5069 const VkDeviceSize* pOffsets);
5071 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5072 VkCommandBuffer commandBuffer,
5073 deUint32 vertexCount,
5074 deUint32 instanceCount,
5075 deUint32 firstVertex,
5076 deUint32 firstInstance);
5078 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5079 VkCommandBuffer commandBuffer,
5080 deUint32 indexCount,
5081 deUint32 instanceCount,
5082 deUint32 firstIndex,
5083 deInt32 vertexOffset,
5084 deUint32 firstInstance);
5086 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5087 VkCommandBuffer commandBuffer,
5089 VkDeviceSize offset,
5093 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5094 VkCommandBuffer commandBuffer,
5096 VkDeviceSize offset,
5100 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5101 VkCommandBuffer commandBuffer,
5102 deUint32 groupCountX,
5103 deUint32 groupCountY,
5104 deUint32 groupCountZ);
5106 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5107 VkCommandBuffer commandBuffer,
5109 VkDeviceSize offset);
5111 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5112 VkCommandBuffer commandBuffer,
5115 deUint32 regionCount,
5116 const VkBufferCopy* pRegions);
5118 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5119 VkCommandBuffer commandBuffer,
5121 VkImageLayout srcImageLayout,
5123 VkImageLayout dstImageLayout,
5124 deUint32 regionCount,
5125 const VkImageCopy* pRegions);
5127 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5128 VkCommandBuffer commandBuffer,
5130 VkImageLayout srcImageLayout,
5132 VkImageLayout dstImageLayout,
5133 deUint32 regionCount,
5134 const VkImageBlit* pRegions,
5137 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5138 VkCommandBuffer commandBuffer,
5141 VkImageLayout dstImageLayout,
5142 deUint32 regionCount,
5143 const VkBufferImageCopy* pRegions);
5145 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5146 VkCommandBuffer commandBuffer,
5148 VkImageLayout srcImageLayout,
5150 deUint32 regionCount,
5151 const VkBufferImageCopy* pRegions);
5153 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5154 VkCommandBuffer commandBuffer,
5156 VkDeviceSize dstOffset,
5157 VkDeviceSize dataSize,
5160 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5161 VkCommandBuffer commandBuffer,
5163 VkDeviceSize dstOffset,
5167 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5168 VkCommandBuffer commandBuffer,
5170 VkImageLayout imageLayout,
5171 const VkClearColorValue* pColor,
5172 deUint32 rangeCount,
5173 const VkImageSubresourceRange* pRanges);
5175 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5176 VkCommandBuffer commandBuffer,
5178 VkImageLayout imageLayout,
5179 const VkClearDepthStencilValue* pDepthStencil,
5180 deUint32 rangeCount,
5181 const VkImageSubresourceRange* pRanges);
5183 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5184 VkCommandBuffer commandBuffer,
5185 deUint32 attachmentCount,
5186 const VkClearAttachment* pAttachments,
5188 const VkClearRect* pRects);
5190 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5191 VkCommandBuffer commandBuffer,
5193 VkImageLayout srcImageLayout,
5195 VkImageLayout dstImageLayout,
5196 deUint32 regionCount,
5197 const VkImageResolve* pRegions);
5199 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5200 VkCommandBuffer commandBuffer,
5202 VkPipelineStageFlags stageMask);
5204 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5205 VkCommandBuffer commandBuffer,
5207 VkPipelineStageFlags stageMask);
5209 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5210 VkCommandBuffer commandBuffer,
5211 deUint32 eventCount,
5212 const VkEvent* pEvents,
5213 VkPipelineStageFlags srcStageMask,
5214 VkPipelineStageFlags dstStageMask,
5215 deUint32 memoryBarrierCount,
5216 const VkMemoryBarrier* pMemoryBarriers,
5217 deUint32 bufferMemoryBarrierCount,
5218 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5219 deUint32 imageMemoryBarrierCount,
5220 const VkImageMemoryBarrier* pImageMemoryBarriers);
5222 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5223 VkCommandBuffer commandBuffer,
5224 VkPipelineStageFlags srcStageMask,
5225 VkPipelineStageFlags dstStageMask,
5226 VkDependencyFlags dependencyFlags,
5227 deUint32 memoryBarrierCount,
5228 const VkMemoryBarrier* pMemoryBarriers,
5229 deUint32 bufferMemoryBarrierCount,
5230 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5231 deUint32 imageMemoryBarrierCount,
5232 const VkImageMemoryBarrier* pImageMemoryBarriers);
5234 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5235 VkCommandBuffer commandBuffer,
5236 VkQueryPool queryPool,
5238 VkQueryControlFlags flags);
5240 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5241 VkCommandBuffer commandBuffer,
5242 VkQueryPool queryPool,
5245 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5246 VkCommandBuffer commandBuffer,
5247 VkQueryPool queryPool,
5248 deUint32 firstQuery,
5249 deUint32 queryCount);
5251 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5252 VkCommandBuffer commandBuffer,
5253 VkPipelineStageFlagBits pipelineStage,
5254 VkQueryPool queryPool,
5257 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5258 VkCommandBuffer commandBuffer,
5259 VkQueryPool queryPool,
5260 deUint32 firstQuery,
5261 deUint32 queryCount,
5263 VkDeviceSize dstOffset,
5264 VkDeviceSize stride,
5265 VkQueryResultFlags flags);
5267 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5268 VkCommandBuffer commandBuffer,
5269 VkPipelineLayout layout,
5270 VkShaderStageFlags stageFlags,
5273 const void* pValues);
5275 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5276 VkCommandBuffer commandBuffer,
5277 const VkRenderPassBeginInfo* pRenderPassBegin,
5278 VkSubpassContents contents);
5280 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5281 VkCommandBuffer commandBuffer,
5282 VkSubpassContents contents);
5284 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5285 VkCommandBuffer commandBuffer);
5287 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5288 VkCommandBuffer commandBuffer,
5289 deUint32 commandBufferCount,
5290 const VkCommandBuffer* pCommandBuffers);
5294 #define VK_VERSION_1_1 1
5295 // Vulkan 1.1 version number
5296 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5298 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5299 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5300 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5301 #define VK_LUID_SIZE 8U
5302 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5304 typedef enum VkPointClippingBehavior {
5305 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5306 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5307 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5308 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5309 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5310 } VkPointClippingBehavior;
5312 typedef enum VkTessellationDomainOrigin {
5313 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5314 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5315 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5316 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5317 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5318 } VkTessellationDomainOrigin;
5320 typedef enum VkSamplerYcbcrModelConversion {
5321 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5322 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5323 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5324 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5325 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5326 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5327 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5328 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5329 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5330 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5331 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5332 } VkSamplerYcbcrModelConversion;
5334 typedef enum VkSamplerYcbcrRange {
5335 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5336 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5337 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5338 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5339 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5340 } VkSamplerYcbcrRange;
5342 typedef enum VkChromaLocation {
5343 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5344 VK_CHROMA_LOCATION_MIDPOINT = 1,
5345 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5346 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5347 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5350 typedef enum VkDescriptorUpdateTemplateType {
5351 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5352 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5353 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5354 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5355 } VkDescriptorUpdateTemplateType;
5357 typedef enum VkSubgroupFeatureFlagBits {
5358 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5359 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5360 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5361 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5362 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5363 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5364 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5365 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5366 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5367 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5368 } VkSubgroupFeatureFlagBits;
5369 typedef VkFlags VkSubgroupFeatureFlags;
5371 typedef enum VkPeerMemoryFeatureFlagBits {
5372 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5373 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5374 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5375 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5376 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5377 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5378 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5379 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5380 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5381 } VkPeerMemoryFeatureFlagBits;
5382 typedef VkFlags VkPeerMemoryFeatureFlags;
5384 typedef enum VkMemoryAllocateFlagBits {
5385 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5386 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5387 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5388 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5389 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5390 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5391 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5392 } VkMemoryAllocateFlagBits;
5393 typedef VkFlags VkMemoryAllocateFlags;
5394 typedef VkFlags VkCommandPoolTrimFlags;
5395 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5397 typedef enum VkExternalMemoryHandleTypeFlagBits {
5398 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5399 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5400 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5401 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5402 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5403 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5404 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5405 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5406 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5407 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5408 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5409 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5410 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
5411 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5412 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5413 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5414 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5415 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5416 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5417 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5418 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5419 } VkExternalMemoryHandleTypeFlagBits;
5420 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5422 typedef enum VkExternalMemoryFeatureFlagBits {
5423 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5424 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5425 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5426 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5427 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5428 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5429 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5430 } VkExternalMemoryFeatureFlagBits;
5431 typedef VkFlags VkExternalMemoryFeatureFlags;
5433 typedef enum VkExternalFenceHandleTypeFlagBits {
5434 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5435 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5436 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5437 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5438 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5439 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5440 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5441 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5442 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5443 } VkExternalFenceHandleTypeFlagBits;
5444 typedef VkFlags VkExternalFenceHandleTypeFlags;
5446 typedef enum VkExternalFenceFeatureFlagBits {
5447 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5448 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5449 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5450 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5451 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5452 } VkExternalFenceFeatureFlagBits;
5453 typedef VkFlags VkExternalFenceFeatureFlags;
5455 typedef enum VkFenceImportFlagBits {
5456 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5457 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5458 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5459 } VkFenceImportFlagBits;
5460 typedef VkFlags VkFenceImportFlags;
5462 typedef enum VkSemaphoreImportFlagBits {
5463 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5464 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5465 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5466 } VkSemaphoreImportFlagBits;
5467 typedef VkFlags VkSemaphoreImportFlags;
5469 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5470 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5471 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5472 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5473 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5474 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5475 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5476 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5477 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5478 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5479 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5480 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5481 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5482 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5483 } VkExternalSemaphoreHandleTypeFlagBits;
5484 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5486 typedef enum VkExternalSemaphoreFeatureFlagBits {
5487 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5488 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5489 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5490 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5491 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5492 } VkExternalSemaphoreFeatureFlagBits;
5493 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5494 typedef struct VkPhysicalDeviceSubgroupProperties {
5495 VkStructureType sType;
5497 deUint32 subgroupSize;
5498 VkShaderStageFlags supportedStages;
5499 VkSubgroupFeatureFlags supportedOperations;
5500 VkBool32 quadOperationsInAllStages;
5501 } VkPhysicalDeviceSubgroupProperties;
5503 typedef struct VkBindBufferMemoryInfo {
5504 VkStructureType sType;
5507 VkDeviceMemory memory;
5508 VkDeviceSize memoryOffset;
5509 } VkBindBufferMemoryInfo;
5511 typedef struct VkBindImageMemoryInfo {
5512 VkStructureType sType;
5515 VkDeviceMemory memory;
5516 VkDeviceSize memoryOffset;
5517 } VkBindImageMemoryInfo;
5519 typedef struct VkPhysicalDevice16BitStorageFeatures {
5520 VkStructureType sType;
5522 VkBool32 storageBuffer16BitAccess;
5523 VkBool32 uniformAndStorageBuffer16BitAccess;
5524 VkBool32 storagePushConstant16;
5525 VkBool32 storageInputOutput16;
5526 } VkPhysicalDevice16BitStorageFeatures;
5528 typedef struct VkMemoryDedicatedRequirements {
5529 VkStructureType sType;
5531 VkBool32 prefersDedicatedAllocation;
5532 VkBool32 requiresDedicatedAllocation;
5533 } VkMemoryDedicatedRequirements;
5535 typedef struct VkMemoryDedicatedAllocateInfo {
5536 VkStructureType sType;
5540 } VkMemoryDedicatedAllocateInfo;
5542 typedef struct VkMemoryAllocateFlagsInfo {
5543 VkStructureType sType;
5545 VkMemoryAllocateFlags flags;
5546 deUint32 deviceMask;
5547 } VkMemoryAllocateFlagsInfo;
5549 typedef struct VkDeviceGroupRenderPassBeginInfo {
5550 VkStructureType sType;
5552 deUint32 deviceMask;
5553 deUint32 deviceRenderAreaCount;
5554 const VkRect2D* pDeviceRenderAreas;
5555 } VkDeviceGroupRenderPassBeginInfo;
5557 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5558 VkStructureType sType;
5560 deUint32 deviceMask;
5561 } VkDeviceGroupCommandBufferBeginInfo;
5563 typedef struct VkDeviceGroupSubmitInfo {
5564 VkStructureType sType;
5566 deUint32 waitSemaphoreCount;
5567 const deUint32* pWaitSemaphoreDeviceIndices;
5568 deUint32 commandBufferCount;
5569 const deUint32* pCommandBufferDeviceMasks;
5570 deUint32 signalSemaphoreCount;
5571 const deUint32* pSignalSemaphoreDeviceIndices;
5572 } VkDeviceGroupSubmitInfo;
5574 typedef struct VkDeviceGroupBindSparseInfo {
5575 VkStructureType sType;
5577 deUint32 resourceDeviceIndex;
5578 deUint32 memoryDeviceIndex;
5579 } VkDeviceGroupBindSparseInfo;
5581 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5582 VkStructureType sType;
5584 deUint32 deviceIndexCount;
5585 const deUint32* pDeviceIndices;
5586 } VkBindBufferMemoryDeviceGroupInfo;
5588 typedef struct VkBindImageMemoryDeviceGroupInfo {
5589 VkStructureType sType;
5591 deUint32 deviceIndexCount;
5592 const deUint32* pDeviceIndices;
5593 deUint32 splitInstanceBindRegionCount;
5594 const VkRect2D* pSplitInstanceBindRegions;
5595 } VkBindImageMemoryDeviceGroupInfo;
5597 typedef struct VkPhysicalDeviceGroupProperties {
5598 VkStructureType sType;
5600 deUint32 physicalDeviceCount;
5601 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5602 VkBool32 subsetAllocation;
5603 } VkPhysicalDeviceGroupProperties;
5605 typedef struct VkDeviceGroupDeviceCreateInfo {
5606 VkStructureType sType;
5608 deUint32 physicalDeviceCount;
5609 const VkPhysicalDevice* pPhysicalDevices;
5610 } VkDeviceGroupDeviceCreateInfo;
5612 typedef struct VkBufferMemoryRequirementsInfo2 {
5613 VkStructureType sType;
5616 } VkBufferMemoryRequirementsInfo2;
5618 typedef struct VkImageMemoryRequirementsInfo2 {
5619 VkStructureType sType;
5622 } VkImageMemoryRequirementsInfo2;
5624 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5625 VkStructureType sType;
5628 } VkImageSparseMemoryRequirementsInfo2;
5630 typedef struct VkMemoryRequirements2 {
5631 VkStructureType sType;
5633 VkMemoryRequirements memoryRequirements;
5634 } VkMemoryRequirements2;
5636 typedef struct VkSparseImageMemoryRequirements2 {
5637 VkStructureType sType;
5639 VkSparseImageMemoryRequirements memoryRequirements;
5640 } VkSparseImageMemoryRequirements2;
5642 typedef struct VkPhysicalDeviceFeatures2 {
5643 VkStructureType sType;
5645 VkPhysicalDeviceFeatures features;
5646 } VkPhysicalDeviceFeatures2;
5648 typedef struct VkPhysicalDeviceProperties2 {
5649 VkStructureType sType;
5651 VkPhysicalDeviceProperties properties;
5652 } VkPhysicalDeviceProperties2;
5654 typedef struct VkFormatProperties2 {
5655 VkStructureType sType;
5657 VkFormatProperties formatProperties;
5658 } VkFormatProperties2;
5660 typedef struct VkImageFormatProperties2 {
5661 VkStructureType sType;
5663 VkImageFormatProperties imageFormatProperties;
5664 } VkImageFormatProperties2;
5666 typedef struct VkPhysicalDeviceImageFormatInfo2 {
5667 VkStructureType sType;
5671 VkImageTiling tiling;
5672 VkImageUsageFlags usage;
5673 VkImageCreateFlags flags;
5674 } VkPhysicalDeviceImageFormatInfo2;
5676 typedef struct VkQueueFamilyProperties2 {
5677 VkStructureType sType;
5679 VkQueueFamilyProperties queueFamilyProperties;
5680 } VkQueueFamilyProperties2;
5682 typedef struct VkPhysicalDeviceMemoryProperties2 {
5683 VkStructureType sType;
5685 VkPhysicalDeviceMemoryProperties memoryProperties;
5686 } VkPhysicalDeviceMemoryProperties2;
5688 typedef struct VkSparseImageFormatProperties2 {
5689 VkStructureType sType;
5691 VkSparseImageFormatProperties properties;
5692 } VkSparseImageFormatProperties2;
5694 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5695 VkStructureType sType;
5699 VkSampleCountFlagBits samples;
5700 VkImageUsageFlags usage;
5701 VkImageTiling tiling;
5702 } VkPhysicalDeviceSparseImageFormatInfo2;
5704 typedef struct VkPhysicalDevicePointClippingProperties {
5705 VkStructureType sType;
5707 VkPointClippingBehavior pointClippingBehavior;
5708 } VkPhysicalDevicePointClippingProperties;
5710 typedef struct VkInputAttachmentAspectReference {
5712 deUint32 inputAttachmentIndex;
5713 VkImageAspectFlags aspectMask;
5714 } VkInputAttachmentAspectReference;
5716 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5717 VkStructureType sType;
5719 deUint32 aspectReferenceCount;
5720 const VkInputAttachmentAspectReference* pAspectReferences;
5721 } VkRenderPassInputAttachmentAspectCreateInfo;
5723 typedef struct VkImageViewUsageCreateInfo {
5724 VkStructureType sType;
5726 VkImageUsageFlags usage;
5727 } VkImageViewUsageCreateInfo;
5729 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5730 VkStructureType sType;
5732 VkTessellationDomainOrigin domainOrigin;
5733 } VkPipelineTessellationDomainOriginStateCreateInfo;
5735 typedef struct VkRenderPassMultiviewCreateInfo {
5736 VkStructureType sType;
5738 deUint32 subpassCount;
5739 const deUint32* pViewMasks;
5740 deUint32 dependencyCount;
5741 const deInt32* pViewOffsets;
5742 deUint32 correlationMaskCount;
5743 const deUint32* pCorrelationMasks;
5744 } VkRenderPassMultiviewCreateInfo;
5746 typedef struct VkPhysicalDeviceMultiviewFeatures {
5747 VkStructureType sType;
5750 VkBool32 multiviewGeometryShader;
5751 VkBool32 multiviewTessellationShader;
5752 } VkPhysicalDeviceMultiviewFeatures;
5754 typedef struct VkPhysicalDeviceMultiviewProperties {
5755 VkStructureType sType;
5757 deUint32 maxMultiviewViewCount;
5758 deUint32 maxMultiviewInstanceIndex;
5759 } VkPhysicalDeviceMultiviewProperties;
5761 typedef struct VkPhysicalDeviceVariablePointersFeatures {
5762 VkStructureType sType;
5764 VkBool32 variablePointersStorageBuffer;
5765 VkBool32 variablePointers;
5766 } VkPhysicalDeviceVariablePointersFeatures;
5768 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5770 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5771 VkStructureType sType;
5773 VkBool32 protectedMemory;
5774 } VkPhysicalDeviceProtectedMemoryFeatures;
5776 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5777 VkStructureType sType;
5779 VkBool32 protectedNoFault;
5780 } VkPhysicalDeviceProtectedMemoryProperties;
5782 typedef struct VkDeviceQueueInfo2 {
5783 VkStructureType sType;
5785 VkDeviceQueueCreateFlags flags;
5786 deUint32 queueFamilyIndex;
5787 deUint32 queueIndex;
5788 } VkDeviceQueueInfo2;
5790 typedef struct VkProtectedSubmitInfo {
5791 VkStructureType sType;
5793 VkBool32 protectedSubmit;
5794 } VkProtectedSubmitInfo;
5796 typedef struct VkSamplerYcbcrConversionCreateInfo {
5797 VkStructureType sType;
5800 VkSamplerYcbcrModelConversion ycbcrModel;
5801 VkSamplerYcbcrRange ycbcrRange;
5802 VkComponentMapping components;
5803 VkChromaLocation xChromaOffset;
5804 VkChromaLocation yChromaOffset;
5805 VkFilter chromaFilter;
5806 VkBool32 forceExplicitReconstruction;
5807 } VkSamplerYcbcrConversionCreateInfo;
5809 typedef struct VkSamplerYcbcrConversionInfo {
5810 VkStructureType sType;
5812 VkSamplerYcbcrConversion conversion;
5813 } VkSamplerYcbcrConversionInfo;
5815 typedef struct VkBindImagePlaneMemoryInfo {
5816 VkStructureType sType;
5818 VkImageAspectFlagBits planeAspect;
5819 } VkBindImagePlaneMemoryInfo;
5821 typedef struct VkImagePlaneMemoryRequirementsInfo {
5822 VkStructureType sType;
5824 VkImageAspectFlagBits planeAspect;
5825 } VkImagePlaneMemoryRequirementsInfo;
5827 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5828 VkStructureType sType;
5830 VkBool32 samplerYcbcrConversion;
5831 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5833 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5834 VkStructureType sType;
5836 deUint32 combinedImageSamplerDescriptorCount;
5837 } VkSamplerYcbcrConversionImageFormatProperties;
5839 typedef struct VkDescriptorUpdateTemplateEntry {
5840 deUint32 dstBinding;
5841 deUint32 dstArrayElement;
5842 deUint32 descriptorCount;
5843 VkDescriptorType descriptorType;
5846 } VkDescriptorUpdateTemplateEntry;
5848 typedef struct VkDescriptorUpdateTemplateCreateInfo {
5849 VkStructureType sType;
5851 VkDescriptorUpdateTemplateCreateFlags flags;
5852 deUint32 descriptorUpdateEntryCount;
5853 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5854 VkDescriptorUpdateTemplateType templateType;
5855 VkDescriptorSetLayout descriptorSetLayout;
5856 VkPipelineBindPoint pipelineBindPoint;
5857 VkPipelineLayout pipelineLayout;
5859 } VkDescriptorUpdateTemplateCreateInfo;
5861 typedef struct VkExternalMemoryProperties {
5862 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5863 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5864 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5865 } VkExternalMemoryProperties;
5867 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5868 VkStructureType sType;
5870 VkExternalMemoryHandleTypeFlagBits handleType;
5871 } VkPhysicalDeviceExternalImageFormatInfo;
5873 typedef struct VkExternalImageFormatProperties {
5874 VkStructureType sType;
5876 VkExternalMemoryProperties externalMemoryProperties;
5877 } VkExternalImageFormatProperties;
5879 typedef struct VkPhysicalDeviceExternalBufferInfo {
5880 VkStructureType sType;
5882 VkBufferCreateFlags flags;
5883 VkBufferUsageFlags usage;
5884 VkExternalMemoryHandleTypeFlagBits handleType;
5885 } VkPhysicalDeviceExternalBufferInfo;
5887 typedef struct VkExternalBufferProperties {
5888 VkStructureType sType;
5890 VkExternalMemoryProperties externalMemoryProperties;
5891 } VkExternalBufferProperties;
5893 typedef struct VkPhysicalDeviceIDProperties {
5894 VkStructureType sType;
5896 deUint8 deviceUUID[VK_UUID_SIZE];
5897 deUint8 driverUUID[VK_UUID_SIZE];
5898 deUint8 deviceLUID[VK_LUID_SIZE];
5899 deUint32 deviceNodeMask;
5900 VkBool32 deviceLUIDValid;
5901 } VkPhysicalDeviceIDProperties;
5903 typedef struct VkExternalMemoryImageCreateInfo {
5904 VkStructureType sType;
5906 VkExternalMemoryHandleTypeFlags handleTypes;
5907 } VkExternalMemoryImageCreateInfo;
5909 typedef struct VkExternalMemoryBufferCreateInfo {
5910 VkStructureType sType;
5912 VkExternalMemoryHandleTypeFlags handleTypes;
5913 } VkExternalMemoryBufferCreateInfo;
5915 typedef struct VkExportMemoryAllocateInfo {
5916 VkStructureType sType;
5918 VkExternalMemoryHandleTypeFlags handleTypes;
5919 } VkExportMemoryAllocateInfo;
5921 typedef struct VkPhysicalDeviceExternalFenceInfo {
5922 VkStructureType sType;
5924 VkExternalFenceHandleTypeFlagBits handleType;
5925 } VkPhysicalDeviceExternalFenceInfo;
5927 typedef struct VkExternalFenceProperties {
5928 VkStructureType sType;
5930 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5931 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5932 VkExternalFenceFeatureFlags externalFenceFeatures;
5933 } VkExternalFenceProperties;
5935 typedef struct VkExportFenceCreateInfo {
5936 VkStructureType sType;
5938 VkExternalFenceHandleTypeFlags handleTypes;
5939 } VkExportFenceCreateInfo;
5941 typedef struct VkExportSemaphoreCreateInfo {
5942 VkStructureType sType;
5944 VkExternalSemaphoreHandleTypeFlags handleTypes;
5945 } VkExportSemaphoreCreateInfo;
5947 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5948 VkStructureType sType;
5950 VkExternalSemaphoreHandleTypeFlagBits handleType;
5951 } VkPhysicalDeviceExternalSemaphoreInfo;
5953 typedef struct VkExternalSemaphoreProperties {
5954 VkStructureType sType;
5956 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5957 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5958 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5959 } VkExternalSemaphoreProperties;
5961 typedef struct VkPhysicalDeviceMaintenance3Properties {
5962 VkStructureType sType;
5964 deUint32 maxPerSetDescriptors;
5965 VkDeviceSize maxMemoryAllocationSize;
5966 } VkPhysicalDeviceMaintenance3Properties;
5968 typedef struct VkDescriptorSetLayoutSupport {
5969 VkStructureType sType;
5972 } VkDescriptorSetLayoutSupport;
5974 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5975 VkStructureType sType;
5977 VkBool32 shaderDrawParameters;
5978 } VkPhysicalDeviceShaderDrawParametersFeatures;
5980 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5982 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
5983 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5984 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5985 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5986 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
5987 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
5988 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5989 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5990 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
5991 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
5992 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
5993 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
5994 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
5995 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
5996 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
5997 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
5998 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
5999 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6000 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
6001 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6002 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6003 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6004 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6005 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6006 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6007 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6008 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6009 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
6011 #ifndef VK_NO_PROTOTYPES
6012 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
6013 deUint32* pApiVersion);
6015 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
6017 deUint32 bindInfoCount,
6018 const VkBindBufferMemoryInfo* pBindInfos);
6020 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
6022 deUint32 bindInfoCount,
6023 const VkBindImageMemoryInfo* pBindInfos);
6025 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
6028 deUint32 localDeviceIndex,
6029 deUint32 remoteDeviceIndex,
6030 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6032 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6033 VkCommandBuffer commandBuffer,
6034 deUint32 deviceMask);
6036 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6037 VkCommandBuffer commandBuffer,
6038 deUint32 baseGroupX,
6039 deUint32 baseGroupY,
6040 deUint32 baseGroupZ,
6041 deUint32 groupCountX,
6042 deUint32 groupCountY,
6043 deUint32 groupCountZ);
6045 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6046 VkInstance instance,
6047 deUint32* pPhysicalDeviceGroupCount,
6048 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6050 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6052 const VkImageMemoryRequirementsInfo2* pInfo,
6053 VkMemoryRequirements2* pMemoryRequirements);
6055 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6057 const VkBufferMemoryRequirementsInfo2* pInfo,
6058 VkMemoryRequirements2* pMemoryRequirements);
6060 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6062 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6063 deUint32* pSparseMemoryRequirementCount,
6064 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6066 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6067 VkPhysicalDevice physicalDevice,
6068 VkPhysicalDeviceFeatures2* pFeatures);
6070 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6071 VkPhysicalDevice physicalDevice,
6072 VkPhysicalDeviceProperties2* pProperties);
6074 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6075 VkPhysicalDevice physicalDevice,
6077 VkFormatProperties2* pFormatProperties);
6079 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6080 VkPhysicalDevice physicalDevice,
6081 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6082 VkImageFormatProperties2* pImageFormatProperties);
6084 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6085 VkPhysicalDevice physicalDevice,
6086 deUint32* pQueueFamilyPropertyCount,
6087 VkQueueFamilyProperties2* pQueueFamilyProperties);
6089 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6090 VkPhysicalDevice physicalDevice,
6091 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6093 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6094 VkPhysicalDevice physicalDevice,
6095 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6096 deUint32* pPropertyCount,
6097 VkSparseImageFormatProperties2* pProperties);
6099 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6101 VkCommandPool commandPool,
6102 VkCommandPoolTrimFlags flags);
6104 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6106 const VkDeviceQueueInfo2* pQueueInfo,
6109 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6111 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6112 const VkAllocationCallbacks* pAllocator,
6113 VkSamplerYcbcrConversion* pYcbcrConversion);
6115 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6117 VkSamplerYcbcrConversion ycbcrConversion,
6118 const VkAllocationCallbacks* pAllocator);
6120 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6122 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6123 const VkAllocationCallbacks* pAllocator,
6124 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6126 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6128 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6129 const VkAllocationCallbacks* pAllocator);
6131 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6133 VkDescriptorSet descriptorSet,
6134 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6137 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6138 VkPhysicalDevice physicalDevice,
6139 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6140 VkExternalBufferProperties* pExternalBufferProperties);
6142 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6143 VkPhysicalDevice physicalDevice,
6144 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6145 VkExternalFenceProperties* pExternalFenceProperties);
6147 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6148 VkPhysicalDevice physicalDevice,
6149 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6150 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6152 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6154 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6155 VkDescriptorSetLayoutSupport* pSupport);
6159 #define VK_VERSION_1_2 1
6160 // Vulkan 1.2 version number
6161 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6163 #define VK_MAX_DRIVER_NAME_SIZE 256U
6164 #define VK_MAX_DRIVER_INFO_SIZE 256U
6166 typedef enum VkDriverId {
6167 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6168 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6169 VK_DRIVER_ID_MESA_RADV = 3,
6170 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6171 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6172 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6173 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6174 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6175 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6176 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6177 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6178 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6179 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6180 VK_DRIVER_ID_MOLTENVK = 14,
6181 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6182 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
6183 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6184 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6185 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6186 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6187 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6188 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6189 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6190 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6191 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6192 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6193 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6194 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6195 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6198 typedef enum VkShaderFloatControlsIndependence {
6199 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6200 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6201 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6202 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6203 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6204 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6205 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6206 } VkShaderFloatControlsIndependence;
6208 typedef enum VkSamplerReductionMode {
6209 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6210 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6211 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6212 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6213 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6214 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6215 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6216 } VkSamplerReductionMode;
6218 typedef enum VkSemaphoreType {
6219 VK_SEMAPHORE_TYPE_BINARY = 0,
6220 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6221 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6222 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6223 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6226 typedef enum VkResolveModeFlagBits {
6227 VK_RESOLVE_MODE_NONE = 0,
6228 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6229 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6230 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6231 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6232 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6233 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6234 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6235 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6236 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6237 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6238 } VkResolveModeFlagBits;
6239 typedef VkFlags VkResolveModeFlags;
6241 typedef enum VkDescriptorBindingFlagBits {
6242 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6243 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6244 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6245 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6246 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6247 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6248 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6249 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6250 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6251 } VkDescriptorBindingFlagBits;
6252 typedef VkFlags VkDescriptorBindingFlags;
6254 typedef enum VkSemaphoreWaitFlagBits {
6255 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6256 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6257 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6258 } VkSemaphoreWaitFlagBits;
6259 typedef VkFlags VkSemaphoreWaitFlags;
6260 typedef struct VkPhysicalDeviceVulkan11Features {
6261 VkStructureType sType;
6263 VkBool32 storageBuffer16BitAccess;
6264 VkBool32 uniformAndStorageBuffer16BitAccess;
6265 VkBool32 storagePushConstant16;
6266 VkBool32 storageInputOutput16;
6268 VkBool32 multiviewGeometryShader;
6269 VkBool32 multiviewTessellationShader;
6270 VkBool32 variablePointersStorageBuffer;
6271 VkBool32 variablePointers;
6272 VkBool32 protectedMemory;
6273 VkBool32 samplerYcbcrConversion;
6274 VkBool32 shaderDrawParameters;
6275 } VkPhysicalDeviceVulkan11Features;
6277 typedef struct VkPhysicalDeviceVulkan11Properties {
6278 VkStructureType sType;
6280 deUint8 deviceUUID[VK_UUID_SIZE];
6281 deUint8 driverUUID[VK_UUID_SIZE];
6282 deUint8 deviceLUID[VK_LUID_SIZE];
6283 deUint32 deviceNodeMask;
6284 VkBool32 deviceLUIDValid;
6285 deUint32 subgroupSize;
6286 VkShaderStageFlags subgroupSupportedStages;
6287 VkSubgroupFeatureFlags subgroupSupportedOperations;
6288 VkBool32 subgroupQuadOperationsInAllStages;
6289 VkPointClippingBehavior pointClippingBehavior;
6290 deUint32 maxMultiviewViewCount;
6291 deUint32 maxMultiviewInstanceIndex;
6292 VkBool32 protectedNoFault;
6293 deUint32 maxPerSetDescriptors;
6294 VkDeviceSize maxMemoryAllocationSize;
6295 } VkPhysicalDeviceVulkan11Properties;
6297 typedef struct VkPhysicalDeviceVulkan12Features {
6298 VkStructureType sType;
6300 VkBool32 samplerMirrorClampToEdge;
6301 VkBool32 drawIndirectCount;
6302 VkBool32 storageBuffer8BitAccess;
6303 VkBool32 uniformAndStorageBuffer8BitAccess;
6304 VkBool32 storagePushConstant8;
6305 VkBool32 shaderBufferInt64Atomics;
6306 VkBool32 shaderSharedInt64Atomics;
6307 VkBool32 shaderFloat16;
6308 VkBool32 shaderInt8;
6309 VkBool32 descriptorIndexing;
6310 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6311 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6312 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6313 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6314 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6315 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6316 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6317 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6318 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6319 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6320 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6321 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6322 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6323 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6324 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6325 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6326 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6327 VkBool32 descriptorBindingPartiallyBound;
6328 VkBool32 descriptorBindingVariableDescriptorCount;
6329 VkBool32 runtimeDescriptorArray;
6330 VkBool32 samplerFilterMinmax;
6331 VkBool32 scalarBlockLayout;
6332 VkBool32 imagelessFramebuffer;
6333 VkBool32 uniformBufferStandardLayout;
6334 VkBool32 shaderSubgroupExtendedTypes;
6335 VkBool32 separateDepthStencilLayouts;
6336 VkBool32 hostQueryReset;
6337 VkBool32 timelineSemaphore;
6338 VkBool32 bufferDeviceAddress;
6339 VkBool32 bufferDeviceAddressCaptureReplay;
6340 VkBool32 bufferDeviceAddressMultiDevice;
6341 VkBool32 vulkanMemoryModel;
6342 VkBool32 vulkanMemoryModelDeviceScope;
6343 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6344 VkBool32 shaderOutputViewportIndex;
6345 VkBool32 shaderOutputLayer;
6346 VkBool32 subgroupBroadcastDynamicId;
6347 } VkPhysicalDeviceVulkan12Features;
6349 typedef struct VkConformanceVersion {
6354 } VkConformanceVersion;
6356 typedef struct VkPhysicalDeviceVulkan12Properties {
6357 VkStructureType sType;
6359 VkDriverId driverID;
6360 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6361 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6362 VkConformanceVersion conformanceVersion;
6363 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6364 VkShaderFloatControlsIndependence roundingModeIndependence;
6365 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6366 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6367 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6368 VkBool32 shaderDenormPreserveFloat16;
6369 VkBool32 shaderDenormPreserveFloat32;
6370 VkBool32 shaderDenormPreserveFloat64;
6371 VkBool32 shaderDenormFlushToZeroFloat16;
6372 VkBool32 shaderDenormFlushToZeroFloat32;
6373 VkBool32 shaderDenormFlushToZeroFloat64;
6374 VkBool32 shaderRoundingModeRTEFloat16;
6375 VkBool32 shaderRoundingModeRTEFloat32;
6376 VkBool32 shaderRoundingModeRTEFloat64;
6377 VkBool32 shaderRoundingModeRTZFloat16;
6378 VkBool32 shaderRoundingModeRTZFloat32;
6379 VkBool32 shaderRoundingModeRTZFloat64;
6380 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6381 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6382 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6383 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6384 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6385 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6386 VkBool32 robustBufferAccessUpdateAfterBind;
6387 VkBool32 quadDivergentImplicitLod;
6388 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6389 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6390 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6391 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6392 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6393 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6394 deUint32 maxPerStageUpdateAfterBindResources;
6395 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6396 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6397 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6398 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6399 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6400 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6401 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6402 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6403 VkResolveModeFlags supportedDepthResolveModes;
6404 VkResolveModeFlags supportedStencilResolveModes;
6405 VkBool32 independentResolveNone;
6406 VkBool32 independentResolve;
6407 VkBool32 filterMinmaxSingleComponentFormats;
6408 VkBool32 filterMinmaxImageComponentMapping;
6409 deUint64 maxTimelineSemaphoreValueDifference;
6410 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6411 } VkPhysicalDeviceVulkan12Properties;
6413 typedef struct VkImageFormatListCreateInfo {
6414 VkStructureType sType;
6416 deUint32 viewFormatCount;
6417 const VkFormat* pViewFormats;
6418 } VkImageFormatListCreateInfo;
6420 typedef struct VkAttachmentDescription2 {
6421 VkStructureType sType;
6423 VkAttachmentDescriptionFlags flags;
6425 VkSampleCountFlagBits samples;
6426 VkAttachmentLoadOp loadOp;
6427 VkAttachmentStoreOp storeOp;
6428 VkAttachmentLoadOp stencilLoadOp;
6429 VkAttachmentStoreOp stencilStoreOp;
6430 VkImageLayout initialLayout;
6431 VkImageLayout finalLayout;
6432 } VkAttachmentDescription2;
6434 typedef struct VkAttachmentReference2 {
6435 VkStructureType sType;
6437 deUint32 attachment;
6438 VkImageLayout layout;
6439 VkImageAspectFlags aspectMask;
6440 } VkAttachmentReference2;
6442 typedef struct VkSubpassDescription2 {
6443 VkStructureType sType;
6445 VkSubpassDescriptionFlags flags;
6446 VkPipelineBindPoint pipelineBindPoint;
6448 deUint32 inputAttachmentCount;
6449 const VkAttachmentReference2* pInputAttachments;
6450 deUint32 colorAttachmentCount;
6451 const VkAttachmentReference2* pColorAttachments;
6452 const VkAttachmentReference2* pResolveAttachments;
6453 const VkAttachmentReference2* pDepthStencilAttachment;
6454 deUint32 preserveAttachmentCount;
6455 const deUint32* pPreserveAttachments;
6456 } VkSubpassDescription2;
6458 typedef struct VkSubpassDependency2 {
6459 VkStructureType sType;
6461 deUint32 srcSubpass;
6462 deUint32 dstSubpass;
6463 VkPipelineStageFlags srcStageMask;
6464 VkPipelineStageFlags dstStageMask;
6465 VkAccessFlags srcAccessMask;
6466 VkAccessFlags dstAccessMask;
6467 VkDependencyFlags dependencyFlags;
6469 } VkSubpassDependency2;
6471 typedef struct VkRenderPassCreateInfo2 {
6472 VkStructureType sType;
6474 VkRenderPassCreateFlags flags;
6475 deUint32 attachmentCount;
6476 const VkAttachmentDescription2* pAttachments;
6477 deUint32 subpassCount;
6478 const VkSubpassDescription2* pSubpasses;
6479 deUint32 dependencyCount;
6480 const VkSubpassDependency2* pDependencies;
6481 deUint32 correlatedViewMaskCount;
6482 const deUint32* pCorrelatedViewMasks;
6483 } VkRenderPassCreateInfo2;
6485 typedef struct VkSubpassBeginInfo {
6486 VkStructureType sType;
6488 VkSubpassContents contents;
6489 } VkSubpassBeginInfo;
6491 typedef struct VkSubpassEndInfo {
6492 VkStructureType sType;
6496 typedef struct VkPhysicalDevice8BitStorageFeatures {
6497 VkStructureType sType;
6499 VkBool32 storageBuffer8BitAccess;
6500 VkBool32 uniformAndStorageBuffer8BitAccess;
6501 VkBool32 storagePushConstant8;
6502 } VkPhysicalDevice8BitStorageFeatures;
6504 typedef struct VkPhysicalDeviceDriverProperties {
6505 VkStructureType sType;
6507 VkDriverId driverID;
6508 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6509 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6510 VkConformanceVersion conformanceVersion;
6511 } VkPhysicalDeviceDriverProperties;
6513 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6514 VkStructureType sType;
6516 VkBool32 shaderBufferInt64Atomics;
6517 VkBool32 shaderSharedInt64Atomics;
6518 } VkPhysicalDeviceShaderAtomicInt64Features;
6520 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6521 VkStructureType sType;
6523 VkBool32 shaderFloat16;
6524 VkBool32 shaderInt8;
6525 } VkPhysicalDeviceShaderFloat16Int8Features;
6527 typedef struct VkPhysicalDeviceFloatControlsProperties {
6528 VkStructureType sType;
6530 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6531 VkShaderFloatControlsIndependence roundingModeIndependence;
6532 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6533 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6534 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6535 VkBool32 shaderDenormPreserveFloat16;
6536 VkBool32 shaderDenormPreserveFloat32;
6537 VkBool32 shaderDenormPreserveFloat64;
6538 VkBool32 shaderDenormFlushToZeroFloat16;
6539 VkBool32 shaderDenormFlushToZeroFloat32;
6540 VkBool32 shaderDenormFlushToZeroFloat64;
6541 VkBool32 shaderRoundingModeRTEFloat16;
6542 VkBool32 shaderRoundingModeRTEFloat32;
6543 VkBool32 shaderRoundingModeRTEFloat64;
6544 VkBool32 shaderRoundingModeRTZFloat16;
6545 VkBool32 shaderRoundingModeRTZFloat32;
6546 VkBool32 shaderRoundingModeRTZFloat64;
6547 } VkPhysicalDeviceFloatControlsProperties;
6549 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6550 VkStructureType sType;
6552 deUint32 bindingCount;
6553 const VkDescriptorBindingFlags* pBindingFlags;
6554 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6556 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6557 VkStructureType sType;
6559 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6560 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6561 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6562 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6563 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6564 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6565 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6566 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6567 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6568 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6569 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6570 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6571 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6572 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6573 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6574 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6575 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6576 VkBool32 descriptorBindingPartiallyBound;
6577 VkBool32 descriptorBindingVariableDescriptorCount;
6578 VkBool32 runtimeDescriptorArray;
6579 } VkPhysicalDeviceDescriptorIndexingFeatures;
6581 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6582 VkStructureType sType;
6584 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6585 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6586 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6587 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6588 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6589 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6590 VkBool32 robustBufferAccessUpdateAfterBind;
6591 VkBool32 quadDivergentImplicitLod;
6592 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6593 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6594 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6595 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6596 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6597 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6598 deUint32 maxPerStageUpdateAfterBindResources;
6599 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6600 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6601 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6602 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6603 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6604 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6605 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6606 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6607 } VkPhysicalDeviceDescriptorIndexingProperties;
6609 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6610 VkStructureType sType;
6612 deUint32 descriptorSetCount;
6613 const deUint32* pDescriptorCounts;
6614 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6616 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6617 VkStructureType sType;
6619 deUint32 maxVariableDescriptorCount;
6620 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6622 typedef struct VkSubpassDescriptionDepthStencilResolve {
6623 VkStructureType sType;
6625 VkResolveModeFlagBits depthResolveMode;
6626 VkResolveModeFlagBits stencilResolveMode;
6627 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6628 } VkSubpassDescriptionDepthStencilResolve;
6630 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6631 VkStructureType sType;
6633 VkResolveModeFlags supportedDepthResolveModes;
6634 VkResolveModeFlags supportedStencilResolveModes;
6635 VkBool32 independentResolveNone;
6636 VkBool32 independentResolve;
6637 } VkPhysicalDeviceDepthStencilResolveProperties;
6639 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6640 VkStructureType sType;
6642 VkBool32 scalarBlockLayout;
6643 } VkPhysicalDeviceScalarBlockLayoutFeatures;
6645 typedef struct VkImageStencilUsageCreateInfo {
6646 VkStructureType sType;
6648 VkImageUsageFlags stencilUsage;
6649 } VkImageStencilUsageCreateInfo;
6651 typedef struct VkSamplerReductionModeCreateInfo {
6652 VkStructureType sType;
6654 VkSamplerReductionMode reductionMode;
6655 } VkSamplerReductionModeCreateInfo;
6657 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6658 VkStructureType sType;
6660 VkBool32 filterMinmaxSingleComponentFormats;
6661 VkBool32 filterMinmaxImageComponentMapping;
6662 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
6664 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6665 VkStructureType sType;
6667 VkBool32 vulkanMemoryModel;
6668 VkBool32 vulkanMemoryModelDeviceScope;
6669 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6670 } VkPhysicalDeviceVulkanMemoryModelFeatures;
6672 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6673 VkStructureType sType;
6675 VkBool32 imagelessFramebuffer;
6676 } VkPhysicalDeviceImagelessFramebufferFeatures;
6678 typedef struct VkFramebufferAttachmentImageInfo {
6679 VkStructureType sType;
6681 VkImageCreateFlags flags;
6682 VkImageUsageFlags usage;
6685 deUint32 layerCount;
6686 deUint32 viewFormatCount;
6687 const VkFormat* pViewFormats;
6688 } VkFramebufferAttachmentImageInfo;
6690 typedef struct VkFramebufferAttachmentsCreateInfo {
6691 VkStructureType sType;
6693 deUint32 attachmentImageInfoCount;
6694 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6695 } VkFramebufferAttachmentsCreateInfo;
6697 typedef struct VkRenderPassAttachmentBeginInfo {
6698 VkStructureType sType;
6700 deUint32 attachmentCount;
6701 const VkImageView* pAttachments;
6702 } VkRenderPassAttachmentBeginInfo;
6704 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6705 VkStructureType sType;
6707 VkBool32 uniformBufferStandardLayout;
6708 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6710 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6711 VkStructureType sType;
6713 VkBool32 shaderSubgroupExtendedTypes;
6714 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6716 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6717 VkStructureType sType;
6719 VkBool32 separateDepthStencilLayouts;
6720 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6722 typedef struct VkAttachmentReferenceStencilLayout {
6723 VkStructureType sType;
6725 VkImageLayout stencilLayout;
6726 } VkAttachmentReferenceStencilLayout;
6728 typedef struct VkAttachmentDescriptionStencilLayout {
6729 VkStructureType sType;
6731 VkImageLayout stencilInitialLayout;
6732 VkImageLayout stencilFinalLayout;
6733 } VkAttachmentDescriptionStencilLayout;
6735 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6736 VkStructureType sType;
6738 VkBool32 hostQueryReset;
6739 } VkPhysicalDeviceHostQueryResetFeatures;
6741 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6742 VkStructureType sType;
6744 VkBool32 timelineSemaphore;
6745 } VkPhysicalDeviceTimelineSemaphoreFeatures;
6747 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6748 VkStructureType sType;
6750 deUint64 maxTimelineSemaphoreValueDifference;
6751 } VkPhysicalDeviceTimelineSemaphoreProperties;
6753 typedef struct VkSemaphoreTypeCreateInfo {
6754 VkStructureType sType;
6756 VkSemaphoreType semaphoreType;
6757 deUint64 initialValue;
6758 } VkSemaphoreTypeCreateInfo;
6760 typedef struct VkTimelineSemaphoreSubmitInfo {
6761 VkStructureType sType;
6763 deUint32 waitSemaphoreValueCount;
6764 const deUint64* pWaitSemaphoreValues;
6765 deUint32 signalSemaphoreValueCount;
6766 const deUint64* pSignalSemaphoreValues;
6767 } VkTimelineSemaphoreSubmitInfo;
6769 typedef struct VkSemaphoreWaitInfo {
6770 VkStructureType sType;
6772 VkSemaphoreWaitFlags flags;
6773 deUint32 semaphoreCount;
6774 const VkSemaphore* pSemaphores;
6775 const deUint64* pValues;
6776 } VkSemaphoreWaitInfo;
6778 typedef struct VkSemaphoreSignalInfo {
6779 VkStructureType sType;
6781 VkSemaphore semaphore;
6783 } VkSemaphoreSignalInfo;
6785 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6786 VkStructureType sType;
6788 VkBool32 bufferDeviceAddress;
6789 VkBool32 bufferDeviceAddressCaptureReplay;
6790 VkBool32 bufferDeviceAddressMultiDevice;
6791 } VkPhysicalDeviceBufferDeviceAddressFeatures;
6793 typedef struct VkBufferDeviceAddressInfo {
6794 VkStructureType sType;
6797 } VkBufferDeviceAddressInfo;
6799 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6800 VkStructureType sType;
6802 deUint64 opaqueCaptureAddress;
6803 } VkBufferOpaqueCaptureAddressCreateInfo;
6805 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6806 VkStructureType sType;
6808 deUint64 opaqueCaptureAddress;
6809 } VkMemoryOpaqueCaptureAddressAllocateInfo;
6811 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6812 VkStructureType sType;
6814 VkDeviceMemory memory;
6815 } VkDeviceMemoryOpaqueCaptureAddressInfo;
6817 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6818 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6819 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6820 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6821 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6822 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6823 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
6824 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
6825 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
6826 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6827 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6828 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6829 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6831 #ifndef VK_NO_PROTOTYPES
6832 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6833 VkCommandBuffer commandBuffer,
6835 VkDeviceSize offset,
6836 VkBuffer countBuffer,
6837 VkDeviceSize countBufferOffset,
6838 deUint32 maxDrawCount,
6841 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6842 VkCommandBuffer commandBuffer,
6844 VkDeviceSize offset,
6845 VkBuffer countBuffer,
6846 VkDeviceSize countBufferOffset,
6847 deUint32 maxDrawCount,
6850 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6852 const VkRenderPassCreateInfo2* pCreateInfo,
6853 const VkAllocationCallbacks* pAllocator,
6854 VkRenderPass* pRenderPass);
6856 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6857 VkCommandBuffer commandBuffer,
6858 const VkRenderPassBeginInfo* pRenderPassBegin,
6859 const VkSubpassBeginInfo* pSubpassBeginInfo);
6861 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6862 VkCommandBuffer commandBuffer,
6863 const VkSubpassBeginInfo* pSubpassBeginInfo,
6864 const VkSubpassEndInfo* pSubpassEndInfo);
6866 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6867 VkCommandBuffer commandBuffer,
6868 const VkSubpassEndInfo* pSubpassEndInfo);
6870 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6872 VkQueryPool queryPool,
6873 deUint32 firstQuery,
6874 deUint32 queryCount);
6876 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6878 VkSemaphore semaphore,
6881 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6883 const VkSemaphoreWaitInfo* pWaitInfo,
6886 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6888 const VkSemaphoreSignalInfo* pSignalInfo);
6890 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6892 const VkBufferDeviceAddressInfo* pInfo);
6894 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6896 const VkBufferDeviceAddressInfo* pInfo);
6898 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6900 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6904 #define VK_KHR_surface 1
6905 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6906 #define VK_KHR_SURFACE_SPEC_VERSION 25
6907 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6909 typedef enum VkPresentModeKHR {
6910 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6911 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6912 VK_PRESENT_MODE_FIFO_KHR = 2,
6913 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6914 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6915 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6916 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6919 typedef enum VkColorSpaceKHR {
6920 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6921 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6922 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6923 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6924 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6925 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6926 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6927 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6928 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6929 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6930 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6931 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6932 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6933 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6934 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6935 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6936 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6937 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6938 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6941 typedef enum VkSurfaceTransformFlagBitsKHR {
6942 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6943 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6944 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6945 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6946 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6947 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6948 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6949 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6950 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6951 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6952 } VkSurfaceTransformFlagBitsKHR;
6954 typedef enum VkCompositeAlphaFlagBitsKHR {
6955 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6956 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6957 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6958 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6959 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6960 } VkCompositeAlphaFlagBitsKHR;
6961 typedef VkFlags VkCompositeAlphaFlagsKHR;
6962 typedef VkFlags VkSurfaceTransformFlagsKHR;
6963 typedef struct VkSurfaceCapabilitiesKHR {
6964 deUint32 minImageCount;
6965 deUint32 maxImageCount;
6966 VkExtent2D currentExtent;
6967 VkExtent2D minImageExtent;
6968 VkExtent2D maxImageExtent;
6969 deUint32 maxImageArrayLayers;
6970 VkSurfaceTransformFlagsKHR supportedTransforms;
6971 VkSurfaceTransformFlagBitsKHR currentTransform;
6972 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6973 VkImageUsageFlags supportedUsageFlags;
6974 } VkSurfaceCapabilitiesKHR;
6976 typedef struct VkSurfaceFormatKHR {
6978 VkColorSpaceKHR colorSpace;
6979 } VkSurfaceFormatKHR;
6981 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6982 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6983 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6984 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6985 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6987 #ifndef VK_NO_PROTOTYPES
6988 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
6989 VkInstance instance,
6990 VkSurfaceKHR surface,
6991 const VkAllocationCallbacks* pAllocator);
6993 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
6994 VkPhysicalDevice physicalDevice,
6995 deUint32 queueFamilyIndex,
6996 VkSurfaceKHR surface,
6997 VkBool32* pSupported);
6999 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
7000 VkPhysicalDevice physicalDevice,
7001 VkSurfaceKHR surface,
7002 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7004 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
7005 VkPhysicalDevice physicalDevice,
7006 VkSurfaceKHR surface,
7007 deUint32* pSurfaceFormatCount,
7008 VkSurfaceFormatKHR* pSurfaceFormats);
7010 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
7011 VkPhysicalDevice physicalDevice,
7012 VkSurfaceKHR surface,
7013 deUint32* pPresentModeCount,
7014 VkPresentModeKHR* pPresentModes);
7018 #define VK_KHR_swapchain 1
7019 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
7020 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
7021 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
7023 typedef enum VkSwapchainCreateFlagBitsKHR {
7024 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
7025 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
7026 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
7027 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7028 } VkSwapchainCreateFlagBitsKHR;
7029 typedef VkFlags VkSwapchainCreateFlagsKHR;
7031 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
7032 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
7033 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
7034 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
7035 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7036 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7037 } VkDeviceGroupPresentModeFlagBitsKHR;
7038 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7039 typedef struct VkSwapchainCreateInfoKHR {
7040 VkStructureType sType;
7042 VkSwapchainCreateFlagsKHR flags;
7043 VkSurfaceKHR surface;
7044 deUint32 minImageCount;
7045 VkFormat imageFormat;
7046 VkColorSpaceKHR imageColorSpace;
7047 VkExtent2D imageExtent;
7048 deUint32 imageArrayLayers;
7049 VkImageUsageFlags imageUsage;
7050 VkSharingMode imageSharingMode;
7051 deUint32 queueFamilyIndexCount;
7052 const deUint32* pQueueFamilyIndices;
7053 VkSurfaceTransformFlagBitsKHR preTransform;
7054 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7055 VkPresentModeKHR presentMode;
7057 VkSwapchainKHR oldSwapchain;
7058 } VkSwapchainCreateInfoKHR;
7060 typedef struct VkPresentInfoKHR {
7061 VkStructureType sType;
7063 deUint32 waitSemaphoreCount;
7064 const VkSemaphore* pWaitSemaphores;
7065 deUint32 swapchainCount;
7066 const VkSwapchainKHR* pSwapchains;
7067 const deUint32* pImageIndices;
7071 typedef struct VkImageSwapchainCreateInfoKHR {
7072 VkStructureType sType;
7074 VkSwapchainKHR swapchain;
7075 } VkImageSwapchainCreateInfoKHR;
7077 typedef struct VkBindImageMemorySwapchainInfoKHR {
7078 VkStructureType sType;
7080 VkSwapchainKHR swapchain;
7081 deUint32 imageIndex;
7082 } VkBindImageMemorySwapchainInfoKHR;
7084 typedef struct VkAcquireNextImageInfoKHR {
7085 VkStructureType sType;
7087 VkSwapchainKHR swapchain;
7089 VkSemaphore semaphore;
7091 deUint32 deviceMask;
7092 } VkAcquireNextImageInfoKHR;
7094 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7095 VkStructureType sType;
7097 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7098 VkDeviceGroupPresentModeFlagsKHR modes;
7099 } VkDeviceGroupPresentCapabilitiesKHR;
7101 typedef struct VkDeviceGroupPresentInfoKHR {
7102 VkStructureType sType;
7104 deUint32 swapchainCount;
7105 const deUint32* pDeviceMasks;
7106 VkDeviceGroupPresentModeFlagBitsKHR mode;
7107 } VkDeviceGroupPresentInfoKHR;
7109 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7110 VkStructureType sType;
7112 VkDeviceGroupPresentModeFlagsKHR modes;
7113 } VkDeviceGroupSwapchainCreateInfoKHR;
7115 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7116 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7117 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
7118 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
7119 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7120 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7121 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7122 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
7123 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
7125 #ifndef VK_NO_PROTOTYPES
7126 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7128 const VkSwapchainCreateInfoKHR* pCreateInfo,
7129 const VkAllocationCallbacks* pAllocator,
7130 VkSwapchainKHR* pSwapchain);
7132 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7134 VkSwapchainKHR swapchain,
7135 const VkAllocationCallbacks* pAllocator);
7137 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7139 VkSwapchainKHR swapchain,
7140 deUint32* pSwapchainImageCount,
7141 VkImage* pSwapchainImages);
7143 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7145 VkSwapchainKHR swapchain,
7147 VkSemaphore semaphore,
7149 deUint32* pImageIndex);
7151 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7153 const VkPresentInfoKHR* pPresentInfo);
7155 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7157 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7159 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7161 VkSurfaceKHR surface,
7162 VkDeviceGroupPresentModeFlagsKHR* pModes);
7164 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7165 VkPhysicalDevice physicalDevice,
7166 VkSurfaceKHR surface,
7167 deUint32* pRectCount,
7170 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7172 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7173 deUint32* pImageIndex);
7177 #define VK_KHR_display 1
7178 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7179 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7180 #define VK_KHR_DISPLAY_SPEC_VERSION 23
7181 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7182 typedef VkFlags VkDisplayModeCreateFlagsKHR;
7184 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7185 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7186 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7187 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7188 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7189 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7190 } VkDisplayPlaneAlphaFlagBitsKHR;
7191 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7192 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7193 typedef struct VkDisplayModeParametersKHR {
7194 VkExtent2D visibleRegion;
7195 deUint32 refreshRate;
7196 } VkDisplayModeParametersKHR;
7198 typedef struct VkDisplayModeCreateInfoKHR {
7199 VkStructureType sType;
7201 VkDisplayModeCreateFlagsKHR flags;
7202 VkDisplayModeParametersKHR parameters;
7203 } VkDisplayModeCreateInfoKHR;
7205 typedef struct VkDisplayModePropertiesKHR {
7206 VkDisplayModeKHR displayMode;
7207 VkDisplayModeParametersKHR parameters;
7208 } VkDisplayModePropertiesKHR;
7210 typedef struct VkDisplayPlaneCapabilitiesKHR {
7211 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7212 VkOffset2D minSrcPosition;
7213 VkOffset2D maxSrcPosition;
7214 VkExtent2D minSrcExtent;
7215 VkExtent2D maxSrcExtent;
7216 VkOffset2D minDstPosition;
7217 VkOffset2D maxDstPosition;
7218 VkExtent2D minDstExtent;
7219 VkExtent2D maxDstExtent;
7220 } VkDisplayPlaneCapabilitiesKHR;
7222 typedef struct VkDisplayPlanePropertiesKHR {
7223 VkDisplayKHR currentDisplay;
7224 deUint32 currentStackIndex;
7225 } VkDisplayPlanePropertiesKHR;
7227 typedef struct VkDisplayPropertiesKHR {
7228 VkDisplayKHR display;
7229 const char* displayName;
7230 VkExtent2D physicalDimensions;
7231 VkExtent2D physicalResolution;
7232 VkSurfaceTransformFlagsKHR supportedTransforms;
7233 VkBool32 planeReorderPossible;
7234 VkBool32 persistentContent;
7235 } VkDisplayPropertiesKHR;
7237 typedef struct VkDisplaySurfaceCreateInfoKHR {
7238 VkStructureType sType;
7240 VkDisplaySurfaceCreateFlagsKHR flags;
7241 VkDisplayModeKHR displayMode;
7242 deUint32 planeIndex;
7243 deUint32 planeStackIndex;
7244 VkSurfaceTransformFlagBitsKHR transform;
7246 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7247 VkExtent2D imageExtent;
7248 } VkDisplaySurfaceCreateInfoKHR;
7250 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7251 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7252 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
7253 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7254 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7255 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7256 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7258 #ifndef VK_NO_PROTOTYPES
7259 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7260 VkPhysicalDevice physicalDevice,
7261 deUint32* pPropertyCount,
7262 VkDisplayPropertiesKHR* pProperties);
7264 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7265 VkPhysicalDevice physicalDevice,
7266 deUint32* pPropertyCount,
7267 VkDisplayPlanePropertiesKHR* pProperties);
7269 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7270 VkPhysicalDevice physicalDevice,
7271 deUint32 planeIndex,
7272 deUint32* pDisplayCount,
7273 VkDisplayKHR* pDisplays);
7275 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7276 VkPhysicalDevice physicalDevice,
7277 VkDisplayKHR display,
7278 deUint32* pPropertyCount,
7279 VkDisplayModePropertiesKHR* pProperties);
7281 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7282 VkPhysicalDevice physicalDevice,
7283 VkDisplayKHR display,
7284 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7285 const VkAllocationCallbacks* pAllocator,
7286 VkDisplayModeKHR* pMode);
7288 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7289 VkPhysicalDevice physicalDevice,
7290 VkDisplayModeKHR mode,
7291 deUint32 planeIndex,
7292 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7294 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7295 VkInstance instance,
7296 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7297 const VkAllocationCallbacks* pAllocator,
7298 VkSurfaceKHR* pSurface);
7302 #define VK_KHR_display_swapchain 1
7303 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7304 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7305 typedef struct VkDisplayPresentInfoKHR {
7306 VkStructureType sType;
7310 VkBool32 persistent;
7311 } VkDisplayPresentInfoKHR;
7313 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7315 #ifndef VK_NO_PROTOTYPES
7316 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7318 deUint32 swapchainCount,
7319 const VkSwapchainCreateInfoKHR* pCreateInfos,
7320 const VkAllocationCallbacks* pAllocator,
7321 VkSwapchainKHR* pSwapchains);
7325 #define VK_KHR_sampler_mirror_clamp_to_edge 1
7326 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7327 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7330 #define VK_KHR_multiview 1
7331 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
7332 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
7333 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
7335 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
7337 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
7341 #define VK_KHR_get_physical_device_properties2 1
7342 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
7343 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
7344 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
7346 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
7348 typedef VkFormatProperties2 VkFormatProperties2KHR;
7350 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
7352 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
7354 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
7356 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
7358 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
7360 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
7362 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
7363 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
7364 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
7365 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
7366 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
7367 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7368 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
7370 #ifndef VK_NO_PROTOTYPES
7371 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
7372 VkPhysicalDevice physicalDevice,
7373 VkPhysicalDeviceFeatures2* pFeatures);
7375 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
7376 VkPhysicalDevice physicalDevice,
7377 VkPhysicalDeviceProperties2* pProperties);
7379 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
7380 VkPhysicalDevice physicalDevice,
7382 VkFormatProperties2* pFormatProperties);
7384 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
7385 VkPhysicalDevice physicalDevice,
7386 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
7387 VkImageFormatProperties2* pImageFormatProperties);
7389 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7390 VkPhysicalDevice physicalDevice,
7391 deUint32* pQueueFamilyPropertyCount,
7392 VkQueueFamilyProperties2* pQueueFamilyProperties);
7394 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
7395 VkPhysicalDevice physicalDevice,
7396 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7398 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7399 VkPhysicalDevice physicalDevice,
7400 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
7401 deUint32* pPropertyCount,
7402 VkSparseImageFormatProperties2* pProperties);
7406 #define VK_KHR_device_group 1
7407 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
7408 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
7409 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
7411 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
7413 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
7415 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
7417 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
7419 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
7421 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
7423 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
7425 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
7427 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
7429 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
7431 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7432 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
7433 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
7435 #ifndef VK_NO_PROTOTYPES
7436 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
7439 deUint32 localDeviceIndex,
7440 deUint32 remoteDeviceIndex,
7441 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7443 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
7444 VkCommandBuffer commandBuffer,
7445 deUint32 deviceMask);
7447 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
7448 VkCommandBuffer commandBuffer,
7449 deUint32 baseGroupX,
7450 deUint32 baseGroupY,
7451 deUint32 baseGroupZ,
7452 deUint32 groupCountX,
7453 deUint32 groupCountY,
7454 deUint32 groupCountZ);
7458 #define VK_KHR_shader_draw_parameters 1
7459 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
7460 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
7463 #define VK_KHR_maintenance1 1
7464 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
7465 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
7466 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
7468 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
7470 #ifndef VK_NO_PROTOTYPES
7471 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
7473 VkCommandPool commandPool,
7474 VkCommandPoolTrimFlags flags);
7478 #define VK_KHR_device_group_creation 1
7479 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
7480 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
7481 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
7482 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
7484 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
7486 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7488 #ifndef VK_NO_PROTOTYPES
7489 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
7490 VkInstance instance,
7491 deUint32* pPhysicalDeviceGroupCount,
7492 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7496 #define VK_KHR_external_memory_capabilities 1
7497 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7498 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
7499 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
7500 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
7502 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
7504 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
7506 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
7508 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
7510 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
7512 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
7514 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
7516 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
7518 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
7520 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
7522 #ifndef VK_NO_PROTOTYPES
7523 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7524 VkPhysicalDevice physicalDevice,
7525 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
7526 VkExternalBufferProperties* pExternalBufferProperties);
7530 #define VK_KHR_external_memory 1
7531 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
7532 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
7533 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
7534 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
7536 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
7538 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
7542 #define VK_KHR_external_memory_fd 1
7543 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
7544 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
7545 typedef struct VkImportMemoryFdInfoKHR {
7546 VkStructureType sType;
7548 VkExternalMemoryHandleTypeFlagBits handleType;
7550 } VkImportMemoryFdInfoKHR;
7552 typedef struct VkMemoryFdPropertiesKHR {
7553 VkStructureType sType;
7555 deUint32 memoryTypeBits;
7556 } VkMemoryFdPropertiesKHR;
7558 typedef struct VkMemoryGetFdInfoKHR {
7559 VkStructureType sType;
7561 VkDeviceMemory memory;
7562 VkExternalMemoryHandleTypeFlagBits handleType;
7563 } VkMemoryGetFdInfoKHR;
7565 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
7566 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7568 #ifndef VK_NO_PROTOTYPES
7569 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
7571 const VkMemoryGetFdInfoKHR* pGetFdInfo,
7574 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
7576 VkExternalMemoryHandleTypeFlagBits handleType,
7578 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7582 #define VK_KHR_external_semaphore_capabilities 1
7583 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
7584 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
7585 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
7587 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
7589 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
7591 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
7593 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
7595 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
7597 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7599 #ifndef VK_NO_PROTOTYPES
7600 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
7601 VkPhysicalDevice physicalDevice,
7602 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
7603 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7607 #define VK_KHR_external_semaphore 1
7608 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
7609 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
7610 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
7612 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
7614 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
7618 #define VK_KHR_external_semaphore_fd 1
7619 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
7620 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
7621 typedef struct VkImportSemaphoreFdInfoKHR {
7622 VkStructureType sType;
7624 VkSemaphore semaphore;
7625 VkSemaphoreImportFlags flags;
7626 VkExternalSemaphoreHandleTypeFlagBits handleType;
7628 } VkImportSemaphoreFdInfoKHR;
7630 typedef struct VkSemaphoreGetFdInfoKHR {
7631 VkStructureType sType;
7633 VkSemaphore semaphore;
7634 VkExternalSemaphoreHandleTypeFlagBits handleType;
7635 } VkSemaphoreGetFdInfoKHR;
7637 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7638 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
7640 #ifndef VK_NO_PROTOTYPES
7641 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
7643 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7645 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
7647 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
7652 #define VK_KHR_push_descriptor 1
7653 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
7654 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
7655 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7656 VkStructureType sType;
7658 deUint32 maxPushDescriptors;
7659 } VkPhysicalDevicePushDescriptorPropertiesKHR;
7661 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
7662 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
7664 #ifndef VK_NO_PROTOTYPES
7665 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
7666 VkCommandBuffer commandBuffer,
7667 VkPipelineBindPoint pipelineBindPoint,
7668 VkPipelineLayout layout,
7670 deUint32 descriptorWriteCount,
7671 const VkWriteDescriptorSet* pDescriptorWrites);
7673 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
7674 VkCommandBuffer commandBuffer,
7675 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7676 VkPipelineLayout layout,
7682 #define VK_KHR_shader_float16_int8 1
7683 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
7684 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
7685 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
7687 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
7691 #define VK_KHR_16bit_storage 1
7692 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
7693 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
7694 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
7698 #define VK_KHR_incremental_present 1
7699 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
7700 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
7701 typedef struct VkRectLayerKHR {
7707 typedef struct VkPresentRegionKHR {
7708 deUint32 rectangleCount;
7709 const VkRectLayerKHR* pRectangles;
7710 } VkPresentRegionKHR;
7712 typedef struct VkPresentRegionsKHR {
7713 VkStructureType sType;
7715 deUint32 swapchainCount;
7716 const VkPresentRegionKHR* pRegions;
7717 } VkPresentRegionsKHR;
7721 #define VK_KHR_descriptor_update_template 1
7722 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
7724 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
7725 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
7726 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
7728 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
7730 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
7732 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
7734 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7735 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
7736 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
7738 #ifndef VK_NO_PROTOTYPES
7739 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
7741 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
7742 const VkAllocationCallbacks* pAllocator,
7743 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7745 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
7747 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7748 const VkAllocationCallbacks* pAllocator);
7750 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
7752 VkDescriptorSet descriptorSet,
7753 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7758 #define VK_KHR_imageless_framebuffer 1
7759 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
7760 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
7761 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
7763 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
7765 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
7767 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
7771 #define VK_KHR_create_renderpass2 1
7772 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
7773 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
7774 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
7776 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
7778 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
7780 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
7782 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
7784 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
7786 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
7788 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7789 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7790 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7791 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7793 #ifndef VK_NO_PROTOTYPES
7794 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
7796 const VkRenderPassCreateInfo2* pCreateInfo,
7797 const VkAllocationCallbacks* pAllocator,
7798 VkRenderPass* pRenderPass);
7800 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
7801 VkCommandBuffer commandBuffer,
7802 const VkRenderPassBeginInfo* pRenderPassBegin,
7803 const VkSubpassBeginInfo* pSubpassBeginInfo);
7805 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
7806 VkCommandBuffer commandBuffer,
7807 const VkSubpassBeginInfo* pSubpassBeginInfo,
7808 const VkSubpassEndInfo* pSubpassEndInfo);
7810 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
7811 VkCommandBuffer commandBuffer,
7812 const VkSubpassEndInfo* pSubpassEndInfo);
7816 #define VK_KHR_shared_presentable_image 1
7817 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
7818 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
7819 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
7820 VkStructureType sType;
7822 VkImageUsageFlags sharedPresentSupportedUsageFlags;
7823 } VkSharedPresentSurfaceCapabilitiesKHR;
7825 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
7827 #ifndef VK_NO_PROTOTYPES
7828 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
7830 VkSwapchainKHR swapchain);
7834 #define VK_KHR_external_fence_capabilities 1
7835 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
7836 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
7837 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
7839 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
7841 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
7843 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
7845 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
7847 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
7849 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
7851 #ifndef VK_NO_PROTOTYPES
7852 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
7853 VkPhysicalDevice physicalDevice,
7854 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
7855 VkExternalFenceProperties* pExternalFenceProperties);
7859 #define VK_KHR_external_fence 1
7860 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
7861 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
7862 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
7864 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
7866 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
7870 #define VK_KHR_external_fence_fd 1
7871 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
7872 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
7873 typedef struct VkImportFenceFdInfoKHR {
7874 VkStructureType sType;
7877 VkFenceImportFlags flags;
7878 VkExternalFenceHandleTypeFlagBits handleType;
7880 } VkImportFenceFdInfoKHR;
7882 typedef struct VkFenceGetFdInfoKHR {
7883 VkStructureType sType;
7886 VkExternalFenceHandleTypeFlagBits handleType;
7887 } VkFenceGetFdInfoKHR;
7889 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7890 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
7892 #ifndef VK_NO_PROTOTYPES
7893 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
7895 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7897 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
7899 const VkFenceGetFdInfoKHR* pGetFdInfo,
7904 #define VK_KHR_performance_query 1
7905 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7906 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7908 typedef enum VkPerformanceCounterUnitKHR {
7909 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7910 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7911 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7912 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7913 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7914 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7915 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7916 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7917 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7918 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7919 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7920 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7921 } VkPerformanceCounterUnitKHR;
7923 typedef enum VkPerformanceCounterScopeKHR {
7924 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7925 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7926 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7927 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7928 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7929 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7930 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7931 } VkPerformanceCounterScopeKHR;
7933 typedef enum VkPerformanceCounterStorageKHR {
7934 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7935 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7936 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7937 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7938 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7939 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7940 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7941 } VkPerformanceCounterStorageKHR;
7943 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7944 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7945 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7946 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7947 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7948 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7949 } VkPerformanceCounterDescriptionFlagBitsKHR;
7950 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7952 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7953 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7954 } VkAcquireProfilingLockFlagBitsKHR;
7955 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7956 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7957 VkStructureType sType;
7959 VkBool32 performanceCounterQueryPools;
7960 VkBool32 performanceCounterMultipleQueryPools;
7961 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7963 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7964 VkStructureType sType;
7966 VkBool32 allowCommandBufferQueryCopies;
7967 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7969 typedef struct VkPerformanceCounterKHR {
7970 VkStructureType sType;
7972 VkPerformanceCounterUnitKHR unit;
7973 VkPerformanceCounterScopeKHR scope;
7974 VkPerformanceCounterStorageKHR storage;
7975 deUint8 uuid[VK_UUID_SIZE];
7976 } VkPerformanceCounterKHR;
7978 typedef struct VkPerformanceCounterDescriptionKHR {
7979 VkStructureType sType;
7981 VkPerformanceCounterDescriptionFlagsKHR flags;
7982 char name[VK_MAX_DESCRIPTION_SIZE];
7983 char category[VK_MAX_DESCRIPTION_SIZE];
7984 char description[VK_MAX_DESCRIPTION_SIZE];
7985 } VkPerformanceCounterDescriptionKHR;
7987 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7988 VkStructureType sType;
7990 deUint32 queueFamilyIndex;
7991 deUint32 counterIndexCount;
7992 const deUint32* pCounterIndices;
7993 } VkQueryPoolPerformanceCreateInfoKHR;
7995 typedef union VkPerformanceCounterResultKHR {
8002 } VkPerformanceCounterResultKHR;
8004 typedef struct VkAcquireProfilingLockInfoKHR {
8005 VkStructureType sType;
8007 VkAcquireProfilingLockFlagsKHR flags;
8009 } VkAcquireProfilingLockInfoKHR;
8011 typedef struct VkPerformanceQuerySubmitInfoKHR {
8012 VkStructureType sType;
8014 deUint32 counterPassIndex;
8015 } VkPerformanceQuerySubmitInfoKHR;
8017 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8018 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
8019 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
8020 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
8022 #ifndef VK_NO_PROTOTYPES
8023 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
8024 VkPhysicalDevice physicalDevice,
8025 deUint32 queueFamilyIndex,
8026 deUint32* pCounterCount,
8027 VkPerformanceCounterKHR* pCounters,
8028 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8030 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
8031 VkPhysicalDevice physicalDevice,
8032 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
8033 deUint32* pNumPasses);
8035 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
8037 const VkAcquireProfilingLockInfoKHR* pInfo);
8039 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
8044 #define VK_KHR_maintenance2 1
8045 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
8046 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
8047 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
8049 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
8051 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
8053 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
8055 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
8057 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
8059 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
8063 #define VK_KHR_get_surface_capabilities2 1
8064 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
8065 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
8066 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
8067 VkStructureType sType;
8069 VkSurfaceKHR surface;
8070 } VkPhysicalDeviceSurfaceInfo2KHR;
8072 typedef struct VkSurfaceCapabilities2KHR {
8073 VkStructureType sType;
8075 VkSurfaceCapabilitiesKHR surfaceCapabilities;
8076 } VkSurfaceCapabilities2KHR;
8078 typedef struct VkSurfaceFormat2KHR {
8079 VkStructureType sType;
8081 VkSurfaceFormatKHR surfaceFormat;
8082 } VkSurfaceFormat2KHR;
8084 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8085 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
8087 #ifndef VK_NO_PROTOTYPES
8088 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
8089 VkPhysicalDevice physicalDevice,
8090 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8091 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8093 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
8094 VkPhysicalDevice physicalDevice,
8095 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8096 deUint32* pSurfaceFormatCount,
8097 VkSurfaceFormat2KHR* pSurfaceFormats);
8101 #define VK_KHR_variable_pointers 1
8102 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
8103 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
8104 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
8106 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
8110 #define VK_KHR_get_display_properties2 1
8111 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
8112 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
8113 typedef struct VkDisplayProperties2KHR {
8114 VkStructureType sType;
8116 VkDisplayPropertiesKHR displayProperties;
8117 } VkDisplayProperties2KHR;
8119 typedef struct VkDisplayPlaneProperties2KHR {
8120 VkStructureType sType;
8122 VkDisplayPlanePropertiesKHR displayPlaneProperties;
8123 } VkDisplayPlaneProperties2KHR;
8125 typedef struct VkDisplayModeProperties2KHR {
8126 VkStructureType sType;
8128 VkDisplayModePropertiesKHR displayModeProperties;
8129 } VkDisplayModeProperties2KHR;
8131 typedef struct VkDisplayPlaneInfo2KHR {
8132 VkStructureType sType;
8134 VkDisplayModeKHR mode;
8135 deUint32 planeIndex;
8136 } VkDisplayPlaneInfo2KHR;
8138 typedef struct VkDisplayPlaneCapabilities2KHR {
8139 VkStructureType sType;
8141 VkDisplayPlaneCapabilitiesKHR capabilities;
8142 } VkDisplayPlaneCapabilities2KHR;
8144 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
8145 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
8146 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
8147 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
8149 #ifndef VK_NO_PROTOTYPES
8150 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
8151 VkPhysicalDevice physicalDevice,
8152 deUint32* pPropertyCount,
8153 VkDisplayProperties2KHR* pProperties);
8155 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
8156 VkPhysicalDevice physicalDevice,
8157 deUint32* pPropertyCount,
8158 VkDisplayPlaneProperties2KHR* pProperties);
8160 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
8161 VkPhysicalDevice physicalDevice,
8162 VkDisplayKHR display,
8163 deUint32* pPropertyCount,
8164 VkDisplayModeProperties2KHR* pProperties);
8166 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
8167 VkPhysicalDevice physicalDevice,
8168 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
8169 VkDisplayPlaneCapabilities2KHR* pCapabilities);
8173 #define VK_KHR_dedicated_allocation 1
8174 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
8175 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
8176 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
8178 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
8182 #define VK_KHR_storage_buffer_storage_class 1
8183 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
8184 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
8187 #define VK_KHR_relaxed_block_layout 1
8188 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
8189 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
8192 #define VK_KHR_get_memory_requirements2 1
8193 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
8194 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
8195 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
8197 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
8199 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
8201 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
8203 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
8205 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8206 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8207 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8209 #ifndef VK_NO_PROTOTYPES
8210 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
8212 const VkImageMemoryRequirementsInfo2* pInfo,
8213 VkMemoryRequirements2* pMemoryRequirements);
8215 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
8217 const VkBufferMemoryRequirementsInfo2* pInfo,
8218 VkMemoryRequirements2* pMemoryRequirements);
8220 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
8222 const VkImageSparseMemoryRequirementsInfo2* pInfo,
8223 deUint32* pSparseMemoryRequirementCount,
8224 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8228 #define VK_KHR_image_format_list 1
8229 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
8230 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
8231 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
8235 #define VK_KHR_sampler_ycbcr_conversion 1
8236 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
8238 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
8239 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
8240 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
8242 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
8244 typedef VkChromaLocation VkChromaLocationKHR;
8246 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
8248 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
8250 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
8252 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
8254 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
8256 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
8258 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
8259 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
8261 #ifndef VK_NO_PROTOTYPES
8262 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
8264 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
8265 const VkAllocationCallbacks* pAllocator,
8266 VkSamplerYcbcrConversion* pYcbcrConversion);
8268 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
8270 VkSamplerYcbcrConversion ycbcrConversion,
8271 const VkAllocationCallbacks* pAllocator);
8275 #define VK_KHR_bind_memory2 1
8276 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
8277 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
8278 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
8280 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
8282 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
8283 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
8285 #ifndef VK_NO_PROTOTYPES
8286 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
8288 deUint32 bindInfoCount,
8289 const VkBindBufferMemoryInfo* pBindInfos);
8291 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
8293 deUint32 bindInfoCount,
8294 const VkBindImageMemoryInfo* pBindInfos);
8298 #define VK_KHR_maintenance3 1
8299 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
8300 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
8301 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
8303 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
8305 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
8307 #ifndef VK_NO_PROTOTYPES
8308 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
8310 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
8311 VkDescriptorSetLayoutSupport* pSupport);
8315 #define VK_KHR_draw_indirect_count 1
8316 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
8317 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
8318 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8319 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8321 #ifndef VK_NO_PROTOTYPES
8322 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
8323 VkCommandBuffer commandBuffer,
8325 VkDeviceSize offset,
8326 VkBuffer countBuffer,
8327 VkDeviceSize countBufferOffset,
8328 deUint32 maxDrawCount,
8331 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
8332 VkCommandBuffer commandBuffer,
8334 VkDeviceSize offset,
8335 VkBuffer countBuffer,
8336 VkDeviceSize countBufferOffset,
8337 deUint32 maxDrawCount,
8342 #define VK_KHR_shader_subgroup_extended_types 1
8343 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
8344 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
8345 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
8349 #define VK_KHR_8bit_storage 1
8350 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
8351 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
8352 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
8356 #define VK_KHR_shader_atomic_int64 1
8357 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
8358 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
8359 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
8363 #define VK_KHR_shader_clock 1
8364 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
8365 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
8366 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
8367 VkStructureType sType;
8369 VkBool32 shaderSubgroupClock;
8370 VkBool32 shaderDeviceClock;
8371 } VkPhysicalDeviceShaderClockFeaturesKHR;
8375 #define VK_KHR_driver_properties 1
8376 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
8377 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
8378 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
8379 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
8380 typedef VkDriverId VkDriverIdKHR;
8382 typedef VkConformanceVersion VkConformanceVersionKHR;
8384 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
8388 #define VK_KHR_shader_float_controls 1
8389 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
8390 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
8391 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
8393 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
8397 #define VK_KHR_depth_stencil_resolve 1
8398 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
8399 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
8400 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
8402 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
8404 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
8406 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
8410 #define VK_KHR_swapchain_mutable_format 1
8411 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
8412 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
8415 #define VK_KHR_timeline_semaphore 1
8416 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
8417 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
8418 typedef VkSemaphoreType VkSemaphoreTypeKHR;
8420 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
8422 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
8424 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
8426 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
8428 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
8430 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
8432 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
8434 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
8436 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
8437 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
8438 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
8440 #ifndef VK_NO_PROTOTYPES
8441 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
8443 VkSemaphore semaphore,
8446 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
8448 const VkSemaphoreWaitInfo* pWaitInfo,
8451 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
8453 const VkSemaphoreSignalInfo* pSignalInfo);
8457 #define VK_KHR_vulkan_memory_model 1
8458 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
8459 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
8460 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
8464 #define VK_KHR_shader_terminate_invocation 1
8465 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
8466 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
8467 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
8468 VkStructureType sType;
8470 VkBool32 shaderTerminateInvocation;
8471 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
8475 #define VK_KHR_fragment_shading_rate 1
8476 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
8477 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
8479 typedef enum VkFragmentShadingRateCombinerOpKHR {
8480 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
8481 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
8482 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
8483 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
8484 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
8485 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
8486 } VkFragmentShadingRateCombinerOpKHR;
8487 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
8488 VkStructureType sType;
8490 const VkAttachmentReference2* pFragmentShadingRateAttachment;
8491 VkExtent2D shadingRateAttachmentTexelSize;
8492 } VkFragmentShadingRateAttachmentInfoKHR;
8494 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
8495 VkStructureType sType;
8497 VkExtent2D fragmentSize;
8498 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
8499 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
8501 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
8502 VkStructureType sType;
8504 VkBool32 pipelineFragmentShadingRate;
8505 VkBool32 primitiveFragmentShadingRate;
8506 VkBool32 attachmentFragmentShadingRate;
8507 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
8509 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
8510 VkStructureType sType;
8512 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
8513 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
8514 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
8515 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
8516 VkBool32 layeredShadingRateAttachments;
8517 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
8518 VkExtent2D maxFragmentSize;
8519 deUint32 maxFragmentSizeAspectRatio;
8520 deUint32 maxFragmentShadingRateCoverageSamples;
8521 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
8522 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
8523 VkBool32 fragmentShadingRateWithSampleMask;
8524 VkBool32 fragmentShadingRateWithShaderSampleMask;
8525 VkBool32 fragmentShadingRateWithConservativeRasterization;
8526 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
8527 VkBool32 fragmentShadingRateWithCustomSampleLocations;
8528 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
8529 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
8531 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
8532 VkStructureType sType;
8534 VkSampleCountFlags sampleCounts;
8535 VkExtent2D fragmentSize;
8536 } VkPhysicalDeviceFragmentShadingRateKHR;
8538 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8539 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8541 #ifndef VK_NO_PROTOTYPES
8542 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
8543 VkPhysicalDevice physicalDevice,
8544 deUint32* pFragmentShadingRateCount,
8545 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8547 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
8548 VkCommandBuffer commandBuffer,
8549 const VkExtent2D* pFragmentSize,
8550 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8554 #define VK_KHR_spirv_1_4 1
8555 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
8556 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
8559 #define VK_KHR_surface_protected_capabilities 1
8560 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
8561 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
8562 typedef struct VkSurfaceProtectedCapabilitiesKHR {
8563 VkStructureType sType;
8565 VkBool32 supportsProtected;
8566 } VkSurfaceProtectedCapabilitiesKHR;
8570 #define VK_KHR_separate_depth_stencil_layouts 1
8571 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
8572 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
8573 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
8575 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
8577 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
8581 #define VK_KHR_uniform_buffer_standard_layout 1
8582 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
8583 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
8584 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
8588 #define VK_KHR_buffer_device_address 1
8589 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
8590 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
8591 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
8593 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
8595 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
8597 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
8599 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
8601 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8602 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8603 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8605 #ifndef VK_NO_PROTOTYPES
8606 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
8608 const VkBufferDeviceAddressInfo* pInfo);
8610 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
8612 const VkBufferDeviceAddressInfo* pInfo);
8614 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
8616 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8620 #define VK_KHR_deferred_host_operations 1
8621 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
8622 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
8623 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
8624 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
8625 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
8626 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
8627 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
8628 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
8630 #ifndef VK_NO_PROTOTYPES
8631 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
8633 const VkAllocationCallbacks* pAllocator,
8634 VkDeferredOperationKHR* pDeferredOperation);
8636 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
8638 VkDeferredOperationKHR operation,
8639 const VkAllocationCallbacks* pAllocator);
8641 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
8643 VkDeferredOperationKHR operation);
8645 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
8647 VkDeferredOperationKHR operation);
8649 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
8651 VkDeferredOperationKHR operation);
8655 #define VK_KHR_pipeline_executable_properties 1
8656 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
8657 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
8659 typedef enum VkPipelineExecutableStatisticFormatKHR {
8660 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
8661 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
8662 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
8663 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
8664 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
8665 } VkPipelineExecutableStatisticFormatKHR;
8666 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
8667 VkStructureType sType;
8669 VkBool32 pipelineExecutableInfo;
8670 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
8672 typedef struct VkPipelineInfoKHR {
8673 VkStructureType sType;
8675 VkPipeline pipeline;
8676 } VkPipelineInfoKHR;
8678 typedef struct VkPipelineExecutablePropertiesKHR {
8679 VkStructureType sType;
8681 VkShaderStageFlags stages;
8682 char name[VK_MAX_DESCRIPTION_SIZE];
8683 char description[VK_MAX_DESCRIPTION_SIZE];
8684 deUint32 subgroupSize;
8685 } VkPipelineExecutablePropertiesKHR;
8687 typedef struct VkPipelineExecutableInfoKHR {
8688 VkStructureType sType;
8690 VkPipeline pipeline;
8691 deUint32 executableIndex;
8692 } VkPipelineExecutableInfoKHR;
8694 typedef union VkPipelineExecutableStatisticValueKHR {
8699 } VkPipelineExecutableStatisticValueKHR;
8701 typedef struct VkPipelineExecutableStatisticKHR {
8702 VkStructureType sType;
8704 char name[VK_MAX_DESCRIPTION_SIZE];
8705 char description[VK_MAX_DESCRIPTION_SIZE];
8706 VkPipelineExecutableStatisticFormatKHR format;
8707 VkPipelineExecutableStatisticValueKHR value;
8708 } VkPipelineExecutableStatisticKHR;
8710 typedef struct VkPipelineExecutableInternalRepresentationKHR {
8711 VkStructureType sType;
8713 char name[VK_MAX_DESCRIPTION_SIZE];
8714 char description[VK_MAX_DESCRIPTION_SIZE];
8718 } VkPipelineExecutableInternalRepresentationKHR;
8720 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
8721 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
8722 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8724 #ifndef VK_NO_PROTOTYPES
8725 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
8727 const VkPipelineInfoKHR* pPipelineInfo,
8728 deUint32* pExecutableCount,
8729 VkPipelineExecutablePropertiesKHR* pProperties);
8731 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
8733 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8734 deUint32* pStatisticCount,
8735 VkPipelineExecutableStatisticKHR* pStatistics);
8737 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
8739 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8740 deUint32* pInternalRepresentationCount,
8741 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8745 #define VK_KHR_pipeline_library 1
8746 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
8747 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
8748 typedef struct VkPipelineLibraryCreateInfoKHR {
8749 VkStructureType sType;
8751 deUint32 libraryCount;
8752 const VkPipeline* pLibraries;
8753 } VkPipelineLibraryCreateInfoKHR;
8757 #define VK_KHR_shader_non_semantic_info 1
8758 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
8759 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
8762 #define VK_KHR_synchronization2 1
8763 typedef deUint64 VkFlags64;
8764 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
8765 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
8766 typedef VkFlags64 VkPipelineStageFlags2KHR;
8768 // Flag bits for VkPipelineStageFlagBits2KHR
8769 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
8770 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
8771 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
8772 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
8773 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
8774 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
8775 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
8776 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
8777 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
8778 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
8779 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
8780 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
8781 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
8782 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
8783 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
8784 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000;
8785 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
8786 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
8787 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
8788 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
8789 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
8790 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
8791 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
8792 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
8793 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
8794 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
8795 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
8796 #ifdef VK_ENABLE_BETA_EXTENSIONS
8797 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
8799 #ifdef VK_ENABLE_BETA_EXTENSIONS
8800 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
8802 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
8803 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
8804 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
8805 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
8806 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000;
8807 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
8808 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
8809 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000;
8810 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000;
8811 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
8812 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
8813 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
8814 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
8816 typedef VkFlags64 VkAccessFlags2KHR;
8818 // Flag bits for VkAccessFlagBits2KHR
8819 typedef VkFlags64 VkAccessFlagBits2KHR;
8820 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
8821 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
8822 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
8823 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
8824 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
8825 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
8826 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
8827 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
8828 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
8829 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
8830 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
8831 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
8832 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
8833 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
8834 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
8835 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
8836 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
8837 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
8838 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
8839 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
8840 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
8841 #ifdef VK_ENABLE_BETA_EXTENSIONS
8842 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
8844 #ifdef VK_ENABLE_BETA_EXTENSIONS
8845 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
8847 #ifdef VK_ENABLE_BETA_EXTENSIONS
8848 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
8850 #ifdef VK_ENABLE_BETA_EXTENSIONS
8851 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
8853 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
8854 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
8855 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
8856 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
8857 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
8858 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
8859 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
8860 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000;
8861 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
8862 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
8863 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000;
8864 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000;
8865 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
8866 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
8869 typedef enum VkSubmitFlagBitsKHR {
8870 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
8871 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8872 } VkSubmitFlagBitsKHR;
8873 typedef VkFlags VkSubmitFlagsKHR;
8874 typedef struct VkMemoryBarrier2KHR {
8875 VkStructureType sType;
8877 VkPipelineStageFlags2KHR srcStageMask;
8878 VkAccessFlags2KHR srcAccessMask;
8879 VkPipelineStageFlags2KHR dstStageMask;
8880 VkAccessFlags2KHR dstAccessMask;
8881 } VkMemoryBarrier2KHR;
8883 typedef struct VkBufferMemoryBarrier2KHR {
8884 VkStructureType sType;
8886 VkPipelineStageFlags2KHR srcStageMask;
8887 VkAccessFlags2KHR srcAccessMask;
8888 VkPipelineStageFlags2KHR dstStageMask;
8889 VkAccessFlags2KHR dstAccessMask;
8890 deUint32 srcQueueFamilyIndex;
8891 deUint32 dstQueueFamilyIndex;
8893 VkDeviceSize offset;
8895 } VkBufferMemoryBarrier2KHR;
8897 typedef struct VkImageMemoryBarrier2KHR {
8898 VkStructureType sType;
8900 VkPipelineStageFlags2KHR srcStageMask;
8901 VkAccessFlags2KHR srcAccessMask;
8902 VkPipelineStageFlags2KHR dstStageMask;
8903 VkAccessFlags2KHR dstAccessMask;
8904 VkImageLayout oldLayout;
8905 VkImageLayout newLayout;
8906 deUint32 srcQueueFamilyIndex;
8907 deUint32 dstQueueFamilyIndex;
8909 VkImageSubresourceRange subresourceRange;
8910 } VkImageMemoryBarrier2KHR;
8912 typedef struct VkDependencyInfoKHR {
8913 VkStructureType sType;
8915 VkDependencyFlags dependencyFlags;
8916 deUint32 memoryBarrierCount;
8917 const VkMemoryBarrier2KHR* pMemoryBarriers;
8918 deUint32 bufferMemoryBarrierCount;
8919 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
8920 deUint32 imageMemoryBarrierCount;
8921 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
8922 } VkDependencyInfoKHR;
8924 typedef struct VkSemaphoreSubmitInfoKHR {
8925 VkStructureType sType;
8927 VkSemaphore semaphore;
8929 VkPipelineStageFlags2KHR stageMask;
8930 deUint32 deviceIndex;
8931 } VkSemaphoreSubmitInfoKHR;
8933 typedef struct VkCommandBufferSubmitInfoKHR {
8934 VkStructureType sType;
8936 VkCommandBuffer commandBuffer;
8937 deUint32 deviceMask;
8938 } VkCommandBufferSubmitInfoKHR;
8940 typedef struct VkSubmitInfo2KHR {
8941 VkStructureType sType;
8943 VkSubmitFlagsKHR flags;
8944 deUint32 waitSemaphoreInfoCount;
8945 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
8946 deUint32 commandBufferInfoCount;
8947 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
8948 deUint32 signalSemaphoreInfoCount;
8949 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
8952 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
8953 VkStructureType sType;
8955 VkBool32 synchronization2;
8956 } VkPhysicalDeviceSynchronization2FeaturesKHR;
8958 typedef struct VkQueueFamilyCheckpointProperties2NV {
8959 VkStructureType sType;
8961 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
8962 } VkQueueFamilyCheckpointProperties2NV;
8964 typedef struct VkCheckpointData2NV {
8965 VkStructureType sType;
8967 VkPipelineStageFlags2KHR stage;
8968 void* pCheckpointMarker;
8969 } VkCheckpointData2NV;
8971 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
8972 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
8973 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
8974 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
8975 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
8976 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
8977 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
8978 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
8980 #ifndef VK_NO_PROTOTYPES
8981 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
8982 VkCommandBuffer commandBuffer,
8984 const VkDependencyInfoKHR* pDependencyInfo);
8986 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
8987 VkCommandBuffer commandBuffer,
8989 VkPipelineStageFlags2KHR stageMask);
8991 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
8992 VkCommandBuffer commandBuffer,
8993 deUint32 eventCount,
8994 const VkEvent* pEvents,
8995 const VkDependencyInfoKHR* pDependencyInfos);
8997 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
8998 VkCommandBuffer commandBuffer,
8999 const VkDependencyInfoKHR* pDependencyInfo);
9001 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
9002 VkCommandBuffer commandBuffer,
9003 VkPipelineStageFlags2KHR stage,
9004 VkQueryPool queryPool,
9007 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
9009 deUint32 submitCount,
9010 const VkSubmitInfo2KHR* pSubmits,
9013 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
9014 VkCommandBuffer commandBuffer,
9015 VkPipelineStageFlags2KHR stage,
9017 VkDeviceSize dstOffset,
9020 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
9022 deUint32* pCheckpointDataCount,
9023 VkCheckpointData2NV* pCheckpointData);
9027 #define VK_KHR_shader_subgroup_uniform_control_flow 1
9028 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
9029 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
9030 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
9031 VkStructureType sType;
9033 VkBool32 shaderSubgroupUniformControlFlow;
9034 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
9038 #define VK_KHR_zero_initialize_workgroup_memory 1
9039 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
9040 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
9041 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
9042 VkStructureType sType;
9044 VkBool32 shaderZeroInitializeWorkgroupMemory;
9045 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
9049 #define VK_KHR_workgroup_memory_explicit_layout 1
9050 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
9051 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
9052 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
9053 VkStructureType sType;
9055 VkBool32 workgroupMemoryExplicitLayout;
9056 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
9057 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
9058 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
9059 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
9063 #define VK_KHR_copy_commands2 1
9064 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
9065 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
9066 typedef struct VkBufferCopy2KHR {
9067 VkStructureType sType;
9069 VkDeviceSize srcOffset;
9070 VkDeviceSize dstOffset;
9074 typedef struct VkCopyBufferInfo2KHR {
9075 VkStructureType sType;
9079 deUint32 regionCount;
9080 const VkBufferCopy2KHR* pRegions;
9081 } VkCopyBufferInfo2KHR;
9083 typedef struct VkImageCopy2KHR {
9084 VkStructureType sType;
9086 VkImageSubresourceLayers srcSubresource;
9087 VkOffset3D srcOffset;
9088 VkImageSubresourceLayers dstSubresource;
9089 VkOffset3D dstOffset;
9093 typedef struct VkCopyImageInfo2KHR {
9094 VkStructureType sType;
9097 VkImageLayout srcImageLayout;
9099 VkImageLayout dstImageLayout;
9100 deUint32 regionCount;
9101 const VkImageCopy2KHR* pRegions;
9102 } VkCopyImageInfo2KHR;
9104 typedef struct VkBufferImageCopy2KHR {
9105 VkStructureType sType;
9107 VkDeviceSize bufferOffset;
9108 deUint32 bufferRowLength;
9109 deUint32 bufferImageHeight;
9110 VkImageSubresourceLayers imageSubresource;
9111 VkOffset3D imageOffset;
9112 VkExtent3D imageExtent;
9113 } VkBufferImageCopy2KHR;
9115 typedef struct VkCopyBufferToImageInfo2KHR {
9116 VkStructureType sType;
9120 VkImageLayout dstImageLayout;
9121 deUint32 regionCount;
9122 const VkBufferImageCopy2KHR* pRegions;
9123 } VkCopyBufferToImageInfo2KHR;
9125 typedef struct VkCopyImageToBufferInfo2KHR {
9126 VkStructureType sType;
9129 VkImageLayout srcImageLayout;
9131 deUint32 regionCount;
9132 const VkBufferImageCopy2KHR* pRegions;
9133 } VkCopyImageToBufferInfo2KHR;
9135 typedef struct VkImageBlit2KHR {
9136 VkStructureType sType;
9138 VkImageSubresourceLayers srcSubresource;
9139 VkOffset3D srcOffsets[2];
9140 VkImageSubresourceLayers dstSubresource;
9141 VkOffset3D dstOffsets[2];
9144 typedef struct VkBlitImageInfo2KHR {
9145 VkStructureType sType;
9148 VkImageLayout srcImageLayout;
9150 VkImageLayout dstImageLayout;
9151 deUint32 regionCount;
9152 const VkImageBlit2KHR* pRegions;
9154 } VkBlitImageInfo2KHR;
9156 typedef struct VkImageResolve2KHR {
9157 VkStructureType sType;
9159 VkImageSubresourceLayers srcSubresource;
9160 VkOffset3D srcOffset;
9161 VkImageSubresourceLayers dstSubresource;
9162 VkOffset3D dstOffset;
9164 } VkImageResolve2KHR;
9166 typedef struct VkResolveImageInfo2KHR {
9167 VkStructureType sType;
9170 VkImageLayout srcImageLayout;
9172 VkImageLayout dstImageLayout;
9173 deUint32 regionCount;
9174 const VkImageResolve2KHR* pRegions;
9175 } VkResolveImageInfo2KHR;
9177 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9178 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
9179 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9180 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9181 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
9182 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
9184 #ifndef VK_NO_PROTOTYPES
9185 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
9186 VkCommandBuffer commandBuffer,
9187 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9189 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
9190 VkCommandBuffer commandBuffer,
9191 const VkCopyImageInfo2KHR* pCopyImageInfo);
9193 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
9194 VkCommandBuffer commandBuffer,
9195 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9197 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
9198 VkCommandBuffer commandBuffer,
9199 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9201 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
9202 VkCommandBuffer commandBuffer,
9203 const VkBlitImageInfo2KHR* pBlitImageInfo);
9205 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
9206 VkCommandBuffer commandBuffer,
9207 const VkResolveImageInfo2KHR* pResolveImageInfo);
9211 #define VK_EXT_debug_report 1
9212 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
9213 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
9214 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
9216 typedef enum VkDebugReportObjectTypeEXT {
9217 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
9218 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
9219 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
9220 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
9221 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
9222 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
9223 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
9224 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
9225 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
9226 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
9227 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
9228 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
9229 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
9230 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
9231 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
9232 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
9233 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
9234 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
9235 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
9236 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
9237 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
9238 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
9239 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
9240 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
9241 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
9242 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
9243 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
9244 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
9245 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
9246 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
9247 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
9248 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
9249 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
9250 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
9251 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
9252 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
9253 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
9254 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
9255 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
9256 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
9257 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
9258 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
9259 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9260 } VkDebugReportObjectTypeEXT;
9262 typedef enum VkDebugReportFlagBitsEXT {
9263 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
9264 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
9265 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
9266 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
9267 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
9268 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9269 } VkDebugReportFlagBitsEXT;
9270 typedef VkFlags VkDebugReportFlagsEXT;
9271 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
9272 VkDebugReportFlagsEXT flags,
9273 VkDebugReportObjectTypeEXT objectType,
9276 deInt32 messageCode,
9277 const char* pLayerPrefix,
9278 const char* pMessage,
9281 typedef struct VkDebugReportCallbackCreateInfoEXT {
9282 VkStructureType sType;
9284 VkDebugReportFlagsEXT flags;
9285 PFN_vkDebugReportCallbackEXT pfnCallback;
9287 } VkDebugReportCallbackCreateInfoEXT;
9289 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
9290 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
9291 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
9293 #ifndef VK_NO_PROTOTYPES
9294 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
9295 VkInstance instance,
9296 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
9297 const VkAllocationCallbacks* pAllocator,
9298 VkDebugReportCallbackEXT* pCallback);
9300 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
9301 VkInstance instance,
9302 VkDebugReportCallbackEXT callback,
9303 const VkAllocationCallbacks* pAllocator);
9305 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
9306 VkInstance instance,
9307 VkDebugReportFlagsEXT flags,
9308 VkDebugReportObjectTypeEXT objectType,
9311 deInt32 messageCode,
9312 const char* pLayerPrefix,
9313 const char* pMessage);
9317 #define VK_NV_glsl_shader 1
9318 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
9319 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
9322 #define VK_EXT_depth_range_unrestricted 1
9323 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
9324 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
9327 #define VK_IMG_filter_cubic 1
9328 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
9329 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
9332 #define VK_AMD_rasterization_order 1
9333 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
9334 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
9336 typedef enum VkRasterizationOrderAMD {
9337 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
9338 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
9339 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
9340 } VkRasterizationOrderAMD;
9341 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
9342 VkStructureType sType;
9344 VkRasterizationOrderAMD rasterizationOrder;
9345 } VkPipelineRasterizationStateRasterizationOrderAMD;
9349 #define VK_AMD_shader_trinary_minmax 1
9350 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
9351 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
9354 #define VK_AMD_shader_explicit_vertex_parameter 1
9355 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
9356 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
9359 #define VK_EXT_debug_marker 1
9360 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
9361 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
9362 typedef struct VkDebugMarkerObjectNameInfoEXT {
9363 VkStructureType sType;
9365 VkDebugReportObjectTypeEXT objectType;
9367 const char* pObjectName;
9368 } VkDebugMarkerObjectNameInfoEXT;
9370 typedef struct VkDebugMarkerObjectTagInfoEXT {
9371 VkStructureType sType;
9373 VkDebugReportObjectTypeEXT objectType;
9378 } VkDebugMarkerObjectTagInfoEXT;
9380 typedef struct VkDebugMarkerMarkerInfoEXT {
9381 VkStructureType sType;
9383 const char* pMarkerName;
9385 } VkDebugMarkerMarkerInfoEXT;
9387 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9388 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9389 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9390 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
9391 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9393 #ifndef VK_NO_PROTOTYPES
9394 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
9396 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9398 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
9400 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9402 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
9403 VkCommandBuffer commandBuffer,
9404 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9406 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
9407 VkCommandBuffer commandBuffer);
9409 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
9410 VkCommandBuffer commandBuffer,
9411 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9415 #define VK_AMD_gcn_shader 1
9416 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
9417 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
9420 #define VK_NV_dedicated_allocation 1
9421 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
9422 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
9423 typedef struct VkDedicatedAllocationImageCreateInfoNV {
9424 VkStructureType sType;
9426 VkBool32 dedicatedAllocation;
9427 } VkDedicatedAllocationImageCreateInfoNV;
9429 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
9430 VkStructureType sType;
9432 VkBool32 dedicatedAllocation;
9433 } VkDedicatedAllocationBufferCreateInfoNV;
9435 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
9436 VkStructureType sType;
9440 } VkDedicatedAllocationMemoryAllocateInfoNV;
9444 #define VK_EXT_transform_feedback 1
9445 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
9446 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
9447 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
9448 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
9449 VkStructureType sType;
9451 VkBool32 transformFeedback;
9452 VkBool32 geometryStreams;
9453 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
9455 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
9456 VkStructureType sType;
9458 deUint32 maxTransformFeedbackStreams;
9459 deUint32 maxTransformFeedbackBuffers;
9460 VkDeviceSize maxTransformFeedbackBufferSize;
9461 deUint32 maxTransformFeedbackStreamDataSize;
9462 deUint32 maxTransformFeedbackBufferDataSize;
9463 deUint32 maxTransformFeedbackBufferDataStride;
9464 VkBool32 transformFeedbackQueries;
9465 VkBool32 transformFeedbackStreamsLinesTriangles;
9466 VkBool32 transformFeedbackRasterizationStreamSelect;
9467 VkBool32 transformFeedbackDraw;
9468 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
9470 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
9471 VkStructureType sType;
9473 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
9474 deUint32 rasterizationStream;
9475 } VkPipelineRasterizationStateStreamCreateInfoEXT;
9477 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
9478 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9479 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9480 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
9481 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
9482 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
9484 #ifndef VK_NO_PROTOTYPES
9485 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
9486 VkCommandBuffer commandBuffer,
9487 deUint32 firstBinding,
9488 deUint32 bindingCount,
9489 const VkBuffer* pBuffers,
9490 const VkDeviceSize* pOffsets,
9491 const VkDeviceSize* pSizes);
9493 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
9494 VkCommandBuffer commandBuffer,
9495 deUint32 firstCounterBuffer,
9496 deUint32 counterBufferCount,
9497 const VkBuffer* pCounterBuffers,
9498 const VkDeviceSize* pCounterBufferOffsets);
9500 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
9501 VkCommandBuffer commandBuffer,
9502 deUint32 firstCounterBuffer,
9503 deUint32 counterBufferCount,
9504 const VkBuffer* pCounterBuffers,
9505 const VkDeviceSize* pCounterBufferOffsets);
9507 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
9508 VkCommandBuffer commandBuffer,
9509 VkQueryPool queryPool,
9511 VkQueryControlFlags flags,
9514 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
9515 VkCommandBuffer commandBuffer,
9516 VkQueryPool queryPool,
9520 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
9521 VkCommandBuffer commandBuffer,
9522 deUint32 instanceCount,
9523 deUint32 firstInstance,
9524 VkBuffer counterBuffer,
9525 VkDeviceSize counterBufferOffset,
9526 deUint32 counterOffset,
9527 deUint32 vertexStride);
9531 #define VK_NVX_binary_import 1
9532 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
9533 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
9534 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
9535 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
9536 typedef struct VkCuModuleCreateInfoNVX {
9537 VkStructureType sType;
9541 } VkCuModuleCreateInfoNVX;
9543 typedef struct VkCuFunctionCreateInfoNVX {
9544 VkStructureType sType;
9546 VkCuModuleNVX module;
9548 } VkCuFunctionCreateInfoNVX;
9550 typedef struct VkCuLaunchInfoNVX {
9551 VkStructureType sType;
9553 VkCuFunctionNVX function;
9560 deUint32 sharedMemBytes;
9561 deUintptr paramCount;
9562 const void* const * pParams;
9563 deUintptr extraCount;
9564 const void* const * pExtras;
9565 } VkCuLaunchInfoNVX;
9567 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
9568 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
9569 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
9570 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
9571 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
9573 #ifndef VK_NO_PROTOTYPES
9574 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
9576 const VkCuModuleCreateInfoNVX* pCreateInfo,
9577 const VkAllocationCallbacks* pAllocator,
9578 VkCuModuleNVX* pModule);
9580 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
9582 const VkCuFunctionCreateInfoNVX* pCreateInfo,
9583 const VkAllocationCallbacks* pAllocator,
9584 VkCuFunctionNVX* pFunction);
9586 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
9588 VkCuModuleNVX module,
9589 const VkAllocationCallbacks* pAllocator);
9591 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
9593 VkCuFunctionNVX function,
9594 const VkAllocationCallbacks* pAllocator);
9596 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
9597 VkCommandBuffer commandBuffer,
9598 const VkCuLaunchInfoNVX* pLaunchInfo);
9602 #define VK_NVX_image_view_handle 1
9603 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
9604 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
9605 typedef struct VkImageViewHandleInfoNVX {
9606 VkStructureType sType;
9608 VkImageView imageView;
9609 VkDescriptorType descriptorType;
9611 } VkImageViewHandleInfoNVX;
9613 typedef struct VkImageViewAddressPropertiesNVX {
9614 VkStructureType sType;
9616 VkDeviceAddress deviceAddress;
9618 } VkImageViewAddressPropertiesNVX;
9620 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
9621 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
9623 #ifndef VK_NO_PROTOTYPES
9624 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
9626 const VkImageViewHandleInfoNVX* pInfo);
9628 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
9630 VkImageView imageView,
9631 VkImageViewAddressPropertiesNVX* pProperties);
9635 #define VK_AMD_draw_indirect_count 1
9636 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
9637 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
9638 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9639 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9641 #ifndef VK_NO_PROTOTYPES
9642 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
9643 VkCommandBuffer commandBuffer,
9645 VkDeviceSize offset,
9646 VkBuffer countBuffer,
9647 VkDeviceSize countBufferOffset,
9648 deUint32 maxDrawCount,
9651 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
9652 VkCommandBuffer commandBuffer,
9654 VkDeviceSize offset,
9655 VkBuffer countBuffer,
9656 VkDeviceSize countBufferOffset,
9657 deUint32 maxDrawCount,
9662 #define VK_AMD_negative_viewport_height 1
9663 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
9664 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
9667 #define VK_AMD_gpu_shader_half_float 1
9668 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
9669 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
9672 #define VK_AMD_shader_ballot 1
9673 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
9674 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
9677 #define VK_AMD_texture_gather_bias_lod 1
9678 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
9679 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
9680 typedef struct VkTextureLODGatherFormatPropertiesAMD {
9681 VkStructureType sType;
9683 VkBool32 supportsTextureGatherLODBiasAMD;
9684 } VkTextureLODGatherFormatPropertiesAMD;
9688 #define VK_AMD_shader_info 1
9689 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
9690 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
9692 typedef enum VkShaderInfoTypeAMD {
9693 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
9694 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
9695 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
9696 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
9697 } VkShaderInfoTypeAMD;
9698 typedef struct VkShaderResourceUsageAMD {
9699 deUint32 numUsedVgprs;
9700 deUint32 numUsedSgprs;
9701 deUint32 ldsSizePerLocalWorkGroup;
9702 deUintptr ldsUsageSizeInBytes;
9703 deUintptr scratchMemUsageInBytes;
9704 } VkShaderResourceUsageAMD;
9706 typedef struct VkShaderStatisticsInfoAMD {
9707 VkShaderStageFlags shaderStageMask;
9708 VkShaderResourceUsageAMD resourceUsage;
9709 deUint32 numPhysicalVgprs;
9710 deUint32 numPhysicalSgprs;
9711 deUint32 numAvailableVgprs;
9712 deUint32 numAvailableSgprs;
9713 deUint32 computeWorkGroupSize[3];
9714 } VkShaderStatisticsInfoAMD;
9716 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
9718 #ifndef VK_NO_PROTOTYPES
9719 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
9721 VkPipeline pipeline,
9722 VkShaderStageFlagBits shaderStage,
9723 VkShaderInfoTypeAMD infoType,
9724 deUintptr* pInfoSize,
9729 #define VK_AMD_shader_image_load_store_lod 1
9730 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
9731 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
9734 #define VK_NV_corner_sampled_image 1
9735 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
9736 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
9737 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
9738 VkStructureType sType;
9740 VkBool32 cornerSampledImage;
9741 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
9745 #define VK_IMG_format_pvrtc 1
9746 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
9747 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
9750 #define VK_NV_external_memory_capabilities 1
9751 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9752 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
9754 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
9755 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
9756 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
9757 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
9758 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
9759 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9760 } VkExternalMemoryHandleTypeFlagBitsNV;
9761 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
9763 typedef enum VkExternalMemoryFeatureFlagBitsNV {
9764 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
9765 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
9766 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
9767 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9768 } VkExternalMemoryFeatureFlagBitsNV;
9769 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
9770 typedef struct VkExternalImageFormatPropertiesNV {
9771 VkImageFormatProperties imageFormatProperties;
9772 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
9773 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
9774 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
9775 } VkExternalImageFormatPropertiesNV;
9777 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9779 #ifndef VK_NO_PROTOTYPES
9780 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
9781 VkPhysicalDevice physicalDevice,
9784 VkImageTiling tiling,
9785 VkImageUsageFlags usage,
9786 VkImageCreateFlags flags,
9787 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
9788 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9792 #define VK_NV_external_memory 1
9793 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
9794 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
9795 typedef struct VkExternalMemoryImageCreateInfoNV {
9796 VkStructureType sType;
9798 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9799 } VkExternalMemoryImageCreateInfoNV;
9801 typedef struct VkExportMemoryAllocateInfoNV {
9802 VkStructureType sType;
9804 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9805 } VkExportMemoryAllocateInfoNV;
9809 #define VK_EXT_validation_flags 1
9810 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
9811 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
9813 typedef enum VkValidationCheckEXT {
9814 VK_VALIDATION_CHECK_ALL_EXT = 0,
9815 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
9816 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
9817 } VkValidationCheckEXT;
9818 typedef struct VkValidationFlagsEXT {
9819 VkStructureType sType;
9821 deUint32 disabledValidationCheckCount;
9822 const VkValidationCheckEXT* pDisabledValidationChecks;
9823 } VkValidationFlagsEXT;
9827 #define VK_EXT_shader_subgroup_ballot 1
9828 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
9829 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
9832 #define VK_EXT_shader_subgroup_vote 1
9833 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
9834 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
9837 #define VK_EXT_texture_compression_astc_hdr 1
9838 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
9839 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
9840 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
9841 VkStructureType sType;
9843 VkBool32 textureCompressionASTC_HDR;
9844 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
9848 #define VK_EXT_astc_decode_mode 1
9849 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
9850 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
9851 typedef struct VkImageViewASTCDecodeModeEXT {
9852 VkStructureType sType;
9854 VkFormat decodeMode;
9855 } VkImageViewASTCDecodeModeEXT;
9857 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
9858 VkStructureType sType;
9860 VkBool32 decodeModeSharedExponent;
9861 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
9865 #define VK_EXT_conditional_rendering 1
9866 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
9867 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
9869 typedef enum VkConditionalRenderingFlagBitsEXT {
9870 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
9871 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9872 } VkConditionalRenderingFlagBitsEXT;
9873 typedef VkFlags VkConditionalRenderingFlagsEXT;
9874 typedef struct VkConditionalRenderingBeginInfoEXT {
9875 VkStructureType sType;
9878 VkDeviceSize offset;
9879 VkConditionalRenderingFlagsEXT flags;
9880 } VkConditionalRenderingBeginInfoEXT;
9882 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
9883 VkStructureType sType;
9885 VkBool32 conditionalRendering;
9886 VkBool32 inheritedConditionalRendering;
9887 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
9889 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
9890 VkStructureType sType;
9892 VkBool32 conditionalRenderingEnable;
9893 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
9895 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9896 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
9898 #ifndef VK_NO_PROTOTYPES
9899 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
9900 VkCommandBuffer commandBuffer,
9901 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9903 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
9904 VkCommandBuffer commandBuffer);
9908 #define VK_NV_clip_space_w_scaling 1
9909 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
9910 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
9911 typedef struct VkViewportWScalingNV {
9914 } VkViewportWScalingNV;
9916 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
9917 VkStructureType sType;
9919 VkBool32 viewportWScalingEnable;
9920 deUint32 viewportCount;
9921 const VkViewportWScalingNV* pViewportWScalings;
9922 } VkPipelineViewportWScalingStateCreateInfoNV;
9924 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
9926 #ifndef VK_NO_PROTOTYPES
9927 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
9928 VkCommandBuffer commandBuffer,
9929 deUint32 firstViewport,
9930 deUint32 viewportCount,
9931 const VkViewportWScalingNV* pViewportWScalings);
9935 #define VK_EXT_direct_mode_display 1
9936 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
9937 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
9938 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
9940 #ifndef VK_NO_PROTOTYPES
9941 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
9942 VkPhysicalDevice physicalDevice,
9943 VkDisplayKHR display);
9947 #define VK_EXT_display_surface_counter 1
9948 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
9949 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
9951 typedef enum VkSurfaceCounterFlagBitsEXT {
9952 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
9953 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
9954 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9955 } VkSurfaceCounterFlagBitsEXT;
9956 typedef VkFlags VkSurfaceCounterFlagsEXT;
9957 typedef struct VkSurfaceCapabilities2EXT {
9958 VkStructureType sType;
9960 deUint32 minImageCount;
9961 deUint32 maxImageCount;
9962 VkExtent2D currentExtent;
9963 VkExtent2D minImageExtent;
9964 VkExtent2D maxImageExtent;
9965 deUint32 maxImageArrayLayers;
9966 VkSurfaceTransformFlagsKHR supportedTransforms;
9967 VkSurfaceTransformFlagBitsKHR currentTransform;
9968 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
9969 VkImageUsageFlags supportedUsageFlags;
9970 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
9971 } VkSurfaceCapabilities2EXT;
9973 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9975 #ifndef VK_NO_PROTOTYPES
9976 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
9977 VkPhysicalDevice physicalDevice,
9978 VkSurfaceKHR surface,
9979 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
9983 #define VK_EXT_display_control 1
9984 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
9985 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
9987 typedef enum VkDisplayPowerStateEXT {
9988 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
9989 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
9990 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
9991 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
9992 } VkDisplayPowerStateEXT;
9994 typedef enum VkDeviceEventTypeEXT {
9995 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
9996 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9997 } VkDeviceEventTypeEXT;
9999 typedef enum VkDisplayEventTypeEXT {
10000 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
10001 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10002 } VkDisplayEventTypeEXT;
10003 typedef struct VkDisplayPowerInfoEXT {
10004 VkStructureType sType;
10006 VkDisplayPowerStateEXT powerState;
10007 } VkDisplayPowerInfoEXT;
10009 typedef struct VkDeviceEventInfoEXT {
10010 VkStructureType sType;
10012 VkDeviceEventTypeEXT deviceEvent;
10013 } VkDeviceEventInfoEXT;
10015 typedef struct VkDisplayEventInfoEXT {
10016 VkStructureType sType;
10018 VkDisplayEventTypeEXT displayEvent;
10019 } VkDisplayEventInfoEXT;
10021 typedef struct VkSwapchainCounterCreateInfoEXT {
10022 VkStructureType sType;
10024 VkSurfaceCounterFlagsEXT surfaceCounters;
10025 } VkSwapchainCounterCreateInfoEXT;
10027 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10028 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10029 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10030 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
10032 #ifndef VK_NO_PROTOTYPES
10033 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
10035 VkDisplayKHR display,
10036 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10038 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
10040 const VkDeviceEventInfoEXT* pDeviceEventInfo,
10041 const VkAllocationCallbacks* pAllocator,
10044 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
10046 VkDisplayKHR display,
10047 const VkDisplayEventInfoEXT* pDisplayEventInfo,
10048 const VkAllocationCallbacks* pAllocator,
10051 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
10053 VkSwapchainKHR swapchain,
10054 VkSurfaceCounterFlagBitsEXT counter,
10055 deUint64* pCounterValue);
10059 #define VK_GOOGLE_display_timing 1
10060 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
10061 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
10062 typedef struct VkRefreshCycleDurationGOOGLE {
10063 deUint64 refreshDuration;
10064 } VkRefreshCycleDurationGOOGLE;
10066 typedef struct VkPastPresentationTimingGOOGLE {
10067 deUint32 presentID;
10068 deUint64 desiredPresentTime;
10069 deUint64 actualPresentTime;
10070 deUint64 earliestPresentTime;
10071 deUint64 presentMargin;
10072 } VkPastPresentationTimingGOOGLE;
10074 typedef struct VkPresentTimeGOOGLE {
10075 deUint32 presentID;
10076 deUint64 desiredPresentTime;
10077 } VkPresentTimeGOOGLE;
10079 typedef struct VkPresentTimesInfoGOOGLE {
10080 VkStructureType sType;
10082 deUint32 swapchainCount;
10083 const VkPresentTimeGOOGLE* pTimes;
10084 } VkPresentTimesInfoGOOGLE;
10086 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10087 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
10089 #ifndef VK_NO_PROTOTYPES
10090 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
10092 VkSwapchainKHR swapchain,
10093 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10095 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
10097 VkSwapchainKHR swapchain,
10098 deUint32* pPresentationTimingCount,
10099 VkPastPresentationTimingGOOGLE* pPresentationTimings);
10103 #define VK_NV_sample_mask_override_coverage 1
10104 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
10105 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
10108 #define VK_NV_geometry_shader_passthrough 1
10109 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
10110 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
10113 #define VK_NV_viewport_array2 1
10114 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
10115 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
10118 #define VK_NVX_multiview_per_view_attributes 1
10119 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
10120 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
10121 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10122 VkStructureType sType;
10124 VkBool32 perViewPositionAllComponents;
10125 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
10129 #define VK_NV_viewport_swizzle 1
10130 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
10131 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
10133 typedef enum VkViewportCoordinateSwizzleNV {
10134 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
10135 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
10136 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
10137 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
10138 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
10139 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
10140 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
10141 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
10142 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
10143 } VkViewportCoordinateSwizzleNV;
10144 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
10145 typedef struct VkViewportSwizzleNV {
10146 VkViewportCoordinateSwizzleNV x;
10147 VkViewportCoordinateSwizzleNV y;
10148 VkViewportCoordinateSwizzleNV z;
10149 VkViewportCoordinateSwizzleNV w;
10150 } VkViewportSwizzleNV;
10152 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
10153 VkStructureType sType;
10155 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
10156 deUint32 viewportCount;
10157 const VkViewportSwizzleNV* pViewportSwizzles;
10158 } VkPipelineViewportSwizzleStateCreateInfoNV;
10162 #define VK_EXT_discard_rectangles 1
10163 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
10164 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
10166 typedef enum VkDiscardRectangleModeEXT {
10167 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
10168 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
10169 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10170 } VkDiscardRectangleModeEXT;
10171 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
10172 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
10173 VkStructureType sType;
10175 deUint32 maxDiscardRectangles;
10176 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
10178 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
10179 VkStructureType sType;
10181 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
10182 VkDiscardRectangleModeEXT discardRectangleMode;
10183 deUint32 discardRectangleCount;
10184 const VkRect2D* pDiscardRectangles;
10185 } VkPipelineDiscardRectangleStateCreateInfoEXT;
10187 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
10189 #ifndef VK_NO_PROTOTYPES
10190 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
10191 VkCommandBuffer commandBuffer,
10192 deUint32 firstDiscardRectangle,
10193 deUint32 discardRectangleCount,
10194 const VkRect2D* pDiscardRectangles);
10198 #define VK_EXT_conservative_rasterization 1
10199 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
10200 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
10202 typedef enum VkConservativeRasterizationModeEXT {
10203 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
10204 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
10205 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
10206 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10207 } VkConservativeRasterizationModeEXT;
10208 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
10209 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
10210 VkStructureType sType;
10212 float primitiveOverestimationSize;
10213 float maxExtraPrimitiveOverestimationSize;
10214 float extraPrimitiveOverestimationSizeGranularity;
10215 VkBool32 primitiveUnderestimation;
10216 VkBool32 conservativePointAndLineRasterization;
10217 VkBool32 degenerateTrianglesRasterized;
10218 VkBool32 degenerateLinesRasterized;
10219 VkBool32 fullyCoveredFragmentShaderInputVariable;
10220 VkBool32 conservativeRasterizationPostDepthCoverage;
10221 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
10223 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
10224 VkStructureType sType;
10226 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
10227 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
10228 float extraPrimitiveOverestimationSize;
10229 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
10233 #define VK_EXT_depth_clip_enable 1
10234 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
10235 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
10236 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
10237 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
10238 VkStructureType sType;
10240 VkBool32 depthClipEnable;
10241 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
10243 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
10244 VkStructureType sType;
10246 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
10247 VkBool32 depthClipEnable;
10248 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
10252 #define VK_EXT_swapchain_colorspace 1
10253 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
10254 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
10257 #define VK_EXT_hdr_metadata 1
10258 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
10259 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
10260 typedef struct VkXYColorEXT {
10265 typedef struct VkHdrMetadataEXT {
10266 VkStructureType sType;
10268 VkXYColorEXT displayPrimaryRed;
10269 VkXYColorEXT displayPrimaryGreen;
10270 VkXYColorEXT displayPrimaryBlue;
10271 VkXYColorEXT whitePoint;
10272 float maxLuminance;
10273 float minLuminance;
10274 float maxContentLightLevel;
10275 float maxFrameAverageLightLevel;
10276 } VkHdrMetadataEXT;
10278 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
10280 #ifndef VK_NO_PROTOTYPES
10281 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
10283 deUint32 swapchainCount,
10284 const VkSwapchainKHR* pSwapchains,
10285 const VkHdrMetadataEXT* pMetadata);
10289 #define VK_EXT_external_memory_dma_buf 1
10290 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
10291 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
10294 #define VK_EXT_queue_family_foreign 1
10295 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
10296 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
10297 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
10300 #define VK_EXT_debug_utils 1
10301 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
10302 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
10303 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
10304 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
10306 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
10307 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
10308 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
10309 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
10310 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
10311 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10312 } VkDebugUtilsMessageSeverityFlagBitsEXT;
10314 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
10315 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
10316 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
10317 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
10318 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10319 } VkDebugUtilsMessageTypeFlagBitsEXT;
10320 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
10321 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
10322 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
10323 typedef struct VkDebugUtilsLabelEXT {
10324 VkStructureType sType;
10326 const char* pLabelName;
10328 } VkDebugUtilsLabelEXT;
10330 typedef struct VkDebugUtilsObjectNameInfoEXT {
10331 VkStructureType sType;
10333 VkObjectType objectType;
10334 deUint64 objectHandle;
10335 const char* pObjectName;
10336 } VkDebugUtilsObjectNameInfoEXT;
10338 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
10339 VkStructureType sType;
10341 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
10342 const char* pMessageIdName;
10343 deInt32 messageIdNumber;
10344 const char* pMessage;
10345 deUint32 queueLabelCount;
10346 const VkDebugUtilsLabelEXT* pQueueLabels;
10347 deUint32 cmdBufLabelCount;
10348 const VkDebugUtilsLabelEXT* pCmdBufLabels;
10349 deUint32 objectCount;
10350 const VkDebugUtilsObjectNameInfoEXT* pObjects;
10351 } VkDebugUtilsMessengerCallbackDataEXT;
10353 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
10354 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10355 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10356 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
10359 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
10360 VkStructureType sType;
10362 VkDebugUtilsMessengerCreateFlagsEXT flags;
10363 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
10364 VkDebugUtilsMessageTypeFlagsEXT messageType;
10365 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
10367 } VkDebugUtilsMessengerCreateInfoEXT;
10369 typedef struct VkDebugUtilsObjectTagInfoEXT {
10370 VkStructureType sType;
10372 VkObjectType objectType;
10373 deUint64 objectHandle;
10377 } VkDebugUtilsObjectTagInfoEXT;
10379 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10380 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10381 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10382 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
10383 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10384 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10385 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
10386 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10387 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
10388 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
10389 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10391 #ifndef VK_NO_PROTOTYPES
10392 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
10394 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10396 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
10398 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10400 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
10402 const VkDebugUtilsLabelEXT* pLabelInfo);
10404 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
10407 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
10409 const VkDebugUtilsLabelEXT* pLabelInfo);
10411 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
10412 VkCommandBuffer commandBuffer,
10413 const VkDebugUtilsLabelEXT* pLabelInfo);
10415 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
10416 VkCommandBuffer commandBuffer);
10418 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
10419 VkCommandBuffer commandBuffer,
10420 const VkDebugUtilsLabelEXT* pLabelInfo);
10422 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
10423 VkInstance instance,
10424 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
10425 const VkAllocationCallbacks* pAllocator,
10426 VkDebugUtilsMessengerEXT* pMessenger);
10428 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
10429 VkInstance instance,
10430 VkDebugUtilsMessengerEXT messenger,
10431 const VkAllocationCallbacks* pAllocator);
10433 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
10434 VkInstance instance,
10435 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10436 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10437 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10441 #define VK_EXT_sampler_filter_minmax 1
10442 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
10443 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
10444 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
10446 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
10448 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
10452 #define VK_AMD_gpu_shader_int16 1
10453 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
10454 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
10457 #define VK_AMD_mixed_attachment_samples 1
10458 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
10459 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
10462 #define VK_AMD_shader_fragment_mask 1
10463 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
10464 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
10467 #define VK_EXT_inline_uniform_block 1
10468 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
10469 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
10470 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
10471 VkStructureType sType;
10473 VkBool32 inlineUniformBlock;
10474 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
10475 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
10477 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
10478 VkStructureType sType;
10480 deUint32 maxInlineUniformBlockSize;
10481 deUint32 maxPerStageDescriptorInlineUniformBlocks;
10482 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
10483 deUint32 maxDescriptorSetInlineUniformBlocks;
10484 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
10485 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
10487 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
10488 VkStructureType sType;
10492 } VkWriteDescriptorSetInlineUniformBlockEXT;
10494 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
10495 VkStructureType sType;
10497 deUint32 maxInlineUniformBlockBindings;
10498 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
10502 #define VK_EXT_shader_stencil_export 1
10503 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
10504 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
10507 #define VK_EXT_sample_locations 1
10508 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
10509 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
10510 typedef struct VkSampleLocationEXT {
10513 } VkSampleLocationEXT;
10515 typedef struct VkSampleLocationsInfoEXT {
10516 VkStructureType sType;
10518 VkSampleCountFlagBits sampleLocationsPerPixel;
10519 VkExtent2D sampleLocationGridSize;
10520 deUint32 sampleLocationsCount;
10521 const VkSampleLocationEXT* pSampleLocations;
10522 } VkSampleLocationsInfoEXT;
10524 typedef struct VkAttachmentSampleLocationsEXT {
10525 deUint32 attachmentIndex;
10526 VkSampleLocationsInfoEXT sampleLocationsInfo;
10527 } VkAttachmentSampleLocationsEXT;
10529 typedef struct VkSubpassSampleLocationsEXT {
10530 deUint32 subpassIndex;
10531 VkSampleLocationsInfoEXT sampleLocationsInfo;
10532 } VkSubpassSampleLocationsEXT;
10534 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
10535 VkStructureType sType;
10537 deUint32 attachmentInitialSampleLocationsCount;
10538 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
10539 deUint32 postSubpassSampleLocationsCount;
10540 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
10541 } VkRenderPassSampleLocationsBeginInfoEXT;
10543 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
10544 VkStructureType sType;
10546 VkBool32 sampleLocationsEnable;
10547 VkSampleLocationsInfoEXT sampleLocationsInfo;
10548 } VkPipelineSampleLocationsStateCreateInfoEXT;
10550 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
10551 VkStructureType sType;
10553 VkSampleCountFlags sampleLocationSampleCounts;
10554 VkExtent2D maxSampleLocationGridSize;
10555 float sampleLocationCoordinateRange[2];
10556 deUint32 sampleLocationSubPixelBits;
10557 VkBool32 variableSampleLocations;
10558 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
10560 typedef struct VkMultisamplePropertiesEXT {
10561 VkStructureType sType;
10563 VkExtent2D maxSampleLocationGridSize;
10564 } VkMultisamplePropertiesEXT;
10566 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10567 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
10569 #ifndef VK_NO_PROTOTYPES
10570 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
10571 VkCommandBuffer commandBuffer,
10572 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10574 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
10575 VkPhysicalDevice physicalDevice,
10576 VkSampleCountFlagBits samples,
10577 VkMultisamplePropertiesEXT* pMultisampleProperties);
10581 #define VK_EXT_blend_operation_advanced 1
10582 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
10583 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
10585 typedef enum VkBlendOverlapEXT {
10586 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
10587 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
10588 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
10589 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
10590 } VkBlendOverlapEXT;
10591 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
10592 VkStructureType sType;
10594 VkBool32 advancedBlendCoherentOperations;
10595 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
10597 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
10598 VkStructureType sType;
10600 deUint32 advancedBlendMaxColorAttachments;
10601 VkBool32 advancedBlendIndependentBlend;
10602 VkBool32 advancedBlendNonPremultipliedSrcColor;
10603 VkBool32 advancedBlendNonPremultipliedDstColor;
10604 VkBool32 advancedBlendCorrelatedOverlap;
10605 VkBool32 advancedBlendAllOperations;
10606 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
10608 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
10609 VkStructureType sType;
10611 VkBool32 srcPremultiplied;
10612 VkBool32 dstPremultiplied;
10613 VkBlendOverlapEXT blendOverlap;
10614 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
10618 #define VK_NV_fragment_coverage_to_color 1
10619 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
10620 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
10621 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
10622 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
10623 VkStructureType sType;
10625 VkPipelineCoverageToColorStateCreateFlagsNV flags;
10626 VkBool32 coverageToColorEnable;
10627 deUint32 coverageToColorLocation;
10628 } VkPipelineCoverageToColorStateCreateInfoNV;
10632 #define VK_NV_framebuffer_mixed_samples 1
10633 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
10634 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
10636 typedef enum VkCoverageModulationModeNV {
10637 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
10638 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
10639 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
10640 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
10641 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10642 } VkCoverageModulationModeNV;
10643 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
10644 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
10645 VkStructureType sType;
10647 VkPipelineCoverageModulationStateCreateFlagsNV flags;
10648 VkCoverageModulationModeNV coverageModulationMode;
10649 VkBool32 coverageModulationTableEnable;
10650 deUint32 coverageModulationTableCount;
10651 const float* pCoverageModulationTable;
10652 } VkPipelineCoverageModulationStateCreateInfoNV;
10656 #define VK_NV_fill_rectangle 1
10657 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
10658 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
10661 #define VK_NV_shader_sm_builtins 1
10662 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
10663 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
10664 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
10665 VkStructureType sType;
10667 deUint32 shaderSMCount;
10668 deUint32 shaderWarpsPerSM;
10669 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
10671 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
10672 VkStructureType sType;
10674 VkBool32 shaderSMBuiltins;
10675 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
10679 #define VK_EXT_post_depth_coverage 1
10680 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
10681 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
10684 #define VK_EXT_image_drm_format_modifier 1
10685 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
10686 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
10687 typedef struct VkDrmFormatModifierPropertiesEXT {
10688 deUint64 drmFormatModifier;
10689 deUint32 drmFormatModifierPlaneCount;
10690 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
10691 } VkDrmFormatModifierPropertiesEXT;
10693 typedef struct VkDrmFormatModifierPropertiesListEXT {
10694 VkStructureType sType;
10696 deUint32 drmFormatModifierCount;
10697 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
10698 } VkDrmFormatModifierPropertiesListEXT;
10700 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
10701 VkStructureType sType;
10703 deUint64 drmFormatModifier;
10704 VkSharingMode sharingMode;
10705 deUint32 queueFamilyIndexCount;
10706 const deUint32* pQueueFamilyIndices;
10707 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
10709 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
10710 VkStructureType sType;
10712 deUint32 drmFormatModifierCount;
10713 const deUint64* pDrmFormatModifiers;
10714 } VkImageDrmFormatModifierListCreateInfoEXT;
10716 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
10717 VkStructureType sType;
10719 deUint64 drmFormatModifier;
10720 deUint32 drmFormatModifierPlaneCount;
10721 const VkSubresourceLayout* pPlaneLayouts;
10722 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
10724 typedef struct VkImageDrmFormatModifierPropertiesEXT {
10725 VkStructureType sType;
10727 deUint64 drmFormatModifier;
10728 } VkImageDrmFormatModifierPropertiesEXT;
10730 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
10732 #ifndef VK_NO_PROTOTYPES
10733 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
10736 VkImageDrmFormatModifierPropertiesEXT* pProperties);
10740 #define VK_EXT_validation_cache 1
10741 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
10742 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
10743 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
10745 typedef enum VkValidationCacheHeaderVersionEXT {
10746 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
10747 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
10748 } VkValidationCacheHeaderVersionEXT;
10749 typedef VkFlags VkValidationCacheCreateFlagsEXT;
10750 typedef struct VkValidationCacheCreateInfoEXT {
10751 VkStructureType sType;
10753 VkValidationCacheCreateFlagsEXT flags;
10754 deUintptr initialDataSize;
10755 const void* pInitialData;
10756 } VkValidationCacheCreateInfoEXT;
10758 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
10759 VkStructureType sType;
10761 VkValidationCacheEXT validationCache;
10762 } VkShaderModuleValidationCacheCreateInfoEXT;
10764 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
10765 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
10766 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
10767 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
10769 #ifndef VK_NO_PROTOTYPES
10770 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
10772 const VkValidationCacheCreateInfoEXT* pCreateInfo,
10773 const VkAllocationCallbacks* pAllocator,
10774 VkValidationCacheEXT* pValidationCache);
10776 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
10778 VkValidationCacheEXT validationCache,
10779 const VkAllocationCallbacks* pAllocator);
10781 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
10783 VkValidationCacheEXT dstCache,
10784 deUint32 srcCacheCount,
10785 const VkValidationCacheEXT* pSrcCaches);
10787 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
10789 VkValidationCacheEXT validationCache,
10790 deUintptr* pDataSize,
10795 #define VK_EXT_descriptor_indexing 1
10796 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
10797 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
10798 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
10800 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
10802 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
10804 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
10806 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
10808 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
10810 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
10814 #define VK_EXT_shader_viewport_index_layer 1
10815 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
10816 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
10819 #define VK_NV_shading_rate_image 1
10820 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
10821 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
10823 typedef enum VkShadingRatePaletteEntryNV {
10824 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
10825 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
10826 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
10827 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
10828 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
10829 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
10830 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
10831 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
10832 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
10833 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
10834 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
10835 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
10836 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
10837 } VkShadingRatePaletteEntryNV;
10839 typedef enum VkCoarseSampleOrderTypeNV {
10840 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
10841 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
10842 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
10843 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
10844 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10845 } VkCoarseSampleOrderTypeNV;
10846 typedef struct VkShadingRatePaletteNV {
10847 deUint32 shadingRatePaletteEntryCount;
10848 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
10849 } VkShadingRatePaletteNV;
10851 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
10852 VkStructureType sType;
10854 VkBool32 shadingRateImageEnable;
10855 deUint32 viewportCount;
10856 const VkShadingRatePaletteNV* pShadingRatePalettes;
10857 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
10859 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10860 VkStructureType sType;
10862 VkBool32 shadingRateImage;
10863 VkBool32 shadingRateCoarseSampleOrder;
10864 } VkPhysicalDeviceShadingRateImageFeaturesNV;
10866 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10867 VkStructureType sType;
10869 VkExtent2D shadingRateTexelSize;
10870 deUint32 shadingRatePaletteSize;
10871 deUint32 shadingRateMaxCoarseSamples;
10872 } VkPhysicalDeviceShadingRateImagePropertiesNV;
10874 typedef struct VkCoarseSampleLocationNV {
10878 } VkCoarseSampleLocationNV;
10880 typedef struct VkCoarseSampleOrderCustomNV {
10881 VkShadingRatePaletteEntryNV shadingRate;
10882 deUint32 sampleCount;
10883 deUint32 sampleLocationCount;
10884 const VkCoarseSampleLocationNV* pSampleLocations;
10885 } VkCoarseSampleOrderCustomNV;
10887 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10888 VkStructureType sType;
10890 VkCoarseSampleOrderTypeNV sampleOrderType;
10891 deUint32 customSampleOrderCount;
10892 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
10893 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
10895 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
10896 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
10897 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10899 #ifndef VK_NO_PROTOTYPES
10900 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
10901 VkCommandBuffer commandBuffer,
10902 VkImageView imageView,
10903 VkImageLayout imageLayout);
10905 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
10906 VkCommandBuffer commandBuffer,
10907 deUint32 firstViewport,
10908 deUint32 viewportCount,
10909 const VkShadingRatePaletteNV* pShadingRatePalettes);
10911 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
10912 VkCommandBuffer commandBuffer,
10913 VkCoarseSampleOrderTypeNV sampleOrderType,
10914 deUint32 customSampleOrderCount,
10915 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10919 #define VK_NV_ray_tracing 1
10920 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
10921 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
10922 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
10923 #define VK_SHADER_UNUSED_KHR (~0U)
10924 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
10926 typedef enum VkRayTracingShaderGroupTypeKHR {
10927 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
10928 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
10929 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
10930 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
10931 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
10932 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
10933 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10934 } VkRayTracingShaderGroupTypeKHR;
10935 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
10938 typedef enum VkGeometryTypeKHR {
10939 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
10940 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
10941 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
10942 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
10943 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
10944 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10945 } VkGeometryTypeKHR;
10946 typedef VkGeometryTypeKHR VkGeometryTypeNV;
10949 typedef enum VkAccelerationStructureTypeKHR {
10950 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
10951 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
10952 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
10953 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
10954 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
10955 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
10956 } VkAccelerationStructureTypeKHR;
10957 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
10960 typedef enum VkCopyAccelerationStructureModeKHR {
10961 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
10962 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
10963 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
10964 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
10965 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
10966 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
10967 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
10968 } VkCopyAccelerationStructureModeKHR;
10969 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
10972 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
10973 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
10974 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
10975 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
10976 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10977 } VkAccelerationStructureMemoryRequirementsTypeNV;
10979 typedef enum VkGeometryFlagBitsKHR {
10980 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
10981 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
10982 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
10983 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
10984 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
10985 } VkGeometryFlagBitsKHR;
10986 typedef VkFlags VkGeometryFlagsKHR;
10987 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
10989 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
10992 typedef enum VkGeometryInstanceFlagBitsKHR {
10993 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
10994 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002,
10995 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
10996 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
10997 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
10998 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
10999 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
11000 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
11001 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11002 } VkGeometryInstanceFlagBitsKHR;
11003 typedef VkFlags VkGeometryInstanceFlagsKHR;
11004 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
11006 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
11009 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
11010 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
11011 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
11012 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
11013 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
11014 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
11015 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
11016 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
11017 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
11018 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
11019 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
11020 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
11021 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11022 } VkBuildAccelerationStructureFlagBitsKHR;
11023 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
11024 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
11026 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
11028 typedef struct VkRayTracingShaderGroupCreateInfoNV {
11029 VkStructureType sType;
11031 VkRayTracingShaderGroupTypeKHR type;
11032 deUint32 generalShader;
11033 deUint32 closestHitShader;
11034 deUint32 anyHitShader;
11035 deUint32 intersectionShader;
11036 } VkRayTracingShaderGroupCreateInfoNV;
11038 typedef struct VkRayTracingPipelineCreateInfoNV {
11039 VkStructureType sType;
11041 VkPipelineCreateFlags flags;
11042 deUint32 stageCount;
11043 const VkPipelineShaderStageCreateInfo* pStages;
11044 deUint32 groupCount;
11045 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
11046 deUint32 maxRecursionDepth;
11047 VkPipelineLayout layout;
11048 VkPipeline basePipelineHandle;
11049 deInt32 basePipelineIndex;
11050 } VkRayTracingPipelineCreateInfoNV;
11052 typedef struct VkGeometryTrianglesNV {
11053 VkStructureType sType;
11055 VkBuffer vertexData;
11056 VkDeviceSize vertexOffset;
11057 deUint32 vertexCount;
11058 VkDeviceSize vertexStride;
11059 VkFormat vertexFormat;
11060 VkBuffer indexData;
11061 VkDeviceSize indexOffset;
11062 deUint32 indexCount;
11063 VkIndexType indexType;
11064 VkBuffer transformData;
11065 VkDeviceSize transformOffset;
11066 } VkGeometryTrianglesNV;
11068 typedef struct VkGeometryAABBNV {
11069 VkStructureType sType;
11074 VkDeviceSize offset;
11075 } VkGeometryAABBNV;
11077 typedef struct VkGeometryDataNV {
11078 VkGeometryTrianglesNV triangles;
11079 VkGeometryAABBNV aabbs;
11080 } VkGeometryDataNV;
11082 typedef struct VkGeometryNV {
11083 VkStructureType sType;
11085 VkGeometryTypeKHR geometryType;
11086 VkGeometryDataNV geometry;
11087 VkGeometryFlagsKHR flags;
11090 typedef struct VkAccelerationStructureInfoNV {
11091 VkStructureType sType;
11093 VkAccelerationStructureTypeNV type;
11094 VkBuildAccelerationStructureFlagsNV flags;
11095 deUint32 instanceCount;
11096 deUint32 geometryCount;
11097 const VkGeometryNV* pGeometries;
11098 } VkAccelerationStructureInfoNV;
11100 typedef struct VkAccelerationStructureCreateInfoNV {
11101 VkStructureType sType;
11103 VkDeviceSize compactedSize;
11104 VkAccelerationStructureInfoNV info;
11105 } VkAccelerationStructureCreateInfoNV;
11107 typedef struct VkBindAccelerationStructureMemoryInfoNV {
11108 VkStructureType sType;
11110 VkAccelerationStructureNV accelerationStructure;
11111 VkDeviceMemory memory;
11112 VkDeviceSize memoryOffset;
11113 deUint32 deviceIndexCount;
11114 const deUint32* pDeviceIndices;
11115 } VkBindAccelerationStructureMemoryInfoNV;
11117 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
11118 VkStructureType sType;
11120 deUint32 accelerationStructureCount;
11121 const VkAccelerationStructureNV* pAccelerationStructures;
11122 } VkWriteDescriptorSetAccelerationStructureNV;
11124 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
11125 VkStructureType sType;
11127 VkAccelerationStructureMemoryRequirementsTypeNV type;
11128 VkAccelerationStructureNV accelerationStructure;
11129 } VkAccelerationStructureMemoryRequirementsInfoNV;
11131 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
11132 VkStructureType sType;
11134 deUint32 shaderGroupHandleSize;
11135 deUint32 maxRecursionDepth;
11136 deUint32 maxShaderGroupStride;
11137 deUint32 shaderGroupBaseAlignment;
11138 deUint64 maxGeometryCount;
11139 deUint64 maxInstanceCount;
11140 deUint64 maxTriangleCount;
11141 deUint32 maxDescriptorSetAccelerationStructures;
11142 } VkPhysicalDeviceRayTracingPropertiesNV;
11144 typedef struct VkTransformMatrixKHR {
11145 float matrix[3][4];
11146 } VkTransformMatrixKHR;
11148 typedef VkTransformMatrixKHR VkTransformMatrixNV;
11150 typedef struct VkAabbPositionsKHR {
11157 } VkAabbPositionsKHR;
11159 typedef VkAabbPositionsKHR VkAabbPositionsNV;
11161 typedef struct VkAccelerationStructureInstanceKHR {
11162 VkTransformMatrixKHR transform;
11163 deUint32 instanceCustomIndex:24;
11165 deUint32 instanceShaderBindingTableRecordOffset:24;
11166 VkGeometryInstanceFlagsKHR flags:8;
11167 deUint64 accelerationStructureReference;
11168 } VkAccelerationStructureInstanceKHR;
11170 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
11172 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
11173 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
11174 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
11175 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11176 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);
11177 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
11178 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);
11179 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
11180 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11181 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11182 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
11183 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
11184 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
11186 #ifndef VK_NO_PROTOTYPES
11187 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
11189 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
11190 const VkAllocationCallbacks* pAllocator,
11191 VkAccelerationStructureNV* pAccelerationStructure);
11193 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
11195 VkAccelerationStructureNV accelerationStructure,
11196 const VkAllocationCallbacks* pAllocator);
11198 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
11200 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
11201 VkMemoryRequirements2KHR* pMemoryRequirements);
11203 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
11205 deUint32 bindInfoCount,
11206 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11208 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
11209 VkCommandBuffer commandBuffer,
11210 const VkAccelerationStructureInfoNV* pInfo,
11211 VkBuffer instanceData,
11212 VkDeviceSize instanceOffset,
11214 VkAccelerationStructureNV dst,
11215 VkAccelerationStructureNV src,
11217 VkDeviceSize scratchOffset);
11219 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
11220 VkCommandBuffer commandBuffer,
11221 VkAccelerationStructureNV dst,
11222 VkAccelerationStructureNV src,
11223 VkCopyAccelerationStructureModeKHR mode);
11225 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
11226 VkCommandBuffer commandBuffer,
11227 VkBuffer raygenShaderBindingTableBuffer,
11228 VkDeviceSize raygenShaderBindingOffset,
11229 VkBuffer missShaderBindingTableBuffer,
11230 VkDeviceSize missShaderBindingOffset,
11231 VkDeviceSize missShaderBindingStride,
11232 VkBuffer hitShaderBindingTableBuffer,
11233 VkDeviceSize hitShaderBindingOffset,
11234 VkDeviceSize hitShaderBindingStride,
11235 VkBuffer callableShaderBindingTableBuffer,
11236 VkDeviceSize callableShaderBindingOffset,
11237 VkDeviceSize callableShaderBindingStride,
11242 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
11244 VkPipelineCache pipelineCache,
11245 deUint32 createInfoCount,
11246 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
11247 const VkAllocationCallbacks* pAllocator,
11248 VkPipeline* pPipelines);
11250 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
11252 VkPipeline pipeline,
11253 deUint32 firstGroup,
11254 deUint32 groupCount,
11255 deUintptr dataSize,
11258 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
11260 VkPipeline pipeline,
11261 deUint32 firstGroup,
11262 deUint32 groupCount,
11263 deUintptr dataSize,
11266 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
11268 VkAccelerationStructureNV accelerationStructure,
11269 deUintptr dataSize,
11272 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
11273 VkCommandBuffer commandBuffer,
11274 deUint32 accelerationStructureCount,
11275 const VkAccelerationStructureNV* pAccelerationStructures,
11276 VkQueryType queryType,
11277 VkQueryPool queryPool,
11278 deUint32 firstQuery);
11280 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
11282 VkPipeline pipeline,
11287 #define VK_NV_representative_fragment_test 1
11288 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
11289 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
11290 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11291 VkStructureType sType;
11293 VkBool32 representativeFragmentTest;
11294 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
11296 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
11297 VkStructureType sType;
11299 VkBool32 representativeFragmentTestEnable;
11300 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
11304 #define VK_EXT_filter_cubic 1
11305 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
11306 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
11307 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
11308 VkStructureType sType;
11310 VkImageViewType imageViewType;
11311 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
11313 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
11314 VkStructureType sType;
11316 VkBool32 filterCubic;
11317 VkBool32 filterCubicMinmax;
11318 } VkFilterCubicImageViewImageFormatPropertiesEXT;
11322 #define VK_QCOM_render_pass_shader_resolve 1
11323 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
11324 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
11327 #define VK_EXT_global_priority 1
11328 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
11329 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
11331 typedef enum VkQueueGlobalPriorityEXT {
11332 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
11333 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
11334 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
11335 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
11336 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
11337 } VkQueueGlobalPriorityEXT;
11338 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
11339 VkStructureType sType;
11341 VkQueueGlobalPriorityEXT globalPriority;
11342 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
11346 #define VK_EXT_external_memory_host 1
11347 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
11348 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
11349 typedef struct VkImportMemoryHostPointerInfoEXT {
11350 VkStructureType sType;
11352 VkExternalMemoryHandleTypeFlagBits handleType;
11353 void* pHostPointer;
11354 } VkImportMemoryHostPointerInfoEXT;
11356 typedef struct VkMemoryHostPointerPropertiesEXT {
11357 VkStructureType sType;
11359 deUint32 memoryTypeBits;
11360 } VkMemoryHostPointerPropertiesEXT;
11362 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
11363 VkStructureType sType;
11365 VkDeviceSize minImportedHostPointerAlignment;
11366 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
11368 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11370 #ifndef VK_NO_PROTOTYPES
11371 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
11373 VkExternalMemoryHandleTypeFlagBits handleType,
11374 const void* pHostPointer,
11375 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11379 #define VK_AMD_buffer_marker 1
11380 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
11381 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
11382 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
11384 #ifndef VK_NO_PROTOTYPES
11385 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
11386 VkCommandBuffer commandBuffer,
11387 VkPipelineStageFlagBits pipelineStage,
11388 VkBuffer dstBuffer,
11389 VkDeviceSize dstOffset,
11394 #define VK_AMD_pipeline_compiler_control 1
11395 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
11396 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
11398 typedef enum VkPipelineCompilerControlFlagBitsAMD {
11399 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11400 } VkPipelineCompilerControlFlagBitsAMD;
11401 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
11402 typedef struct VkPipelineCompilerControlCreateInfoAMD {
11403 VkStructureType sType;
11405 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
11406 } VkPipelineCompilerControlCreateInfoAMD;
11410 #define VK_EXT_calibrated_timestamps 1
11411 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
11412 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
11414 typedef enum VkTimeDomainEXT {
11415 VK_TIME_DOMAIN_DEVICE_EXT = 0,
11416 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
11417 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
11418 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
11419 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
11421 typedef struct VkCalibratedTimestampInfoEXT {
11422 VkStructureType sType;
11424 VkTimeDomainEXT timeDomain;
11425 } VkCalibratedTimestampInfoEXT;
11427 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
11428 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
11430 #ifndef VK_NO_PROTOTYPES
11431 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11432 VkPhysicalDevice physicalDevice,
11433 deUint32* pTimeDomainCount,
11434 VkTimeDomainEXT* pTimeDomains);
11436 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
11438 deUint32 timestampCount,
11439 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
11440 deUint64* pTimestamps,
11441 deUint64* pMaxDeviation);
11445 #define VK_AMD_shader_core_properties 1
11446 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
11447 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
11448 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
11449 VkStructureType sType;
11451 deUint32 shaderEngineCount;
11452 deUint32 shaderArraysPerEngineCount;
11453 deUint32 computeUnitsPerShaderArray;
11454 deUint32 simdPerComputeUnit;
11455 deUint32 wavefrontsPerSimd;
11456 deUint32 wavefrontSize;
11457 deUint32 sgprsPerSimd;
11458 deUint32 minSgprAllocation;
11459 deUint32 maxSgprAllocation;
11460 deUint32 sgprAllocationGranularity;
11461 deUint32 vgprsPerSimd;
11462 deUint32 minVgprAllocation;
11463 deUint32 maxVgprAllocation;
11464 deUint32 vgprAllocationGranularity;
11465 } VkPhysicalDeviceShaderCorePropertiesAMD;
11469 #define VK_AMD_memory_overallocation_behavior 1
11470 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
11471 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
11473 typedef enum VkMemoryOverallocationBehaviorAMD {
11474 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
11475 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
11476 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
11477 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
11478 } VkMemoryOverallocationBehaviorAMD;
11479 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
11480 VkStructureType sType;
11482 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
11483 } VkDeviceMemoryOverallocationCreateInfoAMD;
11487 #define VK_EXT_vertex_attribute_divisor 1
11488 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
11489 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
11490 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
11491 VkStructureType sType;
11493 deUint32 maxVertexAttribDivisor;
11494 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
11496 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
11499 } VkVertexInputBindingDivisorDescriptionEXT;
11501 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
11502 VkStructureType sType;
11504 deUint32 vertexBindingDivisorCount;
11505 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
11506 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
11508 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
11509 VkStructureType sType;
11511 VkBool32 vertexAttributeInstanceRateDivisor;
11512 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11513 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
11517 #define VK_EXT_pipeline_creation_feedback 1
11518 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
11519 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
11521 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
11522 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
11523 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
11524 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
11525 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11526 } VkPipelineCreationFeedbackFlagBitsEXT;
11527 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
11528 typedef struct VkPipelineCreationFeedbackEXT {
11529 VkPipelineCreationFeedbackFlagsEXT flags;
11531 } VkPipelineCreationFeedbackEXT;
11533 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
11534 VkStructureType sType;
11536 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
11537 deUint32 pipelineStageCreationFeedbackCount;
11538 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
11539 } VkPipelineCreationFeedbackCreateInfoEXT;
11543 #define VK_NV_shader_subgroup_partitioned 1
11544 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
11545 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
11548 #define VK_NV_compute_shader_derivatives 1
11549 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
11550 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
11551 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
11552 VkStructureType sType;
11554 VkBool32 computeDerivativeGroupQuads;
11555 VkBool32 computeDerivativeGroupLinear;
11556 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
11560 #define VK_NV_mesh_shader 1
11561 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
11562 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
11563 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
11564 VkStructureType sType;
11566 VkBool32 taskShader;
11567 VkBool32 meshShader;
11568 } VkPhysicalDeviceMeshShaderFeaturesNV;
11570 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
11571 VkStructureType sType;
11573 deUint32 maxDrawMeshTasksCount;
11574 deUint32 maxTaskWorkGroupInvocations;
11575 deUint32 maxTaskWorkGroupSize[3];
11576 deUint32 maxTaskTotalMemorySize;
11577 deUint32 maxTaskOutputCount;
11578 deUint32 maxMeshWorkGroupInvocations;
11579 deUint32 maxMeshWorkGroupSize[3];
11580 deUint32 maxMeshTotalMemorySize;
11581 deUint32 maxMeshOutputVertices;
11582 deUint32 maxMeshOutputPrimitives;
11583 deUint32 maxMeshMultiviewViewCount;
11584 deUint32 meshOutputPerVertexGranularity;
11585 deUint32 meshOutputPerPrimitiveGranularity;
11586 } VkPhysicalDeviceMeshShaderPropertiesNV;
11588 typedef struct VkDrawMeshTasksIndirectCommandNV {
11589 deUint32 taskCount;
11590 deUint32 firstTask;
11591 } VkDrawMeshTasksIndirectCommandNV;
11593 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
11594 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
11595 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11597 #ifndef VK_NO_PROTOTYPES
11598 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
11599 VkCommandBuffer commandBuffer,
11600 deUint32 taskCount,
11601 deUint32 firstTask);
11603 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
11604 VkCommandBuffer commandBuffer,
11606 VkDeviceSize offset,
11607 deUint32 drawCount,
11610 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
11611 VkCommandBuffer commandBuffer,
11613 VkDeviceSize offset,
11614 VkBuffer countBuffer,
11615 VkDeviceSize countBufferOffset,
11616 deUint32 maxDrawCount,
11621 #define VK_NV_fragment_shader_barycentric 1
11622 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
11623 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
11624 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11625 VkStructureType sType;
11627 VkBool32 fragmentShaderBarycentric;
11628 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
11632 #define VK_NV_shader_image_footprint 1
11633 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
11634 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
11635 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11636 VkStructureType sType;
11638 VkBool32 imageFootprint;
11639 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
11643 #define VK_NV_scissor_exclusive 1
11644 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
11645 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
11646 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11647 VkStructureType sType;
11649 deUint32 exclusiveScissorCount;
11650 const VkRect2D* pExclusiveScissors;
11651 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
11653 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11654 VkStructureType sType;
11656 VkBool32 exclusiveScissor;
11657 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
11659 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
11661 #ifndef VK_NO_PROTOTYPES
11662 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
11663 VkCommandBuffer commandBuffer,
11664 deUint32 firstExclusiveScissor,
11665 deUint32 exclusiveScissorCount,
11666 const VkRect2D* pExclusiveScissors);
11670 #define VK_NV_device_diagnostic_checkpoints 1
11671 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
11672 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
11673 typedef struct VkQueueFamilyCheckpointPropertiesNV {
11674 VkStructureType sType;
11676 VkPipelineStageFlags checkpointExecutionStageMask;
11677 } VkQueueFamilyCheckpointPropertiesNV;
11679 typedef struct VkCheckpointDataNV {
11680 VkStructureType sType;
11682 VkPipelineStageFlagBits stage;
11683 void* pCheckpointMarker;
11684 } VkCheckpointDataNV;
11686 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
11687 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
11689 #ifndef VK_NO_PROTOTYPES
11690 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
11691 VkCommandBuffer commandBuffer,
11692 const void* pCheckpointMarker);
11694 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
11696 deUint32* pCheckpointDataCount,
11697 VkCheckpointDataNV* pCheckpointData);
11701 #define VK_INTEL_shader_integer_functions2 1
11702 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
11703 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
11704 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
11705 VkStructureType sType;
11707 VkBool32 shaderIntegerFunctions2;
11708 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
11712 #define VK_INTEL_performance_query 1
11713 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
11714 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
11715 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
11717 typedef enum VkPerformanceConfigurationTypeINTEL {
11718 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
11719 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11720 } VkPerformanceConfigurationTypeINTEL;
11722 typedef enum VkQueryPoolSamplingModeINTEL {
11723 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
11724 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
11725 } VkQueryPoolSamplingModeINTEL;
11727 typedef enum VkPerformanceOverrideTypeINTEL {
11728 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
11729 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
11730 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11731 } VkPerformanceOverrideTypeINTEL;
11733 typedef enum VkPerformanceParameterTypeINTEL {
11734 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
11735 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
11736 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11737 } VkPerformanceParameterTypeINTEL;
11739 typedef enum VkPerformanceValueTypeINTEL {
11740 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
11741 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
11742 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
11743 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
11744 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
11745 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11746 } VkPerformanceValueTypeINTEL;
11747 typedef union VkPerformanceValueDataINTEL {
11751 VkBool32 valueBool;
11752 const char* valueString;
11753 } VkPerformanceValueDataINTEL;
11755 typedef struct VkPerformanceValueINTEL {
11756 VkPerformanceValueTypeINTEL type;
11757 VkPerformanceValueDataINTEL data;
11758 } VkPerformanceValueINTEL;
11760 typedef struct VkInitializePerformanceApiInfoINTEL {
11761 VkStructureType sType;
11764 } VkInitializePerformanceApiInfoINTEL;
11766 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
11767 VkStructureType sType;
11769 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
11770 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
11772 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
11774 typedef struct VkPerformanceMarkerInfoINTEL {
11775 VkStructureType sType;
11778 } VkPerformanceMarkerInfoINTEL;
11780 typedef struct VkPerformanceStreamMarkerInfoINTEL {
11781 VkStructureType sType;
11784 } VkPerformanceStreamMarkerInfoINTEL;
11786 typedef struct VkPerformanceOverrideInfoINTEL {
11787 VkStructureType sType;
11789 VkPerformanceOverrideTypeINTEL type;
11791 deUint64 parameter;
11792 } VkPerformanceOverrideInfoINTEL;
11794 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
11795 VkStructureType sType;
11797 VkPerformanceConfigurationTypeINTEL type;
11798 } VkPerformanceConfigurationAcquireInfoINTEL;
11800 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11801 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
11802 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11803 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11804 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11805 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
11806 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
11807 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
11808 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
11810 #ifndef VK_NO_PROTOTYPES
11811 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
11813 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11815 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
11818 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
11819 VkCommandBuffer commandBuffer,
11820 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11822 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
11823 VkCommandBuffer commandBuffer,
11824 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11826 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
11827 VkCommandBuffer commandBuffer,
11828 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11830 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
11832 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
11833 VkPerformanceConfigurationINTEL* pConfiguration);
11835 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
11837 VkPerformanceConfigurationINTEL configuration);
11839 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
11841 VkPerformanceConfigurationINTEL configuration);
11843 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
11845 VkPerformanceParameterTypeINTEL parameter,
11846 VkPerformanceValueINTEL* pValue);
11850 #define VK_EXT_pci_bus_info 1
11851 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
11852 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
11853 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
11854 VkStructureType sType;
11856 deUint32 pciDomain;
11858 deUint32 pciDevice;
11859 deUint32 pciFunction;
11860 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
11864 #define VK_AMD_display_native_hdr 1
11865 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
11866 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
11867 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11868 VkStructureType sType;
11870 VkBool32 localDimmingSupport;
11871 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
11873 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11874 VkStructureType sType;
11876 VkBool32 localDimmingEnable;
11877 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
11879 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
11881 #ifndef VK_NO_PROTOTYPES
11882 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
11884 VkSwapchainKHR swapChain,
11885 VkBool32 localDimmingEnable);
11889 #define VK_EXT_fragment_density_map 1
11890 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
11891 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
11892 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11893 VkStructureType sType;
11895 VkBool32 fragmentDensityMap;
11896 VkBool32 fragmentDensityMapDynamic;
11897 VkBool32 fragmentDensityMapNonSubsampledImages;
11898 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
11900 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11901 VkStructureType sType;
11903 VkExtent2D minFragmentDensityTexelSize;
11904 VkExtent2D maxFragmentDensityTexelSize;
11905 VkBool32 fragmentDensityInvocations;
11906 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
11908 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
11909 VkStructureType sType;
11911 VkAttachmentReference fragmentDensityMapAttachment;
11912 } VkRenderPassFragmentDensityMapCreateInfoEXT;
11916 #define VK_EXT_scalar_block_layout 1
11917 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
11918 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
11919 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
11923 #define VK_GOOGLE_hlsl_functionality1 1
11924 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
11925 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
11928 #define VK_GOOGLE_decorate_string 1
11929 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
11930 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
11933 #define VK_EXT_subgroup_size_control 1
11934 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
11935 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
11936 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
11937 VkStructureType sType;
11939 VkBool32 subgroupSizeControl;
11940 VkBool32 computeFullSubgroups;
11941 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
11943 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
11944 VkStructureType sType;
11946 deUint32 minSubgroupSize;
11947 deUint32 maxSubgroupSize;
11948 deUint32 maxComputeWorkgroupSubgroups;
11949 VkShaderStageFlags requiredSubgroupSizeStages;
11950 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
11952 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
11953 VkStructureType sType;
11955 deUint32 requiredSubgroupSize;
11956 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
11960 #define VK_AMD_shader_core_properties2 1
11961 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
11962 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
11964 typedef enum VkShaderCorePropertiesFlagBitsAMD {
11965 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11966 } VkShaderCorePropertiesFlagBitsAMD;
11967 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
11968 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
11969 VkStructureType sType;
11971 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
11972 deUint32 activeComputeUnitCount;
11973 } VkPhysicalDeviceShaderCoreProperties2AMD;
11977 #define VK_AMD_device_coherent_memory 1
11978 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
11979 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
11980 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
11981 VkStructureType sType;
11983 VkBool32 deviceCoherentMemory;
11984 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
11988 #define VK_EXT_shader_image_atomic_int64 1
11989 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
11990 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
11991 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
11992 VkStructureType sType;
11994 VkBool32 shaderImageInt64Atomics;
11995 VkBool32 sparseImageInt64Atomics;
11996 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
12000 #define VK_EXT_memory_budget 1
12001 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
12002 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
12003 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
12004 VkStructureType sType;
12006 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
12007 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
12008 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
12012 #define VK_EXT_memory_priority 1
12013 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
12014 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
12015 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
12016 VkStructureType sType;
12018 VkBool32 memoryPriority;
12019 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
12021 typedef struct VkMemoryPriorityAllocateInfoEXT {
12022 VkStructureType sType;
12025 } VkMemoryPriorityAllocateInfoEXT;
12029 #define VK_NV_dedicated_allocation_image_aliasing 1
12030 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
12031 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
12032 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12033 VkStructureType sType;
12035 VkBool32 dedicatedAllocationImageAliasing;
12036 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
12040 #define VK_EXT_buffer_device_address 1
12041 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
12042 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
12043 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
12044 VkStructureType sType;
12046 VkBool32 bufferDeviceAddress;
12047 VkBool32 bufferDeviceAddressCaptureReplay;
12048 VkBool32 bufferDeviceAddressMultiDevice;
12049 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
12051 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
12053 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
12055 typedef struct VkBufferDeviceAddressCreateInfoEXT {
12056 VkStructureType sType;
12058 VkDeviceAddress deviceAddress;
12059 } VkBufferDeviceAddressCreateInfoEXT;
12061 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
12063 #ifndef VK_NO_PROTOTYPES
12064 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
12066 const VkBufferDeviceAddressInfo* pInfo);
12070 #define VK_EXT_tooling_info 1
12071 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
12072 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
12074 typedef enum VkToolPurposeFlagBitsEXT {
12075 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
12076 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
12077 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
12078 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
12079 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
12080 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
12081 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
12082 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12083 } VkToolPurposeFlagBitsEXT;
12084 typedef VkFlags VkToolPurposeFlagsEXT;
12085 typedef struct VkPhysicalDeviceToolPropertiesEXT {
12086 VkStructureType sType;
12088 char name[VK_MAX_EXTENSION_NAME_SIZE];
12089 char version[VK_MAX_EXTENSION_NAME_SIZE];
12090 VkToolPurposeFlagsEXT purposes;
12091 char description[VK_MAX_DESCRIPTION_SIZE];
12092 char layer[VK_MAX_EXTENSION_NAME_SIZE];
12093 } VkPhysicalDeviceToolPropertiesEXT;
12095 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12097 #ifndef VK_NO_PROTOTYPES
12098 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
12099 VkPhysicalDevice physicalDevice,
12100 deUint32* pToolCount,
12101 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12105 #define VK_EXT_separate_stencil_usage 1
12106 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
12107 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
12108 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
12112 #define VK_EXT_validation_features 1
12113 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
12114 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
12116 typedef enum VkValidationFeatureEnableEXT {
12117 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
12118 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
12119 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
12120 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
12121 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
12122 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12123 } VkValidationFeatureEnableEXT;
12125 typedef enum VkValidationFeatureDisableEXT {
12126 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
12127 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
12128 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
12129 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
12130 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
12131 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
12132 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
12133 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
12134 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12135 } VkValidationFeatureDisableEXT;
12136 typedef struct VkValidationFeaturesEXT {
12137 VkStructureType sType;
12139 deUint32 enabledValidationFeatureCount;
12140 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
12141 deUint32 disabledValidationFeatureCount;
12142 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
12143 } VkValidationFeaturesEXT;
12147 #define VK_NV_cooperative_matrix 1
12148 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
12149 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
12151 typedef enum VkComponentTypeNV {
12152 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
12153 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
12154 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
12155 VK_COMPONENT_TYPE_SINT8_NV = 3,
12156 VK_COMPONENT_TYPE_SINT16_NV = 4,
12157 VK_COMPONENT_TYPE_SINT32_NV = 5,
12158 VK_COMPONENT_TYPE_SINT64_NV = 6,
12159 VK_COMPONENT_TYPE_UINT8_NV = 7,
12160 VK_COMPONENT_TYPE_UINT16_NV = 8,
12161 VK_COMPONENT_TYPE_UINT32_NV = 9,
12162 VK_COMPONENT_TYPE_UINT64_NV = 10,
12163 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12164 } VkComponentTypeNV;
12166 typedef enum VkScopeNV {
12167 VK_SCOPE_DEVICE_NV = 1,
12168 VK_SCOPE_WORKGROUP_NV = 2,
12169 VK_SCOPE_SUBGROUP_NV = 3,
12170 VK_SCOPE_QUEUE_FAMILY_NV = 5,
12171 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
12173 typedef struct VkCooperativeMatrixPropertiesNV {
12174 VkStructureType sType;
12179 VkComponentTypeNV AType;
12180 VkComponentTypeNV BType;
12181 VkComponentTypeNV CType;
12182 VkComponentTypeNV DType;
12184 } VkCooperativeMatrixPropertiesNV;
12186 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
12187 VkStructureType sType;
12189 VkBool32 cooperativeMatrix;
12190 VkBool32 cooperativeMatrixRobustBufferAccess;
12191 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
12193 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
12194 VkStructureType sType;
12196 VkShaderStageFlags cooperativeMatrixSupportedStages;
12197 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
12199 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
12201 #ifndef VK_NO_PROTOTYPES
12202 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
12203 VkPhysicalDevice physicalDevice,
12204 deUint32* pPropertyCount,
12205 VkCooperativeMatrixPropertiesNV* pProperties);
12209 #define VK_NV_coverage_reduction_mode 1
12210 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
12211 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
12213 typedef enum VkCoverageReductionModeNV {
12214 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
12215 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
12216 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12217 } VkCoverageReductionModeNV;
12218 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
12219 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
12220 VkStructureType sType;
12222 VkBool32 coverageReductionMode;
12223 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
12225 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
12226 VkStructureType sType;
12228 VkPipelineCoverageReductionStateCreateFlagsNV flags;
12229 VkCoverageReductionModeNV coverageReductionMode;
12230 } VkPipelineCoverageReductionStateCreateInfoNV;
12232 typedef struct VkFramebufferMixedSamplesCombinationNV {
12233 VkStructureType sType;
12235 VkCoverageReductionModeNV coverageReductionMode;
12236 VkSampleCountFlagBits rasterizationSamples;
12237 VkSampleCountFlags depthStencilSamples;
12238 VkSampleCountFlags colorSamples;
12239 } VkFramebufferMixedSamplesCombinationNV;
12241 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
12243 #ifndef VK_NO_PROTOTYPES
12244 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
12245 VkPhysicalDevice physicalDevice,
12246 deUint32* pCombinationCount,
12247 VkFramebufferMixedSamplesCombinationNV* pCombinations);
12251 #define VK_EXT_fragment_shader_interlock 1
12252 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
12253 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
12254 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12255 VkStructureType sType;
12257 VkBool32 fragmentShaderSampleInterlock;
12258 VkBool32 fragmentShaderPixelInterlock;
12259 VkBool32 fragmentShaderShadingRateInterlock;
12260 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
12264 #define VK_EXT_ycbcr_image_arrays 1
12265 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
12266 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
12267 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
12268 VkStructureType sType;
12270 VkBool32 ycbcrImageArrays;
12271 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
12275 #define VK_EXT_provoking_vertex 1
12276 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
12277 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
12279 typedef enum VkProvokingVertexModeEXT {
12280 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
12281 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
12282 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12283 } VkProvokingVertexModeEXT;
12284 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
12285 VkStructureType sType;
12287 VkBool32 provokingVertexLast;
12288 VkBool32 transformFeedbackPreservesProvokingVertex;
12289 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
12291 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
12292 VkStructureType sType;
12294 VkBool32 provokingVertexModePerPipeline;
12295 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
12296 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
12298 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
12299 VkStructureType sType;
12301 VkProvokingVertexModeEXT provokingVertexMode;
12302 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
12306 #define VK_EXT_headless_surface 1
12307 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
12308 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
12309 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
12310 typedef struct VkHeadlessSurfaceCreateInfoEXT {
12311 VkStructureType sType;
12313 VkHeadlessSurfaceCreateFlagsEXT flags;
12314 } VkHeadlessSurfaceCreateInfoEXT;
12316 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
12318 #ifndef VK_NO_PROTOTYPES
12319 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
12320 VkInstance instance,
12321 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
12322 const VkAllocationCallbacks* pAllocator,
12323 VkSurfaceKHR* pSurface);
12327 #define VK_EXT_line_rasterization 1
12328 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
12329 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
12331 typedef enum VkLineRasterizationModeEXT {
12332 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
12333 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
12334 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
12335 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
12336 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12337 } VkLineRasterizationModeEXT;
12338 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
12339 VkStructureType sType;
12341 VkBool32 rectangularLines;
12342 VkBool32 bresenhamLines;
12343 VkBool32 smoothLines;
12344 VkBool32 stippledRectangularLines;
12345 VkBool32 stippledBresenhamLines;
12346 VkBool32 stippledSmoothLines;
12347 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
12349 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
12350 VkStructureType sType;
12352 deUint32 lineSubPixelPrecisionBits;
12353 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
12355 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
12356 VkStructureType sType;
12358 VkLineRasterizationModeEXT lineRasterizationMode;
12359 VkBool32 stippledLineEnable;
12360 deUint32 lineStippleFactor;
12361 deUint16 lineStipplePattern;
12362 } VkPipelineRasterizationLineStateCreateInfoEXT;
12364 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
12366 #ifndef VK_NO_PROTOTYPES
12367 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
12368 VkCommandBuffer commandBuffer,
12369 deUint32 lineStippleFactor,
12370 deUint16 lineStipplePattern);
12374 #define VK_EXT_shader_atomic_float 1
12375 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
12376 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
12377 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
12378 VkStructureType sType;
12380 VkBool32 shaderBufferFloat32Atomics;
12381 VkBool32 shaderBufferFloat32AtomicAdd;
12382 VkBool32 shaderBufferFloat64Atomics;
12383 VkBool32 shaderBufferFloat64AtomicAdd;
12384 VkBool32 shaderSharedFloat32Atomics;
12385 VkBool32 shaderSharedFloat32AtomicAdd;
12386 VkBool32 shaderSharedFloat64Atomics;
12387 VkBool32 shaderSharedFloat64AtomicAdd;
12388 VkBool32 shaderImageFloat32Atomics;
12389 VkBool32 shaderImageFloat32AtomicAdd;
12390 VkBool32 sparseImageFloat32Atomics;
12391 VkBool32 sparseImageFloat32AtomicAdd;
12392 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
12396 #define VK_EXT_host_query_reset 1
12397 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
12398 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
12399 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
12401 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
12403 #ifndef VK_NO_PROTOTYPES
12404 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
12406 VkQueryPool queryPool,
12407 deUint32 firstQuery,
12408 deUint32 queryCount);
12412 #define VK_EXT_index_type_uint8 1
12413 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
12414 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
12415 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
12416 VkStructureType sType;
12418 VkBool32 indexTypeUint8;
12419 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
12423 #define VK_EXT_extended_dynamic_state 1
12424 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
12425 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
12426 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
12427 VkStructureType sType;
12429 VkBool32 extendedDynamicState;
12430 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
12432 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
12433 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
12434 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
12435 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
12436 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
12437 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
12438 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
12439 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
12440 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
12441 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
12442 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
12443 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
12445 #ifndef VK_NO_PROTOTYPES
12446 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
12447 VkCommandBuffer commandBuffer,
12448 VkCullModeFlags cullMode);
12450 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
12451 VkCommandBuffer commandBuffer,
12452 VkFrontFace frontFace);
12454 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
12455 VkCommandBuffer commandBuffer,
12456 VkPrimitiveTopology primitiveTopology);
12458 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
12459 VkCommandBuffer commandBuffer,
12460 deUint32 viewportCount,
12461 const VkViewport* pViewports);
12463 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
12464 VkCommandBuffer commandBuffer,
12465 deUint32 scissorCount,
12466 const VkRect2D* pScissors);
12468 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
12469 VkCommandBuffer commandBuffer,
12470 deUint32 firstBinding,
12471 deUint32 bindingCount,
12472 const VkBuffer* pBuffers,
12473 const VkDeviceSize* pOffsets,
12474 const VkDeviceSize* pSizes,
12475 const VkDeviceSize* pStrides);
12477 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
12478 VkCommandBuffer commandBuffer,
12479 VkBool32 depthTestEnable);
12481 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
12482 VkCommandBuffer commandBuffer,
12483 VkBool32 depthWriteEnable);
12485 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
12486 VkCommandBuffer commandBuffer,
12487 VkCompareOp depthCompareOp);
12489 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
12490 VkCommandBuffer commandBuffer,
12491 VkBool32 depthBoundsTestEnable);
12493 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
12494 VkCommandBuffer commandBuffer,
12495 VkBool32 stencilTestEnable);
12497 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
12498 VkCommandBuffer commandBuffer,
12499 VkStencilFaceFlags faceMask,
12500 VkStencilOp failOp,
12501 VkStencilOp passOp,
12502 VkStencilOp depthFailOp,
12503 VkCompareOp compareOp);
12507 #define VK_EXT_shader_demote_to_helper_invocation 1
12508 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
12509 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
12510 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
12511 VkStructureType sType;
12513 VkBool32 shaderDemoteToHelperInvocation;
12514 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
12518 #define VK_NV_device_generated_commands 1
12519 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
12520 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
12521 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
12523 typedef enum VkIndirectCommandsTokenTypeNV {
12524 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
12525 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
12526 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
12527 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
12528 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
12529 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
12530 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
12531 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
12532 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12533 } VkIndirectCommandsTokenTypeNV;
12535 typedef enum VkIndirectStateFlagBitsNV {
12536 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
12537 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12538 } VkIndirectStateFlagBitsNV;
12539 typedef VkFlags VkIndirectStateFlagsNV;
12541 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
12542 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
12543 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
12544 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
12545 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12546 } VkIndirectCommandsLayoutUsageFlagBitsNV;
12547 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
12548 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
12549 VkStructureType sType;
12551 deUint32 maxGraphicsShaderGroupCount;
12552 deUint32 maxIndirectSequenceCount;
12553 deUint32 maxIndirectCommandsTokenCount;
12554 deUint32 maxIndirectCommandsStreamCount;
12555 deUint32 maxIndirectCommandsTokenOffset;
12556 deUint32 maxIndirectCommandsStreamStride;
12557 deUint32 minSequencesCountBufferOffsetAlignment;
12558 deUint32 minSequencesIndexBufferOffsetAlignment;
12559 deUint32 minIndirectCommandsBufferOffsetAlignment;
12560 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
12562 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
12563 VkStructureType sType;
12565 VkBool32 deviceGeneratedCommands;
12566 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
12568 typedef struct VkGraphicsShaderGroupCreateInfoNV {
12569 VkStructureType sType;
12571 deUint32 stageCount;
12572 const VkPipelineShaderStageCreateInfo* pStages;
12573 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
12574 const VkPipelineTessellationStateCreateInfo* pTessellationState;
12575 } VkGraphicsShaderGroupCreateInfoNV;
12577 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
12578 VkStructureType sType;
12580 deUint32 groupCount;
12581 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
12582 deUint32 pipelineCount;
12583 const VkPipeline* pPipelines;
12584 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
12586 typedef struct VkBindShaderGroupIndirectCommandNV {
12587 deUint32 groupIndex;
12588 } VkBindShaderGroupIndirectCommandNV;
12590 typedef struct VkBindIndexBufferIndirectCommandNV {
12591 VkDeviceAddress bufferAddress;
12593 VkIndexType indexType;
12594 } VkBindIndexBufferIndirectCommandNV;
12596 typedef struct VkBindVertexBufferIndirectCommandNV {
12597 VkDeviceAddress bufferAddress;
12600 } VkBindVertexBufferIndirectCommandNV;
12602 typedef struct VkSetStateFlagsIndirectCommandNV {
12604 } VkSetStateFlagsIndirectCommandNV;
12606 typedef struct VkIndirectCommandsStreamNV {
12608 VkDeviceSize offset;
12609 } VkIndirectCommandsStreamNV;
12611 typedef struct VkIndirectCommandsLayoutTokenNV {
12612 VkStructureType sType;
12614 VkIndirectCommandsTokenTypeNV tokenType;
12617 deUint32 vertexBindingUnit;
12618 VkBool32 vertexDynamicStride;
12619 VkPipelineLayout pushconstantPipelineLayout;
12620 VkShaderStageFlags pushconstantShaderStageFlags;
12621 deUint32 pushconstantOffset;
12622 deUint32 pushconstantSize;
12623 VkIndirectStateFlagsNV indirectStateFlags;
12624 deUint32 indexTypeCount;
12625 const VkIndexType* pIndexTypes;
12626 const deUint32* pIndexTypeValues;
12627 } VkIndirectCommandsLayoutTokenNV;
12629 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
12630 VkStructureType sType;
12632 VkIndirectCommandsLayoutUsageFlagsNV flags;
12633 VkPipelineBindPoint pipelineBindPoint;
12634 deUint32 tokenCount;
12635 const VkIndirectCommandsLayoutTokenNV* pTokens;
12636 deUint32 streamCount;
12637 const deUint32* pStreamStrides;
12638 } VkIndirectCommandsLayoutCreateInfoNV;
12640 typedef struct VkGeneratedCommandsInfoNV {
12641 VkStructureType sType;
12643 VkPipelineBindPoint pipelineBindPoint;
12644 VkPipeline pipeline;
12645 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12646 deUint32 streamCount;
12647 const VkIndirectCommandsStreamNV* pStreams;
12648 deUint32 sequencesCount;
12649 VkBuffer preprocessBuffer;
12650 VkDeviceSize preprocessOffset;
12651 VkDeviceSize preprocessSize;
12652 VkBuffer sequencesCountBuffer;
12653 VkDeviceSize sequencesCountOffset;
12654 VkBuffer sequencesIndexBuffer;
12655 VkDeviceSize sequencesIndexOffset;
12656 } VkGeneratedCommandsInfoNV;
12658 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
12659 VkStructureType sType;
12661 VkPipelineBindPoint pipelineBindPoint;
12662 VkPipeline pipeline;
12663 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12664 deUint32 maxSequencesCount;
12665 } VkGeneratedCommandsMemoryRequirementsInfoNV;
12667 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12668 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12669 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12670 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
12671 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12672 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
12674 #ifndef VK_NO_PROTOTYPES
12675 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
12677 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
12678 VkMemoryRequirements2* pMemoryRequirements);
12680 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
12681 VkCommandBuffer commandBuffer,
12682 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12684 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
12685 VkCommandBuffer commandBuffer,
12686 VkBool32 isPreprocessed,
12687 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12689 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
12690 VkCommandBuffer commandBuffer,
12691 VkPipelineBindPoint pipelineBindPoint,
12692 VkPipeline pipeline,
12693 deUint32 groupIndex);
12695 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
12697 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
12698 const VkAllocationCallbacks* pAllocator,
12699 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12701 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
12703 VkIndirectCommandsLayoutNV indirectCommandsLayout,
12704 const VkAllocationCallbacks* pAllocator);
12708 #define VK_NV_inherited_viewport_scissor 1
12709 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
12710 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
12711 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
12712 VkStructureType sType;
12714 VkBool32 inheritedViewportScissor2D;
12715 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
12717 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
12718 VkStructureType sType;
12720 VkBool32 viewportScissor2D;
12721 deUint32 viewportDepthCount;
12722 const VkViewport* pViewportDepths;
12723 } VkCommandBufferInheritanceViewportScissorInfoNV;
12727 #define VK_EXT_texel_buffer_alignment 1
12728 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
12729 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
12730 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
12731 VkStructureType sType;
12733 VkBool32 texelBufferAlignment;
12734 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
12736 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
12737 VkStructureType sType;
12739 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
12740 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
12741 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
12742 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
12743 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
12747 #define VK_QCOM_render_pass_transform 1
12748 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
12749 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
12750 typedef struct VkRenderPassTransformBeginInfoQCOM {
12751 VkStructureType sType;
12753 VkSurfaceTransformFlagBitsKHR transform;
12754 } VkRenderPassTransformBeginInfoQCOM;
12756 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
12757 VkStructureType sType;
12759 VkSurfaceTransformFlagBitsKHR transform;
12760 VkRect2D renderArea;
12761 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
12765 #define VK_EXT_device_memory_report 1
12766 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
12767 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
12769 typedef enum VkDeviceMemoryReportEventTypeEXT {
12770 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
12771 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
12772 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
12773 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
12774 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
12775 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12776 } VkDeviceMemoryReportEventTypeEXT;
12777 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
12778 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
12779 VkStructureType sType;
12781 VkBool32 deviceMemoryReport;
12782 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
12784 typedef struct VkDeviceMemoryReportCallbackDataEXT {
12785 VkStructureType sType;
12787 VkDeviceMemoryReportFlagsEXT flags;
12788 VkDeviceMemoryReportEventTypeEXT type;
12789 deUint64 memoryObjectId;
12791 VkObjectType objectType;
12792 deUint64 objectHandle;
12793 deUint32 heapIndex;
12794 } VkDeviceMemoryReportCallbackDataEXT;
12796 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
12797 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
12800 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
12801 VkStructureType sType;
12803 VkDeviceMemoryReportFlagsEXT flags;
12804 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
12806 } VkDeviceDeviceMemoryReportCreateInfoEXT;
12810 #define VK_EXT_acquire_drm_display 1
12811 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
12812 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
12813 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, VkDisplayKHR display);
12814 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, deUint32 connectorId, VkDisplayKHR* display);
12816 #ifndef VK_NO_PROTOTYPES
12817 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
12818 VkPhysicalDevice physicalDevice,
12820 VkDisplayKHR display);
12822 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
12823 VkPhysicalDevice physicalDevice,
12825 deUint32 connectorId,
12826 VkDisplayKHR* display);
12830 #define VK_EXT_robustness2 1
12831 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
12832 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
12833 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
12834 VkStructureType sType;
12836 VkBool32 robustBufferAccess2;
12837 VkBool32 robustImageAccess2;
12838 VkBool32 nullDescriptor;
12839 } VkPhysicalDeviceRobustness2FeaturesEXT;
12841 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
12842 VkStructureType sType;
12844 VkDeviceSize robustStorageBufferAccessSizeAlignment;
12845 VkDeviceSize robustUniformBufferAccessSizeAlignment;
12846 } VkPhysicalDeviceRobustness2PropertiesEXT;
12850 #define VK_EXT_custom_border_color 1
12851 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
12852 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
12853 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
12854 VkStructureType sType;
12856 VkClearColorValue customBorderColor;
12858 } VkSamplerCustomBorderColorCreateInfoEXT;
12860 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
12861 VkStructureType sType;
12863 deUint32 maxCustomBorderColorSamplers;
12864 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
12866 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
12867 VkStructureType sType;
12869 VkBool32 customBorderColors;
12870 VkBool32 customBorderColorWithoutFormat;
12871 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
12875 #define VK_GOOGLE_user_type 1
12876 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
12877 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
12880 #define VK_EXT_private_data 1
12881 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
12882 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
12883 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
12885 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
12886 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12887 } VkPrivateDataSlotCreateFlagBitsEXT;
12888 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
12889 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
12890 VkStructureType sType;
12892 VkBool32 privateData;
12893 } VkPhysicalDevicePrivateDataFeaturesEXT;
12895 typedef struct VkDevicePrivateDataCreateInfoEXT {
12896 VkStructureType sType;
12898 deUint32 privateDataSlotRequestCount;
12899 } VkDevicePrivateDataCreateInfoEXT;
12901 typedef struct VkPrivateDataSlotCreateInfoEXT {
12902 VkStructureType sType;
12904 VkPrivateDataSlotCreateFlagsEXT flags;
12905 } VkPrivateDataSlotCreateInfoEXT;
12907 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
12908 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
12909 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
12910 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
12912 #ifndef VK_NO_PROTOTYPES
12913 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
12915 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
12916 const VkAllocationCallbacks* pAllocator,
12917 VkPrivateDataSlotEXT* pPrivateDataSlot);
12919 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
12921 VkPrivateDataSlotEXT privateDataSlot,
12922 const VkAllocationCallbacks* pAllocator);
12924 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
12926 VkObjectType objectType,
12927 deUint64 objectHandle,
12928 VkPrivateDataSlotEXT privateDataSlot,
12931 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
12933 VkObjectType objectType,
12934 deUint64 objectHandle,
12935 VkPrivateDataSlotEXT privateDataSlot,
12940 #define VK_EXT_pipeline_creation_cache_control 1
12941 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
12942 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
12943 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
12944 VkStructureType sType;
12946 VkBool32 pipelineCreationCacheControl;
12947 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
12951 #define VK_NV_device_diagnostics_config 1
12952 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
12953 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
12955 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
12956 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
12957 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
12958 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
12959 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12960 } VkDeviceDiagnosticsConfigFlagBitsNV;
12961 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
12962 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
12963 VkStructureType sType;
12965 VkBool32 diagnosticsConfig;
12966 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
12968 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
12969 VkStructureType sType;
12971 VkDeviceDiagnosticsConfigFlagsNV flags;
12972 } VkDeviceDiagnosticsConfigCreateInfoNV;
12976 #define VK_QCOM_render_pass_store_ops 1
12977 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
12978 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
12981 #define VK_NV_fragment_shading_rate_enums 1
12982 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
12983 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
12985 typedef enum VkFragmentShadingRateTypeNV {
12986 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
12987 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
12988 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12989 } VkFragmentShadingRateTypeNV;
12991 typedef enum VkFragmentShadingRateNV {
12992 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
12993 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
12994 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
12995 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
12996 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
12997 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
12998 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
12999 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
13000 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
13001 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
13002 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
13003 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
13004 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
13005 } VkFragmentShadingRateNV;
13006 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
13007 VkStructureType sType;
13009 VkBool32 fragmentShadingRateEnums;
13010 VkBool32 supersampleFragmentShadingRates;
13011 VkBool32 noInvocationFragmentShadingRates;
13012 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
13014 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
13015 VkStructureType sType;
13017 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
13018 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
13020 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
13021 VkStructureType sType;
13023 VkFragmentShadingRateTypeNV shadingRateType;
13024 VkFragmentShadingRateNV shadingRate;
13025 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
13026 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
13028 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13030 #ifndef VK_NO_PROTOTYPES
13031 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
13032 VkCommandBuffer commandBuffer,
13033 VkFragmentShadingRateNV shadingRate,
13034 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13038 #define VK_NV_ray_tracing_motion_blur 1
13039 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
13040 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
13042 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
13043 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
13044 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
13045 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
13046 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13047 } VkAccelerationStructureMotionInstanceTypeNV;
13048 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
13049 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
13050 typedef union VkDeviceOrHostAddressConstKHR {
13051 VkDeviceAddress deviceAddress;
13052 const void* hostAddress;
13053 } VkDeviceOrHostAddressConstKHR;
13055 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
13056 VkStructureType sType;
13058 VkDeviceOrHostAddressConstKHR vertexData;
13059 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
13061 typedef struct VkAccelerationStructureMotionInfoNV {
13062 VkStructureType sType;
13064 deUint32 maxInstances;
13065 VkAccelerationStructureMotionInfoFlagsNV flags;
13066 } VkAccelerationStructureMotionInfoNV;
13068 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
13069 VkTransformMatrixKHR transformT0;
13070 VkTransformMatrixKHR transformT1;
13071 deUint32 instanceCustomIndex:24;
13073 deUint32 instanceShaderBindingTableRecordOffset:24;
13074 VkGeometryInstanceFlagsKHR flags:8;
13075 deUint64 accelerationStructureReference;
13076 } VkAccelerationStructureMatrixMotionInstanceNV;
13078 typedef struct VkSRTDataNV {
13097 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
13098 VkSRTDataNV transformT0;
13099 VkSRTDataNV transformT1;
13100 deUint32 instanceCustomIndex:24;
13102 deUint32 instanceShaderBindingTableRecordOffset:24;
13103 VkGeometryInstanceFlagsKHR flags:8;
13104 deUint64 accelerationStructureReference;
13105 } VkAccelerationStructureSRTMotionInstanceNV;
13107 typedef union VkAccelerationStructureMotionInstanceDataNV {
13108 VkAccelerationStructureInstanceKHR staticInstance;
13109 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
13110 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
13111 } VkAccelerationStructureMotionInstanceDataNV;
13113 typedef struct VkAccelerationStructureMotionInstanceNV {
13114 VkAccelerationStructureMotionInstanceTypeNV type;
13115 VkAccelerationStructureMotionInstanceFlagsNV flags;
13116 VkAccelerationStructureMotionInstanceDataNV data;
13117 } VkAccelerationStructureMotionInstanceNV;
13119 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
13120 VkStructureType sType;
13122 VkBool32 rayTracingMotionBlur;
13123 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
13124 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
13128 #define VK_EXT_ycbcr_2plane_444_formats 1
13129 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
13130 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
13131 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
13132 VkStructureType sType;
13134 VkBool32 ycbcr2plane444Formats;
13135 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
13139 #define VK_EXT_fragment_density_map2 1
13140 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
13141 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
13142 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
13143 VkStructureType sType;
13145 VkBool32 fragmentDensityMapDeferred;
13146 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
13148 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
13149 VkStructureType sType;
13151 VkBool32 subsampledLoads;
13152 VkBool32 subsampledCoarseReconstructionEarlyAccess;
13153 deUint32 maxSubsampledArrayLayers;
13154 deUint32 maxDescriptorSetSubsampledSamplers;
13155 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
13159 #define VK_QCOM_rotated_copy_commands 1
13160 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
13161 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
13162 typedef struct VkCopyCommandTransformInfoQCOM {
13163 VkStructureType sType;
13165 VkSurfaceTransformFlagBitsKHR transform;
13166 } VkCopyCommandTransformInfoQCOM;
13170 #define VK_EXT_image_robustness 1
13171 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
13172 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
13173 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
13174 VkStructureType sType;
13176 VkBool32 robustImageAccess;
13177 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
13181 #define VK_EXT_4444_formats 1
13182 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
13183 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
13184 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
13185 VkStructureType sType;
13187 VkBool32 formatA4R4G4B4;
13188 VkBool32 formatA4B4G4R4;
13189 } VkPhysicalDevice4444FormatsFeaturesEXT;
13193 #define VK_NV_acquire_winrt_display 1
13194 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
13195 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
13196 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
13197 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
13199 #ifndef VK_NO_PROTOTYPES
13200 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
13201 VkPhysicalDevice physicalDevice,
13202 VkDisplayKHR display);
13204 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
13205 VkPhysicalDevice physicalDevice,
13206 deUint32 deviceRelativeId,
13207 VkDisplayKHR* pDisplay);
13211 #define VK_VALVE_mutable_descriptor_type 1
13212 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
13213 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
13214 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
13215 VkStructureType sType;
13217 VkBool32 mutableDescriptorType;
13218 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
13220 typedef struct VkMutableDescriptorTypeListVALVE {
13221 deUint32 descriptorTypeCount;
13222 const VkDescriptorType* pDescriptorTypes;
13223 } VkMutableDescriptorTypeListVALVE;
13225 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
13226 VkStructureType sType;
13228 deUint32 mutableDescriptorTypeListCount;
13229 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
13230 } VkMutableDescriptorTypeCreateInfoVALVE;
13234 #define VK_EXT_vertex_input_dynamic_state 1
13235 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
13236 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
13237 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
13238 VkStructureType sType;
13240 VkBool32 vertexInputDynamicState;
13241 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
13243 typedef struct VkVertexInputBindingDescription2EXT {
13244 VkStructureType sType;
13248 VkVertexInputRate inputRate;
13250 } VkVertexInputBindingDescription2EXT;
13252 typedef struct VkVertexInputAttributeDescription2EXT {
13253 VkStructureType sType;
13259 } VkVertexInputAttributeDescription2EXT;
13261 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13263 #ifndef VK_NO_PROTOTYPES
13264 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
13265 VkCommandBuffer commandBuffer,
13266 deUint32 vertexBindingDescriptionCount,
13267 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
13268 deUint32 vertexAttributeDescriptionCount,
13269 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13273 #define VK_EXT_physical_device_drm 1
13274 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
13275 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
13276 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
13277 VkStructureType sType;
13279 VkBool32 hasPrimary;
13280 VkBool32 hasRender;
13281 deInt64 primaryMajor;
13282 deInt64 primaryMinor;
13283 deInt64 renderMajor;
13284 deInt64 renderMinor;
13285 } VkPhysicalDeviceDrmPropertiesEXT;
13289 #define VK_HUAWEI_subpass_shading 1
13290 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
13291 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
13292 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
13293 VkStructureType sType;
13295 VkRenderPass renderPass;
13297 } VkSubpassShadingPipelineCreateInfoHUAWEI;
13299 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
13300 VkStructureType sType;
13302 VkBool32 subpassShading;
13303 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
13305 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
13306 VkStructureType sType;
13308 deUint32 maxSubpassShadingWorkgroupSizeAspectRatio;
13309 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
13311 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
13312 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
13314 #ifndef VK_NO_PROTOTYPES
13315 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
13317 VkRenderPass renderpass,
13318 VkExtent2D* pMaxWorkgroupSize);
13320 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
13321 VkCommandBuffer commandBuffer);
13325 #define VK_NV_external_memory_rdma 1
13326 typedef void* VkRemoteAddressNV;
13327 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
13328 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
13329 typedef struct VkMemoryGetRemoteAddressInfoNV {
13330 VkStructureType sType;
13332 VkDeviceMemory memory;
13333 VkExternalMemoryHandleTypeFlagBits handleType;
13334 } VkMemoryGetRemoteAddressInfoNV;
13336 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
13337 VkStructureType sType;
13339 VkBool32 externalMemoryRDMA;
13340 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
13342 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* getMemoryRemoteAddressInfo, VkRemoteAddressNV* pAddress);
13344 #ifndef VK_NO_PROTOTYPES
13345 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
13347 const VkMemoryGetRemoteAddressInfoNV* getMemoryRemoteAddressInfo,
13348 VkRemoteAddressNV* pAddress);
13352 #define VK_EXT_extended_dynamic_state2 1
13353 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
13354 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
13355 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
13356 VkStructureType sType;
13358 VkBool32 extendedDynamicState2;
13359 VkBool32 extendedDynamicState2LogicOp;
13360 VkBool32 extendedDynamicState2PatchControlPoints;
13361 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
13363 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
13364 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
13365 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
13366 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
13367 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
13369 #ifndef VK_NO_PROTOTYPES
13370 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
13371 VkCommandBuffer commandBuffer,
13372 deUint32 patchControlPoints);
13374 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
13375 VkCommandBuffer commandBuffer,
13376 VkBool32 rasterizerDiscardEnable);
13378 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
13379 VkCommandBuffer commandBuffer,
13380 VkBool32 depthBiasEnable);
13382 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
13383 VkCommandBuffer commandBuffer,
13384 VkLogicOp logicOp);
13386 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
13387 VkCommandBuffer commandBuffer,
13388 VkBool32 primitiveRestartEnable);
13392 #define VK_EXT_color_write_enable 1
13393 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
13394 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
13395 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
13396 VkStructureType sType;
13398 VkBool32 colorWriteEnable;
13399 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
13401 typedef struct VkPipelineColorWriteCreateInfoEXT {
13402 VkStructureType sType;
13404 deUint32 attachmentCount;
13405 const VkBool32* pColorWriteEnables;
13406 } VkPipelineColorWriteCreateInfoEXT;
13408 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
13410 #ifndef VK_NO_PROTOTYPES
13411 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
13412 VkCommandBuffer commandBuffer,
13413 deUint32 attachmentCount,
13414 const VkBool32* pColorWriteEnables);
13418 #define VK_EXT_global_priority_query 1
13419 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U
13420 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
13421 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
13422 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT {
13423 VkStructureType sType;
13425 VkBool32 globalPriorityQuery;
13426 } VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
13428 typedef struct VkQueueFamilyGlobalPriorityPropertiesEXT {
13429 VkStructureType sType;
13431 deUint32 priorityCount;
13432 VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT];
13433 } VkQueueFamilyGlobalPriorityPropertiesEXT;
13437 #define VK_EXT_multi_draw 1
13438 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
13439 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
13440 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
13441 VkStructureType sType;
13443 VkBool32 multiDraw;
13444 } VkPhysicalDeviceMultiDrawFeaturesEXT;
13446 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
13447 VkStructureType sType;
13449 deUint32 maxMultiDrawCount;
13450 } VkPhysicalDeviceMultiDrawPropertiesEXT;
13452 typedef struct VkMultiDrawInfoEXT {
13453 deUint32 firstVertex;
13454 deUint32 vertexCount;
13455 } VkMultiDrawInfoEXT;
13457 typedef struct VkMultiDrawIndexedInfoEXT {
13458 deUint32 firstIndex;
13459 deUint32 indexCount;
13460 deInt32 vertexOffset;
13461 } VkMultiDrawIndexedInfoEXT;
13463 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawInfoEXT* pVertexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride);
13464 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride, const deInt32* pVertexOffset);
13466 #ifndef VK_NO_PROTOTYPES
13467 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
13468 VkCommandBuffer commandBuffer,
13469 deUint32 drawCount,
13470 const VkMultiDrawInfoEXT* pVertexInfo,
13471 deUint32 instanceCount,
13472 deUint32 firstInstance,
13475 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
13476 VkCommandBuffer commandBuffer,
13477 deUint32 drawCount,
13478 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
13479 deUint32 instanceCount,
13480 deUint32 firstInstance,
13482 const deInt32* pVertexOffset);
13486 #define VK_KHR_acceleration_structure 1
13487 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
13488 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11
13489 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
13491 typedef enum VkBuildAccelerationStructureModeKHR {
13492 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
13493 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
13494 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13495 } VkBuildAccelerationStructureModeKHR;
13497 typedef enum VkAccelerationStructureBuildTypeKHR {
13498 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
13499 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
13500 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
13501 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13502 } VkAccelerationStructureBuildTypeKHR;
13504 typedef enum VkAccelerationStructureCompatibilityKHR {
13505 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
13506 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
13507 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
13508 } VkAccelerationStructureCompatibilityKHR;
13510 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
13511 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
13512 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
13513 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13514 } VkAccelerationStructureCreateFlagBitsKHR;
13515 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
13516 typedef union VkDeviceOrHostAddressKHR {
13517 VkDeviceAddress deviceAddress;
13519 } VkDeviceOrHostAddressKHR;
13521 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
13522 deUint32 primitiveCount;
13523 deUint32 primitiveOffset;
13524 deUint32 firstVertex;
13525 deUint32 transformOffset;
13526 } VkAccelerationStructureBuildRangeInfoKHR;
13528 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
13529 VkStructureType sType;
13531 VkFormat vertexFormat;
13532 VkDeviceOrHostAddressConstKHR vertexData;
13533 VkDeviceSize vertexStride;
13534 deUint32 maxVertex;
13535 VkIndexType indexType;
13536 VkDeviceOrHostAddressConstKHR indexData;
13537 VkDeviceOrHostAddressConstKHR transformData;
13538 } VkAccelerationStructureGeometryTrianglesDataKHR;
13540 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
13541 VkStructureType sType;
13543 VkDeviceOrHostAddressConstKHR data;
13544 VkDeviceSize stride;
13545 } VkAccelerationStructureGeometryAabbsDataKHR;
13547 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
13548 VkStructureType sType;
13550 VkBool32 arrayOfPointers;
13551 VkDeviceOrHostAddressConstKHR data;
13552 } VkAccelerationStructureGeometryInstancesDataKHR;
13554 typedef union VkAccelerationStructureGeometryDataKHR {
13555 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
13556 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
13557 VkAccelerationStructureGeometryInstancesDataKHR instances;
13558 } VkAccelerationStructureGeometryDataKHR;
13560 typedef struct VkAccelerationStructureGeometryKHR {
13561 VkStructureType sType;
13563 VkGeometryTypeKHR geometryType;
13564 VkAccelerationStructureGeometryDataKHR geometry;
13565 VkGeometryFlagsKHR flags;
13566 } VkAccelerationStructureGeometryKHR;
13568 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
13569 VkStructureType sType;
13571 VkAccelerationStructureTypeKHR type;
13572 VkBuildAccelerationStructureFlagsKHR flags;
13573 VkBuildAccelerationStructureModeKHR mode;
13574 VkAccelerationStructureKHR srcAccelerationStructure;
13575 VkAccelerationStructureKHR dstAccelerationStructure;
13576 deUint32 geometryCount;
13577 const VkAccelerationStructureGeometryKHR* pGeometries;
13578 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
13579 VkDeviceOrHostAddressKHR scratchData;
13580 } VkAccelerationStructureBuildGeometryInfoKHR;
13582 typedef struct VkAccelerationStructureCreateInfoKHR {
13583 VkStructureType sType;
13585 VkAccelerationStructureCreateFlagsKHR createFlags;
13587 VkDeviceSize offset;
13589 VkAccelerationStructureTypeKHR type;
13590 VkDeviceAddress deviceAddress;
13591 } VkAccelerationStructureCreateInfoKHR;
13593 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13594 VkStructureType sType;
13596 deUint32 accelerationStructureCount;
13597 const VkAccelerationStructureKHR* pAccelerationStructures;
13598 } VkWriteDescriptorSetAccelerationStructureKHR;
13600 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13601 VkStructureType sType;
13603 VkBool32 accelerationStructure;
13604 VkBool32 accelerationStructureCaptureReplay;
13605 VkBool32 accelerationStructureIndirectBuild;
13606 VkBool32 accelerationStructureHostCommands;
13607 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13608 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13610 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13611 VkStructureType sType;
13613 deUint64 maxGeometryCount;
13614 deUint64 maxInstanceCount;
13615 deUint64 maxPrimitiveCount;
13616 deUint32 maxPerStageDescriptorAccelerationStructures;
13617 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
13618 deUint32 maxDescriptorSetAccelerationStructures;
13619 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
13620 deUint32 minAccelerationStructureScratchOffsetAlignment;
13621 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
13623 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
13624 VkStructureType sType;
13626 VkAccelerationStructureKHR accelerationStructure;
13627 } VkAccelerationStructureDeviceAddressInfoKHR;
13629 typedef struct VkAccelerationStructureVersionInfoKHR {
13630 VkStructureType sType;
13632 const deUint8* pVersionData;
13633 } VkAccelerationStructureVersionInfoKHR;
13635 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
13636 VkStructureType sType;
13638 VkAccelerationStructureKHR src;
13639 VkDeviceOrHostAddressKHR dst;
13640 VkCopyAccelerationStructureModeKHR mode;
13641 } VkCopyAccelerationStructureToMemoryInfoKHR;
13643 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
13644 VkStructureType sType;
13646 VkDeviceOrHostAddressConstKHR src;
13647 VkAccelerationStructureKHR dst;
13648 VkCopyAccelerationStructureModeKHR mode;
13649 } VkCopyMemoryToAccelerationStructureInfoKHR;
13651 typedef struct VkCopyAccelerationStructureInfoKHR {
13652 VkStructureType sType;
13654 VkAccelerationStructureKHR src;
13655 VkAccelerationStructureKHR dst;
13656 VkCopyAccelerationStructureModeKHR mode;
13657 } VkCopyAccelerationStructureInfoKHR;
13659 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
13660 VkStructureType sType;
13662 VkDeviceSize accelerationStructureSize;
13663 VkDeviceSize updateScratchSize;
13664 VkDeviceSize buildScratchSize;
13665 } VkAccelerationStructureBuildSizesInfoKHR;
13667 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
13668 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
13669 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13670 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
13671 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13672 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
13673 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13674 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13675 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
13676 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
13677 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13678 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13679 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13680 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
13681 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
13682 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13684 #ifndef VK_NO_PROTOTYPES
13685 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
13687 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
13688 const VkAllocationCallbacks* pAllocator,
13689 VkAccelerationStructureKHR* pAccelerationStructure);
13691 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
13693 VkAccelerationStructureKHR accelerationStructure,
13694 const VkAllocationCallbacks* pAllocator);
13696 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
13697 VkCommandBuffer commandBuffer,
13698 deUint32 infoCount,
13699 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13700 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13702 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
13703 VkCommandBuffer commandBuffer,
13704 deUint32 infoCount,
13705 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13706 const VkDeviceAddress* pIndirectDeviceAddresses,
13707 const deUint32* pIndirectStrides,
13708 const deUint32* const* ppMaxPrimitiveCounts);
13710 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
13712 VkDeferredOperationKHR deferredOperation,
13713 deUint32 infoCount,
13714 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13715 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13717 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
13719 VkDeferredOperationKHR deferredOperation,
13720 const VkCopyAccelerationStructureInfoKHR* pInfo);
13722 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
13724 VkDeferredOperationKHR deferredOperation,
13725 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13727 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
13729 VkDeferredOperationKHR deferredOperation,
13730 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13732 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
13734 deUint32 accelerationStructureCount,
13735 const VkAccelerationStructureKHR* pAccelerationStructures,
13736 VkQueryType queryType,
13737 deUintptr dataSize,
13741 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
13742 VkCommandBuffer commandBuffer,
13743 const VkCopyAccelerationStructureInfoKHR* pInfo);
13745 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
13746 VkCommandBuffer commandBuffer,
13747 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13749 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
13750 VkCommandBuffer commandBuffer,
13751 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13753 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
13755 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13757 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
13758 VkCommandBuffer commandBuffer,
13759 deUint32 accelerationStructureCount,
13760 const VkAccelerationStructureKHR* pAccelerationStructures,
13761 VkQueryType queryType,
13762 VkQueryPool queryPool,
13763 deUint32 firstQuery);
13765 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
13767 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
13768 VkAccelerationStructureCompatibilityKHR* pCompatibility);
13770 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
13772 VkAccelerationStructureBuildTypeKHR buildType,
13773 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
13774 const deUint32* pMaxPrimitiveCounts,
13775 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13779 #define VK_KHR_ray_tracing_pipeline 1
13780 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
13781 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
13783 typedef enum VkShaderGroupShaderKHR {
13784 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
13785 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
13786 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
13787 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
13788 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
13789 } VkShaderGroupShaderKHR;
13790 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
13791 VkStructureType sType;
13793 VkRayTracingShaderGroupTypeKHR type;
13794 deUint32 generalShader;
13795 deUint32 closestHitShader;
13796 deUint32 anyHitShader;
13797 deUint32 intersectionShader;
13798 const void* pShaderGroupCaptureReplayHandle;
13799 } VkRayTracingShaderGroupCreateInfoKHR;
13801 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
13802 VkStructureType sType;
13804 deUint32 maxPipelineRayPayloadSize;
13805 deUint32 maxPipelineRayHitAttributeSize;
13806 } VkRayTracingPipelineInterfaceCreateInfoKHR;
13808 typedef struct VkRayTracingPipelineCreateInfoKHR {
13809 VkStructureType sType;
13811 VkPipelineCreateFlags flags;
13812 deUint32 stageCount;
13813 const VkPipelineShaderStageCreateInfo* pStages;
13814 deUint32 groupCount;
13815 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
13816 deUint32 maxPipelineRayRecursionDepth;
13817 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
13818 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
13819 const VkPipelineDynamicStateCreateInfo* pDynamicState;
13820 VkPipelineLayout layout;
13821 VkPipeline basePipelineHandle;
13822 deInt32 basePipelineIndex;
13823 } VkRayTracingPipelineCreateInfoKHR;
13825 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
13826 VkStructureType sType;
13828 VkBool32 rayTracingPipeline;
13829 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
13830 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
13831 VkBool32 rayTracingPipelineTraceRaysIndirect;
13832 VkBool32 rayTraversalPrimitiveCulling;
13833 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
13835 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
13836 VkStructureType sType;
13838 deUint32 shaderGroupHandleSize;
13839 deUint32 maxRayRecursionDepth;
13840 deUint32 maxShaderGroupStride;
13841 deUint32 shaderGroupBaseAlignment;
13842 deUint32 shaderGroupHandleCaptureReplaySize;
13843 deUint32 maxRayDispatchInvocationCount;
13844 deUint32 shaderGroupHandleAlignment;
13845 deUint32 maxRayHitAttributeSize;
13846 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
13848 typedef struct VkStridedDeviceAddressRegionKHR {
13849 VkDeviceAddress deviceAddress;
13850 VkDeviceSize stride;
13852 } VkStridedDeviceAddressRegionKHR;
13854 typedef struct VkTraceRaysIndirectCommandKHR {
13858 } VkTraceRaysIndirectCommandKHR;
13860 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);
13861 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
13862 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
13863 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
13864 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
13865 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
13867 #ifndef VK_NO_PROTOTYPES
13868 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
13869 VkCommandBuffer commandBuffer,
13870 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13871 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13872 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13873 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13878 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
13880 VkDeferredOperationKHR deferredOperation,
13881 VkPipelineCache pipelineCache,
13882 deUint32 createInfoCount,
13883 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
13884 const VkAllocationCallbacks* pAllocator,
13885 VkPipeline* pPipelines);
13887 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
13889 VkPipeline pipeline,
13890 deUint32 firstGroup,
13891 deUint32 groupCount,
13892 deUintptr dataSize,
13895 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
13896 VkCommandBuffer commandBuffer,
13897 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
13898 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
13899 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
13900 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
13901 VkDeviceAddress indirectDeviceAddress);
13903 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
13905 VkPipeline pipeline,
13907 VkShaderGroupShaderKHR groupShader);
13909 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
13910 VkCommandBuffer commandBuffer,
13911 deUint32 pipelineStackSize);
13915 #define VK_KHR_ray_query 1
13916 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
13917 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
13918 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
13919 VkStructureType sType;
13922 } VkPhysicalDeviceRayQueryFeaturesKHR;