1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
5 ** Copyright (c) 2019-2021 The Khronos Group Inc.
7 ** SPDX-License-Identifier: Apache-2.0
10 #ifndef VULKAN_VIDEO_CODEC_COMMON_H_
11 #define VULKAN_VIDEO_CODEC_COMMON_H_ 1
17 #define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
18 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
24 #endif // VULKAN_VIDEO_CODEC_COMMON_H_
26 ** Copyright (c) 2019-2021 The Khronos Group Inc.
28 ** SPDX-License-Identifier: Apache-2.0
31 #ifndef VULKAN_VIDEO_CODEC_H264STD_H_
32 #define VULKAN_VIDEO_CODEC_H264STD_H_ 1
40 // Vulkan 0.9 provisional Vulkan video H.264 encode and decode std specification version number
41 #define VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9 VK_MAKE_VIDEO_STD_VERSION(0, 9, 0) // Patch version should always be set to 0
43 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
44 #define VK_STD_VULKAN_VIDEO_CODEC_H264_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_API_VERSION_0_9
45 #define VK_STD_VULKAN_VIDEO_CODEC_H264_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264"
47 // *************************************************
48 // Video H.264 common definitions:
49 // *************************************************
51 typedef enum StdVideoH264ChromaFormatIdc {
52 std_video_h264_chroma_format_idc_monochrome = 0,
53 std_video_h264_chroma_format_idc_420 = 1,
54 std_video_h264_chroma_format_idc_422 = 2,
55 std_video_h264_chroma_format_idc_444 = 3,
56 } StdVideoH264ChromaFormatIdc;
58 typedef enum StdVideoH264ProfileIdc {
59 std_video_h264_profile_idc_baseline = 66, /* Only constrained baseline is supported */
60 std_video_h264_profile_idc_main = 77,
61 std_video_h264_profile_idc_high = 100,
62 std_video_h264_profile_idc_high_444_predictive = 244,
63 std_video_h264_profile_idc_invalid = 0x7FFFFFFF
64 } StdVideoH264ProfileIdc;
66 typedef enum StdVideoH264Level {
67 std_video_h264_level_1_0 = 0,
68 std_video_h264_level_1_1 = 1,
69 std_video_h264_level_1_2 = 2,
70 std_video_h264_level_1_3 = 3,
71 std_video_h264_level_2_0 = 4,
72 std_video_h264_level_2_1 = 5,
73 std_video_h264_level_2_2 = 6,
74 std_video_h264_level_3_0 = 7,
75 std_video_h264_level_3_1 = 8,
76 std_video_h264_level_3_2 = 9,
77 std_video_h264_level_4_0 = 10,
78 std_video_h264_level_4_1 = 11,
79 std_video_h264_level_4_2 = 12,
80 std_video_h264_level_5_0 = 13,
81 std_video_h264_level_5_1 = 14,
82 std_video_h264_level_5_2 = 15,
83 std_video_h264_level_6_0 = 16,
84 std_video_h264_level_6_1 = 17,
85 std_video_h264_level_6_2 = 18,
86 std_video_h264_level_invalid = 0x7FFFFFFF
89 typedef enum StdVideoH264PocType {
90 std_video_h264_poc_type_0 = 0,
91 std_video_h264_poc_type_1 = 1,
92 std_video_h264_poc_type_2 = 2,
93 std_video_h264_poc_type_invalid = 0x7FFFFFFF
94 } StdVideoH264PocType;
96 typedef enum StdVideoH264AspectRatioIdc {
97 std_video_h264_aspect_ratio_idc_unspecified = 0,
98 std_video_h264_aspect_ratio_idc_square = 1,
99 std_video_h264_aspect_ratio_idc_12_11 = 2,
100 std_video_h264_aspect_ratio_idc_10_11 = 3,
101 std_video_h264_aspect_ratio_idc_16_11 = 4,
102 std_video_h264_aspect_ratio_idc_40_33 = 5,
103 std_video_h264_aspect_ratio_idc_24_11 = 6,
104 std_video_h264_aspect_ratio_idc_20_11 = 7,
105 std_video_h264_aspect_ratio_idc_32_11 = 8,
106 std_video_h264_aspect_ratio_idc_80_33 = 9,
107 std_video_h264_aspect_ratio_idc_18_11 = 10,
108 std_video_h264_aspect_ratio_idc_15_11 = 11,
109 std_video_h264_aspect_ratio_idc_64_33 = 12,
110 std_video_h264_aspect_ratio_idc_160_99 = 13,
111 std_video_h264_aspect_ratio_idc_4_3 = 14,
112 std_video_h264_aspect_ratio_idc_3_2 = 15,
113 std_video_h264_aspect_ratio_idc_2_1 = 16,
114 std_video_h264_aspect_ratio_idc_extended_sar = 255,
115 std_video_h264_aspect_ratio_idc_invalid = 0x7FFFFFFF
116 } StdVideoH264AspectRatioIdc;
118 typedef enum StdVideoH264WeightedBiPredIdc {
119 std_video_h264_default_weighted_b_slices_prediction_idc = 0,
120 std_video_h264_explicit_weighted_b_slices_prediction_idc = 1,
121 std_video_h264_implicit_weighted_b_slices_prediction_idc = 2,
122 std_video_h264_invalid_weighted_b_slices_prediction_idc = 0x7FFFFFFF
123 } StdVideoH264WeightedBiPredIdc;
125 typedef enum StdVideoH264ModificationOfPicNumsIdc {
126 std_video_h264_modification_of_pic_nums_idc_short_term_subtract = 0,
127 std_video_h264_modification_of_pic_nums_idc_short_term_add = 1,
128 std_video_h264_modification_of_pic_nums_idc_long_term = 2,
129 std_video_h264_modification_of_pic_nums_idc_end = 3,
130 std_video_h264_modification_of_pic_nums_idc_invalid = 0x7FFFFFFF
131 } StdVideoH264ModificationOfPicNumsIdc;
133 typedef enum StdVideoH264MemMgmtControlOp {
134 std_video_h264_mem_mgmt_control_op_end = 0,
135 std_video_h264_mem_mgmt_control_op_unmark_short_term = 1,
136 std_video_h264_mem_mgmt_control_op_unmark_long_term = 2,
137 std_video_h264_mem_mgmt_control_op_mark_long_term = 3,
138 std_video_h264_mem_mgmt_control_op_set_max_long_term_index = 4,
139 std_video_h264_mem_mgmt_control_op_unmark_all = 5,
140 std_video_h264_mem_mgmt_control_op_mark_current_as_long_term = 6,
141 std_video_h264_mem_mgmt_control_op_invalid = 0x7FFFFFFF
142 } StdVideoH264MemMgmtControlOp;
144 typedef enum StdVideoH264CabacInitIdc {
145 std_video_h264_cabac_init_idc_0 = 0,
146 std_video_h264_cabac_init_idc_1 = 1,
147 std_video_h264_cabac_init_idc_2 = 2,
148 std_video_h264_cabac_init_idc_invalid = 0x7FFFFFFF
149 } StdVideoH264CabacInitIdc;
151 typedef enum StdVideoH264DisableDeblockingFilterIdc {
152 std_video_h264_disable_deblocking_filter_idc_disabled = 0,
153 std_video_h264_disable_deblocking_filter_idc_enabled = 1,
154 std_video_h264_disable_deblocking_filter_idc_partial = 2,
155 std_video_h264_disable_deblocking_filter_idc_invalid = 0x7FFFFFFF
156 } StdVideoH264DisableDeblockingFilterIdc;
158 typedef enum StdVideoH264PictureType {
159 std_video_h264_picture_type_i = 0,
160 std_video_h264_picture_type_p = 1,
161 std_video_h264_picture_type_b = 2,
162 std_video_h264_picture_type_invalid = 0x7FFFFFFF
163 } StdVideoH264PictureType;
165 typedef enum StdVideoH264SliceType {
166 std_video_h264_slice_type_i = 0,
167 std_video_h264_slice_type_p = 1,
168 std_video_h264_slice_type_b = 2,
169 std_video_h264_slice_type_invalid = 0x7FFFFFFF
170 } StdVideoH264SliceType;
172 typedef enum StdVideoH264NonVclNaluType {
173 std_video_h264_non_vcl_nalu_type_sps = 0,
174 std_video_h264_non_vcl_nalu_type_pps = 1,
175 std_video_h264_non_vcl_nalu_type_aud = 2,
176 std_video_h264_non_vcl_nalu_type_prefix = 3,
177 std_video_h264_non_vcl_nalu_type_end_of_sequence = 4,
178 std_video_h264_non_vcl_nalu_type_end_of_stream = 5,
179 std_video_h264_non_vcl_nalu_type_precoded = 6,
180 std_video_h264_non_vcl_nalu_type_invalid = 0x7FFFFFFF
181 } StdVideoH264NonVclNaluType;
183 typedef struct StdVideoH264SpsVuiFlags {
184 deUint32 aspect_ratio_info_present_flag:1;
185 deUint32 overscan_info_present_flag:1;
186 deUint32 overscan_appropriate_flag:1;
187 deUint32 video_signal_type_present_flag:1;
188 deUint32 video_full_range_flag:1;
189 deUint32 color_description_present_flag:1;
190 deUint32 chroma_loc_info_present_flag:1;
191 deUint32 timing_info_present_flag:1;
192 deUint32 fixed_frame_rate_flag:1;
193 deUint32 bitstream_restriction_flag:1;
194 deUint32 nal_hrd_parameters_present_flag:1;
195 deUint32 vcl_hrd_parameters_present_flag:1;
196 } StdVideoH264SpsVuiFlags;
198 typedef struct StdVideoH264HrdParameters {
199 deUint8 cpb_cnt_minus1;
200 deUint8 bit_rate_scale;
201 deUint8 cpb_size_scale;
202 deUint32 bit_rate_value_minus1[32];
203 deUint32 cpb_size_value_minus1[32];
204 deUint8 cbr_flag[32];
205 deUint32 initial_cpb_removal_delay_length_minus1;
206 deUint32 cpb_removal_delay_length_minus1;
207 deUint32 dpb_output_delay_length_minus1;
208 deUint32 time_offset_length;
209 } StdVideoH264HrdParameters;
211 typedef struct StdVideoH264SequenceParameterSetVui {
212 StdVideoH264AspectRatioIdc aspect_ratio_idc;
215 deUint8 video_format;
216 deUint8 color_primaries;
217 deUint8 transfer_characteristics;
218 deUint8 matrix_coefficients;
219 deUint32 num_units_in_tick;
221 StdVideoH264HrdParameters hrd_parameters;
222 deUint8 num_reorder_frames;
223 deUint8 max_dec_frame_buffering;
224 StdVideoH264SpsVuiFlags flags;
225 } StdVideoH264SequenceParameterSetVui;
227 typedef struct StdVideoH264SpsFlags {
228 deUint32 constraint_set0_flag:1;
229 deUint32 constraint_set1_flag:1;
230 deUint32 constraint_set2_flag:1;
231 deUint32 constraint_set3_flag:1;
232 deUint32 constraint_set4_flag:1;
233 deUint32 constraint_set5_flag:1;
234 deUint32 direct_8x8_inference_flag:1;
235 deUint32 mb_adaptive_frame_field_flag:1;
236 deUint32 frame_mbs_only_flag:1;
237 deUint32 delta_pic_order_always_zero_flag:1;
238 deUint32 residual_colour_transform_flag:1;
239 deUint32 gaps_in_frame_num_value_allowed_flag:1;
240 deUint32 first_picture_after_seek_flag:1; // where is this being documented?
241 deUint32 qpprime_y_zero_transform_bypass_flag:1;
242 deUint32 frame_cropping_flag:1;
243 deUint32 scaling_matrix_present_flag:1;
244 deUint32 vui_parameters_present_flag:1;
245 } StdVideoH264SpsFlags;
247 typedef struct StdVideoH264ScalingLists
249 // scaling_list_present_mask has one bit for each
250 // seq_scaling_list_present_flag[i] for SPS OR
251 // pic_scaling_list_present_flag[i] for PPS,
252 // bit 0 - 5 are for each entry of ScalingList4x4
253 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
254 deUint8 scaling_list_present_mask;
255 // use_default_scaling_matrix_mask has one bit for each
256 // UseDefaultScalingMatrix4x4Flag[ i ] and
257 // UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS
258 // bit 0 - 5 are for each entry of ScalingList4x4
259 // bit 6 - 7 are for each entry plus 6 for ScalingList8x8
260 deUint8 use_default_scaling_matrix_mask;
261 deUint8 ScalingList4x4[6][16];
262 deUint8 ScalingList8x8[2][64];
263 } StdVideoH264ScalingLists;
265 typedef struct StdVideoH264SequenceParameterSet
267 StdVideoH264ProfileIdc profile_idc;
268 StdVideoH264Level level_idc;
269 deUint8 seq_parameter_set_id;
270 StdVideoH264ChromaFormatIdc chroma_format_idc;
271 deUint8 bit_depth_luma_minus8;
272 deUint8 bit_depth_chroma_minus8;
273 deUint8 log2_max_frame_num_minus4;
274 StdVideoH264PocType pic_order_cnt_type;
275 deUint8 log2_max_pic_order_cnt_lsb_minus4;
276 deInt32 offset_for_non_ref_pic;
277 deInt32 offset_for_top_to_bottom_field;
278 deUint8 num_ref_frames_in_pic_order_cnt_cycle;
279 deUint8 max_num_ref_frames;
280 deUint32 pic_width_in_mbs_minus1;
281 deUint32 pic_height_in_map_units_minus1;
282 deUint32 frame_crop_left_offset;
283 deUint32 frame_crop_right_offset;
284 deUint32 frame_crop_top_offset;
285 deUint32 frame_crop_bottom_offset;
286 StdVideoH264SpsFlags flags;
287 deInt32 offset_for_ref_frame[255]; // The number of valid values are defined by the num_ref_frames_in_pic_order_cnt_cycle
288 StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if scaling_matrix_present_flag is set
289 StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set
290 } StdVideoH264SequenceParameterSet;
292 typedef struct StdVideoH264PpsFlags {
293 deUint32 transform_8x8_mode_flag:1;
294 deUint32 redundant_pic_cnt_present_flag:1;
295 deUint32 constrained_intra_pred_flag:1;
296 deUint32 deblocking_filter_control_present_flag:1;
297 deUint32 weighted_bipred_idc_flag:1;
298 deUint32 weighted_pred_flag:1;
299 deUint32 pic_order_present_flag:1;
300 deUint32 entropy_coding_mode_flag:1;
301 deUint32 scaling_matrix_present_flag:1;
302 } StdVideoH264PpsFlags;
304 typedef struct StdVideoH264PictureParameterSet
306 deUint8 seq_parameter_set_id;
307 deUint8 pic_parameter_set_id;
308 deUint8 num_ref_idx_l0_default_active_minus1;
309 deUint8 num_ref_idx_l1_default_active_minus1;
310 StdVideoH264WeightedBiPredIdc weighted_bipred_idc;
311 deInt8 pic_init_qp_minus26;
312 deInt8 pic_init_qs_minus26;
313 deInt8 chroma_qp_index_offset;
314 deInt8 second_chroma_qp_index_offset;
315 StdVideoH264PpsFlags flags;
316 StdVideoH264ScalingLists* pScalingLists; // Must be a valid pointer if StdVideoH264PpsFlags::scaling_matrix_present_flag is set.
317 } StdVideoH264PictureParameterSet;
323 #endif // VULKAN_VIDEO_CODEC_H264STD_H_
325 ** Copyright (c) 2019-2021 The Khronos Group Inc.
327 ** SPDX-License-Identifier: Apache-2.0
330 #ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
331 #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1
339 // *************************************************
340 // Video H.264 Encode related parameters:
341 // *************************************************
343 typedef struct StdVideoEncodeH264SliceHeaderFlags {
345 deUint32 is_reference_flag:1;
346 deUint32 num_ref_idx_active_override_flag:1;
347 deUint32 no_output_of_prior_pics_flag:1;
348 deUint32 long_term_reference_flag:1;
349 deUint32 adaptive_ref_pic_marking_mode_flag:1;
350 deUint32 no_prior_references_available_flag:1;
351 } StdVideoEncodeH264SliceHeaderFlags;
353 typedef struct StdVideoEncodeH264PictureInfoFlags {
355 deUint32 is_reference_flag:1;
356 deUint32 long_term_reference_flag:1;
357 } StdVideoEncodeH264PictureInfoFlags;
359 typedef struct StdVideoEncodeH264RefMgmtFlags {
360 deUint32 ref_pic_list_modification_l0_flag:1;
361 deUint32 ref_pic_list_modification_l1_flag:1;
362 } StdVideoEncodeH264RefMgmtFlags;
364 typedef struct StdVideoEncodeH264RefListModEntry {
365 StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc;
366 deUint16 abs_diff_pic_num_minus1;
367 deUint16 long_term_pic_num;
368 } StdVideoEncodeH264RefListModEntry;
370 typedef struct StdVideoEncodeH264RefPicMarkingEntry {
371 StdVideoH264MemMgmtControlOp operation;
372 deUint16 difference_of_pic_nums_minus1;
373 deUint16 long_term_pic_num;
374 deUint16 long_term_frame_idx;
375 deUint16 max_long_term_frame_idx_plus1;
376 } StdVideoEncodeH264RefPicMarkingEntry;
378 typedef struct StdVideoEncodeH264RefMemMgmtCtrlOperations {
379 StdVideoEncodeH264RefMgmtFlags flags;
380 deUint8 refList0ModOpCount;
381 StdVideoEncodeH264RefListModEntry* pRefList0ModOperations;
382 deUint8 refList1ModOpCount;
383 StdVideoEncodeH264RefListModEntry* pRefList1ModOperations;
384 deUint8 refPicMarkingOpCount;
385 StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations;
386 } StdVideoEncodeH264RefMemMgmtCtrlOperations;
388 typedef struct StdVideoEncodeH264PictureInfo {
389 StdVideoEncodeH264PictureInfoFlags flags;
390 StdVideoH264PictureType pictureType;
392 deUint32 pictureOrderCount;
393 deUint16 long_term_pic_num;
394 deUint16 long_term_frame_idx;
395 } StdVideoEncodeH264PictureInfo;
397 typedef struct StdVideoEncodeH264SliceHeader {
398 StdVideoEncodeH264SliceHeaderFlags flags;
399 StdVideoH264SliceType slice_type;
400 deUint8 seq_parameter_set_id;
401 deUint8 pic_parameter_set_id;
403 deUint8 num_ref_idx_l0_active_minus1;
404 deUint8 num_ref_idx_l1_active_minus1;
405 StdVideoH264CabacInitIdc cabac_init_idc;
406 StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc;
407 deInt8 slice_alpha_c0_offset_div2;
408 deInt8 slice_beta_offset_div2;
409 StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations;
410 } StdVideoEncodeH264SliceHeader;
417 #endif // VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_
419 ** Copyright (c) 2019-2021 The Khronos Group Inc.
421 ** SPDX-License-Identifier: Apache-2.0
424 #ifndef VULKAN_VIDEO_CODEC_H265STD_H_
425 #define VULKAN_VIDEO_CODEC_H265STD_H_ 1
433 // Vulkan 0.5 version number WIP
434 #define VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5 VK_MAKE_VIDEO_STD_VERSION(0, 5, 0) // Patch version should always be set to 0
436 // Format must be in the form XX.XX where the first two digits are the major and the second two, the minor.
437 #define VK_STD_VULKAN_VIDEO_CODEC_H265_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_API_VERSION_0_5
438 #define VK_STD_VULKAN_VIDEO_CODEC_H265_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265"
440 typedef enum StdVideoH265ChromaFormatIdc {
441 std_video_h265_chroma_format_idc_monochrome = 0,
442 std_video_h265_chroma_format_idc_420 = 1,
443 std_video_h265_chroma_format_idc_422 = 2,
444 std_video_h265_chroma_format_idc_444 = 3,
445 } StdVideoH265ChromaFormatIdc;
447 typedef enum StdVideoH265ProfileIdc {
448 std_video_h265_profile_idc_main = 1,
449 std_video_h265_profile_idc_main_10 = 2,
450 std_video_h265_profile_idc_main_still_picture = 3,
451 std_video_h265_profile_idc_format_range_extensions = 4,
452 std_video_h265_profile_idc_scc_extensions = 9,
453 std_video_h265_profile_idc_invalid = 0x7FFFFFFF
454 } StdVideoH265ProfileIdc;
456 typedef enum StdVideoH265Level {
457 std_video_h265_level_1_0 = 0,
458 std_video_h265_level_2_0 = 1,
459 std_video_h265_level_2_1 = 2,
460 std_video_h265_level_3_0 = 3,
461 std_video_h265_level_3_1 = 4,
462 std_video_h265_level_4_0 = 5,
463 std_video_h265_level_4_1 = 6,
464 std_video_h265_level_5_0 = 7,
465 std_video_h265_level_5_1 = 8,
466 std_video_h265_level_5_2 = 9,
467 std_video_h265_level_6_0 = 10,
468 std_video_h265_level_6_1 = 11,
469 std_video_h265_level_6_2 = 12,
470 std_video_h265_level_invalid = 0x7FFFFFFF
474 typedef struct StdVideoH265DecPicBufMgr
476 deUint32 max_latency_increase_plus1[7];
477 deUint8 max_dec_pic_buffering_minus1[7];
478 deUint8 max_num_reorder_pics[7];
479 } StdVideoH265DecPicBufMgr;
481 typedef struct StdVideoH265SubLayerHrdParameters {
482 deUint32 bit_rate_value_minus1[32];
483 deUint32 cpb_size_value_minus1[32];
484 deUint32 cpb_size_du_value_minus1[32];
485 deUint32 bit_rate_du_value_minus1[32];
486 deUint32 cbr_flag; // each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer
487 } StdVideoH265SubLayerHrdParameters;
489 typedef struct StdVideoH265HrdFlags {
490 deUint32 nal_hrd_parameters_present_flag : 1;
491 deUint32 vcl_hrd_parameters_present_flag : 1;
492 deUint32 sub_pic_hrd_params_present_flag : 1;
493 deUint32 sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
494 deUint8 fixed_pic_rate_general_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
495 deUint8 fixed_pic_rate_within_cvs_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
496 deUint8 low_delay_hrd_flag; // each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1
497 } StdVideoH265HrdFlags;
499 typedef struct StdVideoH265HrdParameters {
500 deUint8 tick_divisor_minus2;
501 deUint8 du_cpb_removal_delay_increment_length_minus1;
502 deUint8 dpb_output_delay_du_length_minus1;
503 deUint8 bit_rate_scale;
504 deUint8 cpb_size_scale;
505 deUint8 cpb_size_du_scale;
506 deUint8 initial_cpb_removal_delay_length_minus1;
507 deUint8 au_cpb_removal_delay_length_minus1;
508 deUint8 dpb_output_delay_length_minus1;
509 deUint8 cpb_cnt_minus1[7];
510 deUint16 elemental_duration_in_tc_minus1[7];
511 StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersNal[7];
512 StdVideoH265SubLayerHrdParameters* SubLayerHrdParametersVcl[7];
513 StdVideoH265HrdFlags flags;
514 } StdVideoH265HrdParameters;
516 typedef struct StdVideoH265VpsFlags {
517 deUint32 vps_temporal_id_nesting_flag : 1;
518 deUint32 vps_sub_layer_ordering_info_present_flag : 1;
519 deUint32 vps_timing_info_present_flag : 1;
520 deUint32 vps_poc_proportional_to_timing_flag : 1;
521 } StdVideoH265VpsFlags;
523 typedef struct StdVideoH265VideoParameterSet
525 deUint8 vps_video_parameter_set_id;
526 deUint8 vps_max_sub_layers_minus1;
527 deUint32 vps_num_units_in_tick;
528 deUint32 vps_time_scale;
529 deUint32 vps_num_ticks_poc_diff_one_minus1;
530 StdVideoH265DecPicBufMgr* pDecPicBufMgr;
531 StdVideoH265HrdParameters* hrd_parameters;
532 StdVideoH265VpsFlags flags;
533 } StdVideoH265VideoParameterSet;
535 typedef struct StdVideoH265ScalingLists
537 deUint8 ScalingList4x4[6][16]; // ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0)
538 deUint8 ScalingList8x8[6][64]; // ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1)
539 deUint8 ScalingList16x16[6][64]; // ScalingList[ 2 ][ MatrixID ][ i ] (sizeID = 2)
540 deUint8 ScalingList32x32[2][64]; // ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3)
541 deUint8 ScalingListDCCoef16x16[6]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2
542 deUint8 ScalingListDCCoef32x32[2]; // scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3
543 } StdVideoH265ScalingLists;
545 typedef struct StdVideoH265SpsVuiFlags {
546 deUint32 aspect_ratio_info_present_flag : 1;
547 deUint32 overscan_info_present_flag : 1;
548 deUint32 overscan_appropriate_flag : 1;
549 deUint32 video_signal_type_present_flag : 1;
550 deUint32 video_full_range_flag : 1;
551 deUint32 colour_description_present_flag : 1;
552 deUint32 chroma_loc_info_present_flag : 1;
553 deUint32 neutral_chroma_indication_flag : 1;
554 deUint32 field_seq_flag : 1;
555 deUint32 frame_field_info_present_flag : 1;
556 deUint32 default_display_window_flag : 1;
557 deUint32 vui_timing_info_present_flag : 1;
558 deUint32 vui_poc_proportional_to_timing_flag : 1;
559 deUint32 vui_hrd_parameters_present_flag : 1;
560 deUint32 bitstream_restriction_flag : 1;
561 deUint32 tiles_fixed_structure_flag : 1;
562 deUint32 motion_vectors_over_pic_boundaries_flag : 1;
563 deUint32 restricted_ref_pic_lists_flag : 1;
564 } StdVideoH265SpsVuiFlags;
566 typedef struct StdVideoH265SequenceParameterSetVui {
567 deUint8 aspect_ratio_idc;
570 deUint8 video_format;
571 deUint8 colour_primaries;
572 deUint8 transfer_characteristics;
573 deUint8 matrix_coeffs;
574 deUint8 chroma_sample_loc_type_top_field;
575 deUint8 chroma_sample_loc_type_bottom_field;
576 deUint16 def_disp_win_left_offset;
577 deUint16 def_disp_win_right_offset;
578 deUint16 def_disp_win_top_offset;
579 deUint16 def_disp_win_bottom_offset;
580 deUint32 vui_num_units_in_tick;
581 deUint32 vui_time_scale;
582 deUint32 vui_num_ticks_poc_diff_one_minus1;
583 StdVideoH265HrdParameters* hrd_parameters;
584 deUint16 min_spatial_segmentation_idc;
585 deUint8 max_bytes_per_pic_denom;
586 deUint8 max_bits_per_min_cu_denom;
587 deUint8 log2_max_mv_length_horizontal;
588 deUint8 log2_max_mv_length_vertical;
589 StdVideoH265SpsVuiFlags flags;
590 } StdVideoH265SequenceParameterSetVui;
592 typedef struct StdVideoH265PredictorPaletteEntries
594 deUint16 PredictorPaletteEntries[3][128];
595 } StdVideoH265PredictorPaletteEntries;
598 typedef struct StdVideoH265SpsFlags {
599 deUint32 sps_temporal_id_nesting_flag : 1;
600 deUint32 separate_colour_plane_flag : 1;
601 deUint32 scaling_list_enabled_flag : 1;
602 deUint32 sps_scaling_list_data_present_flag : 1;
603 deUint32 amp_enabled_flag : 1;
604 deUint32 sample_adaptive_offset_enabled_flag : 1;
605 deUint32 pcm_enabled_flag : 1;
606 deUint32 pcm_loop_filter_disabled_flag : 1;
607 deUint32 long_term_ref_pics_present_flag : 1;
608 deUint32 sps_temporal_mvp_enabled_flag : 1;
609 deUint32 strong_intra_smoothing_enabled_flag : 1;
610 deUint32 vui_parameters_present_flag : 1;
611 deUint32 sps_extension_present_flag : 1;
612 deUint32 sps_range_extension_flag : 1;
614 // extension SPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set
615 deUint32 transform_skip_rotation_enabled_flag : 1;
616 deUint32 transform_skip_context_enabled_flag : 1;
617 deUint32 implicit_rdpcm_enabled_flag : 1;
618 deUint32 explicit_rdpcm_enabled_flag : 1;
619 deUint32 extended_precision_processing_flag : 1;
620 deUint32 intra_smoothing_disabled_flag : 1;
621 deUint32 high_precision_offsets_enabled_flag : 1;
622 deUint32 persistent_rice_adaptation_enabled_flag : 1;
623 deUint32 cabac_bypass_alignment_enabled_flag : 1;
625 // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
626 deUint32 sps_curr_pic_ref_enabled_flag : 1;
627 deUint32 palette_mode_enabled_flag : 1;
628 deUint32 sps_palette_predictor_initializer_present_flag : 1;
629 deUint32 intra_boundary_filtering_disabled_flag : 1;
630 } StdVideoH265SpsFlags;
632 typedef struct StdVideoH265SequenceParameterSet
634 StdVideoH265ProfileIdc profile_idc;
635 StdVideoH265Level level_idc;
636 deUint32 pic_width_in_luma_samples;
637 deUint32 pic_height_in_luma_samples;
638 deUint8 sps_video_parameter_set_id;
639 deUint8 sps_max_sub_layers_minus1;
640 deUint8 sps_seq_parameter_set_id;
641 deUint8 chroma_format_idc;
642 deUint8 bit_depth_luma_minus8;
643 deUint8 bit_depth_chroma_minus8;
644 deUint8 log2_max_pic_order_cnt_lsb_minus4;
645 deUint8 sps_max_dec_pic_buffering_minus1;
646 deUint8 log2_min_luma_coding_block_size_minus3;
647 deUint8 log2_diff_max_min_luma_coding_block_size;
648 deUint8 log2_min_luma_transform_block_size_minus2;
649 deUint8 log2_diff_max_min_luma_transform_block_size;
650 deUint8 max_transform_hierarchy_depth_inter;
651 deUint8 max_transform_hierarchy_depth_intra;
652 deUint8 num_short_term_ref_pic_sets;
653 deUint8 num_long_term_ref_pics_sps;
654 deUint8 pcm_sample_bit_depth_luma_minus1;
655 deUint8 pcm_sample_bit_depth_chroma_minus1;
656 deUint8 log2_min_pcm_luma_coding_block_size_minus3;
657 deUint8 log2_diff_max_min_pcm_luma_coding_block_size;
658 deUint32 conf_win_left_offset;
659 deUint32 conf_win_right_offset;
660 deUint32 conf_win_top_offset;
661 deUint32 conf_win_bottom_offset;
662 StdVideoH265DecPicBufMgr* pDecPicBufMgr;
663 StdVideoH265SpsFlags flags;
664 StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if sps_scaling_list_data_present_flag is set
665 StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; // Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size;
667 // extension SPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
668 deUint8 palette_max_size;
669 deUint8 delta_palette_max_predictor_size;
670 deUint8 motion_vector_resolution_control_idc;
671 deUint8 sps_num_palette_predictor_initializer_minus1;
672 StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if sps_palette_predictor_initializer_present_flag is set
673 } StdVideoH265SequenceParameterSet;
676 typedef struct StdVideoH265PpsFlags {
677 deUint32 dependent_slice_segments_enabled_flag : 1;
678 deUint32 output_flag_present_flag : 1;
679 deUint32 sign_data_hiding_enabled_flag : 1;
680 deUint32 cabac_init_present_flag : 1;
681 deUint32 constrained_intra_pred_flag : 1;
682 deUint32 transform_skip_enabled_flag : 1;
683 deUint32 cu_qp_delta_enabled_flag : 1;
684 deUint32 pps_slice_chroma_qp_offsets_present_flag : 1;
685 deUint32 weighted_pred_flag : 1;
686 deUint32 weighted_bipred_flag : 1;
687 deUint32 transquant_bypass_enabled_flag : 1;
688 deUint32 tiles_enabled_flag : 1;
689 deUint32 entropy_coding_sync_enabled_flag : 1;
690 deUint32 uniform_spacing_flag : 1;
691 deUint32 loop_filter_across_tiles_enabled_flag : 1;
692 deUint32 pps_loop_filter_across_slices_enabled_flag : 1;
693 deUint32 deblocking_filter_control_present_flag : 1;
694 deUint32 deblocking_filter_override_enabled_flag : 1;
695 deUint32 pps_deblocking_filter_disabled_flag : 1;
696 deUint32 pps_scaling_list_data_present_flag : 1;
697 deUint32 lists_modification_present_flag : 1;
698 deUint32 slice_segment_header_extension_present_flag : 1;
699 deUint32 pps_extension_present_flag : 1;
701 // extension PPS flags, valid when std_video_h265_profile_idc_format_range_extensions is set
702 deUint32 cross_component_prediction_enabled_flag : 1;
703 deUint32 chroma_qp_offset_list_enabled_flag : 1;
705 // extension PPS flags, valid when std_video_h265_profile_idc_scc_extensions is set
706 deUint32 pps_curr_pic_ref_enabled_flag : 1;
707 deUint32 residual_adaptive_colour_transform_enabled_flag : 1;
708 deUint32 pps_slice_act_qp_offsets_present_flag : 1;
709 deUint32 pps_palette_predictor_initializer_present_flag : 1;
710 deUint32 monochrome_palette_flag : 1;
711 deUint32 pps_range_extension_flag : 1;
712 } StdVideoH265PpsFlags;
714 typedef struct StdVideoH265PictureParameterSet
716 deUint8 pps_pic_parameter_set_id;
717 deUint8 pps_seq_parameter_set_id;
718 deUint8 num_extra_slice_header_bits;
719 deUint8 num_ref_idx_l0_default_active_minus1;
720 deUint8 num_ref_idx_l1_default_active_minus1;
721 deInt8 init_qp_minus26;
722 deUint8 diff_cu_qp_delta_depth;
723 deInt8 pps_cb_qp_offset;
724 deInt8 pps_cr_qp_offset;
725 deUint8 num_tile_columns_minus1;
726 deUint8 num_tile_rows_minus1;
727 deUint16 column_width_minus1[19];
728 deUint16 row_height_minus1[21];
729 deInt8 pps_beta_offset_div2;
730 deInt8 pps_tc_offset_div2;
731 deUint8 log2_parallel_merge_level_minus2;
732 StdVideoH265PpsFlags flags;
733 StdVideoH265ScalingLists* pScalingLists; // Must be a valid pointer if pps_scaling_list_data_present_flag is set
735 // extension PPS, valid when std_video_h265_profile_idc_format_range_extensions is set
736 deUint8 log2_max_transform_skip_block_size_minus2;
737 deUint8 diff_cu_chroma_qp_offset_depth;
738 deUint8 chroma_qp_offset_list_len_minus1;
739 deInt8 cb_qp_offset_list[6];
740 deInt8 cr_qp_offset_list[6];
741 deUint8 log2_sao_offset_scale_luma;
742 deUint8 log2_sao_offset_scale_chroma;
744 // extension PPS, valid when std_video_h265_profile_idc_scc_extensions is set
745 deInt8 pps_act_y_qp_offset_plus5;
746 deInt8 pps_act_cb_qp_offset_plus5;
747 deInt8 pps_act_cr_qp_offset_plus5;
748 deUint8 pps_num_palette_predictor_initializer;
749 deUint8 luma_bit_depth_entry_minus8;
750 deUint8 chroma_bit_depth_entry_minus8;
751 StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; // Must be a valid pointer if pps_palette_predictor_initializer_present_flag is set
752 } StdVideoH265PictureParameterSet;
758 #endif // VULKAN_VIDEO_CODEC_H265STD_H_
760 ** Copyright (c) 2019-2020 The Khronos Group Inc.
762 ** SPDX-License-Identifier: Apache-2.0
765 #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
766 #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
774 // *************************************************
775 // Video H.264 Decode related parameters:
776 // *************************************************
778 typedef struct StdVideoDecodeH264PictureInfoFlags {
779 deUint32 field_pic_flag:1; // Is field picture
780 deUint32 is_intra:1; // Is intra picture
781 deUint32 bottom_field_flag:1; // bottom (true) or top (false) field if field_pic_flag is set.
782 deUint32 is_reference:1; // This only applies to picture info, and not to the DPB lists.
783 deUint32 complementary_field_pair:1; // complementary field pair, complementary non-reference field pair, complementary reference field pair
784 } StdVideoDecodeH264PictureInfoFlags;
786 typedef struct StdVideoDecodeH264PictureInfo {
787 deUint8 seq_parameter_set_id; // Selecting SPS from the Picture Parameters
788 deUint8 pic_parameter_set_id; // Selecting PPS from the Picture Parameters and the SPS
789 deUint16 reserved; // for structure members 32-bit packing/alignment
790 deUint16 frame_num; // 7.4.3 Slice header semantics
791 deUint16 idr_pic_id; // 7.4.3 Slice header semantics
792 // PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2
793 deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
794 StdVideoDecodeH264PictureInfoFlags flags;
795 } StdVideoDecodeH264PictureInfo;
797 typedef struct StdVideoDecodeH264ReferenceInfoFlags {
798 deUint32 top_field_flag:1; // Reference is used for top field reference.
799 deUint32 bottom_field_flag:1; // Reference is used for bottom field reference.
800 deUint32 is_long_term:1; // this is a long term reference
801 deUint32 is_non_existing:1; // Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num
802 } StdVideoDecodeH264ReferenceInfoFlags;
804 typedef struct StdVideoDecodeH264ReferenceInfo {
805 // FrameNum = is_long_term ? long_term_frame_idx : frame_num
806 deUint16 FrameNum; // 7.4.3.3 Decoded reference picture marking semantics
807 deUint16 reserved; // for structure members 32-bit packing/alignment
808 deInt32 PicOrderCnt[2]; // TopFieldOrderCnt and BottomFieldOrderCnt fields.
809 StdVideoDecodeH264ReferenceInfoFlags flags;
810 } StdVideoDecodeH264ReferenceInfo;
812 typedef struct StdVideoDecodeH264MvcElementFlags {
814 deUint32 anchor_pic:1;
815 deUint32 inter_view:1;
816 } StdVideoDecodeH264MvcElementFlags;
818 typedef struct StdVideoDecodeH264MvcElement {
819 StdVideoDecodeH264MvcElementFlags flags;
820 deUint16 viewOrderIndex;
822 deUint16 temporalId; // move out?
823 deUint16 priorityId; // move out?
824 deUint16 numOfAnchorRefsInL0;
825 deUint16 viewIdOfAnchorRefsInL0[15];
826 deUint16 numOfAnchorRefsInL1;
827 deUint16 viewIdOfAnchorRefsInL1[15];
828 deUint16 numOfNonAnchorRefsInL0;
829 deUint16 viewIdOfNonAnchorRefsInL0[15];
830 deUint16 numOfNonAnchorRefsInL1;
831 deUint16 viewIdOfNonAnchorRefsInL1[15];
832 } StdVideoDecodeH264MvcElement;
834 typedef struct StdVideoDecodeH264Mvc {
836 deUint32 mvcElementCount;
837 StdVideoDecodeH264MvcElement* pMvcElements;
838 } StdVideoDecodeH264Mvc;
845 #endif // VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
847 ** Copyright (c) 2019-2021 The Khronos Group Inc.
849 ** SPDX-License-Identifier: Apache-2.0
852 #ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
853 #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
861 // *************************************************
862 // Video h265 Decode related parameters:
863 // *************************************************
865 typedef struct StdVideoDecodeH265PictureInfoFlags {
866 deUint32 IrapPicFlag : 1;
867 deUint32 IdrPicFlag : 1;
868 deUint32 IsReference : 1;
869 deUint32 short_term_ref_pic_set_sps_flag : 1;
870 } StdVideoDecodeH265PictureInfoFlags;
872 typedef struct StdVideoDecodeH265PictureInfo {
873 deUint8 vps_video_parameter_set_id;
874 deUint8 sps_seq_parameter_set_id;
875 deUint8 pps_pic_parameter_set_id;
876 deUint8 num_short_term_ref_pic_sets;
877 deInt32 PicOrderCntVal;
878 deUint16 NumBitsForSTRefPicSetInSlice; // number of bits used in st_ref_pic_set()
879 //when short_term_ref_pic_set_sps_flag is 0; otherwise set to 0.
880 deUint8 NumDeltaPocsOfRefRpsIdx; // NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0
881 deUint8 RefPicSetStCurrBefore[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
882 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
883 deUint8 RefPicSetStCurrAfter[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
884 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
885 deUint8 RefPicSetLtCurr[8]; // slotIndex as used in VkVideoReferenceSlotKHR structures representing
886 //pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex
887 StdVideoDecodeH265PictureInfoFlags flags;
888 } StdVideoDecodeH265PictureInfo;
890 typedef struct StdVideoDecodeH265ReferenceInfoFlags {
891 deUint32 is_long_term : 1;
892 deUint32 is_non_existing : 1;
893 } StdVideoDecodeH265ReferenceInfoFlags;
895 typedef struct StdVideoDecodeH265ReferenceInfo {
896 deInt32 PicOrderCntVal;
897 StdVideoDecodeH265ReferenceInfoFlags flags;
898 } StdVideoDecodeH265ReferenceInfo;
904 #endif // VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
905 #ifndef VULKAN_CORE_H_
906 #define VULKAN_CORE_H_ 1
909 ** Copyright 2015-2021 The Khronos Group Inc.
911 ** SPDX-License-Identifier: Apache-2.0
915 ** This header is generated from the Khronos Vulkan XML API Registry.
926 #define VK_VERSION_1_0 1
929 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
932 #ifndef VK_USE_64_BIT_PTR_DEFINES
933 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
934 #define VK_USE_64_BIT_PTR_DEFINES 1
936 #define VK_USE_64_BIT_PTR_DEFINES 0
941 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
942 #if (VK_USE_64_BIT_PTR_DEFINES==1)
943 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
944 #define VK_NULL_HANDLE nullptr
946 #define VK_NULL_HANDLE ((void*)0)
949 #define VK_NULL_HANDLE 0ULL
952 #ifndef VK_NULL_HANDLE
953 #define VK_NULL_HANDLE 0
957 #ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
958 #if (VK_USE_64_BIT_PTR_DEFINES==1)
959 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
961 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef deUint64 object;
965 // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
966 #define VK_MAKE_VERSION(major, minor, patch) \
967 ((((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
969 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead.
970 //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0
972 #define VK_MAKE_API_VERSION(variant, major, minor, patch) \
973 ((((deUint32)(variant)) << 29) | (((deUint32)(major)) << 22) | (((deUint32)(minor)) << 12) | ((deUint32)(patch)))
975 // Vulkan 1.0 version number
976 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
978 // Version of this file
979 #define VK_HEADER_VERSION 189
981 // Complete version of this file
982 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
984 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
985 #define VK_VERSION_MAJOR(version) ((deUint32)(version) >> 22)
987 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
988 #define VK_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
990 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
991 #define VK_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
993 #define VK_API_VERSION_VARIANT(version) ((deUint32)(version) >> 29)
994 #define VK_API_VERSION_MAJOR(version) (((deUint32)(version) >> 22) & 0x7FU)
995 #define VK_API_VERSION_MINOR(version) (((deUint32)(version) >> 12) & 0x3FFU)
996 #define VK_API_VERSION_PATCH(version) ((deUint32)(version) & 0xFFFU)
997 typedef deUint32 VkBool32;
998 typedef deUint64 VkDeviceAddress;
999 typedef deUint64 VkDeviceSize;
1000 typedef deUint32 VkFlags;
1001 typedef deUint32 VkSampleMask;
1002 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
1003 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
1004 VK_DEFINE_HANDLE(VkInstance)
1005 VK_DEFINE_HANDLE(VkPhysicalDevice)
1006 VK_DEFINE_HANDLE(VkDevice)
1007 VK_DEFINE_HANDLE(VkQueue)
1008 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
1009 VK_DEFINE_HANDLE(VkCommandBuffer)
1010 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
1011 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
1012 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
1013 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
1014 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
1015 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
1016 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
1017 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
1018 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
1019 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
1020 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
1021 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
1022 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
1023 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
1024 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
1025 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
1026 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
1027 #define VK_UUID_SIZE 16U
1028 #define VK_ATTACHMENT_UNUSED (~0U)
1030 #define VK_LOD_CLAMP_NONE 1000.0F
1031 #define VK_QUEUE_FAMILY_IGNORED (~0U)
1032 #define VK_REMAINING_ARRAY_LAYERS (~0U)
1033 #define VK_REMAINING_MIP_LEVELS (~0U)
1034 #define VK_SUBPASS_EXTERNAL (~0U)
1036 #define VK_WHOLE_SIZE (~0ULL)
1037 #define VK_MAX_MEMORY_TYPES 32U
1038 #define VK_MAX_MEMORY_HEAPS 16U
1039 #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
1040 #define VK_MAX_EXTENSION_NAME_SIZE 256U
1041 #define VK_MAX_DESCRIPTION_SIZE 256U
1043 typedef enum VkResult {
1050 VK_ERROR_OUT_OF_HOST_MEMORY = -1,
1051 VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
1052 VK_ERROR_INITIALIZATION_FAILED = -3,
1053 VK_ERROR_DEVICE_LOST = -4,
1054 VK_ERROR_MEMORY_MAP_FAILED = -5,
1055 VK_ERROR_LAYER_NOT_PRESENT = -6,
1056 VK_ERROR_EXTENSION_NOT_PRESENT = -7,
1057 VK_ERROR_FEATURE_NOT_PRESENT = -8,
1058 VK_ERROR_INCOMPATIBLE_DRIVER = -9,
1059 VK_ERROR_TOO_MANY_OBJECTS = -10,
1060 VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
1061 VK_ERROR_FRAGMENTED_POOL = -12,
1062 VK_ERROR_UNKNOWN = -13,
1063 VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
1064 VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
1065 VK_ERROR_FRAGMENTATION = -1000161000,
1066 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS = -1000257000,
1067 VK_ERROR_SURFACE_LOST_KHR = -1000000000,
1068 VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
1069 VK_SUBOPTIMAL_KHR = 1000001003,
1070 VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
1071 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
1072 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
1073 VK_ERROR_INVALID_SHADER_NV = -1000012000,
1074 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
1075 VK_ERROR_NOT_PERMITTED_EXT = -1000174001,
1076 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
1077 VK_THREAD_IDLE_KHR = 1000268000,
1078 VK_THREAD_DONE_KHR = 1000268001,
1079 VK_OPERATION_DEFERRED_KHR = 1000268002,
1080 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
1081 VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
1082 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
1083 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
1084 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
1085 VK_ERROR_INVALID_DEVICE_ADDRESS_EXT = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1086 VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS,
1087 VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
1088 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
1091 typedef enum VkStructureType {
1092 VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
1093 VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
1094 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
1095 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
1096 VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
1097 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
1098 VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
1099 VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
1100 VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
1101 VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
1102 VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
1103 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
1104 VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
1105 VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
1106 VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
1107 VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
1108 VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
1109 VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
1110 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
1111 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
1112 VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
1113 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
1114 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
1115 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
1116 VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
1117 VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
1118 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
1119 VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
1120 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
1121 VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
1122 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
1123 VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
1124 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
1125 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
1126 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
1127 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
1128 VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
1129 VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
1130 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
1131 VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
1132 VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
1133 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
1134 VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
1135 VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
1136 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
1137 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
1138 VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
1139 VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
1140 VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
1141 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
1142 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
1143 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
1144 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
1145 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
1146 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
1147 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
1148 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
1149 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
1150 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
1151 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
1152 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
1153 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
1154 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
1155 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
1156 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
1157 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
1158 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
1159 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
1160 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
1161 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
1162 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
1163 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
1164 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
1165 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
1166 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
1167 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
1168 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
1169 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
1170 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
1171 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
1172 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
1173 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
1174 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
1175 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
1176 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
1177 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
1178 VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
1179 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
1180 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
1181 VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
1182 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
1183 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
1184 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
1185 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
1186 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
1187 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
1188 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
1189 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
1190 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
1191 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
1192 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
1194 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
1195 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
1196 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
1197 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
1198 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
1199 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
1200 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
1201 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
1202 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
1203 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
1204 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
1205 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
1206 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES = 49,
1207 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES = 50,
1208 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES = 51,
1209 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES = 52,
1210 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO = 1000147000,
1211 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2 = 1000109000,
1212 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2 = 1000109001,
1213 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2 = 1000109002,
1214 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2 = 1000109003,
1215 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2 = 1000109004,
1216 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO = 1000109005,
1217 VK_STRUCTURE_TYPE_SUBPASS_END_INFO = 1000109006,
1218 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES = 1000177000,
1219 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES = 1000196000,
1220 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES = 1000180000,
1221 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES = 1000082000,
1222 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES = 1000197000,
1223 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO = 1000161000,
1224 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES = 1000161001,
1225 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES = 1000161002,
1226 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO = 1000161003,
1227 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT = 1000161004,
1228 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES = 1000199000,
1229 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE = 1000199001,
1230 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES = 1000221000,
1231 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO = 1000246000,
1232 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES = 1000130000,
1233 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO = 1000130001,
1234 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES = 1000211000,
1235 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES = 1000108000,
1236 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO = 1000108001,
1237 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO = 1000108002,
1238 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO = 1000108003,
1239 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES = 1000253000,
1240 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES = 1000175000,
1241 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES = 1000241000,
1242 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT = 1000241001,
1243 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT = 1000241002,
1244 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES = 1000261000,
1245 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES = 1000207000,
1246 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES = 1000207001,
1247 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO = 1000207002,
1248 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO = 1000207003,
1249 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO = 1000207004,
1250 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO = 1000207005,
1251 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES = 1000257000,
1252 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO = 1000244001,
1253 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO = 1000257002,
1254 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO = 1000257003,
1255 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO = 1000257004,
1256 VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
1257 VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
1258 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
1259 VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
1260 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
1261 VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
1262 VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
1263 VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
1264 VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
1265 VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001,
1266 VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 1000003000,
1267 VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR = 1000004000,
1268 VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR = 1000005000,
1269 VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR = 1000006000,
1270 VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR = 1000008000,
1271 VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR = 1000009000,
1272 VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
1273 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD = 1000018000,
1274 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000,
1275 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001,
1276 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002,
1277 #ifdef VK_ENABLE_BETA_EXTENSIONS
1278 VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR = 1000023000,
1280 #ifdef VK_ENABLE_BETA_EXTENSIONS
1281 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001,
1283 #ifdef VK_ENABLE_BETA_EXTENSIONS
1284 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_KHR = 1000023002,
1286 #ifdef VK_ENABLE_BETA_EXTENSIONS
1287 VK_STRUCTURE_TYPE_VIDEO_GET_MEMORY_PROPERTIES_KHR = 1000023003,
1289 #ifdef VK_ENABLE_BETA_EXTENSIONS
1290 VK_STRUCTURE_TYPE_VIDEO_BIND_MEMORY_KHR = 1000023004,
1292 #ifdef VK_ENABLE_BETA_EXTENSIONS
1293 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005,
1295 #ifdef VK_ENABLE_BETA_EXTENSIONS
1296 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006,
1298 #ifdef VK_ENABLE_BETA_EXTENSIONS
1299 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007,
1301 #ifdef VK_ENABLE_BETA_EXTENSIONS
1302 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008,
1304 #ifdef VK_ENABLE_BETA_EXTENSIONS
1305 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009,
1307 #ifdef VK_ENABLE_BETA_EXTENSIONS
1308 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010,
1310 #ifdef VK_ENABLE_BETA_EXTENSIONS
1311 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_KHR = 1000023011,
1313 #ifdef VK_ENABLE_BETA_EXTENSIONS
1314 VK_STRUCTURE_TYPE_VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR = 1000023012,
1316 #ifdef VK_ENABLE_BETA_EXTENSIONS
1317 VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR = 1000023013,
1319 #ifdef VK_ENABLE_BETA_EXTENSIONS
1320 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014,
1322 #ifdef VK_ENABLE_BETA_EXTENSIONS
1323 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015,
1325 #ifdef VK_ENABLE_BETA_EXTENSIONS
1326 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000,
1328 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000,
1329 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001,
1330 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002,
1331 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT = 1000028000,
1332 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT = 1000028001,
1333 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT = 1000028002,
1334 VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX = 1000029000,
1335 VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX = 1000029001,
1336 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002,
1337 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000,
1338 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001,
1339 #ifdef VK_ENABLE_BETA_EXTENSIONS
1340 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
1342 #ifdef VK_ENABLE_BETA_EXTENSIONS
1343 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038001,
1345 #ifdef VK_ENABLE_BETA_EXTENSIONS
1346 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038002,
1348 #ifdef VK_ENABLE_BETA_EXTENSIONS
1349 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038003,
1351 #ifdef VK_ENABLE_BETA_EXTENSIONS
1352 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038004,
1354 #ifdef VK_ENABLE_BETA_EXTENSIONS
1355 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038005,
1357 #ifdef VK_ENABLE_BETA_EXTENSIONS
1358 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_EXT = 1000038006,
1360 #ifdef VK_ENABLE_BETA_EXTENSIONS
1361 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT = 1000038007,
1363 #ifdef VK_ENABLE_BETA_EXTENSIONS
1364 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT = 1000038008,
1366 #ifdef VK_ENABLE_BETA_EXTENSIONS
1367 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000,
1369 #ifdef VK_ENABLE_BETA_EXTENSIONS
1370 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_CREATE_INFO_EXT = 1000040001,
1372 #ifdef VK_ENABLE_BETA_EXTENSIONS
1373 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040002,
1375 #ifdef VK_ENABLE_BETA_EXTENSIONS
1376 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_EXT = 1000040003,
1378 #ifdef VK_ENABLE_BETA_EXTENSIONS
1379 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT = 1000040004,
1381 #ifdef VK_ENABLE_BETA_EXTENSIONS
1382 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040005,
1384 #ifdef VK_ENABLE_BETA_EXTENSIONS
1385 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040006,
1387 #ifdef VK_ENABLE_BETA_EXTENSIONS
1388 VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040007,
1390 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000,
1391 VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP = 1000049000,
1392 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV = 1000050000,
1393 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV = 1000056000,
1394 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV = 1000056001,
1395 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057000,
1396 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV = 1000057001,
1397 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV = 1000058000,
1398 VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT = 1000061000,
1399 VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
1400 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT = 1000066000,
1401 VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
1402 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
1403 VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
1404 VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
1405 VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
1406 VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR = 1000073003,
1407 VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR = 1000074000,
1408 VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR = 1000074001,
1409 VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR = 1000074002,
1410 VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR = 1000075000,
1411 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078000,
1412 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR = 1000078001,
1413 VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR = 1000078002,
1414 VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR = 1000078003,
1415 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR = 1000079000,
1416 VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR = 1000079001,
1417 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR = 1000080000,
1418 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT = 1000081000,
1419 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT = 1000081001,
1420 VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT = 1000081002,
1421 VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR = 1000084000,
1422 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV = 1000087000,
1423 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT = 1000090000,
1424 VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT = 1000091000,
1425 VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT = 1000091001,
1426 VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT = 1000091002,
1427 VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT = 1000091003,
1428 VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE = 1000092000,
1429 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX = 1000097000,
1430 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV = 1000098000,
1431 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT = 1000099000,
1432 VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT = 1000099001,
1433 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT = 1000101000,
1434 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT = 1000101001,
1435 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000,
1436 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001,
1437 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000,
1438 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000,
1439 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000,
1440 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001,
1441 VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR = 1000114002,
1442 VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR = 1000115000,
1443 VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR = 1000115001,
1444 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR = 1000116000,
1445 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR = 1000116001,
1446 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR = 1000116002,
1447 VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR = 1000116003,
1448 VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR = 1000116004,
1449 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR = 1000116005,
1450 VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR = 1000116006,
1451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000,
1452 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001,
1453 VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002,
1454 VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000,
1455 VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001,
1456 VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002,
1457 VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003,
1458 VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004,
1459 VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000,
1460 VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000,
1461 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000,
1462 VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT = 1000128001,
1463 VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT = 1000128002,
1464 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000128003,
1465 VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000128004,
1466 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID = 1000129000,
1467 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID = 1000129001,
1468 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID = 1000129002,
1469 VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129003,
1470 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004,
1471 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005,
1472 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = 1000138000,
1473 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = 1000138001,
1474 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT = 1000138002,
1475 VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT = 1000138003,
1476 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000,
1477 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001,
1478 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002,
1479 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT = 1000143003,
1480 VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT = 1000143004,
1481 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT = 1000148000,
1482 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT = 1000148001,
1483 VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT = 1000148002,
1484 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV = 1000149000,
1485 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR = 1000150007,
1486 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR = 1000150000,
1487 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR = 1000150002,
1488 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR = 1000150003,
1489 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR = 1000150004,
1490 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR = 1000150005,
1491 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR = 1000150006,
1492 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR = 1000150009,
1493 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR = 1000150010,
1494 VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR = 1000150011,
1495 VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR = 1000150012,
1496 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR = 1000150013,
1497 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR = 1000150014,
1498 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR = 1000150017,
1499 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR = 1000150020,
1500 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR = 1000347000,
1501 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR = 1000347001,
1502 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR = 1000150015,
1503 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR = 1000150016,
1504 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR = 1000150018,
1505 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR = 1000348013,
1506 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV = 1000152000,
1507 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV = 1000154000,
1508 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV = 1000154001,
1509 VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT = 1000158000,
1510 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT = 1000158002,
1511 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT = 1000158003,
1512 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT = 1000158004,
1513 VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT = 1000158005,
1514 VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160000,
1515 VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = 1000160001,
1516 #ifdef VK_ENABLE_BETA_EXTENSIONS
1517 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
1519 #ifdef VK_ENABLE_BETA_EXTENSIONS
1520 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
1522 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV = 1000164000,
1523 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV = 1000164001,
1524 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV = 1000164002,
1525 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV = 1000164005,
1526 VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV = 1000165000,
1527 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000165001,
1528 VK_STRUCTURE_TYPE_GEOMETRY_NV = 1000165003,
1529 VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV = 1000165004,
1530 VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV = 1000165005,
1531 VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV = 1000165006,
1532 VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV = 1000165007,
1533 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV = 1000165008,
1534 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV = 1000165009,
1535 VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV = 1000165011,
1536 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV = 1000165012,
1537 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV = 1000166000,
1538 VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV = 1000166001,
1539 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT = 1000170000,
1540 VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT = 1000170001,
1541 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT = 1000174000,
1542 VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT = 1000178000,
1543 VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT = 1000178001,
1544 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002,
1545 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000,
1546 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000,
1547 VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000,
1548 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
1549 #ifdef VK_ENABLE_BETA_EXTENSIONS
1550 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000,
1552 #ifdef VK_ENABLE_BETA_EXTENSIONS
1553 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_CREATE_INFO_EXT = 1000187001,
1555 #ifdef VK_ENABLE_BETA_EXTENSIONS
1556 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187002,
1558 #ifdef VK_ENABLE_BETA_EXTENSIONS
1559 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187003,
1561 #ifdef VK_ENABLE_BETA_EXTENSIONS
1562 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT = 1000187004,
1564 #ifdef VK_ENABLE_BETA_EXTENSIONS
1565 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187005,
1567 #ifdef VK_ENABLE_BETA_EXTENSIONS
1568 VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187006,
1570 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000,
1571 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
1572 VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
1573 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002,
1574 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000,
1575 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000192000,
1576 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000,
1577 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000,
1578 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV = 1000202001,
1579 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV = 1000203000,
1580 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV = 1000204000,
1581 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV = 1000205000,
1582 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV = 1000205002,
1583 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
1584 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
1585 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL = 1000209000,
1586 VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL = 1000210000,
1587 VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL = 1000210001,
1588 VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL = 1000210002,
1589 VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL = 1000210003,
1590 VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL = 1000210004,
1591 VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL = 1000210005,
1592 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT = 1000212000,
1593 VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
1594 VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001,
1595 VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA = 1000214000,
1596 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR = 1000215000,
1597 VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT = 1000217000,
1598 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT = 1000218000,
1599 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT = 1000218001,
1600 VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT = 1000218002,
1601 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT = 1000225000,
1602 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = 1000225001,
1603 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT = 1000225002,
1604 VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000226000,
1605 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR = 1000226001,
1606 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR = 1000226002,
1607 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR = 1000226003,
1608 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR = 1000226004,
1609 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD = 1000227000,
1610 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = 1000229000,
1611 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = 1000234000,
1612 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = 1000237000,
1613 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT = 1000238000,
1614 VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT = 1000238001,
1615 VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR = 1000239000,
1616 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV = 1000240000,
1617 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT = 1000244000,
1618 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT = 1000244002,
1619 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT = 1000245000,
1620 VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT = 1000247000,
1621 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR = 1000248000,
1622 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV = 1000249000,
1623 VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249001,
1624 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV = 1000249002,
1625 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV = 1000250000,
1626 VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV = 1000250001,
1627 VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV = 1000250002,
1628 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT = 1000251000,
1629 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT = 1000252000,
1630 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT = 1000254000,
1631 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT = 1000254001,
1632 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT = 1000254002,
1633 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT = 1000255000,
1634 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT = 1000255002,
1635 VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT = 1000255001,
1636 VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = 1000256000,
1637 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = 1000259000,
1638 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = 1000259001,
1639 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = 1000259002,
1640 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = 1000260000,
1641 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = 1000265000,
1642 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = 1000267000,
1643 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR = 1000269000,
1644 VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR = 1000269001,
1645 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR = 1000269002,
1646 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003,
1647 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004,
1648 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005,
1649 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000,
1650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT = 1000276000,
1651 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000,
1652 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001,
1653 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002,
1654 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV = 1000277003,
1655 VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV = 1000277004,
1656 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV = 1000277005,
1657 VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV = 1000277006,
1658 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007,
1659 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000,
1660 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001,
1661 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = 1000280000,
1662 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = 1000280001,
1663 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000,
1664 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001,
1665 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000,
1666 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001,
1667 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000,
1668 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001,
1669 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002,
1670 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT = 1000286000,
1671 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT = 1000286001,
1672 VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT = 1000287000,
1673 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001,
1674 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002,
1675 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000,
1676 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000,
1677 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001,
1678 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT = 1000295000,
1679 VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT = 1000295001,
1680 VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT = 1000295002,
1681 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT = 1000297000,
1682 #ifdef VK_ENABLE_BETA_EXTENSIONS
1683 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
1685 #ifdef VK_ENABLE_BETA_EXTENSIONS
1686 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
1688 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
1689 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
1690 VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR = 1000314000,
1691 VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR = 1000314001,
1692 VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR = 1000314002,
1693 VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR = 1000314003,
1694 VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR = 1000314004,
1695 VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR = 1000314005,
1696 VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR = 1000314006,
1697 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR = 1000314007,
1698 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
1699 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
1700 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR = 1000323000,
1701 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR = 1000325000,
1702 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV = 1000326000,
1703 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV = 1000326001,
1704 VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV = 1000326002,
1705 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV = 1000327000,
1706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV = 1000327001,
1707 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV = 1000327002,
1708 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT = 1000330000,
1709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT = 1000332000,
1710 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT = 1000332001,
1711 VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM = 1000333000,
1712 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT = 1000335000,
1713 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000,
1714 VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR = 1000337000,
1715 VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR = 1000337001,
1716 VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR = 1000337002,
1717 VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR = 1000337003,
1718 VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR = 1000337004,
1719 VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR = 1000337005,
1720 VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR = 1000337006,
1721 VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR = 1000337007,
1722 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = 1000337008,
1723 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009,
1724 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010,
1725 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
1726 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000,
1727 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000,
1728 VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002,
1729 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
1730 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
1731 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
1732 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
1733 VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
1734 VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
1735 VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
1736 VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000,
1737 VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001,
1738 VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
1739 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
1740 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
1741 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = 1000370000,
1742 VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV = 1000371000,
1743 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
1744 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
1745 VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
1746 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
1747 VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
1748 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = 1000388000,
1749 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT = 1000388001,
1750 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
1751 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
1752 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1753 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
1754 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
1755 VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
1756 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
1757 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
1758 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2,
1759 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
1760 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2,
1761 VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2,
1762 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
1763 VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2,
1764 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
1765 VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2,
1766 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
1767 VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO,
1768 VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
1769 VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
1770 VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO,
1771 VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO,
1772 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
1773 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
1774 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES,
1775 VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO,
1776 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
1777 VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES,
1778 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
1779 VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES,
1780 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES,
1781 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
1782 VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
1783 VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO,
1784 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
1785 VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES,
1786 VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO,
1787 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1788 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
1789 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
1790 VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
1791 VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT,
1792 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
1793 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
1794 VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR = VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
1795 VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO,
1796 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2,
1797 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2,
1798 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2,
1799 VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR = VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2,
1800 VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2,
1801 VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO,
1802 VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR = VK_STRUCTURE_TYPE_SUBPASS_END_INFO,
1803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
1804 VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES,
1805 VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO,
1806 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
1807 VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
1808 VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO,
1809 VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
1810 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
1811 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR,
1812 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS,
1813 VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO,
1814 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
1815 VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO,
1816 VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2,
1817 VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2,
1818 VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
1819 VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2,
1820 VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
1821 VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO,
1822 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
1823 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO,
1824 VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO,
1825 VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR = VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
1826 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
1827 VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR = VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
1828 VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO,
1829 VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO,
1830 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
1831 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
1832 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
1833 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
1834 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
1835 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
1836 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT,
1837 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
1838 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
1839 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
1840 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES,
1841 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
1842 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
1843 VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
1844 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
1845 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
1846 VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO,
1847 VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR = VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO,
1848 VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO,
1849 VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR = VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO,
1850 VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL = VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
1851 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
1852 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
1853 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
1854 VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
1855 VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR = VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
1856 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
1857 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1858 VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO,
1859 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
1860 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
1861 VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO,
1862 VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
1863 VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR = VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
1864 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR = VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
1865 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
1866 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1869 typedef enum VkImageLayout {
1870 VK_IMAGE_LAYOUT_UNDEFINED = 0,
1871 VK_IMAGE_LAYOUT_GENERAL = 1,
1872 VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
1873 VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
1874 VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
1875 VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
1876 VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
1877 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
1878 VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
1879 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
1880 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
1881 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL = 1000241000,
1882 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL = 1000241001,
1883 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL = 1000241002,
1884 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL = 1000241003,
1885 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002,
1886 #ifdef VK_ENABLE_BETA_EXTENSIONS
1887 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000,
1889 #ifdef VK_ENABLE_BETA_EXTENSIONS
1890 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001,
1892 #ifdef VK_ENABLE_BETA_EXTENSIONS
1893 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002,
1895 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000,
1896 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000,
1897 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003,
1898 #ifdef VK_ENABLE_BETA_EXTENSIONS
1899 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1901 #ifdef VK_ENABLE_BETA_EXTENSIONS
1902 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1904 #ifdef VK_ENABLE_BETA_EXTENSIONS
1905 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1907 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR = 1000314000,
1908 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR = 1000314001,
1909 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
1910 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
1911 VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
1912 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
1913 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
1914 VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
1915 VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
1916 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1919 typedef enum VkObjectType {
1920 VK_OBJECT_TYPE_UNKNOWN = 0,
1921 VK_OBJECT_TYPE_INSTANCE = 1,
1922 VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
1923 VK_OBJECT_TYPE_DEVICE = 3,
1924 VK_OBJECT_TYPE_QUEUE = 4,
1925 VK_OBJECT_TYPE_SEMAPHORE = 5,
1926 VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
1927 VK_OBJECT_TYPE_FENCE = 7,
1928 VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
1929 VK_OBJECT_TYPE_BUFFER = 9,
1930 VK_OBJECT_TYPE_IMAGE = 10,
1931 VK_OBJECT_TYPE_EVENT = 11,
1932 VK_OBJECT_TYPE_QUERY_POOL = 12,
1933 VK_OBJECT_TYPE_BUFFER_VIEW = 13,
1934 VK_OBJECT_TYPE_IMAGE_VIEW = 14,
1935 VK_OBJECT_TYPE_SHADER_MODULE = 15,
1936 VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
1937 VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
1938 VK_OBJECT_TYPE_RENDER_PASS = 18,
1939 VK_OBJECT_TYPE_PIPELINE = 19,
1940 VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
1941 VK_OBJECT_TYPE_SAMPLER = 21,
1942 VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
1943 VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
1944 VK_OBJECT_TYPE_FRAMEBUFFER = 24,
1945 VK_OBJECT_TYPE_COMMAND_POOL = 25,
1946 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
1947 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
1948 VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
1949 VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
1950 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
1951 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
1952 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
1953 #ifdef VK_ENABLE_BETA_EXTENSIONS
1954 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000,
1956 #ifdef VK_ENABLE_BETA_EXTENSIONS
1957 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001,
1959 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000,
1960 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001,
1961 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
1962 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
1963 VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
1964 VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
1965 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
1966 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
1967 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
1968 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
1969 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
1970 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
1971 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1974 typedef enum VkPipelineCacheHeaderVersion {
1975 VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1,
1976 VK_PIPELINE_CACHE_HEADER_VERSION_MAX_ENUM = 0x7FFFFFFF
1977 } VkPipelineCacheHeaderVersion;
1979 typedef enum VkVendorId {
1980 VK_VENDOR_ID_VIV = 0x10001,
1981 VK_VENDOR_ID_VSI = 0x10002,
1982 VK_VENDOR_ID_KAZAN = 0x10003,
1983 VK_VENDOR_ID_CODEPLAY = 0x10004,
1984 VK_VENDOR_ID_MESA = 0x10005,
1985 VK_VENDOR_ID_POCL = 0x10006,
1986 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF
1989 typedef enum VkSystemAllocationScope {
1990 VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
1991 VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
1992 VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
1993 VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
1994 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4,
1995 VK_SYSTEM_ALLOCATION_SCOPE_MAX_ENUM = 0x7FFFFFFF
1996 } VkSystemAllocationScope;
1998 typedef enum VkInternalAllocationType {
1999 VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0,
2000 VK_INTERNAL_ALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF
2001 } VkInternalAllocationType;
2003 typedef enum VkFormat {
2004 VK_FORMAT_UNDEFINED = 0,
2005 VK_FORMAT_R4G4_UNORM_PACK8 = 1,
2006 VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
2007 VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
2008 VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
2009 VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
2010 VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
2011 VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
2012 VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
2013 VK_FORMAT_R8_UNORM = 9,
2014 VK_FORMAT_R8_SNORM = 10,
2015 VK_FORMAT_R8_USCALED = 11,
2016 VK_FORMAT_R8_SSCALED = 12,
2017 VK_FORMAT_R8_UINT = 13,
2018 VK_FORMAT_R8_SINT = 14,
2019 VK_FORMAT_R8_SRGB = 15,
2020 VK_FORMAT_R8G8_UNORM = 16,
2021 VK_FORMAT_R8G8_SNORM = 17,
2022 VK_FORMAT_R8G8_USCALED = 18,
2023 VK_FORMAT_R8G8_SSCALED = 19,
2024 VK_FORMAT_R8G8_UINT = 20,
2025 VK_FORMAT_R8G8_SINT = 21,
2026 VK_FORMAT_R8G8_SRGB = 22,
2027 VK_FORMAT_R8G8B8_UNORM = 23,
2028 VK_FORMAT_R8G8B8_SNORM = 24,
2029 VK_FORMAT_R8G8B8_USCALED = 25,
2030 VK_FORMAT_R8G8B8_SSCALED = 26,
2031 VK_FORMAT_R8G8B8_UINT = 27,
2032 VK_FORMAT_R8G8B8_SINT = 28,
2033 VK_FORMAT_R8G8B8_SRGB = 29,
2034 VK_FORMAT_B8G8R8_UNORM = 30,
2035 VK_FORMAT_B8G8R8_SNORM = 31,
2036 VK_FORMAT_B8G8R8_USCALED = 32,
2037 VK_FORMAT_B8G8R8_SSCALED = 33,
2038 VK_FORMAT_B8G8R8_UINT = 34,
2039 VK_FORMAT_B8G8R8_SINT = 35,
2040 VK_FORMAT_B8G8R8_SRGB = 36,
2041 VK_FORMAT_R8G8B8A8_UNORM = 37,
2042 VK_FORMAT_R8G8B8A8_SNORM = 38,
2043 VK_FORMAT_R8G8B8A8_USCALED = 39,
2044 VK_FORMAT_R8G8B8A8_SSCALED = 40,
2045 VK_FORMAT_R8G8B8A8_UINT = 41,
2046 VK_FORMAT_R8G8B8A8_SINT = 42,
2047 VK_FORMAT_R8G8B8A8_SRGB = 43,
2048 VK_FORMAT_B8G8R8A8_UNORM = 44,
2049 VK_FORMAT_B8G8R8A8_SNORM = 45,
2050 VK_FORMAT_B8G8R8A8_USCALED = 46,
2051 VK_FORMAT_B8G8R8A8_SSCALED = 47,
2052 VK_FORMAT_B8G8R8A8_UINT = 48,
2053 VK_FORMAT_B8G8R8A8_SINT = 49,
2054 VK_FORMAT_B8G8R8A8_SRGB = 50,
2055 VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
2056 VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
2057 VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
2058 VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
2059 VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
2060 VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
2061 VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
2062 VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
2063 VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
2064 VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
2065 VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
2066 VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
2067 VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
2068 VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
2069 VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
2070 VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
2071 VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
2072 VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
2073 VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
2074 VK_FORMAT_R16_UNORM = 70,
2075 VK_FORMAT_R16_SNORM = 71,
2076 VK_FORMAT_R16_USCALED = 72,
2077 VK_FORMAT_R16_SSCALED = 73,
2078 VK_FORMAT_R16_UINT = 74,
2079 VK_FORMAT_R16_SINT = 75,
2080 VK_FORMAT_R16_SFLOAT = 76,
2081 VK_FORMAT_R16G16_UNORM = 77,
2082 VK_FORMAT_R16G16_SNORM = 78,
2083 VK_FORMAT_R16G16_USCALED = 79,
2084 VK_FORMAT_R16G16_SSCALED = 80,
2085 VK_FORMAT_R16G16_UINT = 81,
2086 VK_FORMAT_R16G16_SINT = 82,
2087 VK_FORMAT_R16G16_SFLOAT = 83,
2088 VK_FORMAT_R16G16B16_UNORM = 84,
2089 VK_FORMAT_R16G16B16_SNORM = 85,
2090 VK_FORMAT_R16G16B16_USCALED = 86,
2091 VK_FORMAT_R16G16B16_SSCALED = 87,
2092 VK_FORMAT_R16G16B16_UINT = 88,
2093 VK_FORMAT_R16G16B16_SINT = 89,
2094 VK_FORMAT_R16G16B16_SFLOAT = 90,
2095 VK_FORMAT_R16G16B16A16_UNORM = 91,
2096 VK_FORMAT_R16G16B16A16_SNORM = 92,
2097 VK_FORMAT_R16G16B16A16_USCALED = 93,
2098 VK_FORMAT_R16G16B16A16_SSCALED = 94,
2099 VK_FORMAT_R16G16B16A16_UINT = 95,
2100 VK_FORMAT_R16G16B16A16_SINT = 96,
2101 VK_FORMAT_R16G16B16A16_SFLOAT = 97,
2102 VK_FORMAT_R32_UINT = 98,
2103 VK_FORMAT_R32_SINT = 99,
2104 VK_FORMAT_R32_SFLOAT = 100,
2105 VK_FORMAT_R32G32_UINT = 101,
2106 VK_FORMAT_R32G32_SINT = 102,
2107 VK_FORMAT_R32G32_SFLOAT = 103,
2108 VK_FORMAT_R32G32B32_UINT = 104,
2109 VK_FORMAT_R32G32B32_SINT = 105,
2110 VK_FORMAT_R32G32B32_SFLOAT = 106,
2111 VK_FORMAT_R32G32B32A32_UINT = 107,
2112 VK_FORMAT_R32G32B32A32_SINT = 108,
2113 VK_FORMAT_R32G32B32A32_SFLOAT = 109,
2114 VK_FORMAT_R64_UINT = 110,
2115 VK_FORMAT_R64_SINT = 111,
2116 VK_FORMAT_R64_SFLOAT = 112,
2117 VK_FORMAT_R64G64_UINT = 113,
2118 VK_FORMAT_R64G64_SINT = 114,
2119 VK_FORMAT_R64G64_SFLOAT = 115,
2120 VK_FORMAT_R64G64B64_UINT = 116,
2121 VK_FORMAT_R64G64B64_SINT = 117,
2122 VK_FORMAT_R64G64B64_SFLOAT = 118,
2123 VK_FORMAT_R64G64B64A64_UINT = 119,
2124 VK_FORMAT_R64G64B64A64_SINT = 120,
2125 VK_FORMAT_R64G64B64A64_SFLOAT = 121,
2126 VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
2127 VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
2128 VK_FORMAT_D16_UNORM = 124,
2129 VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
2130 VK_FORMAT_D32_SFLOAT = 126,
2131 VK_FORMAT_S8_UINT = 127,
2132 VK_FORMAT_D16_UNORM_S8_UINT = 128,
2133 VK_FORMAT_D24_UNORM_S8_UINT = 129,
2134 VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
2135 VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
2136 VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
2137 VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
2138 VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
2139 VK_FORMAT_BC2_UNORM_BLOCK = 135,
2140 VK_FORMAT_BC2_SRGB_BLOCK = 136,
2141 VK_FORMAT_BC3_UNORM_BLOCK = 137,
2142 VK_FORMAT_BC3_SRGB_BLOCK = 138,
2143 VK_FORMAT_BC4_UNORM_BLOCK = 139,
2144 VK_FORMAT_BC4_SNORM_BLOCK = 140,
2145 VK_FORMAT_BC5_UNORM_BLOCK = 141,
2146 VK_FORMAT_BC5_SNORM_BLOCK = 142,
2147 VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
2148 VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
2149 VK_FORMAT_BC7_UNORM_BLOCK = 145,
2150 VK_FORMAT_BC7_SRGB_BLOCK = 146,
2151 VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
2152 VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
2153 VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
2154 VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
2155 VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
2156 VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
2157 VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
2158 VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
2159 VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
2160 VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
2161 VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
2162 VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
2163 VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
2164 VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
2165 VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
2166 VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
2167 VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
2168 VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
2169 VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
2170 VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
2171 VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
2172 VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
2173 VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
2174 VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
2175 VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
2176 VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
2177 VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
2178 VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
2179 VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
2180 VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
2181 VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
2182 VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
2183 VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
2184 VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
2185 VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
2186 VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
2187 VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
2188 VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
2189 VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
2190 VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
2191 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
2192 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
2193 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
2194 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
2195 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
2196 VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
2197 VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
2198 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
2199 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
2200 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
2201 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
2202 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
2203 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
2204 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
2205 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
2206 VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
2207 VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
2208 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
2209 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
2210 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
2211 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
2212 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
2213 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
2214 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
2215 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
2216 VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
2217 VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
2218 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
2219 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
2220 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
2221 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
2222 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033,
2223 VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG = 1000054000,
2224 VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG = 1000054001,
2225 VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG = 1000054002,
2226 VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG = 1000054003,
2227 VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG = 1000054004,
2228 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005,
2229 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006,
2230 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007,
2231 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = 1000066000,
2232 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = 1000066001,
2233 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = 1000066002,
2234 VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT = 1000066003,
2235 VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT = 1000066004,
2236 VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT = 1000066005,
2237 VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT = 1000066006,
2238 VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT = 1000066007,
2239 VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT = 1000066008,
2240 VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT = 1000066009,
2241 VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT = 1000066010,
2242 VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT = 1000066011,
2243 VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT = 1000066012,
2244 VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT = 1000066013,
2245 VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT = 1000330000,
2246 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT = 1000330001,
2247 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT = 1000330002,
2248 VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT = 1000330003,
2249 VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT = 1000340000,
2250 VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT = 1000340001,
2251 VK_FORMAT_G8B8G8R8_422_UNORM_KHR = VK_FORMAT_G8B8G8R8_422_UNORM,
2252 VK_FORMAT_B8G8R8G8_422_UNORM_KHR = VK_FORMAT_B8G8R8G8_422_UNORM,
2253 VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM,
2254 VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_420_UNORM,
2255 VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM,
2256 VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR = VK_FORMAT_G8_B8R8_2PLANE_422_UNORM,
2257 VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR = VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM,
2258 VK_FORMAT_R10X6_UNORM_PACK16_KHR = VK_FORMAT_R10X6_UNORM_PACK16,
2259 VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR = VK_FORMAT_R10X6G10X6_UNORM_2PACK16,
2260 VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR = VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16,
2261 VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16,
2262 VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR = VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16,
2263 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
2264 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16,
2265 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16,
2266 VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16,
2267 VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16,
2268 VK_FORMAT_R12X4_UNORM_PACK16_KHR = VK_FORMAT_R12X4_UNORM_PACK16,
2269 VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR = VK_FORMAT_R12X4G12X4_UNORM_2PACK16,
2270 VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR = VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16,
2271 VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16,
2272 VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR = VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16,
2273 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16,
2274 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16,
2275 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16,
2276 VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16,
2277 VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR = VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16,
2278 VK_FORMAT_G16B16G16R16_422_UNORM_KHR = VK_FORMAT_G16B16G16R16_422_UNORM,
2279 VK_FORMAT_B16G16R16G16_422_UNORM_KHR = VK_FORMAT_B16G16R16G16_422_UNORM,
2280 VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM,
2281 VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_420_UNORM,
2282 VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM,
2283 VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR = VK_FORMAT_G16_B16R16_2PLANE_422_UNORM,
2284 VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR = VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM,
2285 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
2288 typedef enum VkImageTiling {
2289 VK_IMAGE_TILING_OPTIMAL = 0,
2290 VK_IMAGE_TILING_LINEAR = 1,
2291 VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT = 1000158000,
2292 VK_IMAGE_TILING_MAX_ENUM = 0x7FFFFFFF
2295 typedef enum VkImageType {
2296 VK_IMAGE_TYPE_1D = 0,
2297 VK_IMAGE_TYPE_2D = 1,
2298 VK_IMAGE_TYPE_3D = 2,
2299 VK_IMAGE_TYPE_MAX_ENUM = 0x7FFFFFFF
2302 typedef enum VkPhysicalDeviceType {
2303 VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
2304 VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
2305 VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
2306 VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
2307 VK_PHYSICAL_DEVICE_TYPE_CPU = 4,
2308 VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM = 0x7FFFFFFF
2309 } VkPhysicalDeviceType;
2311 typedef enum VkQueryType {
2312 VK_QUERY_TYPE_OCCLUSION = 0,
2313 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
2314 VK_QUERY_TYPE_TIMESTAMP = 2,
2315 #ifdef VK_ENABLE_BETA_EXTENSIONS
2316 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000,
2318 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004,
2319 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000,
2320 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000,
2321 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001,
2322 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000,
2323 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000,
2324 #ifdef VK_ENABLE_BETA_EXTENSIONS
2325 VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000,
2327 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
2330 typedef enum VkSharingMode {
2331 VK_SHARING_MODE_EXCLUSIVE = 0,
2332 VK_SHARING_MODE_CONCURRENT = 1,
2333 VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
2336 typedef enum VkComponentSwizzle {
2337 VK_COMPONENT_SWIZZLE_IDENTITY = 0,
2338 VK_COMPONENT_SWIZZLE_ZERO = 1,
2339 VK_COMPONENT_SWIZZLE_ONE = 2,
2340 VK_COMPONENT_SWIZZLE_R = 3,
2341 VK_COMPONENT_SWIZZLE_G = 4,
2342 VK_COMPONENT_SWIZZLE_B = 5,
2343 VK_COMPONENT_SWIZZLE_A = 6,
2344 VK_COMPONENT_SWIZZLE_MAX_ENUM = 0x7FFFFFFF
2345 } VkComponentSwizzle;
2347 typedef enum VkImageViewType {
2348 VK_IMAGE_VIEW_TYPE_1D = 0,
2349 VK_IMAGE_VIEW_TYPE_2D = 1,
2350 VK_IMAGE_VIEW_TYPE_3D = 2,
2351 VK_IMAGE_VIEW_TYPE_CUBE = 3,
2352 VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
2353 VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
2354 VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,
2355 VK_IMAGE_VIEW_TYPE_MAX_ENUM = 0x7FFFFFFF
2358 typedef enum VkBlendFactor {
2359 VK_BLEND_FACTOR_ZERO = 0,
2360 VK_BLEND_FACTOR_ONE = 1,
2361 VK_BLEND_FACTOR_SRC_COLOR = 2,
2362 VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
2363 VK_BLEND_FACTOR_DST_COLOR = 4,
2364 VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
2365 VK_BLEND_FACTOR_SRC_ALPHA = 6,
2366 VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
2367 VK_BLEND_FACTOR_DST_ALPHA = 8,
2368 VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
2369 VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
2370 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
2371 VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
2372 VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
2373 VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
2374 VK_BLEND_FACTOR_SRC1_COLOR = 15,
2375 VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
2376 VK_BLEND_FACTOR_SRC1_ALPHA = 17,
2377 VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18,
2378 VK_BLEND_FACTOR_MAX_ENUM = 0x7FFFFFFF
2381 typedef enum VkBlendOp {
2382 VK_BLEND_OP_ADD = 0,
2383 VK_BLEND_OP_SUBTRACT = 1,
2384 VK_BLEND_OP_REVERSE_SUBTRACT = 2,
2385 VK_BLEND_OP_MIN = 3,
2386 VK_BLEND_OP_MAX = 4,
2387 VK_BLEND_OP_ZERO_EXT = 1000148000,
2388 VK_BLEND_OP_SRC_EXT = 1000148001,
2389 VK_BLEND_OP_DST_EXT = 1000148002,
2390 VK_BLEND_OP_SRC_OVER_EXT = 1000148003,
2391 VK_BLEND_OP_DST_OVER_EXT = 1000148004,
2392 VK_BLEND_OP_SRC_IN_EXT = 1000148005,
2393 VK_BLEND_OP_DST_IN_EXT = 1000148006,
2394 VK_BLEND_OP_SRC_OUT_EXT = 1000148007,
2395 VK_BLEND_OP_DST_OUT_EXT = 1000148008,
2396 VK_BLEND_OP_SRC_ATOP_EXT = 1000148009,
2397 VK_BLEND_OP_DST_ATOP_EXT = 1000148010,
2398 VK_BLEND_OP_XOR_EXT = 1000148011,
2399 VK_BLEND_OP_MULTIPLY_EXT = 1000148012,
2400 VK_BLEND_OP_SCREEN_EXT = 1000148013,
2401 VK_BLEND_OP_OVERLAY_EXT = 1000148014,
2402 VK_BLEND_OP_DARKEN_EXT = 1000148015,
2403 VK_BLEND_OP_LIGHTEN_EXT = 1000148016,
2404 VK_BLEND_OP_COLORDODGE_EXT = 1000148017,
2405 VK_BLEND_OP_COLORBURN_EXT = 1000148018,
2406 VK_BLEND_OP_HARDLIGHT_EXT = 1000148019,
2407 VK_BLEND_OP_SOFTLIGHT_EXT = 1000148020,
2408 VK_BLEND_OP_DIFFERENCE_EXT = 1000148021,
2409 VK_BLEND_OP_EXCLUSION_EXT = 1000148022,
2410 VK_BLEND_OP_INVERT_EXT = 1000148023,
2411 VK_BLEND_OP_INVERT_RGB_EXT = 1000148024,
2412 VK_BLEND_OP_LINEARDODGE_EXT = 1000148025,
2413 VK_BLEND_OP_LINEARBURN_EXT = 1000148026,
2414 VK_BLEND_OP_VIVIDLIGHT_EXT = 1000148027,
2415 VK_BLEND_OP_LINEARLIGHT_EXT = 1000148028,
2416 VK_BLEND_OP_PINLIGHT_EXT = 1000148029,
2417 VK_BLEND_OP_HARDMIX_EXT = 1000148030,
2418 VK_BLEND_OP_HSL_HUE_EXT = 1000148031,
2419 VK_BLEND_OP_HSL_SATURATION_EXT = 1000148032,
2420 VK_BLEND_OP_HSL_COLOR_EXT = 1000148033,
2421 VK_BLEND_OP_HSL_LUMINOSITY_EXT = 1000148034,
2422 VK_BLEND_OP_PLUS_EXT = 1000148035,
2423 VK_BLEND_OP_PLUS_CLAMPED_EXT = 1000148036,
2424 VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = 1000148037,
2425 VK_BLEND_OP_PLUS_DARKER_EXT = 1000148038,
2426 VK_BLEND_OP_MINUS_EXT = 1000148039,
2427 VK_BLEND_OP_MINUS_CLAMPED_EXT = 1000148040,
2428 VK_BLEND_OP_CONTRAST_EXT = 1000148041,
2429 VK_BLEND_OP_INVERT_OVG_EXT = 1000148042,
2430 VK_BLEND_OP_RED_EXT = 1000148043,
2431 VK_BLEND_OP_GREEN_EXT = 1000148044,
2432 VK_BLEND_OP_BLUE_EXT = 1000148045,
2433 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
2436 typedef enum VkCompareOp {
2437 VK_COMPARE_OP_NEVER = 0,
2438 VK_COMPARE_OP_LESS = 1,
2439 VK_COMPARE_OP_EQUAL = 2,
2440 VK_COMPARE_OP_LESS_OR_EQUAL = 3,
2441 VK_COMPARE_OP_GREATER = 4,
2442 VK_COMPARE_OP_NOT_EQUAL = 5,
2443 VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
2444 VK_COMPARE_OP_ALWAYS = 7,
2445 VK_COMPARE_OP_MAX_ENUM = 0x7FFFFFFF
2448 typedef enum VkDynamicState {
2449 VK_DYNAMIC_STATE_VIEWPORT = 0,
2450 VK_DYNAMIC_STATE_SCISSOR = 1,
2451 VK_DYNAMIC_STATE_LINE_WIDTH = 2,
2452 VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
2453 VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
2454 VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
2455 VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
2456 VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
2457 VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
2458 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000,
2459 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000,
2460 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000,
2461 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000,
2462 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004,
2463 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006,
2464 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001,
2465 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000,
2466 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000,
2467 VK_DYNAMIC_STATE_CULL_MODE_EXT = 1000267000,
2468 VK_DYNAMIC_STATE_FRONT_FACE_EXT = 1000267001,
2469 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = 1000267002,
2470 VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT = 1000267003,
2471 VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT = 1000267004,
2472 VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT = 1000267005,
2473 VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT = 1000267006,
2474 VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT = 1000267007,
2475 VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT = 1000267008,
2476 VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT = 1000267009,
2477 VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT = 1000267010,
2478 VK_DYNAMIC_STATE_STENCIL_OP_EXT = 1000267011,
2479 VK_DYNAMIC_STATE_VERTEX_INPUT_EXT = 1000352000,
2480 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000,
2481 VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT = 1000377001,
2482 VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT = 1000377002,
2483 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003,
2484 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT = 1000377004,
2485 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000,
2486 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2489 typedef enum VkFrontFace {
2490 VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
2491 VK_FRONT_FACE_CLOCKWISE = 1,
2492 VK_FRONT_FACE_MAX_ENUM = 0x7FFFFFFF
2495 typedef enum VkVertexInputRate {
2496 VK_VERTEX_INPUT_RATE_VERTEX = 0,
2497 VK_VERTEX_INPUT_RATE_INSTANCE = 1,
2498 VK_VERTEX_INPUT_RATE_MAX_ENUM = 0x7FFFFFFF
2499 } VkVertexInputRate;
2501 typedef enum VkPrimitiveTopology {
2502 VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
2503 VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
2504 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
2505 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
2506 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
2507 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
2508 VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
2509 VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
2510 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
2511 VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
2512 VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10,
2513 VK_PRIMITIVE_TOPOLOGY_MAX_ENUM = 0x7FFFFFFF
2514 } VkPrimitiveTopology;
2516 typedef enum VkPolygonMode {
2517 VK_POLYGON_MODE_FILL = 0,
2518 VK_POLYGON_MODE_LINE = 1,
2519 VK_POLYGON_MODE_POINT = 2,
2520 VK_POLYGON_MODE_FILL_RECTANGLE_NV = 1000153000,
2521 VK_POLYGON_MODE_MAX_ENUM = 0x7FFFFFFF
2524 typedef enum VkStencilOp {
2525 VK_STENCIL_OP_KEEP = 0,
2526 VK_STENCIL_OP_ZERO = 1,
2527 VK_STENCIL_OP_REPLACE = 2,
2528 VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
2529 VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
2530 VK_STENCIL_OP_INVERT = 5,
2531 VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
2532 VK_STENCIL_OP_DECREMENT_AND_WRAP = 7,
2533 VK_STENCIL_OP_MAX_ENUM = 0x7FFFFFFF
2536 typedef enum VkLogicOp {
2537 VK_LOGIC_OP_CLEAR = 0,
2538 VK_LOGIC_OP_AND = 1,
2539 VK_LOGIC_OP_AND_REVERSE = 2,
2540 VK_LOGIC_OP_COPY = 3,
2541 VK_LOGIC_OP_AND_INVERTED = 4,
2542 VK_LOGIC_OP_NO_OP = 5,
2543 VK_LOGIC_OP_XOR = 6,
2545 VK_LOGIC_OP_NOR = 8,
2546 VK_LOGIC_OP_EQUIVALENT = 9,
2547 VK_LOGIC_OP_INVERT = 10,
2548 VK_LOGIC_OP_OR_REVERSE = 11,
2549 VK_LOGIC_OP_COPY_INVERTED = 12,
2550 VK_LOGIC_OP_OR_INVERTED = 13,
2551 VK_LOGIC_OP_NAND = 14,
2552 VK_LOGIC_OP_SET = 15,
2553 VK_LOGIC_OP_MAX_ENUM = 0x7FFFFFFF
2556 typedef enum VkBorderColor {
2557 VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
2558 VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
2559 VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
2560 VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
2561 VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
2562 VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5,
2563 VK_BORDER_COLOR_FLOAT_CUSTOM_EXT = 1000287003,
2564 VK_BORDER_COLOR_INT_CUSTOM_EXT = 1000287004,
2565 VK_BORDER_COLOR_MAX_ENUM = 0x7FFFFFFF
2568 typedef enum VkFilter {
2569 VK_FILTER_NEAREST = 0,
2570 VK_FILTER_LINEAR = 1,
2571 VK_FILTER_CUBIC_IMG = 1000015000,
2572 VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
2573 VK_FILTER_MAX_ENUM = 0x7FFFFFFF
2576 typedef enum VkSamplerAddressMode {
2577 VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
2578 VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
2579 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
2580 VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3,
2581 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE = 4,
2582 VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR = VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
2583 VK_SAMPLER_ADDRESS_MODE_MAX_ENUM = 0x7FFFFFFF
2584 } VkSamplerAddressMode;
2586 typedef enum VkSamplerMipmapMode {
2587 VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
2588 VK_SAMPLER_MIPMAP_MODE_LINEAR = 1,
2589 VK_SAMPLER_MIPMAP_MODE_MAX_ENUM = 0x7FFFFFFF
2590 } VkSamplerMipmapMode;
2592 typedef enum VkDescriptorType {
2593 VK_DESCRIPTOR_TYPE_SAMPLER = 0,
2594 VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
2595 VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
2596 VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
2597 VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
2598 VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
2599 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
2600 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
2601 VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
2602 VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
2603 VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10,
2604 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = 1000138000,
2605 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
2606 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
2607 VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
2608 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
2611 typedef enum VkAttachmentLoadOp {
2612 VK_ATTACHMENT_LOAD_OP_LOAD = 0,
2613 VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
2614 VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2,
2615 VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000,
2616 VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF
2617 } VkAttachmentLoadOp;
2619 typedef enum VkAttachmentStoreOp {
2620 VK_ATTACHMENT_STORE_OP_STORE = 0,
2621 VK_ATTACHMENT_STORE_OP_DONT_CARE = 1,
2622 VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000,
2623 VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE_EXT,
2624 VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
2625 } VkAttachmentStoreOp;
2627 typedef enum VkPipelineBindPoint {
2628 VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
2629 VK_PIPELINE_BIND_POINT_COMPUTE = 1,
2630 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000,
2631 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003,
2632 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR,
2633 VK_PIPELINE_BIND_POINT_MAX_ENUM = 0x7FFFFFFF
2634 } VkPipelineBindPoint;
2636 typedef enum VkCommandBufferLevel {
2637 VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
2638 VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1,
2639 VK_COMMAND_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
2640 } VkCommandBufferLevel;
2642 typedef enum VkIndexType {
2643 VK_INDEX_TYPE_UINT16 = 0,
2644 VK_INDEX_TYPE_UINT32 = 1,
2645 VK_INDEX_TYPE_NONE_KHR = 1000165000,
2646 VK_INDEX_TYPE_UINT8_EXT = 1000265000,
2647 VK_INDEX_TYPE_NONE_NV = VK_INDEX_TYPE_NONE_KHR,
2648 VK_INDEX_TYPE_MAX_ENUM = 0x7FFFFFFF
2651 typedef enum VkSubpassContents {
2652 VK_SUBPASS_CONTENTS_INLINE = 0,
2653 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1,
2654 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF
2655 } VkSubpassContents;
2657 typedef enum VkAccessFlagBits {
2658 VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 0x00000001,
2659 VK_ACCESS_INDEX_READ_BIT = 0x00000002,
2660 VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 0x00000004,
2661 VK_ACCESS_UNIFORM_READ_BIT = 0x00000008,
2662 VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 0x00000010,
2663 VK_ACCESS_SHADER_READ_BIT = 0x00000020,
2664 VK_ACCESS_SHADER_WRITE_BIT = 0x00000040,
2665 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 0x00000080,
2666 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 0x00000100,
2667 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 0x00000200,
2668 VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 0x00000400,
2669 VK_ACCESS_TRANSFER_READ_BIT = 0x00000800,
2670 VK_ACCESS_TRANSFER_WRITE_BIT = 0x00001000,
2671 VK_ACCESS_HOST_READ_BIT = 0x00002000,
2672 VK_ACCESS_HOST_WRITE_BIT = 0x00004000,
2673 VK_ACCESS_MEMORY_READ_BIT = 0x00008000,
2674 VK_ACCESS_MEMORY_WRITE_BIT = 0x00010000,
2675 VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000,
2676 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000,
2677 VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000,
2678 VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000,
2679 VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000,
2680 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000,
2681 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000,
2682 VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000,
2683 VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000,
2684 VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000,
2685 VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000,
2686 VK_ACCESS_NONE_KHR = 0,
2687 VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR,
2688 VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
2689 VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV = VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
2690 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2692 typedef VkFlags VkAccessFlags;
2694 typedef enum VkImageAspectFlagBits {
2695 VK_IMAGE_ASPECT_COLOR_BIT = 0x00000001,
2696 VK_IMAGE_ASPECT_DEPTH_BIT = 0x00000002,
2697 VK_IMAGE_ASPECT_STENCIL_BIT = 0x00000004,
2698 VK_IMAGE_ASPECT_METADATA_BIT = 0x00000008,
2699 VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010,
2700 VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020,
2701 VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040,
2702 VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080,
2703 VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100,
2704 VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200,
2705 VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400,
2706 VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT,
2707 VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT,
2708 VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT,
2709 VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2710 } VkImageAspectFlagBits;
2711 typedef VkFlags VkImageAspectFlags;
2713 typedef enum VkFormatFeatureFlagBits {
2714 VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 0x00000001,
2715 VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 0x00000002,
2716 VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 0x00000004,
2717 VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000008,
2718 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 0x00000010,
2719 VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 0x00000020,
2720 VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 0x00000040,
2721 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 0x00000080,
2722 VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 0x00000100,
2723 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000200,
2724 VK_FORMAT_FEATURE_BLIT_SRC_BIT = 0x00000400,
2725 VK_FORMAT_FEATURE_BLIT_DST_BIT = 0x00000800,
2726 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 0x00001000,
2727 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 0x00004000,
2728 VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 0x00008000,
2729 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 0x00020000,
2730 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 0x00040000,
2731 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 0x00080000,
2732 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 0x00100000,
2733 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 0x00200000,
2734 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
2735 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
2736 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
2737 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
2738 #ifdef VK_ENABLE_BETA_EXTENSIONS
2739 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
2741 #ifdef VK_ENABLE_BETA_EXTENSIONS
2742 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
2744 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
2745 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
2746 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
2747 #ifdef VK_ENABLE_BETA_EXTENSIONS
2748 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2750 #ifdef VK_ENABLE_BETA_EXTENSIONS
2751 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2753 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
2754 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
2755 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
2756 VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT,
2757 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT,
2758 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT,
2759 VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT,
2760 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,
2761 VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
2762 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
2763 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
2764 VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2765 } VkFormatFeatureFlagBits;
2766 typedef VkFlags VkFormatFeatureFlags;
2768 typedef enum VkImageCreateFlagBits {
2769 VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2770 VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2771 VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2772 VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,
2773 VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,
2774 VK_IMAGE_CREATE_ALIAS_BIT = 0x00000400,
2775 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 0x00000040,
2776 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 0x00000020,
2777 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 0x00000080,
2778 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 0x00000100,
2779 VK_IMAGE_CREATE_PROTECTED_BIT = 0x00000800,
2780 VK_IMAGE_CREATE_DISJOINT_BIT = 0x00000200,
2781 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
2782 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
2783 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
2784 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
2785 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
2786 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
2787 VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT,
2788 VK_IMAGE_CREATE_DISJOINT_BIT_KHR = VK_IMAGE_CREATE_DISJOINT_BIT,
2789 VK_IMAGE_CREATE_ALIAS_BIT_KHR = VK_IMAGE_CREATE_ALIAS_BIT,
2790 VK_IMAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2791 } VkImageCreateFlagBits;
2792 typedef VkFlags VkImageCreateFlags;
2794 typedef enum VkSampleCountFlagBits {
2795 VK_SAMPLE_COUNT_1_BIT = 0x00000001,
2796 VK_SAMPLE_COUNT_2_BIT = 0x00000002,
2797 VK_SAMPLE_COUNT_4_BIT = 0x00000004,
2798 VK_SAMPLE_COUNT_8_BIT = 0x00000008,
2799 VK_SAMPLE_COUNT_16_BIT = 0x00000010,
2800 VK_SAMPLE_COUNT_32_BIT = 0x00000020,
2801 VK_SAMPLE_COUNT_64_BIT = 0x00000040,
2802 VK_SAMPLE_COUNT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2803 } VkSampleCountFlagBits;
2804 typedef VkFlags VkSampleCountFlags;
2806 typedef enum VkImageUsageFlagBits {
2807 VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2808 VK_IMAGE_USAGE_TRANSFER_DST_BIT = 0x00000002,
2809 VK_IMAGE_USAGE_SAMPLED_BIT = 0x00000004,
2810 VK_IMAGE_USAGE_STORAGE_BIT = 0x00000008,
2811 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 0x00000010,
2812 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020,
2813 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040,
2814 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080,
2815 #ifdef VK_ENABLE_BETA_EXTENSIONS
2816 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400,
2818 #ifdef VK_ENABLE_BETA_EXTENSIONS
2819 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800,
2821 #ifdef VK_ENABLE_BETA_EXTENSIONS
2822 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000,
2824 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200,
2825 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100,
2826 #ifdef VK_ENABLE_BETA_EXTENSIONS
2827 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2829 #ifdef VK_ENABLE_BETA_EXTENSIONS
2830 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2832 #ifdef VK_ENABLE_BETA_EXTENSIONS
2833 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2835 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
2836 VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2837 VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2838 } VkImageUsageFlagBits;
2839 typedef VkFlags VkImageUsageFlags;
2840 typedef VkFlags VkInstanceCreateFlags;
2842 typedef enum VkMemoryHeapFlagBits {
2843 VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 0x00000001,
2844 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 0x00000002,
2845 VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT,
2846 VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2847 } VkMemoryHeapFlagBits;
2848 typedef VkFlags VkMemoryHeapFlags;
2850 typedef enum VkMemoryPropertyFlagBits {
2851 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 0x00000001,
2852 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 0x00000002,
2853 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 0x00000004,
2854 VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 0x00000008,
2855 VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 0x00000010,
2856 VK_MEMORY_PROPERTY_PROTECTED_BIT = 0x00000020,
2857 VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD = 0x00000040,
2858 VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD = 0x00000080,
2859 VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV = 0x00000100,
2860 VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2861 } VkMemoryPropertyFlagBits;
2862 typedef VkFlags VkMemoryPropertyFlags;
2864 typedef enum VkQueueFlagBits {
2865 VK_QUEUE_GRAPHICS_BIT = 0x00000001,
2866 VK_QUEUE_COMPUTE_BIT = 0x00000002,
2867 VK_QUEUE_TRANSFER_BIT = 0x00000004,
2868 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008,
2869 VK_QUEUE_PROTECTED_BIT = 0x00000010,
2870 #ifdef VK_ENABLE_BETA_EXTENSIONS
2871 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020,
2873 #ifdef VK_ENABLE_BETA_EXTENSIONS
2874 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2876 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2878 typedef VkFlags VkQueueFlags;
2879 typedef VkFlags VkDeviceCreateFlags;
2881 typedef enum VkDeviceQueueCreateFlagBits {
2882 VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 0x00000001,
2883 VK_DEVICE_QUEUE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2884 } VkDeviceQueueCreateFlagBits;
2885 typedef VkFlags VkDeviceQueueCreateFlags;
2887 typedef enum VkPipelineStageFlagBits {
2888 VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 0x00000001,
2889 VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 0x00000002,
2890 VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 0x00000004,
2891 VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 0x00000008,
2892 VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010,
2893 VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020,
2894 VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 0x00000040,
2895 VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 0x00000080,
2896 VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 0x00000100,
2897 VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 0x00000200,
2898 VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400,
2899 VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 0x00000800,
2900 VK_PIPELINE_STAGE_TRANSFER_BIT = 0x00001000,
2901 VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 0x00002000,
2902 VK_PIPELINE_STAGE_HOST_BIT = 0x00004000,
2903 VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 0x00008000,
2904 VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 0x00010000,
2905 VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000,
2906 VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000,
2907 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000,
2908 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = 0x00200000,
2909 VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV = 0x00080000,
2910 VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV = 0x00100000,
2911 VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000,
2912 VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000,
2913 VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = 0x00020000,
2914 VK_PIPELINE_STAGE_NONE_KHR = 0,
2915 VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
2916 VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
2917 VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV = VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,
2918 VK_PIPELINE_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2919 } VkPipelineStageFlagBits;
2920 typedef VkFlags VkPipelineStageFlags;
2921 typedef VkFlags VkMemoryMapFlags;
2923 typedef enum VkSparseMemoryBindFlagBits {
2924 VK_SPARSE_MEMORY_BIND_METADATA_BIT = 0x00000001,
2925 VK_SPARSE_MEMORY_BIND_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2926 } VkSparseMemoryBindFlagBits;
2927 typedef VkFlags VkSparseMemoryBindFlags;
2929 typedef enum VkSparseImageFormatFlagBits {
2930 VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001,
2931 VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002,
2932 VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004,
2933 VK_SPARSE_IMAGE_FORMAT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2934 } VkSparseImageFormatFlagBits;
2935 typedef VkFlags VkSparseImageFormatFlags;
2937 typedef enum VkFenceCreateFlagBits {
2938 VK_FENCE_CREATE_SIGNALED_BIT = 0x00000001,
2939 VK_FENCE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2940 } VkFenceCreateFlagBits;
2941 typedef VkFlags VkFenceCreateFlags;
2942 typedef VkFlags VkSemaphoreCreateFlags;
2944 typedef enum VkEventCreateFlagBits {
2945 VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR = 0x00000001,
2946 VK_EVENT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2947 } VkEventCreateFlagBits;
2948 typedef VkFlags VkEventCreateFlags;
2950 typedef enum VkQueryPipelineStatisticFlagBits {
2951 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 0x00000001,
2952 VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 0x00000002,
2953 VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 0x00000004,
2954 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 0x00000008,
2955 VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 0x00000010,
2956 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 0x00000020,
2957 VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 0x00000040,
2958 VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 0x00000080,
2959 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 0x00000100,
2960 VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 0x00000200,
2961 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400,
2962 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2963 } VkQueryPipelineStatisticFlagBits;
2964 typedef VkFlags VkQueryPipelineStatisticFlags;
2965 typedef VkFlags VkQueryPoolCreateFlags;
2967 typedef enum VkQueryResultFlagBits {
2968 VK_QUERY_RESULT_64_BIT = 0x00000001,
2969 VK_QUERY_RESULT_WAIT_BIT = 0x00000002,
2970 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004,
2971 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008,
2972 #ifdef VK_ENABLE_BETA_EXTENSIONS
2973 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010,
2975 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2976 } VkQueryResultFlagBits;
2977 typedef VkFlags VkQueryResultFlags;
2979 typedef enum VkBufferCreateFlagBits {
2980 VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 0x00000001,
2981 VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,
2982 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
2983 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
2984 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
2985 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2986 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
2987 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2988 } VkBufferCreateFlagBits;
2989 typedef VkFlags VkBufferCreateFlags;
2991 typedef enum VkBufferUsageFlagBits {
2992 VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 0x00000001,
2993 VK_BUFFER_USAGE_TRANSFER_DST_BIT = 0x00000002,
2994 VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 0x00000004,
2995 VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 0x00000008,
2996 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 0x00000010,
2997 VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 0x00000020,
2998 VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 0x00000040,
2999 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080,
3000 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100,
3001 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000,
3002 #ifdef VK_ENABLE_BETA_EXTENSIONS
3003 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000,
3005 #ifdef VK_ENABLE_BETA_EXTENSIONS
3006 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000,
3008 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800,
3009 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000,
3010 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200,
3011 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000,
3012 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000,
3013 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400,
3014 #ifdef VK_ENABLE_BETA_EXTENSIONS
3015 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
3017 #ifdef VK_ENABLE_BETA_EXTENSIONS
3018 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
3020 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
3021 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3022 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT,
3023 VK_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3024 } VkBufferUsageFlagBits;
3025 typedef VkFlags VkBufferUsageFlags;
3026 typedef VkFlags VkBufferViewCreateFlags;
3028 typedef enum VkImageViewCreateFlagBits {
3029 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
3030 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
3031 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3032 } VkImageViewCreateFlagBits;
3033 typedef VkFlags VkImageViewCreateFlags;
3035 typedef enum VkShaderModuleCreateFlagBits {
3036 VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3037 } VkShaderModuleCreateFlagBits;
3038 typedef VkFlags VkShaderModuleCreateFlags;
3040 typedef enum VkPipelineCacheCreateFlagBits {
3041 VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = 0x00000001,
3042 VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3043 } VkPipelineCacheCreateFlagBits;
3044 typedef VkFlags VkPipelineCacheCreateFlags;
3046 typedef enum VkColorComponentFlagBits {
3047 VK_COLOR_COMPONENT_R_BIT = 0x00000001,
3048 VK_COLOR_COMPONENT_G_BIT = 0x00000002,
3049 VK_COLOR_COMPONENT_B_BIT = 0x00000004,
3050 VK_COLOR_COMPONENT_A_BIT = 0x00000008,
3051 VK_COLOR_COMPONENT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3052 } VkColorComponentFlagBits;
3053 typedef VkFlags VkColorComponentFlags;
3055 typedef enum VkPipelineCreateFlagBits {
3056 VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,
3057 VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,
3058 VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,
3059 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008,
3060 VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010,
3061 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000,
3062 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000,
3063 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000,
3064 VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000,
3065 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000,
3066 VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000,
3067 VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000,
3068 VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = 0x00000020,
3069 VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = 0x00000040,
3070 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
3071 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
3072 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
3073 VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT = 0x00000100,
3074 VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200,
3075 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
3076 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
3077 VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT,
3078 VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE,
3079 VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3080 } VkPipelineCreateFlagBits;
3081 typedef VkFlags VkPipelineCreateFlags;
3083 typedef enum VkPipelineShaderStageCreateFlagBits {
3084 VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000001,
3085 VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000002,
3086 VK_PIPELINE_SHADER_STAGE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3087 } VkPipelineShaderStageCreateFlagBits;
3088 typedef VkFlags VkPipelineShaderStageCreateFlags;
3090 typedef enum VkShaderStageFlagBits {
3091 VK_SHADER_STAGE_VERTEX_BIT = 0x00000001,
3092 VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002,
3093 VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004,
3094 VK_SHADER_STAGE_GEOMETRY_BIT = 0x00000008,
3095 VK_SHADER_STAGE_FRAGMENT_BIT = 0x00000010,
3096 VK_SHADER_STAGE_COMPUTE_BIT = 0x00000020,
3097 VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
3098 VK_SHADER_STAGE_ALL = 0x7FFFFFFF,
3099 VK_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100,
3100 VK_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200,
3101 VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400,
3102 VK_SHADER_STAGE_MISS_BIT_KHR = 0x00000800,
3103 VK_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000,
3104 VK_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000,
3105 VK_SHADER_STAGE_TASK_BIT_NV = 0x00000040,
3106 VK_SHADER_STAGE_MESH_BIT_NV = 0x00000080,
3107 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000,
3108 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR,
3109 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR,
3110 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR,
3111 VK_SHADER_STAGE_MISS_BIT_NV = VK_SHADER_STAGE_MISS_BIT_KHR,
3112 VK_SHADER_STAGE_INTERSECTION_BIT_NV = VK_SHADER_STAGE_INTERSECTION_BIT_KHR,
3113 VK_SHADER_STAGE_CALLABLE_BIT_NV = VK_SHADER_STAGE_CALLABLE_BIT_KHR,
3114 VK_SHADER_STAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3115 } VkShaderStageFlagBits;
3117 typedef enum VkCullModeFlagBits {
3118 VK_CULL_MODE_NONE = 0,
3119 VK_CULL_MODE_FRONT_BIT = 0x00000001,
3120 VK_CULL_MODE_BACK_BIT = 0x00000002,
3121 VK_CULL_MODE_FRONT_AND_BACK = 0x00000003,
3122 VK_CULL_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3123 } VkCullModeFlagBits;
3124 typedef VkFlags VkCullModeFlags;
3125 typedef VkFlags VkPipelineVertexInputStateCreateFlags;
3126 typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
3127 typedef VkFlags VkPipelineTessellationStateCreateFlags;
3128 typedef VkFlags VkPipelineViewportStateCreateFlags;
3129 typedef VkFlags VkPipelineRasterizationStateCreateFlags;
3130 typedef VkFlags VkPipelineMultisampleStateCreateFlags;
3131 typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
3132 typedef VkFlags VkPipelineColorBlendStateCreateFlags;
3133 typedef VkFlags VkPipelineDynamicStateCreateFlags;
3134 typedef VkFlags VkPipelineLayoutCreateFlags;
3135 typedef VkFlags VkShaderStageFlags;
3137 typedef enum VkSamplerCreateFlagBits {
3138 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
3139 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
3140 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3141 } VkSamplerCreateFlagBits;
3142 typedef VkFlags VkSamplerCreateFlags;
3144 typedef enum VkDescriptorPoolCreateFlagBits {
3145 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
3146 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002,
3147 VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004,
3148 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT,
3149 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3150 } VkDescriptorPoolCreateFlagBits;
3151 typedef VkFlags VkDescriptorPoolCreateFlags;
3152 typedef VkFlags VkDescriptorPoolResetFlags;
3154 typedef enum VkDescriptorSetLayoutCreateFlagBits {
3155 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
3156 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
3157 VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004,
3158 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
3159 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3160 } VkDescriptorSetLayoutCreateFlagBits;
3161 typedef VkFlags VkDescriptorSetLayoutCreateFlags;
3163 typedef enum VkAttachmentDescriptionFlagBits {
3164 VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 0x00000001,
3165 VK_ATTACHMENT_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3166 } VkAttachmentDescriptionFlagBits;
3167 typedef VkFlags VkAttachmentDescriptionFlags;
3169 typedef enum VkDependencyFlagBits {
3170 VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
3171 VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
3172 VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
3173 VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
3174 VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
3175 VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3176 } VkDependencyFlagBits;
3177 typedef VkFlags VkDependencyFlags;
3179 typedef enum VkFramebufferCreateFlagBits {
3180 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT = 0x00000001,
3181 VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR = VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT,
3182 VK_FRAMEBUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3183 } VkFramebufferCreateFlagBits;
3184 typedef VkFlags VkFramebufferCreateFlags;
3186 typedef enum VkRenderPassCreateFlagBits {
3187 VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002,
3188 VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3189 } VkRenderPassCreateFlagBits;
3190 typedef VkFlags VkRenderPassCreateFlags;
3192 typedef enum VkSubpassDescriptionFlagBits {
3193 VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX = 0x00000001,
3194 VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002,
3195 VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004,
3196 VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008,
3197 VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3198 } VkSubpassDescriptionFlagBits;
3199 typedef VkFlags VkSubpassDescriptionFlags;
3201 typedef enum VkCommandPoolCreateFlagBits {
3202 VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
3203 VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
3204 VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004,
3205 VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3206 } VkCommandPoolCreateFlagBits;
3207 typedef VkFlags VkCommandPoolCreateFlags;
3209 typedef enum VkCommandPoolResetFlagBits {
3210 VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3211 VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3212 } VkCommandPoolResetFlagBits;
3213 typedef VkFlags VkCommandPoolResetFlags;
3215 typedef enum VkCommandBufferUsageFlagBits {
3216 VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 0x00000001,
3217 VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 0x00000002,
3218 VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 0x00000004,
3219 VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3220 } VkCommandBufferUsageFlagBits;
3221 typedef VkFlags VkCommandBufferUsageFlags;
3223 typedef enum VkQueryControlFlagBits {
3224 VK_QUERY_CONTROL_PRECISE_BIT = 0x00000001,
3225 VK_QUERY_CONTROL_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3226 } VkQueryControlFlagBits;
3227 typedef VkFlags VkQueryControlFlags;
3229 typedef enum VkCommandBufferResetFlagBits {
3230 VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 0x00000001,
3231 VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3232 } VkCommandBufferResetFlagBits;
3233 typedef VkFlags VkCommandBufferResetFlags;
3235 typedef enum VkStencilFaceFlagBits {
3236 VK_STENCIL_FACE_FRONT_BIT = 0x00000001,
3237 VK_STENCIL_FACE_BACK_BIT = 0x00000002,
3238 VK_STENCIL_FACE_FRONT_AND_BACK = 0x00000003,
3239 VK_STENCIL_FRONT_AND_BACK = VK_STENCIL_FACE_FRONT_AND_BACK,
3240 VK_STENCIL_FACE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
3241 } VkStencilFaceFlagBits;
3242 typedef VkFlags VkStencilFaceFlags;
3243 typedef struct VkExtent2D {
3248 typedef struct VkExtent3D {
3254 typedef struct VkOffset2D {
3259 typedef struct VkOffset3D {
3265 typedef struct VkRect2D {
3270 typedef struct VkBaseInStructure {
3271 VkStructureType sType;
3272 const struct VkBaseInStructure* pNext;
3273 } VkBaseInStructure;
3275 typedef struct VkBaseOutStructure {
3276 VkStructureType sType;
3277 struct VkBaseOutStructure* pNext;
3278 } VkBaseOutStructure;
3280 typedef struct VkBufferMemoryBarrier {
3281 VkStructureType sType;
3283 VkAccessFlags srcAccessMask;
3284 VkAccessFlags dstAccessMask;
3285 deUint32 srcQueueFamilyIndex;
3286 deUint32 dstQueueFamilyIndex;
3288 VkDeviceSize offset;
3290 } VkBufferMemoryBarrier;
3292 typedef struct VkDispatchIndirectCommand {
3296 } VkDispatchIndirectCommand;
3298 typedef struct VkDrawIndexedIndirectCommand {
3299 deUint32 indexCount;
3300 deUint32 instanceCount;
3301 deUint32 firstIndex;
3302 deInt32 vertexOffset;
3303 deUint32 firstInstance;
3304 } VkDrawIndexedIndirectCommand;
3306 typedef struct VkDrawIndirectCommand {
3307 deUint32 vertexCount;
3308 deUint32 instanceCount;
3309 deUint32 firstVertex;
3310 deUint32 firstInstance;
3311 } VkDrawIndirectCommand;
3313 typedef struct VkImageSubresourceRange {
3314 VkImageAspectFlags aspectMask;
3315 deUint32 baseMipLevel;
3316 deUint32 levelCount;
3317 deUint32 baseArrayLayer;
3318 deUint32 layerCount;
3319 } VkImageSubresourceRange;
3321 typedef struct VkImageMemoryBarrier {
3322 VkStructureType sType;
3324 VkAccessFlags srcAccessMask;
3325 VkAccessFlags dstAccessMask;
3326 VkImageLayout oldLayout;
3327 VkImageLayout newLayout;
3328 deUint32 srcQueueFamilyIndex;
3329 deUint32 dstQueueFamilyIndex;
3331 VkImageSubresourceRange subresourceRange;
3332 } VkImageMemoryBarrier;
3334 typedef struct VkMemoryBarrier {
3335 VkStructureType sType;
3337 VkAccessFlags srcAccessMask;
3338 VkAccessFlags dstAccessMask;
3341 typedef struct VkPipelineCacheHeaderVersionOne {
3342 deUint32 headerSize;
3343 VkPipelineCacheHeaderVersion headerVersion;
3346 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3347 } VkPipelineCacheHeaderVersionOne;
3349 typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
3352 deUintptr alignment,
3353 VkSystemAllocationScope allocationScope);
3355 typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
3359 typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
3362 VkInternalAllocationType allocationType,
3363 VkSystemAllocationScope allocationScope);
3365 typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
3368 VkInternalAllocationType allocationType,
3369 VkSystemAllocationScope allocationScope);
3371 typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
3375 deUintptr alignment,
3376 VkSystemAllocationScope allocationScope);
3378 typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
3379 typedef struct VkAllocationCallbacks {
3381 PFN_vkAllocationFunction pfnAllocation;
3382 PFN_vkReallocationFunction pfnReallocation;
3383 PFN_vkFreeFunction pfnFree;
3384 PFN_vkInternalAllocationNotification pfnInternalAllocation;
3385 PFN_vkInternalFreeNotification pfnInternalFree;
3386 } VkAllocationCallbacks;
3388 typedef struct VkApplicationInfo {
3389 VkStructureType sType;
3391 const char* pApplicationName;
3392 deUint32 applicationVersion;
3393 const char* pEngineName;
3394 deUint32 engineVersion;
3395 deUint32 apiVersion;
3396 } VkApplicationInfo;
3398 typedef struct VkFormatProperties {
3399 VkFormatFeatureFlags linearTilingFeatures;
3400 VkFormatFeatureFlags optimalTilingFeatures;
3401 VkFormatFeatureFlags bufferFeatures;
3402 } VkFormatProperties;
3404 typedef struct VkImageFormatProperties {
3405 VkExtent3D maxExtent;
3406 deUint32 maxMipLevels;
3407 deUint32 maxArrayLayers;
3408 VkSampleCountFlags sampleCounts;
3409 VkDeviceSize maxResourceSize;
3410 } VkImageFormatProperties;
3412 typedef struct VkInstanceCreateInfo {
3413 VkStructureType sType;
3415 VkInstanceCreateFlags flags;
3416 const VkApplicationInfo* pApplicationInfo;
3417 deUint32 enabledLayerCount;
3418 const char* const* ppEnabledLayerNames;
3419 deUint32 enabledExtensionCount;
3420 const char* const* ppEnabledExtensionNames;
3421 } VkInstanceCreateInfo;
3423 typedef struct VkMemoryHeap {
3425 VkMemoryHeapFlags flags;
3428 typedef struct VkMemoryType {
3429 VkMemoryPropertyFlags propertyFlags;
3433 typedef struct VkPhysicalDeviceFeatures {
3434 VkBool32 robustBufferAccess;
3435 VkBool32 fullDrawIndexUint32;
3436 VkBool32 imageCubeArray;
3437 VkBool32 independentBlend;
3438 VkBool32 geometryShader;
3439 VkBool32 tessellationShader;
3440 VkBool32 sampleRateShading;
3441 VkBool32 dualSrcBlend;
3443 VkBool32 multiDrawIndirect;
3444 VkBool32 drawIndirectFirstInstance;
3445 VkBool32 depthClamp;
3446 VkBool32 depthBiasClamp;
3447 VkBool32 fillModeNonSolid;
3448 VkBool32 depthBounds;
3450 VkBool32 largePoints;
3451 VkBool32 alphaToOne;
3452 VkBool32 multiViewport;
3453 VkBool32 samplerAnisotropy;
3454 VkBool32 textureCompressionETC2;
3455 VkBool32 textureCompressionASTC_LDR;
3456 VkBool32 textureCompressionBC;
3457 VkBool32 occlusionQueryPrecise;
3458 VkBool32 pipelineStatisticsQuery;
3459 VkBool32 vertexPipelineStoresAndAtomics;
3460 VkBool32 fragmentStoresAndAtomics;
3461 VkBool32 shaderTessellationAndGeometryPointSize;
3462 VkBool32 shaderImageGatherExtended;
3463 VkBool32 shaderStorageImageExtendedFormats;
3464 VkBool32 shaderStorageImageMultisample;
3465 VkBool32 shaderStorageImageReadWithoutFormat;
3466 VkBool32 shaderStorageImageWriteWithoutFormat;
3467 VkBool32 shaderUniformBufferArrayDynamicIndexing;
3468 VkBool32 shaderSampledImageArrayDynamicIndexing;
3469 VkBool32 shaderStorageBufferArrayDynamicIndexing;
3470 VkBool32 shaderStorageImageArrayDynamicIndexing;
3471 VkBool32 shaderClipDistance;
3472 VkBool32 shaderCullDistance;
3473 VkBool32 shaderFloat64;
3474 VkBool32 shaderInt64;
3475 VkBool32 shaderInt16;
3476 VkBool32 shaderResourceResidency;
3477 VkBool32 shaderResourceMinLod;
3478 VkBool32 sparseBinding;
3479 VkBool32 sparseResidencyBuffer;
3480 VkBool32 sparseResidencyImage2D;
3481 VkBool32 sparseResidencyImage3D;
3482 VkBool32 sparseResidency2Samples;
3483 VkBool32 sparseResidency4Samples;
3484 VkBool32 sparseResidency8Samples;
3485 VkBool32 sparseResidency16Samples;
3486 VkBool32 sparseResidencyAliased;
3487 VkBool32 variableMultisampleRate;
3488 VkBool32 inheritedQueries;
3489 } VkPhysicalDeviceFeatures;
3491 typedef struct VkPhysicalDeviceLimits {
3492 deUint32 maxImageDimension1D;
3493 deUint32 maxImageDimension2D;
3494 deUint32 maxImageDimension3D;
3495 deUint32 maxImageDimensionCube;
3496 deUint32 maxImageArrayLayers;
3497 deUint32 maxTexelBufferElements;
3498 deUint32 maxUniformBufferRange;
3499 deUint32 maxStorageBufferRange;
3500 deUint32 maxPushConstantsSize;
3501 deUint32 maxMemoryAllocationCount;
3502 deUint32 maxSamplerAllocationCount;
3503 VkDeviceSize bufferImageGranularity;
3504 VkDeviceSize sparseAddressSpaceSize;
3505 deUint32 maxBoundDescriptorSets;
3506 deUint32 maxPerStageDescriptorSamplers;
3507 deUint32 maxPerStageDescriptorUniformBuffers;
3508 deUint32 maxPerStageDescriptorStorageBuffers;
3509 deUint32 maxPerStageDescriptorSampledImages;
3510 deUint32 maxPerStageDescriptorStorageImages;
3511 deUint32 maxPerStageDescriptorInputAttachments;
3512 deUint32 maxPerStageResources;
3513 deUint32 maxDescriptorSetSamplers;
3514 deUint32 maxDescriptorSetUniformBuffers;
3515 deUint32 maxDescriptorSetUniformBuffersDynamic;
3516 deUint32 maxDescriptorSetStorageBuffers;
3517 deUint32 maxDescriptorSetStorageBuffersDynamic;
3518 deUint32 maxDescriptorSetSampledImages;
3519 deUint32 maxDescriptorSetStorageImages;
3520 deUint32 maxDescriptorSetInputAttachments;
3521 deUint32 maxVertexInputAttributes;
3522 deUint32 maxVertexInputBindings;
3523 deUint32 maxVertexInputAttributeOffset;
3524 deUint32 maxVertexInputBindingStride;
3525 deUint32 maxVertexOutputComponents;
3526 deUint32 maxTessellationGenerationLevel;
3527 deUint32 maxTessellationPatchSize;
3528 deUint32 maxTessellationControlPerVertexInputComponents;
3529 deUint32 maxTessellationControlPerVertexOutputComponents;
3530 deUint32 maxTessellationControlPerPatchOutputComponents;
3531 deUint32 maxTessellationControlTotalOutputComponents;
3532 deUint32 maxTessellationEvaluationInputComponents;
3533 deUint32 maxTessellationEvaluationOutputComponents;
3534 deUint32 maxGeometryShaderInvocations;
3535 deUint32 maxGeometryInputComponents;
3536 deUint32 maxGeometryOutputComponents;
3537 deUint32 maxGeometryOutputVertices;
3538 deUint32 maxGeometryTotalOutputComponents;
3539 deUint32 maxFragmentInputComponents;
3540 deUint32 maxFragmentOutputAttachments;
3541 deUint32 maxFragmentDualSrcAttachments;
3542 deUint32 maxFragmentCombinedOutputResources;
3543 deUint32 maxComputeSharedMemorySize;
3544 deUint32 maxComputeWorkGroupCount[3];
3545 deUint32 maxComputeWorkGroupInvocations;
3546 deUint32 maxComputeWorkGroupSize[3];
3547 deUint32 subPixelPrecisionBits;
3548 deUint32 subTexelPrecisionBits;
3549 deUint32 mipmapPrecisionBits;
3550 deUint32 maxDrawIndexedIndexValue;
3551 deUint32 maxDrawIndirectCount;
3552 float maxSamplerLodBias;
3553 float maxSamplerAnisotropy;
3554 deUint32 maxViewports;
3555 deUint32 maxViewportDimensions[2];
3556 float viewportBoundsRange[2];
3557 deUint32 viewportSubPixelBits;
3558 deUintptr minMemoryMapAlignment;
3559 VkDeviceSize minTexelBufferOffsetAlignment;
3560 VkDeviceSize minUniformBufferOffsetAlignment;
3561 VkDeviceSize minStorageBufferOffsetAlignment;
3562 deInt32 minTexelOffset;
3563 deUint32 maxTexelOffset;
3564 deInt32 minTexelGatherOffset;
3565 deUint32 maxTexelGatherOffset;
3566 float minInterpolationOffset;
3567 float maxInterpolationOffset;
3568 deUint32 subPixelInterpolationOffsetBits;
3569 deUint32 maxFramebufferWidth;
3570 deUint32 maxFramebufferHeight;
3571 deUint32 maxFramebufferLayers;
3572 VkSampleCountFlags framebufferColorSampleCounts;
3573 VkSampleCountFlags framebufferDepthSampleCounts;
3574 VkSampleCountFlags framebufferStencilSampleCounts;
3575 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
3576 deUint32 maxColorAttachments;
3577 VkSampleCountFlags sampledImageColorSampleCounts;
3578 VkSampleCountFlags sampledImageIntegerSampleCounts;
3579 VkSampleCountFlags sampledImageDepthSampleCounts;
3580 VkSampleCountFlags sampledImageStencilSampleCounts;
3581 VkSampleCountFlags storageImageSampleCounts;
3582 deUint32 maxSampleMaskWords;
3583 VkBool32 timestampComputeAndGraphics;
3584 float timestampPeriod;
3585 deUint32 maxClipDistances;
3586 deUint32 maxCullDistances;
3587 deUint32 maxCombinedClipAndCullDistances;
3588 deUint32 discreteQueuePriorities;
3589 float pointSizeRange[2];
3590 float lineWidthRange[2];
3591 float pointSizeGranularity;
3592 float lineWidthGranularity;
3593 VkBool32 strictLines;
3594 VkBool32 standardSampleLocations;
3595 VkDeviceSize optimalBufferCopyOffsetAlignment;
3596 VkDeviceSize optimalBufferCopyRowPitchAlignment;
3597 VkDeviceSize nonCoherentAtomSize;
3598 } VkPhysicalDeviceLimits;
3600 typedef struct VkPhysicalDeviceMemoryProperties {
3601 deUint32 memoryTypeCount;
3602 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
3603 deUint32 memoryHeapCount;
3604 VkMemoryHeap memoryHeaps[VK_MAX_MEMORY_HEAPS];
3605 } VkPhysicalDeviceMemoryProperties;
3607 typedef struct VkPhysicalDeviceSparseProperties {
3608 VkBool32 residencyStandard2DBlockShape;
3609 VkBool32 residencyStandard2DMultisampleBlockShape;
3610 VkBool32 residencyStandard3DBlockShape;
3611 VkBool32 residencyAlignedMipSize;
3612 VkBool32 residencyNonResidentStrict;
3613 } VkPhysicalDeviceSparseProperties;
3615 typedef struct VkPhysicalDeviceProperties {
3616 deUint32 apiVersion;
3617 deUint32 driverVersion;
3620 VkPhysicalDeviceType deviceType;
3621 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
3622 deUint8 pipelineCacheUUID[VK_UUID_SIZE];
3623 VkPhysicalDeviceLimits limits;
3624 VkPhysicalDeviceSparseProperties sparseProperties;
3625 } VkPhysicalDeviceProperties;
3627 typedef struct VkQueueFamilyProperties {
3628 VkQueueFlags queueFlags;
3629 deUint32 queueCount;
3630 deUint32 timestampValidBits;
3631 VkExtent3D minImageTransferGranularity;
3632 } VkQueueFamilyProperties;
3634 typedef struct VkDeviceQueueCreateInfo {
3635 VkStructureType sType;
3637 VkDeviceQueueCreateFlags flags;
3638 deUint32 queueFamilyIndex;
3639 deUint32 queueCount;
3640 const float* pQueuePriorities;
3641 } VkDeviceQueueCreateInfo;
3643 typedef struct VkDeviceCreateInfo {
3644 VkStructureType sType;
3646 VkDeviceCreateFlags flags;
3647 deUint32 queueCreateInfoCount;
3648 const VkDeviceQueueCreateInfo* pQueueCreateInfos;
3649 deUint32 enabledLayerCount;
3650 const char* const* ppEnabledLayerNames;
3651 deUint32 enabledExtensionCount;
3652 const char* const* ppEnabledExtensionNames;
3653 const VkPhysicalDeviceFeatures* pEnabledFeatures;
3654 } VkDeviceCreateInfo;
3656 typedef struct VkExtensionProperties {
3657 char extensionName[VK_MAX_EXTENSION_NAME_SIZE];
3658 deUint32 specVersion;
3659 } VkExtensionProperties;
3661 typedef struct VkLayerProperties {
3662 char layerName[VK_MAX_EXTENSION_NAME_SIZE];
3663 deUint32 specVersion;
3664 deUint32 implementationVersion;
3665 char description[VK_MAX_DESCRIPTION_SIZE];
3666 } VkLayerProperties;
3668 typedef struct VkSubmitInfo {
3669 VkStructureType sType;
3671 deUint32 waitSemaphoreCount;
3672 const VkSemaphore* pWaitSemaphores;
3673 const VkPipelineStageFlags* pWaitDstStageMask;
3674 deUint32 commandBufferCount;
3675 const VkCommandBuffer* pCommandBuffers;
3676 deUint32 signalSemaphoreCount;
3677 const VkSemaphore* pSignalSemaphores;
3680 typedef struct VkMappedMemoryRange {
3681 VkStructureType sType;
3683 VkDeviceMemory memory;
3684 VkDeviceSize offset;
3686 } VkMappedMemoryRange;
3688 typedef struct VkMemoryAllocateInfo {
3689 VkStructureType sType;
3691 VkDeviceSize allocationSize;
3692 deUint32 memoryTypeIndex;
3693 } VkMemoryAllocateInfo;
3695 typedef struct VkMemoryRequirements {
3697 VkDeviceSize alignment;
3698 deUint32 memoryTypeBits;
3699 } VkMemoryRequirements;
3701 typedef struct VkSparseMemoryBind {
3702 VkDeviceSize resourceOffset;
3704 VkDeviceMemory memory;
3705 VkDeviceSize memoryOffset;
3706 VkSparseMemoryBindFlags flags;
3707 } VkSparseMemoryBind;
3709 typedef struct VkSparseBufferMemoryBindInfo {
3712 const VkSparseMemoryBind* pBinds;
3713 } VkSparseBufferMemoryBindInfo;
3715 typedef struct VkSparseImageOpaqueMemoryBindInfo {
3718 const VkSparseMemoryBind* pBinds;
3719 } VkSparseImageOpaqueMemoryBindInfo;
3721 typedef struct VkImageSubresource {
3722 VkImageAspectFlags aspectMask;
3724 deUint32 arrayLayer;
3725 } VkImageSubresource;
3727 typedef struct VkSparseImageMemoryBind {
3728 VkImageSubresource subresource;
3731 VkDeviceMemory memory;
3732 VkDeviceSize memoryOffset;
3733 VkSparseMemoryBindFlags flags;
3734 } VkSparseImageMemoryBind;
3736 typedef struct VkSparseImageMemoryBindInfo {
3739 const VkSparseImageMemoryBind* pBinds;
3740 } VkSparseImageMemoryBindInfo;
3742 typedef struct VkBindSparseInfo {
3743 VkStructureType sType;
3745 deUint32 waitSemaphoreCount;
3746 const VkSemaphore* pWaitSemaphores;
3747 deUint32 bufferBindCount;
3748 const VkSparseBufferMemoryBindInfo* pBufferBinds;
3749 deUint32 imageOpaqueBindCount;
3750 const VkSparseImageOpaqueMemoryBindInfo* pImageOpaqueBinds;
3751 deUint32 imageBindCount;
3752 const VkSparseImageMemoryBindInfo* pImageBinds;
3753 deUint32 signalSemaphoreCount;
3754 const VkSemaphore* pSignalSemaphores;
3757 typedef struct VkSparseImageFormatProperties {
3758 VkImageAspectFlags aspectMask;
3759 VkExtent3D imageGranularity;
3760 VkSparseImageFormatFlags flags;
3761 } VkSparseImageFormatProperties;
3763 typedef struct VkSparseImageMemoryRequirements {
3764 VkSparseImageFormatProperties formatProperties;
3765 deUint32 imageMipTailFirstLod;
3766 VkDeviceSize imageMipTailSize;
3767 VkDeviceSize imageMipTailOffset;
3768 VkDeviceSize imageMipTailStride;
3769 } VkSparseImageMemoryRequirements;
3771 typedef struct VkFenceCreateInfo {
3772 VkStructureType sType;
3774 VkFenceCreateFlags flags;
3775 } VkFenceCreateInfo;
3777 typedef struct VkSemaphoreCreateInfo {
3778 VkStructureType sType;
3780 VkSemaphoreCreateFlags flags;
3781 } VkSemaphoreCreateInfo;
3783 typedef struct VkEventCreateInfo {
3784 VkStructureType sType;
3786 VkEventCreateFlags flags;
3787 } VkEventCreateInfo;
3789 typedef struct VkQueryPoolCreateInfo {
3790 VkStructureType sType;
3792 VkQueryPoolCreateFlags flags;
3793 VkQueryType queryType;
3794 deUint32 queryCount;
3795 VkQueryPipelineStatisticFlags pipelineStatistics;
3796 } VkQueryPoolCreateInfo;
3798 typedef struct VkBufferCreateInfo {
3799 VkStructureType sType;
3801 VkBufferCreateFlags flags;
3803 VkBufferUsageFlags usage;
3804 VkSharingMode sharingMode;
3805 deUint32 queueFamilyIndexCount;
3806 const deUint32* pQueueFamilyIndices;
3807 } VkBufferCreateInfo;
3809 typedef struct VkBufferViewCreateInfo {
3810 VkStructureType sType;
3812 VkBufferViewCreateFlags flags;
3815 VkDeviceSize offset;
3817 } VkBufferViewCreateInfo;
3819 typedef struct VkImageCreateInfo {
3820 VkStructureType sType;
3822 VkImageCreateFlags flags;
3823 VkImageType imageType;
3827 deUint32 arrayLayers;
3828 VkSampleCountFlagBits samples;
3829 VkImageTiling tiling;
3830 VkImageUsageFlags usage;
3831 VkSharingMode sharingMode;
3832 deUint32 queueFamilyIndexCount;
3833 const deUint32* pQueueFamilyIndices;
3834 VkImageLayout initialLayout;
3835 } VkImageCreateInfo;
3837 typedef struct VkSubresourceLayout {
3838 VkDeviceSize offset;
3840 VkDeviceSize rowPitch;
3841 VkDeviceSize arrayPitch;
3842 VkDeviceSize depthPitch;
3843 } VkSubresourceLayout;
3845 typedef struct VkComponentMapping {
3846 VkComponentSwizzle r;
3847 VkComponentSwizzle g;
3848 VkComponentSwizzle b;
3849 VkComponentSwizzle a;
3850 } VkComponentMapping;
3852 typedef struct VkImageViewCreateInfo {
3853 VkStructureType sType;
3855 VkImageViewCreateFlags flags;
3857 VkImageViewType viewType;
3859 VkComponentMapping components;
3860 VkImageSubresourceRange subresourceRange;
3861 } VkImageViewCreateInfo;
3863 typedef struct VkShaderModuleCreateInfo {
3864 VkStructureType sType;
3866 VkShaderModuleCreateFlags flags;
3868 const deUint32* pCode;
3869 } VkShaderModuleCreateInfo;
3871 typedef struct VkPipelineCacheCreateInfo {
3872 VkStructureType sType;
3874 VkPipelineCacheCreateFlags flags;
3875 deUintptr initialDataSize;
3876 const void* pInitialData;
3877 } VkPipelineCacheCreateInfo;
3879 typedef struct VkSpecializationMapEntry {
3880 deUint32 constantID;
3883 } VkSpecializationMapEntry;
3885 typedef struct VkSpecializationInfo {
3886 deUint32 mapEntryCount;
3887 const VkSpecializationMapEntry* pMapEntries;
3890 } VkSpecializationInfo;
3892 typedef struct VkPipelineShaderStageCreateInfo {
3893 VkStructureType sType;
3895 VkPipelineShaderStageCreateFlags flags;
3896 VkShaderStageFlagBits stage;
3897 VkShaderModule module;
3899 const VkSpecializationInfo* pSpecializationInfo;
3900 } VkPipelineShaderStageCreateInfo;
3902 typedef struct VkComputePipelineCreateInfo {
3903 VkStructureType sType;
3905 VkPipelineCreateFlags flags;
3906 VkPipelineShaderStageCreateInfo stage;
3907 VkPipelineLayout layout;
3908 VkPipeline basePipelineHandle;
3909 deInt32 basePipelineIndex;
3910 } VkComputePipelineCreateInfo;
3912 typedef struct VkVertexInputBindingDescription {
3915 VkVertexInputRate inputRate;
3916 } VkVertexInputBindingDescription;
3918 typedef struct VkVertexInputAttributeDescription {
3923 } VkVertexInputAttributeDescription;
3925 typedef struct VkPipelineVertexInputStateCreateInfo {
3926 VkStructureType sType;
3928 VkPipelineVertexInputStateCreateFlags flags;
3929 deUint32 vertexBindingDescriptionCount;
3930 const VkVertexInputBindingDescription* pVertexBindingDescriptions;
3931 deUint32 vertexAttributeDescriptionCount;
3932 const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
3933 } VkPipelineVertexInputStateCreateInfo;
3935 typedef struct VkPipelineInputAssemblyStateCreateInfo {
3936 VkStructureType sType;
3938 VkPipelineInputAssemblyStateCreateFlags flags;
3939 VkPrimitiveTopology topology;
3940 VkBool32 primitiveRestartEnable;
3941 } VkPipelineInputAssemblyStateCreateInfo;
3943 typedef struct VkPipelineTessellationStateCreateInfo {
3944 VkStructureType sType;
3946 VkPipelineTessellationStateCreateFlags flags;
3947 deUint32 patchControlPoints;
3948 } VkPipelineTessellationStateCreateInfo;
3950 typedef struct VkViewport {
3959 typedef struct VkPipelineViewportStateCreateInfo {
3960 VkStructureType sType;
3962 VkPipelineViewportStateCreateFlags flags;
3963 deUint32 viewportCount;
3964 const VkViewport* pViewports;
3965 deUint32 scissorCount;
3966 const VkRect2D* pScissors;
3967 } VkPipelineViewportStateCreateInfo;
3969 typedef struct VkPipelineRasterizationStateCreateInfo {
3970 VkStructureType sType;
3972 VkPipelineRasterizationStateCreateFlags flags;
3973 VkBool32 depthClampEnable;
3974 VkBool32 rasterizerDiscardEnable;
3975 VkPolygonMode polygonMode;
3976 VkCullModeFlags cullMode;
3977 VkFrontFace frontFace;
3978 VkBool32 depthBiasEnable;
3979 float depthBiasConstantFactor;
3980 float depthBiasClamp;
3981 float depthBiasSlopeFactor;
3983 } VkPipelineRasterizationStateCreateInfo;
3985 typedef struct VkPipelineMultisampleStateCreateInfo {
3986 VkStructureType sType;
3988 VkPipelineMultisampleStateCreateFlags flags;
3989 VkSampleCountFlagBits rasterizationSamples;
3990 VkBool32 sampleShadingEnable;
3991 float minSampleShading;
3992 const VkSampleMask* pSampleMask;
3993 VkBool32 alphaToCoverageEnable;
3994 VkBool32 alphaToOneEnable;
3995 } VkPipelineMultisampleStateCreateInfo;
3997 typedef struct VkStencilOpState {
4000 VkStencilOp depthFailOp;
4001 VkCompareOp compareOp;
4002 deUint32 compareMask;
4007 typedef struct VkPipelineDepthStencilStateCreateInfo {
4008 VkStructureType sType;
4010 VkPipelineDepthStencilStateCreateFlags flags;
4011 VkBool32 depthTestEnable;
4012 VkBool32 depthWriteEnable;
4013 VkCompareOp depthCompareOp;
4014 VkBool32 depthBoundsTestEnable;
4015 VkBool32 stencilTestEnable;
4016 VkStencilOpState front;
4017 VkStencilOpState back;
4018 float minDepthBounds;
4019 float maxDepthBounds;
4020 } VkPipelineDepthStencilStateCreateInfo;
4022 typedef struct VkPipelineColorBlendAttachmentState {
4023 VkBool32 blendEnable;
4024 VkBlendFactor srcColorBlendFactor;
4025 VkBlendFactor dstColorBlendFactor;
4026 VkBlendOp colorBlendOp;
4027 VkBlendFactor srcAlphaBlendFactor;
4028 VkBlendFactor dstAlphaBlendFactor;
4029 VkBlendOp alphaBlendOp;
4030 VkColorComponentFlags colorWriteMask;
4031 } VkPipelineColorBlendAttachmentState;
4033 typedef struct VkPipelineColorBlendStateCreateInfo {
4034 VkStructureType sType;
4036 VkPipelineColorBlendStateCreateFlags flags;
4037 VkBool32 logicOpEnable;
4039 deUint32 attachmentCount;
4040 const VkPipelineColorBlendAttachmentState* pAttachments;
4041 float blendConstants[4];
4042 } VkPipelineColorBlendStateCreateInfo;
4044 typedef struct VkPipelineDynamicStateCreateInfo {
4045 VkStructureType sType;
4047 VkPipelineDynamicStateCreateFlags flags;
4048 deUint32 dynamicStateCount;
4049 const VkDynamicState* pDynamicStates;
4050 } VkPipelineDynamicStateCreateInfo;
4052 typedef struct VkGraphicsPipelineCreateInfo {
4053 VkStructureType sType;
4055 VkPipelineCreateFlags flags;
4056 deUint32 stageCount;
4057 const VkPipelineShaderStageCreateInfo* pStages;
4058 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
4059 const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
4060 const VkPipelineTessellationStateCreateInfo* pTessellationState;
4061 const VkPipelineViewportStateCreateInfo* pViewportState;
4062 const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
4063 const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
4064 const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
4065 const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
4066 const VkPipelineDynamicStateCreateInfo* pDynamicState;
4067 VkPipelineLayout layout;
4068 VkRenderPass renderPass;
4070 VkPipeline basePipelineHandle;
4071 deInt32 basePipelineIndex;
4072 } VkGraphicsPipelineCreateInfo;
4074 typedef struct VkPushConstantRange {
4075 VkShaderStageFlags stageFlags;
4078 } VkPushConstantRange;
4080 typedef struct VkPipelineLayoutCreateInfo {
4081 VkStructureType sType;
4083 VkPipelineLayoutCreateFlags flags;
4084 deUint32 setLayoutCount;
4085 const VkDescriptorSetLayout* pSetLayouts;
4086 deUint32 pushConstantRangeCount;
4087 const VkPushConstantRange* pPushConstantRanges;
4088 } VkPipelineLayoutCreateInfo;
4090 typedef struct VkSamplerCreateInfo {
4091 VkStructureType sType;
4093 VkSamplerCreateFlags flags;
4096 VkSamplerMipmapMode mipmapMode;
4097 VkSamplerAddressMode addressModeU;
4098 VkSamplerAddressMode addressModeV;
4099 VkSamplerAddressMode addressModeW;
4101 VkBool32 anisotropyEnable;
4102 float maxAnisotropy;
4103 VkBool32 compareEnable;
4104 VkCompareOp compareOp;
4107 VkBorderColor borderColor;
4108 VkBool32 unnormalizedCoordinates;
4109 } VkSamplerCreateInfo;
4111 typedef struct VkCopyDescriptorSet {
4112 VkStructureType sType;
4114 VkDescriptorSet srcSet;
4115 deUint32 srcBinding;
4116 deUint32 srcArrayElement;
4117 VkDescriptorSet dstSet;
4118 deUint32 dstBinding;
4119 deUint32 dstArrayElement;
4120 deUint32 descriptorCount;
4121 } VkCopyDescriptorSet;
4123 typedef struct VkDescriptorBufferInfo {
4125 VkDeviceSize offset;
4127 } VkDescriptorBufferInfo;
4129 typedef struct VkDescriptorImageInfo {
4131 VkImageView imageView;
4132 VkImageLayout imageLayout;
4133 } VkDescriptorImageInfo;
4135 typedef struct VkDescriptorPoolSize {
4136 VkDescriptorType type;
4137 deUint32 descriptorCount;
4138 } VkDescriptorPoolSize;
4140 typedef struct VkDescriptorPoolCreateInfo {
4141 VkStructureType sType;
4143 VkDescriptorPoolCreateFlags flags;
4145 deUint32 poolSizeCount;
4146 const VkDescriptorPoolSize* pPoolSizes;
4147 } VkDescriptorPoolCreateInfo;
4149 typedef struct VkDescriptorSetAllocateInfo {
4150 VkStructureType sType;
4152 VkDescriptorPool descriptorPool;
4153 deUint32 descriptorSetCount;
4154 const VkDescriptorSetLayout* pSetLayouts;
4155 } VkDescriptorSetAllocateInfo;
4157 typedef struct VkDescriptorSetLayoutBinding {
4159 VkDescriptorType descriptorType;
4160 deUint32 descriptorCount;
4161 VkShaderStageFlags stageFlags;
4162 const VkSampler* pImmutableSamplers;
4163 } VkDescriptorSetLayoutBinding;
4165 typedef struct VkDescriptorSetLayoutCreateInfo {
4166 VkStructureType sType;
4168 VkDescriptorSetLayoutCreateFlags flags;
4169 deUint32 bindingCount;
4170 const VkDescriptorSetLayoutBinding* pBindings;
4171 } VkDescriptorSetLayoutCreateInfo;
4173 typedef struct VkWriteDescriptorSet {
4174 VkStructureType sType;
4176 VkDescriptorSet dstSet;
4177 deUint32 dstBinding;
4178 deUint32 dstArrayElement;
4179 deUint32 descriptorCount;
4180 VkDescriptorType descriptorType;
4181 const VkDescriptorImageInfo* pImageInfo;
4182 const VkDescriptorBufferInfo* pBufferInfo;
4183 const VkBufferView* pTexelBufferView;
4184 } VkWriteDescriptorSet;
4186 typedef struct VkAttachmentDescription {
4187 VkAttachmentDescriptionFlags flags;
4189 VkSampleCountFlagBits samples;
4190 VkAttachmentLoadOp loadOp;
4191 VkAttachmentStoreOp storeOp;
4192 VkAttachmentLoadOp stencilLoadOp;
4193 VkAttachmentStoreOp stencilStoreOp;
4194 VkImageLayout initialLayout;
4195 VkImageLayout finalLayout;
4196 } VkAttachmentDescription;
4198 typedef struct VkAttachmentReference {
4199 deUint32 attachment;
4200 VkImageLayout layout;
4201 } VkAttachmentReference;
4203 typedef struct VkFramebufferCreateInfo {
4204 VkStructureType sType;
4206 VkFramebufferCreateFlags flags;
4207 VkRenderPass renderPass;
4208 deUint32 attachmentCount;
4209 const VkImageView* pAttachments;
4213 } VkFramebufferCreateInfo;
4215 typedef struct VkSubpassDescription {
4216 VkSubpassDescriptionFlags flags;
4217 VkPipelineBindPoint pipelineBindPoint;
4218 deUint32 inputAttachmentCount;
4219 const VkAttachmentReference* pInputAttachments;
4220 deUint32 colorAttachmentCount;
4221 const VkAttachmentReference* pColorAttachments;
4222 const VkAttachmentReference* pResolveAttachments;
4223 const VkAttachmentReference* pDepthStencilAttachment;
4224 deUint32 preserveAttachmentCount;
4225 const deUint32* pPreserveAttachments;
4226 } VkSubpassDescription;
4228 typedef struct VkSubpassDependency {
4229 deUint32 srcSubpass;
4230 deUint32 dstSubpass;
4231 VkPipelineStageFlags srcStageMask;
4232 VkPipelineStageFlags dstStageMask;
4233 VkAccessFlags srcAccessMask;
4234 VkAccessFlags dstAccessMask;
4235 VkDependencyFlags dependencyFlags;
4236 } VkSubpassDependency;
4238 typedef struct VkRenderPassCreateInfo {
4239 VkStructureType sType;
4241 VkRenderPassCreateFlags flags;
4242 deUint32 attachmentCount;
4243 const VkAttachmentDescription* pAttachments;
4244 deUint32 subpassCount;
4245 const VkSubpassDescription* pSubpasses;
4246 deUint32 dependencyCount;
4247 const VkSubpassDependency* pDependencies;
4248 } VkRenderPassCreateInfo;
4250 typedef struct VkCommandPoolCreateInfo {
4251 VkStructureType sType;
4253 VkCommandPoolCreateFlags flags;
4254 deUint32 queueFamilyIndex;
4255 } VkCommandPoolCreateInfo;
4257 typedef struct VkCommandBufferAllocateInfo {
4258 VkStructureType sType;
4260 VkCommandPool commandPool;
4261 VkCommandBufferLevel level;
4262 deUint32 commandBufferCount;
4263 } VkCommandBufferAllocateInfo;
4265 typedef struct VkCommandBufferInheritanceInfo {
4266 VkStructureType sType;
4268 VkRenderPass renderPass;
4270 VkFramebuffer framebuffer;
4271 VkBool32 occlusionQueryEnable;
4272 VkQueryControlFlags queryFlags;
4273 VkQueryPipelineStatisticFlags pipelineStatistics;
4274 } VkCommandBufferInheritanceInfo;
4276 typedef struct VkCommandBufferBeginInfo {
4277 VkStructureType sType;
4279 VkCommandBufferUsageFlags flags;
4280 const VkCommandBufferInheritanceInfo* pInheritanceInfo;
4281 } VkCommandBufferBeginInfo;
4283 typedef struct VkBufferCopy {
4284 VkDeviceSize srcOffset;
4285 VkDeviceSize dstOffset;
4289 typedef struct VkImageSubresourceLayers {
4290 VkImageAspectFlags aspectMask;
4292 deUint32 baseArrayLayer;
4293 deUint32 layerCount;
4294 } VkImageSubresourceLayers;
4296 typedef struct VkBufferImageCopy {
4297 VkDeviceSize bufferOffset;
4298 deUint32 bufferRowLength;
4299 deUint32 bufferImageHeight;
4300 VkImageSubresourceLayers imageSubresource;
4301 VkOffset3D imageOffset;
4302 VkExtent3D imageExtent;
4303 } VkBufferImageCopy;
4305 typedef union VkClearColorValue {
4309 } VkClearColorValue;
4311 typedef struct VkClearDepthStencilValue {
4314 } VkClearDepthStencilValue;
4316 typedef union VkClearValue {
4317 VkClearColorValue color;
4318 VkClearDepthStencilValue depthStencil;
4321 typedef struct VkClearAttachment {
4322 VkImageAspectFlags aspectMask;
4323 deUint32 colorAttachment;
4324 VkClearValue clearValue;
4325 } VkClearAttachment;
4327 typedef struct VkClearRect {
4329 deUint32 baseArrayLayer;
4330 deUint32 layerCount;
4333 typedef struct VkImageBlit {
4334 VkImageSubresourceLayers srcSubresource;
4335 VkOffset3D srcOffsets[2];
4336 VkImageSubresourceLayers dstSubresource;
4337 VkOffset3D dstOffsets[2];
4340 typedef struct VkImageCopy {
4341 VkImageSubresourceLayers srcSubresource;
4342 VkOffset3D srcOffset;
4343 VkImageSubresourceLayers dstSubresource;
4344 VkOffset3D dstOffset;
4348 typedef struct VkImageResolve {
4349 VkImageSubresourceLayers srcSubresource;
4350 VkOffset3D srcOffset;
4351 VkImageSubresourceLayers dstSubresource;
4352 VkOffset3D dstOffset;
4356 typedef struct VkRenderPassBeginInfo {
4357 VkStructureType sType;
4359 VkRenderPass renderPass;
4360 VkFramebuffer framebuffer;
4361 VkRect2D renderArea;
4362 deUint32 clearValueCount;
4363 const VkClearValue* pClearValues;
4364 } VkRenderPassBeginInfo;
4366 typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
4367 typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);
4368 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, deUint32* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
4369 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
4370 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
4371 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
4372 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
4373 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
4374 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4375 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
4376 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
4377 typedef VkResult (VKAPI_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
4378 typedef void (VKAPI_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks* pAllocator);
4379 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4380 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties);
4381 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceLayerProperties)(deUint32* pPropertyCount, VkLayerProperties* pProperties);
4382 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties);
4383 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue)(VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue);
4384 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
4385 typedef VkResult (VKAPI_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
4386 typedef VkResult (VKAPI_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
4387 typedef VkResult (VKAPI_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
4388 typedef void (VKAPI_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
4389 typedef VkResult (VKAPI_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
4390 typedef void (VKAPI_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
4391 typedef VkResult (VKAPI_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4392 typedef VkResult (VKAPI_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
4393 typedef void (VKAPI_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
4394 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4395 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
4396 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
4397 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
4398 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4399 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties);
4400 typedef VkResult (VKAPI_PTR *PFN_vkQueueBindSparse)(VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
4401 typedef VkResult (VKAPI_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
4402 typedef void (VKAPI_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
4403 typedef VkResult (VKAPI_PTR *PFN_vkResetFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences);
4404 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
4405 typedef VkResult (VKAPI_PTR *PFN_vkWaitForFences)(VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout);
4406 typedef VkResult (VKAPI_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
4407 typedef void (VKAPI_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
4408 typedef VkResult (VKAPI_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
4409 typedef void (VKAPI_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
4410 typedef VkResult (VKAPI_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
4411 typedef VkResult (VKAPI_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
4412 typedef VkResult (VKAPI_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
4413 typedef VkResult (VKAPI_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
4414 typedef void (VKAPI_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
4415 typedef VkResult (VKAPI_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
4416 typedef VkResult (VKAPI_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
4417 typedef void (VKAPI_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
4418 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
4419 typedef void (VKAPI_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
4420 typedef VkResult (VKAPI_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
4421 typedef void (VKAPI_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
4422 typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
4423 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
4424 typedef void (VKAPI_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
4425 typedef VkResult (VKAPI_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
4426 typedef void (VKAPI_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
4427 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
4428 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
4429 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData);
4430 typedef VkResult (VKAPI_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches);
4431 typedef VkResult (VKAPI_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4432 typedef VkResult (VKAPI_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
4433 typedef void (VKAPI_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
4434 typedef VkResult (VKAPI_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
4435 typedef void (VKAPI_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
4436 typedef VkResult (VKAPI_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
4437 typedef void (VKAPI_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
4438 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
4439 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
4440 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
4441 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
4442 typedef VkResult (VKAPI_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
4443 typedef VkResult (VKAPI_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
4444 typedef VkResult (VKAPI_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
4445 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
4446 typedef VkResult (VKAPI_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
4447 typedef void (VKAPI_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
4448 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
4449 typedef void (VKAPI_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
4450 typedef void (VKAPI_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
4451 typedef VkResult (VKAPI_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
4452 typedef void (VKAPI_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
4453 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
4454 typedef VkResult (VKAPI_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
4455 typedef void (VKAPI_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4456 typedef VkResult (VKAPI_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
4457 typedef VkResult (VKAPI_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
4458 typedef VkResult (VKAPI_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
4459 typedef void (VKAPI_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
4460 typedef void (VKAPI_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewport* pViewports);
4461 typedef void (VKAPI_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, deUint32 firstScissor, deUint32 scissorCount, const VkRect2D* pScissors);
4462 typedef void (VKAPI_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
4463 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
4464 typedef void (VKAPI_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants[4]);
4465 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
4466 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask);
4467 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask);
4468 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference);
4469 typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets);
4470 typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
4471 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
4472 typedef void (VKAPI_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance);
4473 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance);
4474 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4475 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
4476 typedef void (VKAPI_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
4477 typedef void (VKAPI_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
4478 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions);
4479 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions);
4480 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter);
4481 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4482 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions);
4483 typedef void (VKAPI_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void* pData);
4484 typedef void (VKAPI_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data);
4485 typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4486 typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges);
4487 typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects);
4488 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions);
4489 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4490 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
4491 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);
4492 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);
4493 typedef void (VKAPI_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags);
4494 typedef void (VKAPI_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query);
4495 typedef void (VKAPI_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
4496 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 query);
4497 typedef void (VKAPI_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
4498 typedef void (VKAPI_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues);
4499 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
4500 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
4501 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
4502 typedef void (VKAPI_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, deUint32 commandBufferCount, const VkCommandBuffer* pCommandBuffers);
4504 #ifndef VK_NO_PROTOTYPES
4505 VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
4506 const VkInstanceCreateInfo* pCreateInfo,
4507 const VkAllocationCallbacks* pAllocator,
4508 VkInstance* pInstance);
4510 VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
4511 VkInstance instance,
4512 const VkAllocationCallbacks* pAllocator);
4514 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
4515 VkInstance instance,
4516 deUint32* pPhysicalDeviceCount,
4517 VkPhysicalDevice* pPhysicalDevices);
4519 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
4520 VkPhysicalDevice physicalDevice,
4521 VkPhysicalDeviceFeatures* pFeatures);
4523 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
4524 VkPhysicalDevice physicalDevice,
4526 VkFormatProperties* pFormatProperties);
4528 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(
4529 VkPhysicalDevice physicalDevice,
4532 VkImageTiling tiling,
4533 VkImageUsageFlags usage,
4534 VkImageCreateFlags flags,
4535 VkImageFormatProperties* pImageFormatProperties);
4537 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
4538 VkPhysicalDevice physicalDevice,
4539 VkPhysicalDeviceProperties* pProperties);
4541 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
4542 VkPhysicalDevice physicalDevice,
4543 deUint32* pQueueFamilyPropertyCount,
4544 VkQueueFamilyProperties* pQueueFamilyProperties);
4546 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
4547 VkPhysicalDevice physicalDevice,
4548 VkPhysicalDeviceMemoryProperties* pMemoryProperties);
4550 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(
4551 VkInstance instance,
4554 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(
4558 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
4559 VkPhysicalDevice physicalDevice,
4560 const VkDeviceCreateInfo* pCreateInfo,
4561 const VkAllocationCallbacks* pAllocator,
4564 VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(
4566 const VkAllocationCallbacks* pAllocator);
4568 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
4569 const char* pLayerName,
4570 deUint32* pPropertyCount,
4571 VkExtensionProperties* pProperties);
4573 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
4574 VkPhysicalDevice physicalDevice,
4575 const char* pLayerName,
4576 deUint32* pPropertyCount,
4577 VkExtensionProperties* pProperties);
4579 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
4580 deUint32* pPropertyCount,
4581 VkLayerProperties* pProperties);
4583 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
4584 VkPhysicalDevice physicalDevice,
4585 deUint32* pPropertyCount,
4586 VkLayerProperties* pProperties);
4588 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(
4590 deUint32 queueFamilyIndex,
4591 deUint32 queueIndex,
4594 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(
4596 deUint32 submitCount,
4597 const VkSubmitInfo* pSubmits,
4600 VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(
4603 VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(
4606 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(
4608 const VkMemoryAllocateInfo* pAllocateInfo,
4609 const VkAllocationCallbacks* pAllocator,
4610 VkDeviceMemory* pMemory);
4612 VKAPI_ATTR void VKAPI_CALL vkFreeMemory(
4614 VkDeviceMemory memory,
4615 const VkAllocationCallbacks* pAllocator);
4617 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(
4619 VkDeviceMemory memory,
4620 VkDeviceSize offset,
4622 VkMemoryMapFlags flags,
4625 VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(
4627 VkDeviceMemory memory);
4629 VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(
4631 deUint32 memoryRangeCount,
4632 const VkMappedMemoryRange* pMemoryRanges);
4634 VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(
4636 deUint32 memoryRangeCount,
4637 const VkMappedMemoryRange* pMemoryRanges);
4639 VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(
4641 VkDeviceMemory memory,
4642 VkDeviceSize* pCommittedMemoryInBytes);
4644 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(
4647 VkDeviceMemory memory,
4648 VkDeviceSize memoryOffset);
4650 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(
4653 VkDeviceMemory memory,
4654 VkDeviceSize memoryOffset);
4656 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(
4659 VkMemoryRequirements* pMemoryRequirements);
4661 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(
4664 VkMemoryRequirements* pMemoryRequirements);
4666 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
4669 deUint32* pSparseMemoryRequirementCount,
4670 VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
4672 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(
4673 VkPhysicalDevice physicalDevice,
4676 VkSampleCountFlagBits samples,
4677 VkImageUsageFlags usage,
4678 VkImageTiling tiling,
4679 deUint32* pPropertyCount,
4680 VkSparseImageFormatProperties* pProperties);
4682 VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(
4684 deUint32 bindInfoCount,
4685 const VkBindSparseInfo* pBindInfo,
4688 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(
4690 const VkFenceCreateInfo* pCreateInfo,
4691 const VkAllocationCallbacks* pAllocator,
4694 VKAPI_ATTR void VKAPI_CALL vkDestroyFence(
4697 const VkAllocationCallbacks* pAllocator);
4699 VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(
4701 deUint32 fenceCount,
4702 const VkFence* pFences);
4704 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(
4708 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(
4710 deUint32 fenceCount,
4711 const VkFence* pFences,
4715 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(
4717 const VkSemaphoreCreateInfo* pCreateInfo,
4718 const VkAllocationCallbacks* pAllocator,
4719 VkSemaphore* pSemaphore);
4721 VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(
4723 VkSemaphore semaphore,
4724 const VkAllocationCallbacks* pAllocator);
4726 VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(
4728 const VkEventCreateInfo* pCreateInfo,
4729 const VkAllocationCallbacks* pAllocator,
4732 VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(
4735 const VkAllocationCallbacks* pAllocator);
4737 VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(
4741 VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(
4745 VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(
4749 VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(
4751 const VkQueryPoolCreateInfo* pCreateInfo,
4752 const VkAllocationCallbacks* pAllocator,
4753 VkQueryPool* pQueryPool);
4755 VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(
4757 VkQueryPool queryPool,
4758 const VkAllocationCallbacks* pAllocator);
4760 VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(
4762 VkQueryPool queryPool,
4763 deUint32 firstQuery,
4764 deUint32 queryCount,
4767 VkDeviceSize stride,
4768 VkQueryResultFlags flags);
4770 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(
4772 const VkBufferCreateInfo* pCreateInfo,
4773 const VkAllocationCallbacks* pAllocator,
4776 VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(
4779 const VkAllocationCallbacks* pAllocator);
4781 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(
4783 const VkBufferViewCreateInfo* pCreateInfo,
4784 const VkAllocationCallbacks* pAllocator,
4785 VkBufferView* pView);
4787 VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(
4789 VkBufferView bufferView,
4790 const VkAllocationCallbacks* pAllocator);
4792 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(
4794 const VkImageCreateInfo* pCreateInfo,
4795 const VkAllocationCallbacks* pAllocator,
4798 VKAPI_ATTR void VKAPI_CALL vkDestroyImage(
4801 const VkAllocationCallbacks* pAllocator);
4803 VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(
4806 const VkImageSubresource* pSubresource,
4807 VkSubresourceLayout* pLayout);
4809 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(
4811 const VkImageViewCreateInfo* pCreateInfo,
4812 const VkAllocationCallbacks* pAllocator,
4813 VkImageView* pView);
4815 VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(
4817 VkImageView imageView,
4818 const VkAllocationCallbacks* pAllocator);
4820 VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(
4822 const VkShaderModuleCreateInfo* pCreateInfo,
4823 const VkAllocationCallbacks* pAllocator,
4824 VkShaderModule* pShaderModule);
4826 VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(
4828 VkShaderModule shaderModule,
4829 const VkAllocationCallbacks* pAllocator);
4831 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(
4833 const VkPipelineCacheCreateInfo* pCreateInfo,
4834 const VkAllocationCallbacks* pAllocator,
4835 VkPipelineCache* pPipelineCache);
4837 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(
4839 VkPipelineCache pipelineCache,
4840 const VkAllocationCallbacks* pAllocator);
4842 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(
4844 VkPipelineCache pipelineCache,
4845 deUintptr* pDataSize,
4848 VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(
4850 VkPipelineCache dstCache,
4851 deUint32 srcCacheCount,
4852 const VkPipelineCache* pSrcCaches);
4854 VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(
4856 VkPipelineCache pipelineCache,
4857 deUint32 createInfoCount,
4858 const VkGraphicsPipelineCreateInfo* pCreateInfos,
4859 const VkAllocationCallbacks* pAllocator,
4860 VkPipeline* pPipelines);
4862 VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(
4864 VkPipelineCache pipelineCache,
4865 deUint32 createInfoCount,
4866 const VkComputePipelineCreateInfo* pCreateInfos,
4867 const VkAllocationCallbacks* pAllocator,
4868 VkPipeline* pPipelines);
4870 VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(
4872 VkPipeline pipeline,
4873 const VkAllocationCallbacks* pAllocator);
4875 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(
4877 const VkPipelineLayoutCreateInfo* pCreateInfo,
4878 const VkAllocationCallbacks* pAllocator,
4879 VkPipelineLayout* pPipelineLayout);
4881 VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(
4883 VkPipelineLayout pipelineLayout,
4884 const VkAllocationCallbacks* pAllocator);
4886 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(
4888 const VkSamplerCreateInfo* pCreateInfo,
4889 const VkAllocationCallbacks* pAllocator,
4890 VkSampler* pSampler);
4892 VKAPI_ATTR void VKAPI_CALL vkDestroySampler(
4895 const VkAllocationCallbacks* pAllocator);
4897 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(
4899 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
4900 const VkAllocationCallbacks* pAllocator,
4901 VkDescriptorSetLayout* pSetLayout);
4903 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(
4905 VkDescriptorSetLayout descriptorSetLayout,
4906 const VkAllocationCallbacks* pAllocator);
4908 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(
4910 const VkDescriptorPoolCreateInfo* pCreateInfo,
4911 const VkAllocationCallbacks* pAllocator,
4912 VkDescriptorPool* pDescriptorPool);
4914 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(
4916 VkDescriptorPool descriptorPool,
4917 const VkAllocationCallbacks* pAllocator);
4919 VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(
4921 VkDescriptorPool descriptorPool,
4922 VkDescriptorPoolResetFlags flags);
4924 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(
4926 const VkDescriptorSetAllocateInfo* pAllocateInfo,
4927 VkDescriptorSet* pDescriptorSets);
4929 VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(
4931 VkDescriptorPool descriptorPool,
4932 deUint32 descriptorSetCount,
4933 const VkDescriptorSet* pDescriptorSets);
4935 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(
4937 deUint32 descriptorWriteCount,
4938 const VkWriteDescriptorSet* pDescriptorWrites,
4939 deUint32 descriptorCopyCount,
4940 const VkCopyDescriptorSet* pDescriptorCopies);
4942 VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(
4944 const VkFramebufferCreateInfo* pCreateInfo,
4945 const VkAllocationCallbacks* pAllocator,
4946 VkFramebuffer* pFramebuffer);
4948 VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(
4950 VkFramebuffer framebuffer,
4951 const VkAllocationCallbacks* pAllocator);
4953 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(
4955 const VkRenderPassCreateInfo* pCreateInfo,
4956 const VkAllocationCallbacks* pAllocator,
4957 VkRenderPass* pRenderPass);
4959 VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(
4961 VkRenderPass renderPass,
4962 const VkAllocationCallbacks* pAllocator);
4964 VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(
4966 VkRenderPass renderPass,
4967 VkExtent2D* pGranularity);
4969 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(
4971 const VkCommandPoolCreateInfo* pCreateInfo,
4972 const VkAllocationCallbacks* pAllocator,
4973 VkCommandPool* pCommandPool);
4975 VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(
4977 VkCommandPool commandPool,
4978 const VkAllocationCallbacks* pAllocator);
4980 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(
4982 VkCommandPool commandPool,
4983 VkCommandPoolResetFlags flags);
4985 VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
4987 const VkCommandBufferAllocateInfo* pAllocateInfo,
4988 VkCommandBuffer* pCommandBuffers);
4990 VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
4992 VkCommandPool commandPool,
4993 deUint32 commandBufferCount,
4994 const VkCommandBuffer* pCommandBuffers);
4996 VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(
4997 VkCommandBuffer commandBuffer,
4998 const VkCommandBufferBeginInfo* pBeginInfo);
5000 VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(
5001 VkCommandBuffer commandBuffer);
5003 VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(
5004 VkCommandBuffer commandBuffer,
5005 VkCommandBufferResetFlags flags);
5007 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(
5008 VkCommandBuffer commandBuffer,
5009 VkPipelineBindPoint pipelineBindPoint,
5010 VkPipeline pipeline);
5012 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(
5013 VkCommandBuffer commandBuffer,
5014 deUint32 firstViewport,
5015 deUint32 viewportCount,
5016 const VkViewport* pViewports);
5018 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(
5019 VkCommandBuffer commandBuffer,
5020 deUint32 firstScissor,
5021 deUint32 scissorCount,
5022 const VkRect2D* pScissors);
5024 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(
5025 VkCommandBuffer commandBuffer,
5028 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(
5029 VkCommandBuffer commandBuffer,
5030 float depthBiasConstantFactor,
5031 float depthBiasClamp,
5032 float depthBiasSlopeFactor);
5034 VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(
5035 VkCommandBuffer commandBuffer,
5036 const float blendConstants[4]);
5038 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(
5039 VkCommandBuffer commandBuffer,
5040 float minDepthBounds,
5041 float maxDepthBounds);
5043 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(
5044 VkCommandBuffer commandBuffer,
5045 VkStencilFaceFlags faceMask,
5046 deUint32 compareMask);
5048 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(
5049 VkCommandBuffer commandBuffer,
5050 VkStencilFaceFlags faceMask,
5051 deUint32 writeMask);
5053 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(
5054 VkCommandBuffer commandBuffer,
5055 VkStencilFaceFlags faceMask,
5056 deUint32 reference);
5058 VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
5059 VkCommandBuffer commandBuffer,
5060 VkPipelineBindPoint pipelineBindPoint,
5061 VkPipelineLayout layout,
5063 deUint32 descriptorSetCount,
5064 const VkDescriptorSet* pDescriptorSets,
5065 deUint32 dynamicOffsetCount,
5066 const deUint32* pDynamicOffsets);
5068 VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(
5069 VkCommandBuffer commandBuffer,
5071 VkDeviceSize offset,
5072 VkIndexType indexType);
5074 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(
5075 VkCommandBuffer commandBuffer,
5076 deUint32 firstBinding,
5077 deUint32 bindingCount,
5078 const VkBuffer* pBuffers,
5079 const VkDeviceSize* pOffsets);
5081 VKAPI_ATTR void VKAPI_CALL vkCmdDraw(
5082 VkCommandBuffer commandBuffer,
5083 deUint32 vertexCount,
5084 deUint32 instanceCount,
5085 deUint32 firstVertex,
5086 deUint32 firstInstance);
5088 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(
5089 VkCommandBuffer commandBuffer,
5090 deUint32 indexCount,
5091 deUint32 instanceCount,
5092 deUint32 firstIndex,
5093 deInt32 vertexOffset,
5094 deUint32 firstInstance);
5096 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(
5097 VkCommandBuffer commandBuffer,
5099 VkDeviceSize offset,
5103 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(
5104 VkCommandBuffer commandBuffer,
5106 VkDeviceSize offset,
5110 VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(
5111 VkCommandBuffer commandBuffer,
5112 deUint32 groupCountX,
5113 deUint32 groupCountY,
5114 deUint32 groupCountZ);
5116 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(
5117 VkCommandBuffer commandBuffer,
5119 VkDeviceSize offset);
5121 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(
5122 VkCommandBuffer commandBuffer,
5125 deUint32 regionCount,
5126 const VkBufferCopy* pRegions);
5128 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(
5129 VkCommandBuffer commandBuffer,
5131 VkImageLayout srcImageLayout,
5133 VkImageLayout dstImageLayout,
5134 deUint32 regionCount,
5135 const VkImageCopy* pRegions);
5137 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(
5138 VkCommandBuffer commandBuffer,
5140 VkImageLayout srcImageLayout,
5142 VkImageLayout dstImageLayout,
5143 deUint32 regionCount,
5144 const VkImageBlit* pRegions,
5147 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(
5148 VkCommandBuffer commandBuffer,
5151 VkImageLayout dstImageLayout,
5152 deUint32 regionCount,
5153 const VkBufferImageCopy* pRegions);
5155 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(
5156 VkCommandBuffer commandBuffer,
5158 VkImageLayout srcImageLayout,
5160 deUint32 regionCount,
5161 const VkBufferImageCopy* pRegions);
5163 VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(
5164 VkCommandBuffer commandBuffer,
5166 VkDeviceSize dstOffset,
5167 VkDeviceSize dataSize,
5170 VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(
5171 VkCommandBuffer commandBuffer,
5173 VkDeviceSize dstOffset,
5177 VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(
5178 VkCommandBuffer commandBuffer,
5180 VkImageLayout imageLayout,
5181 const VkClearColorValue* pColor,
5182 deUint32 rangeCount,
5183 const VkImageSubresourceRange* pRanges);
5185 VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(
5186 VkCommandBuffer commandBuffer,
5188 VkImageLayout imageLayout,
5189 const VkClearDepthStencilValue* pDepthStencil,
5190 deUint32 rangeCount,
5191 const VkImageSubresourceRange* pRanges);
5193 VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(
5194 VkCommandBuffer commandBuffer,
5195 deUint32 attachmentCount,
5196 const VkClearAttachment* pAttachments,
5198 const VkClearRect* pRects);
5200 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(
5201 VkCommandBuffer commandBuffer,
5203 VkImageLayout srcImageLayout,
5205 VkImageLayout dstImageLayout,
5206 deUint32 regionCount,
5207 const VkImageResolve* pRegions);
5209 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(
5210 VkCommandBuffer commandBuffer,
5212 VkPipelineStageFlags stageMask);
5214 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(
5215 VkCommandBuffer commandBuffer,
5217 VkPipelineStageFlags stageMask);
5219 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
5220 VkCommandBuffer commandBuffer,
5221 deUint32 eventCount,
5222 const VkEvent* pEvents,
5223 VkPipelineStageFlags srcStageMask,
5224 VkPipelineStageFlags dstStageMask,
5225 deUint32 memoryBarrierCount,
5226 const VkMemoryBarrier* pMemoryBarriers,
5227 deUint32 bufferMemoryBarrierCount,
5228 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5229 deUint32 imageMemoryBarrierCount,
5230 const VkImageMemoryBarrier* pImageMemoryBarriers);
5232 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
5233 VkCommandBuffer commandBuffer,
5234 VkPipelineStageFlags srcStageMask,
5235 VkPipelineStageFlags dstStageMask,
5236 VkDependencyFlags dependencyFlags,
5237 deUint32 memoryBarrierCount,
5238 const VkMemoryBarrier* pMemoryBarriers,
5239 deUint32 bufferMemoryBarrierCount,
5240 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
5241 deUint32 imageMemoryBarrierCount,
5242 const VkImageMemoryBarrier* pImageMemoryBarriers);
5244 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(
5245 VkCommandBuffer commandBuffer,
5246 VkQueryPool queryPool,
5248 VkQueryControlFlags flags);
5250 VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(
5251 VkCommandBuffer commandBuffer,
5252 VkQueryPool queryPool,
5255 VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(
5256 VkCommandBuffer commandBuffer,
5257 VkQueryPool queryPool,
5258 deUint32 firstQuery,
5259 deUint32 queryCount);
5261 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(
5262 VkCommandBuffer commandBuffer,
5263 VkPipelineStageFlagBits pipelineStage,
5264 VkQueryPool queryPool,
5267 VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(
5268 VkCommandBuffer commandBuffer,
5269 VkQueryPool queryPool,
5270 deUint32 firstQuery,
5271 deUint32 queryCount,
5273 VkDeviceSize dstOffset,
5274 VkDeviceSize stride,
5275 VkQueryResultFlags flags);
5277 VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(
5278 VkCommandBuffer commandBuffer,
5279 VkPipelineLayout layout,
5280 VkShaderStageFlags stageFlags,
5283 const void* pValues);
5285 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(
5286 VkCommandBuffer commandBuffer,
5287 const VkRenderPassBeginInfo* pRenderPassBegin,
5288 VkSubpassContents contents);
5290 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(
5291 VkCommandBuffer commandBuffer,
5292 VkSubpassContents contents);
5294 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(
5295 VkCommandBuffer commandBuffer);
5297 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(
5298 VkCommandBuffer commandBuffer,
5299 deUint32 commandBufferCount,
5300 const VkCommandBuffer* pCommandBuffers);
5304 #define VK_VERSION_1_1 1
5305 // Vulkan 1.1 version number
5306 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0
5308 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
5309 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
5310 #define VK_MAX_DEVICE_GROUP_SIZE 32U
5311 #define VK_LUID_SIZE 8U
5312 #define VK_QUEUE_FAMILY_EXTERNAL (~1U)
5314 typedef enum VkPointClippingBehavior {
5315 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
5316 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1,
5317 VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
5318 VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
5319 VK_POINT_CLIPPING_BEHAVIOR_MAX_ENUM = 0x7FFFFFFF
5320 } VkPointClippingBehavior;
5322 typedef enum VkTessellationDomainOrigin {
5323 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
5324 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1,
5325 VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT,
5326 VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR = VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT,
5327 VK_TESSELLATION_DOMAIN_ORIGIN_MAX_ENUM = 0x7FFFFFFF
5328 } VkTessellationDomainOrigin;
5330 typedef enum VkSamplerYcbcrModelConversion {
5331 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
5332 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
5333 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
5334 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
5335 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4,
5336 VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY,
5337 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY,
5338 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709,
5339 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601,
5340 VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR = VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020,
5341 VK_SAMPLER_YCBCR_MODEL_CONVERSION_MAX_ENUM = 0x7FFFFFFF
5342 } VkSamplerYcbcrModelConversion;
5344 typedef enum VkSamplerYcbcrRange {
5345 VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
5346 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1,
5347 VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_FULL,
5348 VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR = VK_SAMPLER_YCBCR_RANGE_ITU_NARROW,
5349 VK_SAMPLER_YCBCR_RANGE_MAX_ENUM = 0x7FFFFFFF
5350 } VkSamplerYcbcrRange;
5352 typedef enum VkChromaLocation {
5353 VK_CHROMA_LOCATION_COSITED_EVEN = 0,
5354 VK_CHROMA_LOCATION_MIDPOINT = 1,
5355 VK_CHROMA_LOCATION_COSITED_EVEN_KHR = VK_CHROMA_LOCATION_COSITED_EVEN,
5356 VK_CHROMA_LOCATION_MIDPOINT_KHR = VK_CHROMA_LOCATION_MIDPOINT,
5357 VK_CHROMA_LOCATION_MAX_ENUM = 0x7FFFFFFF
5360 typedef enum VkDescriptorUpdateTemplateType {
5361 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0,
5362 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
5363 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR = VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET,
5364 VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_MAX_ENUM = 0x7FFFFFFF
5365 } VkDescriptorUpdateTemplateType;
5367 typedef enum VkSubgroupFeatureFlagBits {
5368 VK_SUBGROUP_FEATURE_BASIC_BIT = 0x00000001,
5369 VK_SUBGROUP_FEATURE_VOTE_BIT = 0x00000002,
5370 VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004,
5371 VK_SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008,
5372 VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010,
5373 VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020,
5374 VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
5375 VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
5376 VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
5377 VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5378 } VkSubgroupFeatureFlagBits;
5379 typedef VkFlags VkSubgroupFeatureFlags;
5381 typedef enum VkPeerMemoryFeatureFlagBits {
5382 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001,
5383 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 0x00000002,
5384 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 0x00000004,
5385 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 0x00000008,
5386 VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT,
5387 VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_COPY_DST_BIT,
5388 VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT,
5389 VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR = VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT,
5390 VK_PEER_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5391 } VkPeerMemoryFeatureFlagBits;
5392 typedef VkFlags VkPeerMemoryFeatureFlags;
5394 typedef enum VkMemoryAllocateFlagBits {
5395 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 0x00000001,
5396 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT = 0x00000002,
5397 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000004,
5398 VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT,
5399 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT,
5400 VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
5401 VK_MEMORY_ALLOCATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5402 } VkMemoryAllocateFlagBits;
5403 typedef VkFlags VkMemoryAllocateFlags;
5404 typedef VkFlags VkCommandPoolTrimFlags;
5405 typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
5407 typedef enum VkExternalMemoryHandleTypeFlagBits {
5408 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5409 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5410 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5411 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 0x00000008,
5412 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 0x00000010,
5413 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 0x00000020,
5414 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 0x00000040,
5415 VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT = 0x00000200,
5416 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID = 0x00000400,
5417 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT = 0x00000080,
5418 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
5419 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
5420 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
5421 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
5422 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5423 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5424 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,
5425 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,
5426 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT,
5427 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT,
5428 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5429 } VkExternalMemoryHandleTypeFlagBits;
5430 typedef VkFlags VkExternalMemoryHandleTypeFlags;
5432 typedef enum VkExternalMemoryFeatureFlagBits {
5433 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 0x00000001,
5434 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 0x00000002,
5435 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 0x00000004,
5436 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT,
5437 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT,
5438 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT,
5439 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5440 } VkExternalMemoryFeatureFlagBits;
5441 typedef VkFlags VkExternalMemoryFeatureFlags;
5443 typedef enum VkExternalFenceHandleTypeFlagBits {
5444 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5445 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5446 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5447 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000008,
5448 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT,
5449 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5450 VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5451 VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT,
5452 VK_EXTERNAL_FENCE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5453 } VkExternalFenceHandleTypeFlagBits;
5454 typedef VkFlags VkExternalFenceHandleTypeFlags;
5456 typedef enum VkExternalFenceFeatureFlagBits {
5457 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5458 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5459 VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT,
5460 VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT,
5461 VK_EXTERNAL_FENCE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5462 } VkExternalFenceFeatureFlagBits;
5463 typedef VkFlags VkExternalFenceFeatureFlags;
5465 typedef enum VkFenceImportFlagBits {
5466 VK_FENCE_IMPORT_TEMPORARY_BIT = 0x00000001,
5467 VK_FENCE_IMPORT_TEMPORARY_BIT_KHR = VK_FENCE_IMPORT_TEMPORARY_BIT,
5468 VK_FENCE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5469 } VkFenceImportFlagBits;
5470 typedef VkFlags VkFenceImportFlags;
5472 typedef enum VkSemaphoreImportFlagBits {
5473 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 0x00000001,
5474 VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT,
5475 VK_SEMAPHORE_IMPORT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5476 } VkSemaphoreImportFlagBits;
5477 typedef VkFlags VkSemaphoreImportFlags;
5479 typedef enum VkExternalSemaphoreHandleTypeFlagBits {
5480 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 0x00000001,
5481 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 0x00000002,
5482 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 0x00000004,
5483 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 0x00000008,
5484 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 0x00000010,
5485 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA = 0x00000080,
5486 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5487 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT,
5488 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT,
5489 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
5490 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT,
5491 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT,
5492 VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5493 } VkExternalSemaphoreHandleTypeFlagBits;
5494 typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
5496 typedef enum VkExternalSemaphoreFeatureFlagBits {
5497 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 0x00000001,
5498 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 0x00000002,
5499 VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT,
5500 VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR = VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT,
5501 VK_EXTERNAL_SEMAPHORE_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
5502 } VkExternalSemaphoreFeatureFlagBits;
5503 typedef VkFlags VkExternalSemaphoreFeatureFlags;
5504 typedef struct VkPhysicalDeviceSubgroupProperties {
5505 VkStructureType sType;
5507 deUint32 subgroupSize;
5508 VkShaderStageFlags supportedStages;
5509 VkSubgroupFeatureFlags supportedOperations;
5510 VkBool32 quadOperationsInAllStages;
5511 } VkPhysicalDeviceSubgroupProperties;
5513 typedef struct VkBindBufferMemoryInfo {
5514 VkStructureType sType;
5517 VkDeviceMemory memory;
5518 VkDeviceSize memoryOffset;
5519 } VkBindBufferMemoryInfo;
5521 typedef struct VkBindImageMemoryInfo {
5522 VkStructureType sType;
5525 VkDeviceMemory memory;
5526 VkDeviceSize memoryOffset;
5527 } VkBindImageMemoryInfo;
5529 typedef struct VkPhysicalDevice16BitStorageFeatures {
5530 VkStructureType sType;
5532 VkBool32 storageBuffer16BitAccess;
5533 VkBool32 uniformAndStorageBuffer16BitAccess;
5534 VkBool32 storagePushConstant16;
5535 VkBool32 storageInputOutput16;
5536 } VkPhysicalDevice16BitStorageFeatures;
5538 typedef struct VkMemoryDedicatedRequirements {
5539 VkStructureType sType;
5541 VkBool32 prefersDedicatedAllocation;
5542 VkBool32 requiresDedicatedAllocation;
5543 } VkMemoryDedicatedRequirements;
5545 typedef struct VkMemoryDedicatedAllocateInfo {
5546 VkStructureType sType;
5550 } VkMemoryDedicatedAllocateInfo;
5552 typedef struct VkMemoryAllocateFlagsInfo {
5553 VkStructureType sType;
5555 VkMemoryAllocateFlags flags;
5556 deUint32 deviceMask;
5557 } VkMemoryAllocateFlagsInfo;
5559 typedef struct VkDeviceGroupRenderPassBeginInfo {
5560 VkStructureType sType;
5562 deUint32 deviceMask;
5563 deUint32 deviceRenderAreaCount;
5564 const VkRect2D* pDeviceRenderAreas;
5565 } VkDeviceGroupRenderPassBeginInfo;
5567 typedef struct VkDeviceGroupCommandBufferBeginInfo {
5568 VkStructureType sType;
5570 deUint32 deviceMask;
5571 } VkDeviceGroupCommandBufferBeginInfo;
5573 typedef struct VkDeviceGroupSubmitInfo {
5574 VkStructureType sType;
5576 deUint32 waitSemaphoreCount;
5577 const deUint32* pWaitSemaphoreDeviceIndices;
5578 deUint32 commandBufferCount;
5579 const deUint32* pCommandBufferDeviceMasks;
5580 deUint32 signalSemaphoreCount;
5581 const deUint32* pSignalSemaphoreDeviceIndices;
5582 } VkDeviceGroupSubmitInfo;
5584 typedef struct VkDeviceGroupBindSparseInfo {
5585 VkStructureType sType;
5587 deUint32 resourceDeviceIndex;
5588 deUint32 memoryDeviceIndex;
5589 } VkDeviceGroupBindSparseInfo;
5591 typedef struct VkBindBufferMemoryDeviceGroupInfo {
5592 VkStructureType sType;
5594 deUint32 deviceIndexCount;
5595 const deUint32* pDeviceIndices;
5596 } VkBindBufferMemoryDeviceGroupInfo;
5598 typedef struct VkBindImageMemoryDeviceGroupInfo {
5599 VkStructureType sType;
5601 deUint32 deviceIndexCount;
5602 const deUint32* pDeviceIndices;
5603 deUint32 splitInstanceBindRegionCount;
5604 const VkRect2D* pSplitInstanceBindRegions;
5605 } VkBindImageMemoryDeviceGroupInfo;
5607 typedef struct VkPhysicalDeviceGroupProperties {
5608 VkStructureType sType;
5610 deUint32 physicalDeviceCount;
5611 VkPhysicalDevice physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
5612 VkBool32 subsetAllocation;
5613 } VkPhysicalDeviceGroupProperties;
5615 typedef struct VkDeviceGroupDeviceCreateInfo {
5616 VkStructureType sType;
5618 deUint32 physicalDeviceCount;
5619 const VkPhysicalDevice* pPhysicalDevices;
5620 } VkDeviceGroupDeviceCreateInfo;
5622 typedef struct VkBufferMemoryRequirementsInfo2 {
5623 VkStructureType sType;
5626 } VkBufferMemoryRequirementsInfo2;
5628 typedef struct VkImageMemoryRequirementsInfo2 {
5629 VkStructureType sType;
5632 } VkImageMemoryRequirementsInfo2;
5634 typedef struct VkImageSparseMemoryRequirementsInfo2 {
5635 VkStructureType sType;
5638 } VkImageSparseMemoryRequirementsInfo2;
5640 typedef struct VkMemoryRequirements2 {
5641 VkStructureType sType;
5643 VkMemoryRequirements memoryRequirements;
5644 } VkMemoryRequirements2;
5646 typedef struct VkSparseImageMemoryRequirements2 {
5647 VkStructureType sType;
5649 VkSparseImageMemoryRequirements memoryRequirements;
5650 } VkSparseImageMemoryRequirements2;
5652 typedef struct VkPhysicalDeviceFeatures2 {
5653 VkStructureType sType;
5655 VkPhysicalDeviceFeatures features;
5656 } VkPhysicalDeviceFeatures2;
5658 typedef struct VkPhysicalDeviceProperties2 {
5659 VkStructureType sType;
5661 VkPhysicalDeviceProperties properties;
5662 } VkPhysicalDeviceProperties2;
5664 typedef struct VkFormatProperties2 {
5665 VkStructureType sType;
5667 VkFormatProperties formatProperties;
5668 } VkFormatProperties2;
5670 typedef struct VkImageFormatProperties2 {
5671 VkStructureType sType;
5673 VkImageFormatProperties imageFormatProperties;
5674 } VkImageFormatProperties2;
5676 typedef struct VkPhysicalDeviceImageFormatInfo2 {
5677 VkStructureType sType;
5681 VkImageTiling tiling;
5682 VkImageUsageFlags usage;
5683 VkImageCreateFlags flags;
5684 } VkPhysicalDeviceImageFormatInfo2;
5686 typedef struct VkQueueFamilyProperties2 {
5687 VkStructureType sType;
5689 VkQueueFamilyProperties queueFamilyProperties;
5690 } VkQueueFamilyProperties2;
5692 typedef struct VkPhysicalDeviceMemoryProperties2 {
5693 VkStructureType sType;
5695 VkPhysicalDeviceMemoryProperties memoryProperties;
5696 } VkPhysicalDeviceMemoryProperties2;
5698 typedef struct VkSparseImageFormatProperties2 {
5699 VkStructureType sType;
5701 VkSparseImageFormatProperties properties;
5702 } VkSparseImageFormatProperties2;
5704 typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
5705 VkStructureType sType;
5709 VkSampleCountFlagBits samples;
5710 VkImageUsageFlags usage;
5711 VkImageTiling tiling;
5712 } VkPhysicalDeviceSparseImageFormatInfo2;
5714 typedef struct VkPhysicalDevicePointClippingProperties {
5715 VkStructureType sType;
5717 VkPointClippingBehavior pointClippingBehavior;
5718 } VkPhysicalDevicePointClippingProperties;
5720 typedef struct VkInputAttachmentAspectReference {
5722 deUint32 inputAttachmentIndex;
5723 VkImageAspectFlags aspectMask;
5724 } VkInputAttachmentAspectReference;
5726 typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
5727 VkStructureType sType;
5729 deUint32 aspectReferenceCount;
5730 const VkInputAttachmentAspectReference* pAspectReferences;
5731 } VkRenderPassInputAttachmentAspectCreateInfo;
5733 typedef struct VkImageViewUsageCreateInfo {
5734 VkStructureType sType;
5736 VkImageUsageFlags usage;
5737 } VkImageViewUsageCreateInfo;
5739 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
5740 VkStructureType sType;
5742 VkTessellationDomainOrigin domainOrigin;
5743 } VkPipelineTessellationDomainOriginStateCreateInfo;
5745 typedef struct VkRenderPassMultiviewCreateInfo {
5746 VkStructureType sType;
5748 deUint32 subpassCount;
5749 const deUint32* pViewMasks;
5750 deUint32 dependencyCount;
5751 const deInt32* pViewOffsets;
5752 deUint32 correlationMaskCount;
5753 const deUint32* pCorrelationMasks;
5754 } VkRenderPassMultiviewCreateInfo;
5756 typedef struct VkPhysicalDeviceMultiviewFeatures {
5757 VkStructureType sType;
5760 VkBool32 multiviewGeometryShader;
5761 VkBool32 multiviewTessellationShader;
5762 } VkPhysicalDeviceMultiviewFeatures;
5764 typedef struct VkPhysicalDeviceMultiviewProperties {
5765 VkStructureType sType;
5767 deUint32 maxMultiviewViewCount;
5768 deUint32 maxMultiviewInstanceIndex;
5769 } VkPhysicalDeviceMultiviewProperties;
5771 typedef struct VkPhysicalDeviceVariablePointersFeatures {
5772 VkStructureType sType;
5774 VkBool32 variablePointersStorageBuffer;
5775 VkBool32 variablePointers;
5776 } VkPhysicalDeviceVariablePointersFeatures;
5778 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeatures;
5780 typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
5781 VkStructureType sType;
5783 VkBool32 protectedMemory;
5784 } VkPhysicalDeviceProtectedMemoryFeatures;
5786 typedef struct VkPhysicalDeviceProtectedMemoryProperties {
5787 VkStructureType sType;
5789 VkBool32 protectedNoFault;
5790 } VkPhysicalDeviceProtectedMemoryProperties;
5792 typedef struct VkDeviceQueueInfo2 {
5793 VkStructureType sType;
5795 VkDeviceQueueCreateFlags flags;
5796 deUint32 queueFamilyIndex;
5797 deUint32 queueIndex;
5798 } VkDeviceQueueInfo2;
5800 typedef struct VkProtectedSubmitInfo {
5801 VkStructureType sType;
5803 VkBool32 protectedSubmit;
5804 } VkProtectedSubmitInfo;
5806 typedef struct VkSamplerYcbcrConversionCreateInfo {
5807 VkStructureType sType;
5810 VkSamplerYcbcrModelConversion ycbcrModel;
5811 VkSamplerYcbcrRange ycbcrRange;
5812 VkComponentMapping components;
5813 VkChromaLocation xChromaOffset;
5814 VkChromaLocation yChromaOffset;
5815 VkFilter chromaFilter;
5816 VkBool32 forceExplicitReconstruction;
5817 } VkSamplerYcbcrConversionCreateInfo;
5819 typedef struct VkSamplerYcbcrConversionInfo {
5820 VkStructureType sType;
5822 VkSamplerYcbcrConversion conversion;
5823 } VkSamplerYcbcrConversionInfo;
5825 typedef struct VkBindImagePlaneMemoryInfo {
5826 VkStructureType sType;
5828 VkImageAspectFlagBits planeAspect;
5829 } VkBindImagePlaneMemoryInfo;
5831 typedef struct VkImagePlaneMemoryRequirementsInfo {
5832 VkStructureType sType;
5834 VkImageAspectFlagBits planeAspect;
5835 } VkImagePlaneMemoryRequirementsInfo;
5837 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
5838 VkStructureType sType;
5840 VkBool32 samplerYcbcrConversion;
5841 } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
5843 typedef struct VkSamplerYcbcrConversionImageFormatProperties {
5844 VkStructureType sType;
5846 deUint32 combinedImageSamplerDescriptorCount;
5847 } VkSamplerYcbcrConversionImageFormatProperties;
5849 typedef struct VkDescriptorUpdateTemplateEntry {
5850 deUint32 dstBinding;
5851 deUint32 dstArrayElement;
5852 deUint32 descriptorCount;
5853 VkDescriptorType descriptorType;
5856 } VkDescriptorUpdateTemplateEntry;
5858 typedef struct VkDescriptorUpdateTemplateCreateInfo {
5859 VkStructureType sType;
5861 VkDescriptorUpdateTemplateCreateFlags flags;
5862 deUint32 descriptorUpdateEntryCount;
5863 const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
5864 VkDescriptorUpdateTemplateType templateType;
5865 VkDescriptorSetLayout descriptorSetLayout;
5866 VkPipelineBindPoint pipelineBindPoint;
5867 VkPipelineLayout pipelineLayout;
5869 } VkDescriptorUpdateTemplateCreateInfo;
5871 typedef struct VkExternalMemoryProperties {
5872 VkExternalMemoryFeatureFlags externalMemoryFeatures;
5873 VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
5874 VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
5875 } VkExternalMemoryProperties;
5877 typedef struct VkPhysicalDeviceExternalImageFormatInfo {
5878 VkStructureType sType;
5880 VkExternalMemoryHandleTypeFlagBits handleType;
5881 } VkPhysicalDeviceExternalImageFormatInfo;
5883 typedef struct VkExternalImageFormatProperties {
5884 VkStructureType sType;
5886 VkExternalMemoryProperties externalMemoryProperties;
5887 } VkExternalImageFormatProperties;
5889 typedef struct VkPhysicalDeviceExternalBufferInfo {
5890 VkStructureType sType;
5892 VkBufferCreateFlags flags;
5893 VkBufferUsageFlags usage;
5894 VkExternalMemoryHandleTypeFlagBits handleType;
5895 } VkPhysicalDeviceExternalBufferInfo;
5897 typedef struct VkExternalBufferProperties {
5898 VkStructureType sType;
5900 VkExternalMemoryProperties externalMemoryProperties;
5901 } VkExternalBufferProperties;
5903 typedef struct VkPhysicalDeviceIDProperties {
5904 VkStructureType sType;
5906 deUint8 deviceUUID[VK_UUID_SIZE];
5907 deUint8 driverUUID[VK_UUID_SIZE];
5908 deUint8 deviceLUID[VK_LUID_SIZE];
5909 deUint32 deviceNodeMask;
5910 VkBool32 deviceLUIDValid;
5911 } VkPhysicalDeviceIDProperties;
5913 typedef struct VkExternalMemoryImageCreateInfo {
5914 VkStructureType sType;
5916 VkExternalMemoryHandleTypeFlags handleTypes;
5917 } VkExternalMemoryImageCreateInfo;
5919 typedef struct VkExternalMemoryBufferCreateInfo {
5920 VkStructureType sType;
5922 VkExternalMemoryHandleTypeFlags handleTypes;
5923 } VkExternalMemoryBufferCreateInfo;
5925 typedef struct VkExportMemoryAllocateInfo {
5926 VkStructureType sType;
5928 VkExternalMemoryHandleTypeFlags handleTypes;
5929 } VkExportMemoryAllocateInfo;
5931 typedef struct VkPhysicalDeviceExternalFenceInfo {
5932 VkStructureType sType;
5934 VkExternalFenceHandleTypeFlagBits handleType;
5935 } VkPhysicalDeviceExternalFenceInfo;
5937 typedef struct VkExternalFenceProperties {
5938 VkStructureType sType;
5940 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
5941 VkExternalFenceHandleTypeFlags compatibleHandleTypes;
5942 VkExternalFenceFeatureFlags externalFenceFeatures;
5943 } VkExternalFenceProperties;
5945 typedef struct VkExportFenceCreateInfo {
5946 VkStructureType sType;
5948 VkExternalFenceHandleTypeFlags handleTypes;
5949 } VkExportFenceCreateInfo;
5951 typedef struct VkExportSemaphoreCreateInfo {
5952 VkStructureType sType;
5954 VkExternalSemaphoreHandleTypeFlags handleTypes;
5955 } VkExportSemaphoreCreateInfo;
5957 typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
5958 VkStructureType sType;
5960 VkExternalSemaphoreHandleTypeFlagBits handleType;
5961 } VkPhysicalDeviceExternalSemaphoreInfo;
5963 typedef struct VkExternalSemaphoreProperties {
5964 VkStructureType sType;
5966 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
5967 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
5968 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
5969 } VkExternalSemaphoreProperties;
5971 typedef struct VkPhysicalDeviceMaintenance3Properties {
5972 VkStructureType sType;
5974 deUint32 maxPerSetDescriptors;
5975 VkDeviceSize maxMemoryAllocationSize;
5976 } VkPhysicalDeviceMaintenance3Properties;
5978 typedef struct VkDescriptorSetLayoutSupport {
5979 VkStructureType sType;
5982 } VkDescriptorSetLayoutSupport;
5984 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
5985 VkStructureType sType;
5987 VkBool32 shaderDrawParameters;
5988 } VkPhysicalDeviceShaderDrawParametersFeatures;
5990 typedef VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
5992 typedef VkResult (VKAPI_PTR *PFN_vkEnumerateInstanceVersion)(deUint32* pApiVersion);
5993 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
5994 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
5995 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
5996 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
5997 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
5998 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
5999 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6000 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
6001 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6002 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
6003 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
6004 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
6005 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
6006 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
6007 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6008 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
6009 typedef void (VKAPI_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
6010 typedef void (VKAPI_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2* pQueueInfo, VkQueue* pQueue);
6011 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
6012 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
6013 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6014 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
6015 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
6016 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
6017 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
6018 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6019 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
6021 #ifndef VK_NO_PROTOTYPES
6022 VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceVersion(
6023 deUint32* pApiVersion);
6025 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2(
6027 deUint32 bindInfoCount,
6028 const VkBindBufferMemoryInfo* pBindInfos);
6030 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2(
6032 deUint32 bindInfoCount,
6033 const VkBindImageMemoryInfo* pBindInfos);
6035 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeatures(
6038 deUint32 localDeviceIndex,
6039 deUint32 remoteDeviceIndex,
6040 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
6042 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMask(
6043 VkCommandBuffer commandBuffer,
6044 deUint32 deviceMask);
6046 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBase(
6047 VkCommandBuffer commandBuffer,
6048 deUint32 baseGroupX,
6049 deUint32 baseGroupY,
6050 deUint32 baseGroupZ,
6051 deUint32 groupCountX,
6052 deUint32 groupCountY,
6053 deUint32 groupCountZ);
6055 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroups(
6056 VkInstance instance,
6057 deUint32* pPhysicalDeviceGroupCount,
6058 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
6060 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2(
6062 const VkImageMemoryRequirementsInfo2* pInfo,
6063 VkMemoryRequirements2* pMemoryRequirements);
6065 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2(
6067 const VkBufferMemoryRequirementsInfo2* pInfo,
6068 VkMemoryRequirements2* pMemoryRequirements);
6070 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2(
6072 const VkImageSparseMemoryRequirementsInfo2* pInfo,
6073 deUint32* pSparseMemoryRequirementCount,
6074 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
6076 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2(
6077 VkPhysicalDevice physicalDevice,
6078 VkPhysicalDeviceFeatures2* pFeatures);
6080 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2(
6081 VkPhysicalDevice physicalDevice,
6082 VkPhysicalDeviceProperties2* pProperties);
6084 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2(
6085 VkPhysicalDevice physicalDevice,
6087 VkFormatProperties2* pFormatProperties);
6089 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2(
6090 VkPhysicalDevice physicalDevice,
6091 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
6092 VkImageFormatProperties2* pImageFormatProperties);
6094 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2(
6095 VkPhysicalDevice physicalDevice,
6096 deUint32* pQueueFamilyPropertyCount,
6097 VkQueueFamilyProperties2* pQueueFamilyProperties);
6099 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2(
6100 VkPhysicalDevice physicalDevice,
6101 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
6103 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2(
6104 VkPhysicalDevice physicalDevice,
6105 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
6106 deUint32* pPropertyCount,
6107 VkSparseImageFormatProperties2* pProperties);
6109 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPool(
6111 VkCommandPool commandPool,
6112 VkCommandPoolTrimFlags flags);
6114 VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue2(
6116 const VkDeviceQueueInfo2* pQueueInfo,
6119 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversion(
6121 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
6122 const VkAllocationCallbacks* pAllocator,
6123 VkSamplerYcbcrConversion* pYcbcrConversion);
6125 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversion(
6127 VkSamplerYcbcrConversion ycbcrConversion,
6128 const VkAllocationCallbacks* pAllocator);
6130 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplate(
6132 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
6133 const VkAllocationCallbacks* pAllocator,
6134 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
6136 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplate(
6138 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6139 const VkAllocationCallbacks* pAllocator);
6141 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplate(
6143 VkDescriptorSet descriptorSet,
6144 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
6147 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(
6148 VkPhysicalDevice physicalDevice,
6149 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
6150 VkExternalBufferProperties* pExternalBufferProperties);
6152 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(
6153 VkPhysicalDevice physicalDevice,
6154 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
6155 VkExternalFenceProperties* pExternalFenceProperties);
6157 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphoreProperties(
6158 VkPhysicalDevice physicalDevice,
6159 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
6160 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
6162 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(
6164 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
6165 VkDescriptorSetLayoutSupport* pSupport);
6169 #define VK_VERSION_1_2 1
6170 // Vulkan 1.2 version number
6171 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0
6173 #define VK_MAX_DRIVER_NAME_SIZE 256U
6174 #define VK_MAX_DRIVER_INFO_SIZE 256U
6176 typedef enum VkDriverId {
6177 VK_DRIVER_ID_AMD_PROPRIETARY = 1,
6178 VK_DRIVER_ID_AMD_OPEN_SOURCE = 2,
6179 VK_DRIVER_ID_MESA_RADV = 3,
6180 VK_DRIVER_ID_NVIDIA_PROPRIETARY = 4,
6181 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = 5,
6182 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = 6,
6183 VK_DRIVER_ID_IMAGINATION_PROPRIETARY = 7,
6184 VK_DRIVER_ID_QUALCOMM_PROPRIETARY = 8,
6185 VK_DRIVER_ID_ARM_PROPRIETARY = 9,
6186 VK_DRIVER_ID_GOOGLE_SWIFTSHADER = 10,
6187 VK_DRIVER_ID_GGP_PROPRIETARY = 11,
6188 VK_DRIVER_ID_BROADCOM_PROPRIETARY = 12,
6189 VK_DRIVER_ID_MESA_LLVMPIPE = 13,
6190 VK_DRIVER_ID_MOLTENVK = 14,
6191 VK_DRIVER_ID_COREAVI_PROPRIETARY = 15,
6192 VK_DRIVER_ID_JUICE_PROPRIETARY = 16,
6193 VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17,
6194 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
6195 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
6196 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
6197 VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR = VK_DRIVER_ID_NVIDIA_PROPRIETARY,
6198 VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR = VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
6199 VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR = VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
6200 VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR = VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
6201 VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR = VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
6202 VK_DRIVER_ID_ARM_PROPRIETARY_KHR = VK_DRIVER_ID_ARM_PROPRIETARY,
6203 VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR = VK_DRIVER_ID_GOOGLE_SWIFTSHADER,
6204 VK_DRIVER_ID_GGP_PROPRIETARY_KHR = VK_DRIVER_ID_GGP_PROPRIETARY,
6205 VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR = VK_DRIVER_ID_BROADCOM_PROPRIETARY,
6206 VK_DRIVER_ID_MAX_ENUM = 0x7FFFFFFF
6209 typedef enum VkShaderFloatControlsIndependence {
6210 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY = 0,
6211 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL = 1,
6212 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE = 2,
6213 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
6214 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
6215 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR = VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE,
6216 VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_MAX_ENUM = 0x7FFFFFFF
6217 } VkShaderFloatControlsIndependence;
6219 typedef enum VkSamplerReductionMode {
6220 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0,
6221 VK_SAMPLER_REDUCTION_MODE_MIN = 1,
6222 VK_SAMPLER_REDUCTION_MODE_MAX = 2,
6223 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE,
6224 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN,
6225 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX,
6226 VK_SAMPLER_REDUCTION_MODE_MAX_ENUM = 0x7FFFFFFF
6227 } VkSamplerReductionMode;
6229 typedef enum VkSemaphoreType {
6230 VK_SEMAPHORE_TYPE_BINARY = 0,
6231 VK_SEMAPHORE_TYPE_TIMELINE = 1,
6232 VK_SEMAPHORE_TYPE_BINARY_KHR = VK_SEMAPHORE_TYPE_BINARY,
6233 VK_SEMAPHORE_TYPE_TIMELINE_KHR = VK_SEMAPHORE_TYPE_TIMELINE,
6234 VK_SEMAPHORE_TYPE_MAX_ENUM = 0x7FFFFFFF
6237 typedef enum VkResolveModeFlagBits {
6238 VK_RESOLVE_MODE_NONE = 0,
6239 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT = 0x00000001,
6240 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002,
6241 VK_RESOLVE_MODE_MIN_BIT = 0x00000004,
6242 VK_RESOLVE_MODE_MAX_BIT = 0x00000008,
6243 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE,
6244 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT,
6245 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT,
6246 VK_RESOLVE_MODE_MIN_BIT_KHR = VK_RESOLVE_MODE_MIN_BIT,
6247 VK_RESOLVE_MODE_MAX_BIT_KHR = VK_RESOLVE_MODE_MAX_BIT,
6248 VK_RESOLVE_MODE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6249 } VkResolveModeFlagBits;
6250 typedef VkFlags VkResolveModeFlags;
6252 typedef enum VkDescriptorBindingFlagBits {
6253 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT = 0x00000001,
6254 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT = 0x00000002,
6255 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT = 0x00000004,
6256 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT = 0x00000008,
6257 VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
6258 VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT = VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
6259 VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT = VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
6260 VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT = VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT,
6261 VK_DESCRIPTOR_BINDING_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6262 } VkDescriptorBindingFlagBits;
6263 typedef VkFlags VkDescriptorBindingFlags;
6265 typedef enum VkSemaphoreWaitFlagBits {
6266 VK_SEMAPHORE_WAIT_ANY_BIT = 0x00000001,
6267 VK_SEMAPHORE_WAIT_ANY_BIT_KHR = VK_SEMAPHORE_WAIT_ANY_BIT,
6268 VK_SEMAPHORE_WAIT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
6269 } VkSemaphoreWaitFlagBits;
6270 typedef VkFlags VkSemaphoreWaitFlags;
6271 typedef struct VkPhysicalDeviceVulkan11Features {
6272 VkStructureType sType;
6274 VkBool32 storageBuffer16BitAccess;
6275 VkBool32 uniformAndStorageBuffer16BitAccess;
6276 VkBool32 storagePushConstant16;
6277 VkBool32 storageInputOutput16;
6279 VkBool32 multiviewGeometryShader;
6280 VkBool32 multiviewTessellationShader;
6281 VkBool32 variablePointersStorageBuffer;
6282 VkBool32 variablePointers;
6283 VkBool32 protectedMemory;
6284 VkBool32 samplerYcbcrConversion;
6285 VkBool32 shaderDrawParameters;
6286 } VkPhysicalDeviceVulkan11Features;
6288 typedef struct VkPhysicalDeviceVulkan11Properties {
6289 VkStructureType sType;
6291 deUint8 deviceUUID[VK_UUID_SIZE];
6292 deUint8 driverUUID[VK_UUID_SIZE];
6293 deUint8 deviceLUID[VK_LUID_SIZE];
6294 deUint32 deviceNodeMask;
6295 VkBool32 deviceLUIDValid;
6296 deUint32 subgroupSize;
6297 VkShaderStageFlags subgroupSupportedStages;
6298 VkSubgroupFeatureFlags subgroupSupportedOperations;
6299 VkBool32 subgroupQuadOperationsInAllStages;
6300 VkPointClippingBehavior pointClippingBehavior;
6301 deUint32 maxMultiviewViewCount;
6302 deUint32 maxMultiviewInstanceIndex;
6303 VkBool32 protectedNoFault;
6304 deUint32 maxPerSetDescriptors;
6305 VkDeviceSize maxMemoryAllocationSize;
6306 } VkPhysicalDeviceVulkan11Properties;
6308 typedef struct VkPhysicalDeviceVulkan12Features {
6309 VkStructureType sType;
6311 VkBool32 samplerMirrorClampToEdge;
6312 VkBool32 drawIndirectCount;
6313 VkBool32 storageBuffer8BitAccess;
6314 VkBool32 uniformAndStorageBuffer8BitAccess;
6315 VkBool32 storagePushConstant8;
6316 VkBool32 shaderBufferInt64Atomics;
6317 VkBool32 shaderSharedInt64Atomics;
6318 VkBool32 shaderFloat16;
6319 VkBool32 shaderInt8;
6320 VkBool32 descriptorIndexing;
6321 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6322 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6323 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6324 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6325 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6326 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6327 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6328 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6329 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6330 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6331 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6332 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6333 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6334 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6335 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6336 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6337 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6338 VkBool32 descriptorBindingPartiallyBound;
6339 VkBool32 descriptorBindingVariableDescriptorCount;
6340 VkBool32 runtimeDescriptorArray;
6341 VkBool32 samplerFilterMinmax;
6342 VkBool32 scalarBlockLayout;
6343 VkBool32 imagelessFramebuffer;
6344 VkBool32 uniformBufferStandardLayout;
6345 VkBool32 shaderSubgroupExtendedTypes;
6346 VkBool32 separateDepthStencilLayouts;
6347 VkBool32 hostQueryReset;
6348 VkBool32 timelineSemaphore;
6349 VkBool32 bufferDeviceAddress;
6350 VkBool32 bufferDeviceAddressCaptureReplay;
6351 VkBool32 bufferDeviceAddressMultiDevice;
6352 VkBool32 vulkanMemoryModel;
6353 VkBool32 vulkanMemoryModelDeviceScope;
6354 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6355 VkBool32 shaderOutputViewportIndex;
6356 VkBool32 shaderOutputLayer;
6357 VkBool32 subgroupBroadcastDynamicId;
6358 } VkPhysicalDeviceVulkan12Features;
6360 typedef struct VkConformanceVersion {
6365 } VkConformanceVersion;
6367 typedef struct VkPhysicalDeviceVulkan12Properties {
6368 VkStructureType sType;
6370 VkDriverId driverID;
6371 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6372 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6373 VkConformanceVersion conformanceVersion;
6374 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6375 VkShaderFloatControlsIndependence roundingModeIndependence;
6376 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6377 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6378 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6379 VkBool32 shaderDenormPreserveFloat16;
6380 VkBool32 shaderDenormPreserveFloat32;
6381 VkBool32 shaderDenormPreserveFloat64;
6382 VkBool32 shaderDenormFlushToZeroFloat16;
6383 VkBool32 shaderDenormFlushToZeroFloat32;
6384 VkBool32 shaderDenormFlushToZeroFloat64;
6385 VkBool32 shaderRoundingModeRTEFloat16;
6386 VkBool32 shaderRoundingModeRTEFloat32;
6387 VkBool32 shaderRoundingModeRTEFloat64;
6388 VkBool32 shaderRoundingModeRTZFloat16;
6389 VkBool32 shaderRoundingModeRTZFloat32;
6390 VkBool32 shaderRoundingModeRTZFloat64;
6391 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6392 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6393 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6394 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6395 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6396 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6397 VkBool32 robustBufferAccessUpdateAfterBind;
6398 VkBool32 quadDivergentImplicitLod;
6399 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6400 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6401 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6402 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6403 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6404 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6405 deUint32 maxPerStageUpdateAfterBindResources;
6406 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6407 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6408 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6409 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6410 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6411 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6412 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6413 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6414 VkResolveModeFlags supportedDepthResolveModes;
6415 VkResolveModeFlags supportedStencilResolveModes;
6416 VkBool32 independentResolveNone;
6417 VkBool32 independentResolve;
6418 VkBool32 filterMinmaxSingleComponentFormats;
6419 VkBool32 filterMinmaxImageComponentMapping;
6420 deUint64 maxTimelineSemaphoreValueDifference;
6421 VkSampleCountFlags framebufferIntegerColorSampleCounts;
6422 } VkPhysicalDeviceVulkan12Properties;
6424 typedef struct VkImageFormatListCreateInfo {
6425 VkStructureType sType;
6427 deUint32 viewFormatCount;
6428 const VkFormat* pViewFormats;
6429 } VkImageFormatListCreateInfo;
6431 typedef struct VkAttachmentDescription2 {
6432 VkStructureType sType;
6434 VkAttachmentDescriptionFlags flags;
6436 VkSampleCountFlagBits samples;
6437 VkAttachmentLoadOp loadOp;
6438 VkAttachmentStoreOp storeOp;
6439 VkAttachmentLoadOp stencilLoadOp;
6440 VkAttachmentStoreOp stencilStoreOp;
6441 VkImageLayout initialLayout;
6442 VkImageLayout finalLayout;
6443 } VkAttachmentDescription2;
6445 typedef struct VkAttachmentReference2 {
6446 VkStructureType sType;
6448 deUint32 attachment;
6449 VkImageLayout layout;
6450 VkImageAspectFlags aspectMask;
6451 } VkAttachmentReference2;
6453 typedef struct VkSubpassDescription2 {
6454 VkStructureType sType;
6456 VkSubpassDescriptionFlags flags;
6457 VkPipelineBindPoint pipelineBindPoint;
6459 deUint32 inputAttachmentCount;
6460 const VkAttachmentReference2* pInputAttachments;
6461 deUint32 colorAttachmentCount;
6462 const VkAttachmentReference2* pColorAttachments;
6463 const VkAttachmentReference2* pResolveAttachments;
6464 const VkAttachmentReference2* pDepthStencilAttachment;
6465 deUint32 preserveAttachmentCount;
6466 const deUint32* pPreserveAttachments;
6467 } VkSubpassDescription2;
6469 typedef struct VkSubpassDependency2 {
6470 VkStructureType sType;
6472 deUint32 srcSubpass;
6473 deUint32 dstSubpass;
6474 VkPipelineStageFlags srcStageMask;
6475 VkPipelineStageFlags dstStageMask;
6476 VkAccessFlags srcAccessMask;
6477 VkAccessFlags dstAccessMask;
6478 VkDependencyFlags dependencyFlags;
6480 } VkSubpassDependency2;
6482 typedef struct VkRenderPassCreateInfo2 {
6483 VkStructureType sType;
6485 VkRenderPassCreateFlags flags;
6486 deUint32 attachmentCount;
6487 const VkAttachmentDescription2* pAttachments;
6488 deUint32 subpassCount;
6489 const VkSubpassDescription2* pSubpasses;
6490 deUint32 dependencyCount;
6491 const VkSubpassDependency2* pDependencies;
6492 deUint32 correlatedViewMaskCount;
6493 const deUint32* pCorrelatedViewMasks;
6494 } VkRenderPassCreateInfo2;
6496 typedef struct VkSubpassBeginInfo {
6497 VkStructureType sType;
6499 VkSubpassContents contents;
6500 } VkSubpassBeginInfo;
6502 typedef struct VkSubpassEndInfo {
6503 VkStructureType sType;
6507 typedef struct VkPhysicalDevice8BitStorageFeatures {
6508 VkStructureType sType;
6510 VkBool32 storageBuffer8BitAccess;
6511 VkBool32 uniformAndStorageBuffer8BitAccess;
6512 VkBool32 storagePushConstant8;
6513 } VkPhysicalDevice8BitStorageFeatures;
6515 typedef struct VkPhysicalDeviceDriverProperties {
6516 VkStructureType sType;
6518 VkDriverId driverID;
6519 char driverName[VK_MAX_DRIVER_NAME_SIZE];
6520 char driverInfo[VK_MAX_DRIVER_INFO_SIZE];
6521 VkConformanceVersion conformanceVersion;
6522 } VkPhysicalDeviceDriverProperties;
6524 typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
6525 VkStructureType sType;
6527 VkBool32 shaderBufferInt64Atomics;
6528 VkBool32 shaderSharedInt64Atomics;
6529 } VkPhysicalDeviceShaderAtomicInt64Features;
6531 typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
6532 VkStructureType sType;
6534 VkBool32 shaderFloat16;
6535 VkBool32 shaderInt8;
6536 } VkPhysicalDeviceShaderFloat16Int8Features;
6538 typedef struct VkPhysicalDeviceFloatControlsProperties {
6539 VkStructureType sType;
6541 VkShaderFloatControlsIndependence denormBehaviorIndependence;
6542 VkShaderFloatControlsIndependence roundingModeIndependence;
6543 VkBool32 shaderSignedZeroInfNanPreserveFloat16;
6544 VkBool32 shaderSignedZeroInfNanPreserveFloat32;
6545 VkBool32 shaderSignedZeroInfNanPreserveFloat64;
6546 VkBool32 shaderDenormPreserveFloat16;
6547 VkBool32 shaderDenormPreserveFloat32;
6548 VkBool32 shaderDenormPreserveFloat64;
6549 VkBool32 shaderDenormFlushToZeroFloat16;
6550 VkBool32 shaderDenormFlushToZeroFloat32;
6551 VkBool32 shaderDenormFlushToZeroFloat64;
6552 VkBool32 shaderRoundingModeRTEFloat16;
6553 VkBool32 shaderRoundingModeRTEFloat32;
6554 VkBool32 shaderRoundingModeRTEFloat64;
6555 VkBool32 shaderRoundingModeRTZFloat16;
6556 VkBool32 shaderRoundingModeRTZFloat32;
6557 VkBool32 shaderRoundingModeRTZFloat64;
6558 } VkPhysicalDeviceFloatControlsProperties;
6560 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo {
6561 VkStructureType sType;
6563 deUint32 bindingCount;
6564 const VkDescriptorBindingFlags* pBindingFlags;
6565 } VkDescriptorSetLayoutBindingFlagsCreateInfo;
6567 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
6568 VkStructureType sType;
6570 VkBool32 shaderInputAttachmentArrayDynamicIndexing;
6571 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing;
6572 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing;
6573 VkBool32 shaderUniformBufferArrayNonUniformIndexing;
6574 VkBool32 shaderSampledImageArrayNonUniformIndexing;
6575 VkBool32 shaderStorageBufferArrayNonUniformIndexing;
6576 VkBool32 shaderStorageImageArrayNonUniformIndexing;
6577 VkBool32 shaderInputAttachmentArrayNonUniformIndexing;
6578 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing;
6579 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing;
6580 VkBool32 descriptorBindingUniformBufferUpdateAfterBind;
6581 VkBool32 descriptorBindingSampledImageUpdateAfterBind;
6582 VkBool32 descriptorBindingStorageImageUpdateAfterBind;
6583 VkBool32 descriptorBindingStorageBufferUpdateAfterBind;
6584 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind;
6585 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind;
6586 VkBool32 descriptorBindingUpdateUnusedWhilePending;
6587 VkBool32 descriptorBindingPartiallyBound;
6588 VkBool32 descriptorBindingVariableDescriptorCount;
6589 VkBool32 runtimeDescriptorArray;
6590 } VkPhysicalDeviceDescriptorIndexingFeatures;
6592 typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
6593 VkStructureType sType;
6595 deUint32 maxUpdateAfterBindDescriptorsInAllPools;
6596 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative;
6597 VkBool32 shaderSampledImageArrayNonUniformIndexingNative;
6598 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative;
6599 VkBool32 shaderStorageImageArrayNonUniformIndexingNative;
6600 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative;
6601 VkBool32 robustBufferAccessUpdateAfterBind;
6602 VkBool32 quadDivergentImplicitLod;
6603 deUint32 maxPerStageDescriptorUpdateAfterBindSamplers;
6604 deUint32 maxPerStageDescriptorUpdateAfterBindUniformBuffers;
6605 deUint32 maxPerStageDescriptorUpdateAfterBindStorageBuffers;
6606 deUint32 maxPerStageDescriptorUpdateAfterBindSampledImages;
6607 deUint32 maxPerStageDescriptorUpdateAfterBindStorageImages;
6608 deUint32 maxPerStageDescriptorUpdateAfterBindInputAttachments;
6609 deUint32 maxPerStageUpdateAfterBindResources;
6610 deUint32 maxDescriptorSetUpdateAfterBindSamplers;
6611 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffers;
6612 deUint32 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
6613 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffers;
6614 deUint32 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
6615 deUint32 maxDescriptorSetUpdateAfterBindSampledImages;
6616 deUint32 maxDescriptorSetUpdateAfterBindStorageImages;
6617 deUint32 maxDescriptorSetUpdateAfterBindInputAttachments;
6618 } VkPhysicalDeviceDescriptorIndexingProperties;
6620 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo {
6621 VkStructureType sType;
6623 deUint32 descriptorSetCount;
6624 const deUint32* pDescriptorCounts;
6625 } VkDescriptorSetVariableDescriptorCountAllocateInfo;
6627 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
6628 VkStructureType sType;
6630 deUint32 maxVariableDescriptorCount;
6631 } VkDescriptorSetVariableDescriptorCountLayoutSupport;
6633 typedef struct VkSubpassDescriptionDepthStencilResolve {
6634 VkStructureType sType;
6636 VkResolveModeFlagBits depthResolveMode;
6637 VkResolveModeFlagBits stencilResolveMode;
6638 const VkAttachmentReference2* pDepthStencilResolveAttachment;
6639 } VkSubpassDescriptionDepthStencilResolve;
6641 typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
6642 VkStructureType sType;
6644 VkResolveModeFlags supportedDepthResolveModes;
6645 VkResolveModeFlags supportedStencilResolveModes;
6646 VkBool32 independentResolveNone;
6647 VkBool32 independentResolve;
6648 } VkPhysicalDeviceDepthStencilResolveProperties;
6650 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
6651 VkStructureType sType;
6653 VkBool32 scalarBlockLayout;
6654 } VkPhysicalDeviceScalarBlockLayoutFeatures;
6656 typedef struct VkImageStencilUsageCreateInfo {
6657 VkStructureType sType;
6659 VkImageUsageFlags stencilUsage;
6660 } VkImageStencilUsageCreateInfo;
6662 typedef struct VkSamplerReductionModeCreateInfo {
6663 VkStructureType sType;
6665 VkSamplerReductionMode reductionMode;
6666 } VkSamplerReductionModeCreateInfo;
6668 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
6669 VkStructureType sType;
6671 VkBool32 filterMinmaxSingleComponentFormats;
6672 VkBool32 filterMinmaxImageComponentMapping;
6673 } VkPhysicalDeviceSamplerFilterMinmaxProperties;
6675 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
6676 VkStructureType sType;
6678 VkBool32 vulkanMemoryModel;
6679 VkBool32 vulkanMemoryModelDeviceScope;
6680 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains;
6681 } VkPhysicalDeviceVulkanMemoryModelFeatures;
6683 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
6684 VkStructureType sType;
6686 VkBool32 imagelessFramebuffer;
6687 } VkPhysicalDeviceImagelessFramebufferFeatures;
6689 typedef struct VkFramebufferAttachmentImageInfo {
6690 VkStructureType sType;
6692 VkImageCreateFlags flags;
6693 VkImageUsageFlags usage;
6696 deUint32 layerCount;
6697 deUint32 viewFormatCount;
6698 const VkFormat* pViewFormats;
6699 } VkFramebufferAttachmentImageInfo;
6701 typedef struct VkFramebufferAttachmentsCreateInfo {
6702 VkStructureType sType;
6704 deUint32 attachmentImageInfoCount;
6705 const VkFramebufferAttachmentImageInfo* pAttachmentImageInfos;
6706 } VkFramebufferAttachmentsCreateInfo;
6708 typedef struct VkRenderPassAttachmentBeginInfo {
6709 VkStructureType sType;
6711 deUint32 attachmentCount;
6712 const VkImageView* pAttachments;
6713 } VkRenderPassAttachmentBeginInfo;
6715 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
6716 VkStructureType sType;
6718 VkBool32 uniformBufferStandardLayout;
6719 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
6721 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
6722 VkStructureType sType;
6724 VkBool32 shaderSubgroupExtendedTypes;
6725 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
6727 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
6728 VkStructureType sType;
6730 VkBool32 separateDepthStencilLayouts;
6731 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
6733 typedef struct VkAttachmentReferenceStencilLayout {
6734 VkStructureType sType;
6736 VkImageLayout stencilLayout;
6737 } VkAttachmentReferenceStencilLayout;
6739 typedef struct VkAttachmentDescriptionStencilLayout {
6740 VkStructureType sType;
6742 VkImageLayout stencilInitialLayout;
6743 VkImageLayout stencilFinalLayout;
6744 } VkAttachmentDescriptionStencilLayout;
6746 typedef struct VkPhysicalDeviceHostQueryResetFeatures {
6747 VkStructureType sType;
6749 VkBool32 hostQueryReset;
6750 } VkPhysicalDeviceHostQueryResetFeatures;
6752 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
6753 VkStructureType sType;
6755 VkBool32 timelineSemaphore;
6756 } VkPhysicalDeviceTimelineSemaphoreFeatures;
6758 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
6759 VkStructureType sType;
6761 deUint64 maxTimelineSemaphoreValueDifference;
6762 } VkPhysicalDeviceTimelineSemaphoreProperties;
6764 typedef struct VkSemaphoreTypeCreateInfo {
6765 VkStructureType sType;
6767 VkSemaphoreType semaphoreType;
6768 deUint64 initialValue;
6769 } VkSemaphoreTypeCreateInfo;
6771 typedef struct VkTimelineSemaphoreSubmitInfo {
6772 VkStructureType sType;
6774 deUint32 waitSemaphoreValueCount;
6775 const deUint64* pWaitSemaphoreValues;
6776 deUint32 signalSemaphoreValueCount;
6777 const deUint64* pSignalSemaphoreValues;
6778 } VkTimelineSemaphoreSubmitInfo;
6780 typedef struct VkSemaphoreWaitInfo {
6781 VkStructureType sType;
6783 VkSemaphoreWaitFlags flags;
6784 deUint32 semaphoreCount;
6785 const VkSemaphore* pSemaphores;
6786 const deUint64* pValues;
6787 } VkSemaphoreWaitInfo;
6789 typedef struct VkSemaphoreSignalInfo {
6790 VkStructureType sType;
6792 VkSemaphore semaphore;
6794 } VkSemaphoreSignalInfo;
6796 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
6797 VkStructureType sType;
6799 VkBool32 bufferDeviceAddress;
6800 VkBool32 bufferDeviceAddressCaptureReplay;
6801 VkBool32 bufferDeviceAddressMultiDevice;
6802 } VkPhysicalDeviceBufferDeviceAddressFeatures;
6804 typedef struct VkBufferDeviceAddressInfo {
6805 VkStructureType sType;
6808 } VkBufferDeviceAddressInfo;
6810 typedef struct VkBufferOpaqueCaptureAddressCreateInfo {
6811 VkStructureType sType;
6813 deUint64 opaqueCaptureAddress;
6814 } VkBufferOpaqueCaptureAddressCreateInfo;
6816 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {
6817 VkStructureType sType;
6819 deUint64 opaqueCaptureAddress;
6820 } VkMemoryOpaqueCaptureAddressAllocateInfo;
6822 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo {
6823 VkStructureType sType;
6825 VkDeviceMemory memory;
6826 } VkDeviceMemoryOpaqueCaptureAddressInfo;
6828 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6829 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCount)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
6830 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
6831 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
6832 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
6833 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
6834 typedef void (VKAPI_PTR *PFN_vkResetQueryPool)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
6835 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValue)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
6836 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphores)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
6837 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphore)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
6838 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6839 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddress)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
6840 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddress)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6842 #ifndef VK_NO_PROTOTYPES
6843 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCount(
6844 VkCommandBuffer commandBuffer,
6846 VkDeviceSize offset,
6847 VkBuffer countBuffer,
6848 VkDeviceSize countBufferOffset,
6849 deUint32 maxDrawCount,
6852 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCount(
6853 VkCommandBuffer commandBuffer,
6855 VkDeviceSize offset,
6856 VkBuffer countBuffer,
6857 VkDeviceSize countBufferOffset,
6858 deUint32 maxDrawCount,
6861 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2(
6863 const VkRenderPassCreateInfo2* pCreateInfo,
6864 const VkAllocationCallbacks* pAllocator,
6865 VkRenderPass* pRenderPass);
6867 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2(
6868 VkCommandBuffer commandBuffer,
6869 const VkRenderPassBeginInfo* pRenderPassBegin,
6870 const VkSubpassBeginInfo* pSubpassBeginInfo);
6872 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2(
6873 VkCommandBuffer commandBuffer,
6874 const VkSubpassBeginInfo* pSubpassBeginInfo,
6875 const VkSubpassEndInfo* pSubpassEndInfo);
6877 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2(
6878 VkCommandBuffer commandBuffer,
6879 const VkSubpassEndInfo* pSubpassEndInfo);
6881 VKAPI_ATTR void VKAPI_CALL vkResetQueryPool(
6883 VkQueryPool queryPool,
6884 deUint32 firstQuery,
6885 deUint32 queryCount);
6887 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValue(
6889 VkSemaphore semaphore,
6892 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphores(
6894 const VkSemaphoreWaitInfo* pWaitInfo,
6897 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphore(
6899 const VkSemaphoreSignalInfo* pSignalInfo);
6901 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddress(
6903 const VkBufferDeviceAddressInfo* pInfo);
6905 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddress(
6907 const VkBufferDeviceAddressInfo* pInfo);
6909 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddress(
6911 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
6915 #define VK_KHR_surface 1
6916 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
6917 #define VK_KHR_SURFACE_SPEC_VERSION 25
6918 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
6920 typedef enum VkPresentModeKHR {
6921 VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
6922 VK_PRESENT_MODE_MAILBOX_KHR = 1,
6923 VK_PRESENT_MODE_FIFO_KHR = 2,
6924 VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3,
6925 VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR = 1000111000,
6926 VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR = 1000111001,
6927 VK_PRESENT_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
6930 typedef enum VkColorSpaceKHR {
6931 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
6932 VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
6933 VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
6934 VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT = 1000104003,
6935 VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT = 1000104004,
6936 VK_COLOR_SPACE_BT709_LINEAR_EXT = 1000104005,
6937 VK_COLOR_SPACE_BT709_NONLINEAR_EXT = 1000104006,
6938 VK_COLOR_SPACE_BT2020_LINEAR_EXT = 1000104007,
6939 VK_COLOR_SPACE_HDR10_ST2084_EXT = 1000104008,
6940 VK_COLOR_SPACE_DOLBYVISION_EXT = 1000104009,
6941 VK_COLOR_SPACE_HDR10_HLG_EXT = 1000104010,
6942 VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT = 1000104011,
6943 VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT = 1000104012,
6944 VK_COLOR_SPACE_PASS_THROUGH_EXT = 1000104013,
6945 VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT = 1000104014,
6946 VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000,
6947 VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR,
6948 VK_COLOR_SPACE_DCI_P3_LINEAR_EXT = VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT,
6949 VK_COLOR_SPACE_MAX_ENUM_KHR = 0x7FFFFFFF
6952 typedef enum VkSurfaceTransformFlagBitsKHR {
6953 VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 0x00000001,
6954 VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 0x00000002,
6955 VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 0x00000004,
6956 VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 0x00000008,
6957 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 0x00000010,
6958 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 0x00000020,
6959 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 0x00000040,
6960 VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 0x00000080,
6961 VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 0x00000100,
6962 VK_SURFACE_TRANSFORM_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6963 } VkSurfaceTransformFlagBitsKHR;
6965 typedef enum VkCompositeAlphaFlagBitsKHR {
6966 VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
6967 VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 0x00000002,
6968 VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 0x00000004,
6969 VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 0x00000008,
6970 VK_COMPOSITE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
6971 } VkCompositeAlphaFlagBitsKHR;
6972 typedef VkFlags VkCompositeAlphaFlagsKHR;
6973 typedef VkFlags VkSurfaceTransformFlagsKHR;
6974 typedef struct VkSurfaceCapabilitiesKHR {
6975 deUint32 minImageCount;
6976 deUint32 maxImageCount;
6977 VkExtent2D currentExtent;
6978 VkExtent2D minImageExtent;
6979 VkExtent2D maxImageExtent;
6980 deUint32 maxImageArrayLayers;
6981 VkSurfaceTransformFlagsKHR supportedTransforms;
6982 VkSurfaceTransformFlagBitsKHR currentTransform;
6983 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
6984 VkImageUsageFlags supportedUsageFlags;
6985 } VkSurfaceCapabilitiesKHR;
6987 typedef struct VkSurfaceFormatKHR {
6989 VkColorSpaceKHR colorSpace;
6990 } VkSurfaceFormatKHR;
6992 typedef void (VKAPI_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator);
6993 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported);
6994 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
6995 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pSurfaceFormatCount, VkSurfaceFormatKHR* pSurfaceFormats);
6996 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pPresentModeCount, VkPresentModeKHR* pPresentModes);
6998 #ifndef VK_NO_PROTOTYPES
6999 VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
7000 VkInstance instance,
7001 VkSurfaceKHR surface,
7002 const VkAllocationCallbacks* pAllocator);
7004 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
7005 VkPhysicalDevice physicalDevice,
7006 deUint32 queueFamilyIndex,
7007 VkSurfaceKHR surface,
7008 VkBool32* pSupported);
7010 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
7011 VkPhysicalDevice physicalDevice,
7012 VkSurfaceKHR surface,
7013 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities);
7015 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
7016 VkPhysicalDevice physicalDevice,
7017 VkSurfaceKHR surface,
7018 deUint32* pSurfaceFormatCount,
7019 VkSurfaceFormatKHR* pSurfaceFormats);
7021 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
7022 VkPhysicalDevice physicalDevice,
7023 VkSurfaceKHR surface,
7024 deUint32* pPresentModeCount,
7025 VkPresentModeKHR* pPresentModes);
7029 #define VK_KHR_swapchain 1
7030 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
7031 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
7032 #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
7034 typedef enum VkSwapchainCreateFlagBitsKHR {
7035 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001,
7036 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002,
7037 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004,
7038 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7039 } VkSwapchainCreateFlagBitsKHR;
7040 typedef VkFlags VkSwapchainCreateFlagsKHR;
7042 typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
7043 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 0x00000001,
7044 VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 0x00000002,
7045 VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 0x00000004,
7046 VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 0x00000008,
7047 VK_DEVICE_GROUP_PRESENT_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7048 } VkDeviceGroupPresentModeFlagBitsKHR;
7049 typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
7050 typedef struct VkSwapchainCreateInfoKHR {
7051 VkStructureType sType;
7053 VkSwapchainCreateFlagsKHR flags;
7054 VkSurfaceKHR surface;
7055 deUint32 minImageCount;
7056 VkFormat imageFormat;
7057 VkColorSpaceKHR imageColorSpace;
7058 VkExtent2D imageExtent;
7059 deUint32 imageArrayLayers;
7060 VkImageUsageFlags imageUsage;
7061 VkSharingMode imageSharingMode;
7062 deUint32 queueFamilyIndexCount;
7063 const deUint32* pQueueFamilyIndices;
7064 VkSurfaceTransformFlagBitsKHR preTransform;
7065 VkCompositeAlphaFlagBitsKHR compositeAlpha;
7066 VkPresentModeKHR presentMode;
7068 VkSwapchainKHR oldSwapchain;
7069 } VkSwapchainCreateInfoKHR;
7071 typedef struct VkPresentInfoKHR {
7072 VkStructureType sType;
7074 deUint32 waitSemaphoreCount;
7075 const VkSemaphore* pWaitSemaphores;
7076 deUint32 swapchainCount;
7077 const VkSwapchainKHR* pSwapchains;
7078 const deUint32* pImageIndices;
7082 typedef struct VkImageSwapchainCreateInfoKHR {
7083 VkStructureType sType;
7085 VkSwapchainKHR swapchain;
7086 } VkImageSwapchainCreateInfoKHR;
7088 typedef struct VkBindImageMemorySwapchainInfoKHR {
7089 VkStructureType sType;
7091 VkSwapchainKHR swapchain;
7092 deUint32 imageIndex;
7093 } VkBindImageMemorySwapchainInfoKHR;
7095 typedef struct VkAcquireNextImageInfoKHR {
7096 VkStructureType sType;
7098 VkSwapchainKHR swapchain;
7100 VkSemaphore semaphore;
7102 deUint32 deviceMask;
7103 } VkAcquireNextImageInfoKHR;
7105 typedef struct VkDeviceGroupPresentCapabilitiesKHR {
7106 VkStructureType sType;
7108 deUint32 presentMask[VK_MAX_DEVICE_GROUP_SIZE];
7109 VkDeviceGroupPresentModeFlagsKHR modes;
7110 } VkDeviceGroupPresentCapabilitiesKHR;
7112 typedef struct VkDeviceGroupPresentInfoKHR {
7113 VkStructureType sType;
7115 deUint32 swapchainCount;
7116 const deUint32* pDeviceMasks;
7117 VkDeviceGroupPresentModeFlagBitsKHR mode;
7118 } VkDeviceGroupPresentInfoKHR;
7120 typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
7121 VkStructureType sType;
7123 VkDeviceGroupPresentModeFlagsKHR modes;
7124 } VkDeviceGroupSwapchainCreateInfoKHR;
7126 typedef VkResult (VKAPI_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchain);
7127 typedef void (VKAPI_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks* pAllocator);
7128 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pSwapchainImageCount, VkImage* pSwapchainImages);
7129 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 timeout, VkSemaphore semaphore, VkFence fence, deUint32* pImageIndex);
7130 typedef VkResult (VKAPI_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR* pPresentInfo);
7131 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7132 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes);
7133 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, deUint32* pRectCount, VkRect2D* pRects);
7134 typedef VkResult (VKAPI_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR* pAcquireInfo, deUint32* pImageIndex);
7136 #ifndef VK_NO_PROTOTYPES
7137 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
7139 const VkSwapchainCreateInfoKHR* pCreateInfo,
7140 const VkAllocationCallbacks* pAllocator,
7141 VkSwapchainKHR* pSwapchain);
7143 VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
7145 VkSwapchainKHR swapchain,
7146 const VkAllocationCallbacks* pAllocator);
7148 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
7150 VkSwapchainKHR swapchain,
7151 deUint32* pSwapchainImageCount,
7152 VkImage* pSwapchainImages);
7154 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
7156 VkSwapchainKHR swapchain,
7158 VkSemaphore semaphore,
7160 deUint32* pImageIndex);
7162 VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
7164 const VkPresentInfoKHR* pPresentInfo);
7166 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupPresentCapabilitiesKHR(
7168 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities);
7170 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModesKHR(
7172 VkSurfaceKHR surface,
7173 VkDeviceGroupPresentModeFlagsKHR* pModes);
7175 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDevicePresentRectanglesKHR(
7176 VkPhysicalDevice physicalDevice,
7177 VkSurfaceKHR surface,
7178 deUint32* pRectCount,
7181 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImage2KHR(
7183 const VkAcquireNextImageInfoKHR* pAcquireInfo,
7184 deUint32* pImageIndex);
7188 #define VK_KHR_display 1
7189 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR)
7190 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR)
7191 #define VK_KHR_DISPLAY_SPEC_VERSION 23
7192 #define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
7193 typedef VkFlags VkDisplayModeCreateFlagsKHR;
7195 typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
7196 VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x00000001,
7197 VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x00000002,
7198 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x00000004,
7199 VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x00000008,
7200 VK_DISPLAY_PLANE_ALPHA_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7201 } VkDisplayPlaneAlphaFlagBitsKHR;
7202 typedef VkFlags VkDisplayPlaneAlphaFlagsKHR;
7203 typedef VkFlags VkDisplaySurfaceCreateFlagsKHR;
7204 typedef struct VkDisplayModeParametersKHR {
7205 VkExtent2D visibleRegion;
7206 deUint32 refreshRate;
7207 } VkDisplayModeParametersKHR;
7209 typedef struct VkDisplayModeCreateInfoKHR {
7210 VkStructureType sType;
7212 VkDisplayModeCreateFlagsKHR flags;
7213 VkDisplayModeParametersKHR parameters;
7214 } VkDisplayModeCreateInfoKHR;
7216 typedef struct VkDisplayModePropertiesKHR {
7217 VkDisplayModeKHR displayMode;
7218 VkDisplayModeParametersKHR parameters;
7219 } VkDisplayModePropertiesKHR;
7221 typedef struct VkDisplayPlaneCapabilitiesKHR {
7222 VkDisplayPlaneAlphaFlagsKHR supportedAlpha;
7223 VkOffset2D minSrcPosition;
7224 VkOffset2D maxSrcPosition;
7225 VkExtent2D minSrcExtent;
7226 VkExtent2D maxSrcExtent;
7227 VkOffset2D minDstPosition;
7228 VkOffset2D maxDstPosition;
7229 VkExtent2D minDstExtent;
7230 VkExtent2D maxDstExtent;
7231 } VkDisplayPlaneCapabilitiesKHR;
7233 typedef struct VkDisplayPlanePropertiesKHR {
7234 VkDisplayKHR currentDisplay;
7235 deUint32 currentStackIndex;
7236 } VkDisplayPlanePropertiesKHR;
7238 typedef struct VkDisplayPropertiesKHR {
7239 VkDisplayKHR display;
7240 const char* displayName;
7241 VkExtent2D physicalDimensions;
7242 VkExtent2D physicalResolution;
7243 VkSurfaceTransformFlagsKHR supportedTransforms;
7244 VkBool32 planeReorderPossible;
7245 VkBool32 persistentContent;
7246 } VkDisplayPropertiesKHR;
7248 typedef struct VkDisplaySurfaceCreateInfoKHR {
7249 VkStructureType sType;
7251 VkDisplaySurfaceCreateFlagsKHR flags;
7252 VkDisplayModeKHR displayMode;
7253 deUint32 planeIndex;
7254 deUint32 planeStackIndex;
7255 VkSurfaceTransformFlagBitsKHR transform;
7257 VkDisplayPlaneAlphaFlagBitsKHR alphaMode;
7258 VkExtent2D imageExtent;
7259 } VkDisplaySurfaceCreateInfoKHR;
7261 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPropertiesKHR* pProperties);
7262 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
7263 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, deUint32 planeIndex, deUint32* pDisplayCount, VkDisplayKHR* pDisplays);
7264 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
7265 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
7266 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, deUint32 planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7267 typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
7269 #ifndef VK_NO_PROTOTYPES
7270 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPropertiesKHR(
7271 VkPhysicalDevice physicalDevice,
7272 deUint32* pPropertyCount,
7273 VkDisplayPropertiesKHR* pProperties);
7275 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
7276 VkPhysicalDevice physicalDevice,
7277 deUint32* pPropertyCount,
7278 VkDisplayPlanePropertiesKHR* pProperties);
7280 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneSupportedDisplaysKHR(
7281 VkPhysicalDevice physicalDevice,
7282 deUint32 planeIndex,
7283 deUint32* pDisplayCount,
7284 VkDisplayKHR* pDisplays);
7286 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModePropertiesKHR(
7287 VkPhysicalDevice physicalDevice,
7288 VkDisplayKHR display,
7289 deUint32* pPropertyCount,
7290 VkDisplayModePropertiesKHR* pProperties);
7292 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayModeKHR(
7293 VkPhysicalDevice physicalDevice,
7294 VkDisplayKHR display,
7295 const VkDisplayModeCreateInfoKHR* pCreateInfo,
7296 const VkAllocationCallbacks* pAllocator,
7297 VkDisplayModeKHR* pMode);
7299 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilitiesKHR(
7300 VkPhysicalDevice physicalDevice,
7301 VkDisplayModeKHR mode,
7302 deUint32 planeIndex,
7303 VkDisplayPlaneCapabilitiesKHR* pCapabilities);
7305 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDisplayPlaneSurfaceKHR(
7306 VkInstance instance,
7307 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
7308 const VkAllocationCallbacks* pAllocator,
7309 VkSurfaceKHR* pSurface);
7313 #define VK_KHR_display_swapchain 1
7314 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10
7315 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
7316 typedef struct VkDisplayPresentInfoKHR {
7317 VkStructureType sType;
7321 VkBool32 persistent;
7322 } VkDisplayPresentInfoKHR;
7324 typedef VkResult (VKAPI_PTR *PFN_vkCreateSharedSwapchainsKHR)(VkDevice device, deUint32 swapchainCount, const VkSwapchainCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkSwapchainKHR* pSwapchains);
7326 #ifndef VK_NO_PROTOTYPES
7327 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSharedSwapchainsKHR(
7329 deUint32 swapchainCount,
7330 const VkSwapchainCreateInfoKHR* pCreateInfos,
7331 const VkAllocationCallbacks* pAllocator,
7332 VkSwapchainKHR* pSwapchains);
7336 #define VK_KHR_sampler_mirror_clamp_to_edge 1
7337 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3
7338 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge"
7341 #define VK_KHR_multiview 1
7342 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1
7343 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview"
7344 typedef VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfoKHR;
7346 typedef VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeaturesKHR;
7348 typedef VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewPropertiesKHR;
7352 #define VK_KHR_get_physical_device_properties2 1
7353 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2
7354 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2"
7355 typedef VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2KHR;
7357 typedef VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2KHR;
7359 typedef VkFormatProperties2 VkFormatProperties2KHR;
7361 typedef VkImageFormatProperties2 VkImageFormatProperties2KHR;
7363 typedef VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2KHR;
7365 typedef VkQueueFamilyProperties2 VkQueueFamilyProperties2KHR;
7367 typedef VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2KHR;
7369 typedef VkSparseImageFormatProperties2 VkSparseImageFormatProperties2KHR;
7371 typedef VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2KHR;
7373 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2* pFeatures);
7374 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2* pProperties);
7375 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2* pFormatProperties);
7376 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, VkImageFormatProperties2* pImageFormatProperties);
7377 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pQueueFamilyPropertyCount, VkQueueFamilyProperties2* pQueueFamilyProperties);
7378 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7379 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, deUint32* pPropertyCount, VkSparseImageFormatProperties2* pProperties);
7381 #ifndef VK_NO_PROTOTYPES
7382 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures2KHR(
7383 VkPhysicalDevice physicalDevice,
7384 VkPhysicalDeviceFeatures2* pFeatures);
7386 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties2KHR(
7387 VkPhysicalDevice physicalDevice,
7388 VkPhysicalDeviceProperties2* pProperties);
7390 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties2KHR(
7391 VkPhysicalDevice physicalDevice,
7393 VkFormatProperties2* pFormatProperties);
7395 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties2KHR(
7396 VkPhysicalDevice physicalDevice,
7397 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
7398 VkImageFormatProperties2* pImageFormatProperties);
7400 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties2KHR(
7401 VkPhysicalDevice physicalDevice,
7402 deUint32* pQueueFamilyPropertyCount,
7403 VkQueueFamilyProperties2* pQueueFamilyProperties);
7405 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties2KHR(
7406 VkPhysicalDevice physicalDevice,
7407 VkPhysicalDeviceMemoryProperties2* pMemoryProperties);
7409 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
7410 VkPhysicalDevice physicalDevice,
7411 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
7412 deUint32* pPropertyCount,
7413 VkSparseImageFormatProperties2* pProperties);
7417 #define VK_KHR_device_group 1
7418 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4
7419 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group"
7420 typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR;
7422 typedef VkPeerMemoryFeatureFlagBits VkPeerMemoryFeatureFlagBitsKHR;
7424 typedef VkMemoryAllocateFlags VkMemoryAllocateFlagsKHR;
7426 typedef VkMemoryAllocateFlagBits VkMemoryAllocateFlagBitsKHR;
7428 typedef VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfoKHR;
7430 typedef VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfoKHR;
7432 typedef VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfoKHR;
7434 typedef VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfoKHR;
7436 typedef VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfoKHR;
7438 typedef VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfoKHR;
7440 typedef VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfoKHR;
7442 typedef void (VKAPI_PTR *PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice device, deUint32 heapIndex, deUint32 localDeviceIndex, deUint32 remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7443 typedef void (VKAPI_PTR *PFN_vkCmdSetDeviceMaskKHR)(VkCommandBuffer commandBuffer, deUint32 deviceMask);
7444 typedef void (VKAPI_PTR *PFN_vkCmdDispatchBaseKHR)(VkCommandBuffer commandBuffer, deUint32 baseGroupX, deUint32 baseGroupY, deUint32 baseGroupZ, deUint32 groupCountX, deUint32 groupCountY, deUint32 groupCountZ);
7446 #ifndef VK_NO_PROTOTYPES
7447 VKAPI_ATTR void VKAPI_CALL vkGetDeviceGroupPeerMemoryFeaturesKHR(
7450 deUint32 localDeviceIndex,
7451 deUint32 remoteDeviceIndex,
7452 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures);
7454 VKAPI_ATTR void VKAPI_CALL vkCmdSetDeviceMaskKHR(
7455 VkCommandBuffer commandBuffer,
7456 deUint32 deviceMask);
7458 VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
7459 VkCommandBuffer commandBuffer,
7460 deUint32 baseGroupX,
7461 deUint32 baseGroupY,
7462 deUint32 baseGroupZ,
7463 deUint32 groupCountX,
7464 deUint32 groupCountY,
7465 deUint32 groupCountZ);
7469 #define VK_KHR_shader_draw_parameters 1
7470 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1
7471 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters"
7474 #define VK_KHR_maintenance1 1
7475 #define VK_KHR_MAINTENANCE1_SPEC_VERSION 2
7476 #define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1"
7477 typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
7479 typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
7481 #ifndef VK_NO_PROTOTYPES
7482 VKAPI_ATTR void VKAPI_CALL vkTrimCommandPoolKHR(
7484 VkCommandPool commandPool,
7485 VkCommandPoolTrimFlags flags);
7489 #define VK_KHR_device_group_creation 1
7490 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1
7491 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation"
7492 #define VK_MAX_DEVICE_GROUP_SIZE_KHR VK_MAX_DEVICE_GROUP_SIZE
7493 typedef VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupPropertiesKHR;
7495 typedef VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfoKHR;
7497 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance instance, deUint32* pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7499 #ifndef VK_NO_PROTOTYPES
7500 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceGroupsKHR(
7501 VkInstance instance,
7502 deUint32* pPhysicalDeviceGroupCount,
7503 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties);
7507 #define VK_KHR_external_memory_capabilities 1
7508 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
7509 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities"
7510 #define VK_LUID_SIZE_KHR VK_LUID_SIZE
7511 typedef VkExternalMemoryHandleTypeFlags VkExternalMemoryHandleTypeFlagsKHR;
7513 typedef VkExternalMemoryHandleTypeFlagBits VkExternalMemoryHandleTypeFlagBitsKHR;
7515 typedef VkExternalMemoryFeatureFlags VkExternalMemoryFeatureFlagsKHR;
7517 typedef VkExternalMemoryFeatureFlagBits VkExternalMemoryFeatureFlagBitsKHR;
7519 typedef VkExternalMemoryProperties VkExternalMemoryPropertiesKHR;
7521 typedef VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfoKHR;
7523 typedef VkExternalImageFormatProperties VkExternalImageFormatPropertiesKHR;
7525 typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;
7527 typedef VkExternalBufferProperties VkExternalBufferPropertiesKHR;
7529 typedef VkPhysicalDeviceIDProperties VkPhysicalDeviceIDPropertiesKHR;
7531 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, VkExternalBufferProperties* pExternalBufferProperties);
7533 #ifndef VK_NO_PROTOTYPES
7534 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(
7535 VkPhysicalDevice physicalDevice,
7536 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
7537 VkExternalBufferProperties* pExternalBufferProperties);
7541 #define VK_KHR_external_memory 1
7542 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1
7543 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory"
7544 #define VK_QUEUE_FAMILY_EXTERNAL_KHR VK_QUEUE_FAMILY_EXTERNAL
7545 typedef VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfoKHR;
7547 typedef VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfoKHR;
7549 typedef VkExportMemoryAllocateInfo VkExportMemoryAllocateInfoKHR;
7553 #define VK_KHR_external_memory_fd 1
7554 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1
7555 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd"
7556 typedef struct VkImportMemoryFdInfoKHR {
7557 VkStructureType sType;
7559 VkExternalMemoryHandleTypeFlagBits handleType;
7561 } VkImportMemoryFdInfoKHR;
7563 typedef struct VkMemoryFdPropertiesKHR {
7564 VkStructureType sType;
7566 deUint32 memoryTypeBits;
7567 } VkMemoryFdPropertiesKHR;
7569 typedef struct VkMemoryGetFdInfoKHR {
7570 VkStructureType sType;
7572 VkDeviceMemory memory;
7573 VkExternalMemoryHandleTypeFlagBits handleType;
7574 } VkMemoryGetFdInfoKHR;
7576 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdKHR)(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd);
7577 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryFdPropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7579 #ifndef VK_NO_PROTOTYPES
7580 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdKHR(
7582 const VkMemoryGetFdInfoKHR* pGetFdInfo,
7585 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryFdPropertiesKHR(
7587 VkExternalMemoryHandleTypeFlagBits handleType,
7589 VkMemoryFdPropertiesKHR* pMemoryFdProperties);
7593 #define VK_KHR_external_semaphore_capabilities 1
7594 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1
7595 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities"
7596 typedef VkExternalSemaphoreHandleTypeFlags VkExternalSemaphoreHandleTypeFlagsKHR;
7598 typedef VkExternalSemaphoreHandleTypeFlagBits VkExternalSemaphoreHandleTypeFlagBitsKHR;
7600 typedef VkExternalSemaphoreFeatureFlags VkExternalSemaphoreFeatureFlagsKHR;
7602 typedef VkExternalSemaphoreFeatureFlagBits VkExternalSemaphoreFeatureFlagBitsKHR;
7604 typedef VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfoKHR;
7606 typedef VkExternalSemaphoreProperties VkExternalSemaphorePropertiesKHR;
7608 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7610 #ifndef VK_NO_PROTOTYPES
7611 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
7612 VkPhysicalDevice physicalDevice,
7613 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
7614 VkExternalSemaphoreProperties* pExternalSemaphoreProperties);
7618 #define VK_KHR_external_semaphore 1
7619 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
7620 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore"
7621 typedef VkSemaphoreImportFlags VkSemaphoreImportFlagsKHR;
7623 typedef VkSemaphoreImportFlagBits VkSemaphoreImportFlagBitsKHR;
7625 typedef VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfoKHR;
7629 #define VK_KHR_external_semaphore_fd 1
7630 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1
7631 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd"
7632 typedef struct VkImportSemaphoreFdInfoKHR {
7633 VkStructureType sType;
7635 VkSemaphore semaphore;
7636 VkSemaphoreImportFlags flags;
7637 VkExternalSemaphoreHandleTypeFlagBits handleType;
7639 } VkImportSemaphoreFdInfoKHR;
7641 typedef struct VkSemaphoreGetFdInfoKHR {
7642 VkStructureType sType;
7644 VkSemaphore semaphore;
7645 VkExternalSemaphoreHandleTypeFlagBits handleType;
7646 } VkSemaphoreGetFdInfoKHR;
7648 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreFdKHR)(VkDevice device, const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7649 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreFdKHR)(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, int* pFd);
7651 #ifndef VK_NO_PROTOTYPES
7652 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreFdKHR(
7654 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo);
7656 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreFdKHR(
7658 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
7663 #define VK_KHR_push_descriptor 1
7664 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2
7665 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor"
7666 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
7667 VkStructureType sType;
7669 deUint32 maxPushDescriptors;
7670 } VkPhysicalDevicePushDescriptorPropertiesKHR;
7672 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetKHR)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 set, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites);
7673 typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer commandBuffer, VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, deUint32 set, const void* pData);
7675 #ifndef VK_NO_PROTOTYPES
7676 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetKHR(
7677 VkCommandBuffer commandBuffer,
7678 VkPipelineBindPoint pipelineBindPoint,
7679 VkPipelineLayout layout,
7681 deUint32 descriptorWriteCount,
7682 const VkWriteDescriptorSet* pDescriptorWrites);
7684 VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplateKHR(
7685 VkCommandBuffer commandBuffer,
7686 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7687 VkPipelineLayout layout,
7693 #define VK_KHR_shader_float16_int8 1
7694 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1
7695 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8"
7696 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8FeaturesKHR;
7698 typedef VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceFloat16Int8FeaturesKHR;
7702 #define VK_KHR_16bit_storage 1
7703 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1
7704 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage"
7705 typedef VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeaturesKHR;
7709 #define VK_KHR_incremental_present 1
7710 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2
7711 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present"
7712 typedef struct VkRectLayerKHR {
7718 typedef struct VkPresentRegionKHR {
7719 deUint32 rectangleCount;
7720 const VkRectLayerKHR* pRectangles;
7721 } VkPresentRegionKHR;
7723 typedef struct VkPresentRegionsKHR {
7724 VkStructureType sType;
7726 deUint32 swapchainCount;
7727 const VkPresentRegionKHR* pRegions;
7728 } VkPresentRegionsKHR;
7732 #define VK_KHR_descriptor_update_template 1
7733 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR;
7735 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION 1
7736 #define VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME "VK_KHR_descriptor_update_template"
7737 typedef VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateTypeKHR;
7739 typedef VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlagsKHR;
7741 typedef VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntryKHR;
7743 typedef VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfoKHR;
7745 typedef VkResult (VKAPI_PTR *PFN_vkCreateDescriptorUpdateTemplateKHR)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7746 typedef void (VKAPI_PTR *PFN_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks* pAllocator);
7747 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void* pData);
7749 #ifndef VK_NO_PROTOTYPES
7750 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorUpdateTemplateKHR(
7752 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
7753 const VkAllocationCallbacks* pAllocator,
7754 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate);
7756 VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorUpdateTemplateKHR(
7758 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7759 const VkAllocationCallbacks* pAllocator);
7761 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateKHR(
7763 VkDescriptorSet descriptorSet,
7764 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
7769 #define VK_KHR_imageless_framebuffer 1
7770 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1
7771 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer"
7772 typedef VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeaturesKHR;
7774 typedef VkFramebufferAttachmentsCreateInfo VkFramebufferAttachmentsCreateInfoKHR;
7776 typedef VkFramebufferAttachmentImageInfo VkFramebufferAttachmentImageInfoKHR;
7778 typedef VkRenderPassAttachmentBeginInfo VkRenderPassAttachmentBeginInfoKHR;
7782 #define VK_KHR_create_renderpass2 1
7783 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1
7784 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2"
7785 typedef VkRenderPassCreateInfo2 VkRenderPassCreateInfo2KHR;
7787 typedef VkAttachmentDescription2 VkAttachmentDescription2KHR;
7789 typedef VkAttachmentReference2 VkAttachmentReference2KHR;
7791 typedef VkSubpassDescription2 VkSubpassDescription2KHR;
7793 typedef VkSubpassDependency2 VkSubpassDependency2KHR;
7795 typedef VkSubpassBeginInfo VkSubpassBeginInfoKHR;
7797 typedef VkSubpassEndInfo VkSubpassEndInfoKHR;
7799 typedef VkResult (VKAPI_PTR *PFN_vkCreateRenderPass2KHR)(VkDevice device, const VkRenderPassCreateInfo2* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
7800 typedef void (VKAPI_PTR *PFN_vkCmdBeginRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, const VkSubpassBeginInfo* pSubpassBeginInfo);
7801 typedef void (VKAPI_PTR *PFN_vkCmdNextSubpass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassBeginInfo* pSubpassBeginInfo, const VkSubpassEndInfo* pSubpassEndInfo);
7802 typedef void (VKAPI_PTR *PFN_vkCmdEndRenderPass2KHR)(VkCommandBuffer commandBuffer, const VkSubpassEndInfo* pSubpassEndInfo);
7804 #ifndef VK_NO_PROTOTYPES
7805 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass2KHR(
7807 const VkRenderPassCreateInfo2* pCreateInfo,
7808 const VkAllocationCallbacks* pAllocator,
7809 VkRenderPass* pRenderPass);
7811 VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass2KHR(
7812 VkCommandBuffer commandBuffer,
7813 const VkRenderPassBeginInfo* pRenderPassBegin,
7814 const VkSubpassBeginInfo* pSubpassBeginInfo);
7816 VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass2KHR(
7817 VkCommandBuffer commandBuffer,
7818 const VkSubpassBeginInfo* pSubpassBeginInfo,
7819 const VkSubpassEndInfo* pSubpassEndInfo);
7821 VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass2KHR(
7822 VkCommandBuffer commandBuffer,
7823 const VkSubpassEndInfo* pSubpassEndInfo);
7827 #define VK_KHR_shared_presentable_image 1
7828 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1
7829 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image"
7830 typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
7831 VkStructureType sType;
7833 VkImageUsageFlags sharedPresentSupportedUsageFlags;
7834 } VkSharedPresentSurfaceCapabilitiesKHR;
7836 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainStatusKHR)(VkDevice device, VkSwapchainKHR swapchain);
7838 #ifndef VK_NO_PROTOTYPES
7839 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainStatusKHR(
7841 VkSwapchainKHR swapchain);
7845 #define VK_KHR_external_fence_capabilities 1
7846 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1
7847 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities"
7848 typedef VkExternalFenceHandleTypeFlags VkExternalFenceHandleTypeFlagsKHR;
7850 typedef VkExternalFenceHandleTypeFlagBits VkExternalFenceHandleTypeFlagBitsKHR;
7852 typedef VkExternalFenceFeatureFlags VkExternalFenceFeatureFlagsKHR;
7854 typedef VkExternalFenceFeatureFlagBits VkExternalFenceFeatureFlagBitsKHR;
7856 typedef VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfoKHR;
7858 typedef VkExternalFenceProperties VkExternalFencePropertiesKHR;
7860 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, VkExternalFenceProperties* pExternalFenceProperties);
7862 #ifndef VK_NO_PROTOTYPES
7863 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceExternalFencePropertiesKHR(
7864 VkPhysicalDevice physicalDevice,
7865 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
7866 VkExternalFenceProperties* pExternalFenceProperties);
7870 #define VK_KHR_external_fence 1
7871 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1
7872 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence"
7873 typedef VkFenceImportFlags VkFenceImportFlagsKHR;
7875 typedef VkFenceImportFlagBits VkFenceImportFlagBitsKHR;
7877 typedef VkExportFenceCreateInfo VkExportFenceCreateInfoKHR;
7881 #define VK_KHR_external_fence_fd 1
7882 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1
7883 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd"
7884 typedef struct VkImportFenceFdInfoKHR {
7885 VkStructureType sType;
7888 VkFenceImportFlags flags;
7889 VkExternalFenceHandleTypeFlagBits handleType;
7891 } VkImportFenceFdInfoKHR;
7893 typedef struct VkFenceGetFdInfoKHR {
7894 VkStructureType sType;
7897 VkExternalFenceHandleTypeFlagBits handleType;
7898 } VkFenceGetFdInfoKHR;
7900 typedef VkResult (VKAPI_PTR *PFN_vkImportFenceFdKHR)(VkDevice device, const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7901 typedef VkResult (VKAPI_PTR *PFN_vkGetFenceFdKHR)(VkDevice device, const VkFenceGetFdInfoKHR* pGetFdInfo, int* pFd);
7903 #ifndef VK_NO_PROTOTYPES
7904 VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceFdKHR(
7906 const VkImportFenceFdInfoKHR* pImportFenceFdInfo);
7908 VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceFdKHR(
7910 const VkFenceGetFdInfoKHR* pGetFdInfo,
7915 #define VK_KHR_performance_query 1
7916 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1
7917 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query"
7919 typedef enum VkPerformanceCounterUnitKHR {
7920 VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR = 0,
7921 VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR = 1,
7922 VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR = 2,
7923 VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR = 3,
7924 VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR = 4,
7925 VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR = 5,
7926 VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR = 6,
7927 VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR = 7,
7928 VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR = 8,
7929 VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR = 9,
7930 VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR = 10,
7931 VK_PERFORMANCE_COUNTER_UNIT_MAX_ENUM_KHR = 0x7FFFFFFF
7932 } VkPerformanceCounterUnitKHR;
7934 typedef enum VkPerformanceCounterScopeKHR {
7935 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR = 0,
7936 VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR = 1,
7937 VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR = 2,
7938 VK_QUERY_SCOPE_COMMAND_BUFFER_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR,
7939 VK_QUERY_SCOPE_RENDER_PASS_KHR = VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR,
7940 VK_QUERY_SCOPE_COMMAND_KHR = VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR,
7941 VK_PERFORMANCE_COUNTER_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF
7942 } VkPerformanceCounterScopeKHR;
7944 typedef enum VkPerformanceCounterStorageKHR {
7945 VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR = 0,
7946 VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR = 1,
7947 VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR = 2,
7948 VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR = 3,
7949 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR = 4,
7950 VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR = 5,
7951 VK_PERFORMANCE_COUNTER_STORAGE_MAX_ENUM_KHR = 0x7FFFFFFF
7952 } VkPerformanceCounterStorageKHR;
7954 typedef enum VkPerformanceCounterDescriptionFlagBitsKHR {
7955 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR = 0x00000001,
7956 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR = 0x00000002,
7957 VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR,
7958 VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR = VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
7959 VK_PERFORMANCE_COUNTER_DESCRIPTION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7960 } VkPerformanceCounterDescriptionFlagBitsKHR;
7961 typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR;
7963 typedef enum VkAcquireProfilingLockFlagBitsKHR {
7964 VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
7965 } VkAcquireProfilingLockFlagBitsKHR;
7966 typedef VkFlags VkAcquireProfilingLockFlagsKHR;
7967 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
7968 VkStructureType sType;
7970 VkBool32 performanceCounterQueryPools;
7971 VkBool32 performanceCounterMultipleQueryPools;
7972 } VkPhysicalDevicePerformanceQueryFeaturesKHR;
7974 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
7975 VkStructureType sType;
7977 VkBool32 allowCommandBufferQueryCopies;
7978 } VkPhysicalDevicePerformanceQueryPropertiesKHR;
7980 typedef struct VkPerformanceCounterKHR {
7981 VkStructureType sType;
7983 VkPerformanceCounterUnitKHR unit;
7984 VkPerformanceCounterScopeKHR scope;
7985 VkPerformanceCounterStorageKHR storage;
7986 deUint8 uuid[VK_UUID_SIZE];
7987 } VkPerformanceCounterKHR;
7989 typedef struct VkPerformanceCounterDescriptionKHR {
7990 VkStructureType sType;
7992 VkPerformanceCounterDescriptionFlagsKHR flags;
7993 char name[VK_MAX_DESCRIPTION_SIZE];
7994 char category[VK_MAX_DESCRIPTION_SIZE];
7995 char description[VK_MAX_DESCRIPTION_SIZE];
7996 } VkPerformanceCounterDescriptionKHR;
7998 typedef struct VkQueryPoolPerformanceCreateInfoKHR {
7999 VkStructureType sType;
8001 deUint32 queueFamilyIndex;
8002 deUint32 counterIndexCount;
8003 const deUint32* pCounterIndices;
8004 } VkQueryPoolPerformanceCreateInfoKHR;
8006 typedef union VkPerformanceCounterResultKHR {
8013 } VkPerformanceCounterResultKHR;
8015 typedef struct VkAcquireProfilingLockInfoKHR {
8016 VkStructureType sType;
8018 VkAcquireProfilingLockFlagsKHR flags;
8020 } VkAcquireProfilingLockInfoKHR;
8022 typedef struct VkPerformanceQuerySubmitInfoKHR {
8023 VkStructureType sType;
8025 deUint32 counterPassIndex;
8026 } VkPerformanceQuerySubmitInfoKHR;
8028 typedef VkResult (VKAPI_PTR *PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)(VkPhysicalDevice physicalDevice, deUint32 queueFamilyIndex, deUint32* pCounterCount, VkPerformanceCounterKHR* pCounters, VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8029 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)(VkPhysicalDevice physicalDevice, const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, deUint32* pNumPasses);
8030 typedef VkResult (VKAPI_PTR *PFN_vkAcquireProfilingLockKHR)(VkDevice device, const VkAcquireProfilingLockInfoKHR* pInfo);
8031 typedef void (VKAPI_PTR *PFN_vkReleaseProfilingLockKHR)(VkDevice device);
8033 #ifndef VK_NO_PROTOTYPES
8034 VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
8035 VkPhysicalDevice physicalDevice,
8036 deUint32 queueFamilyIndex,
8037 deUint32* pCounterCount,
8038 VkPerformanceCounterKHR* pCounters,
8039 VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
8041 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
8042 VkPhysicalDevice physicalDevice,
8043 const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo,
8044 deUint32* pNumPasses);
8046 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireProfilingLockKHR(
8048 const VkAcquireProfilingLockInfoKHR* pInfo);
8050 VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
8055 #define VK_KHR_maintenance2 1
8056 #define VK_KHR_MAINTENANCE2_SPEC_VERSION 1
8057 #define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2"
8058 typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
8060 typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
8062 typedef VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingPropertiesKHR;
8064 typedef VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfoKHR;
8066 typedef VkInputAttachmentAspectReference VkInputAttachmentAspectReferenceKHR;
8068 typedef VkImageViewUsageCreateInfo VkImageViewUsageCreateInfoKHR;
8070 typedef VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfoKHR;
8074 #define VK_KHR_get_surface_capabilities2 1
8075 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1
8076 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2"
8077 typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
8078 VkStructureType sType;
8080 VkSurfaceKHR surface;
8081 } VkPhysicalDeviceSurfaceInfo2KHR;
8083 typedef struct VkSurfaceCapabilities2KHR {
8084 VkStructureType sType;
8086 VkSurfaceCapabilitiesKHR surfaceCapabilities;
8087 } VkSurfaceCapabilities2KHR;
8089 typedef struct VkSurfaceFormat2KHR {
8090 VkStructureType sType;
8092 VkSurfaceFormatKHR surfaceFormat;
8093 } VkSurfaceFormat2KHR;
8095 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8096 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, deUint32* pSurfaceFormatCount, VkSurfaceFormat2KHR* pSurfaceFormats);
8098 #ifndef VK_NO_PROTOTYPES
8099 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2KHR(
8100 VkPhysicalDevice physicalDevice,
8101 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8102 VkSurfaceCapabilities2KHR* pSurfaceCapabilities);
8104 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormats2KHR(
8105 VkPhysicalDevice physicalDevice,
8106 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
8107 deUint32* pSurfaceFormatCount,
8108 VkSurfaceFormat2KHR* pSurfaceFormats);
8112 #define VK_KHR_variable_pointers 1
8113 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1
8114 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers"
8115 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointerFeaturesKHR;
8117 typedef VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeaturesKHR;
8121 #define VK_KHR_get_display_properties2 1
8122 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1
8123 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2"
8124 typedef struct VkDisplayProperties2KHR {
8125 VkStructureType sType;
8127 VkDisplayPropertiesKHR displayProperties;
8128 } VkDisplayProperties2KHR;
8130 typedef struct VkDisplayPlaneProperties2KHR {
8131 VkStructureType sType;
8133 VkDisplayPlanePropertiesKHR displayPlaneProperties;
8134 } VkDisplayPlaneProperties2KHR;
8136 typedef struct VkDisplayModeProperties2KHR {
8137 VkStructureType sType;
8139 VkDisplayModePropertiesKHR displayModeProperties;
8140 } VkDisplayModeProperties2KHR;
8142 typedef struct VkDisplayPlaneInfo2KHR {
8143 VkStructureType sType;
8145 VkDisplayModeKHR mode;
8146 deUint32 planeIndex;
8147 } VkDisplayPlaneInfo2KHR;
8149 typedef struct VkDisplayPlaneCapabilities2KHR {
8150 VkStructureType sType;
8152 VkDisplayPlaneCapabilitiesKHR capabilities;
8153 } VkDisplayPlaneCapabilities2KHR;
8155 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayProperties2KHR* pProperties);
8156 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties);
8157 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, deUint32* pPropertyCount, VkDisplayModeProperties2KHR* pProperties);
8158 typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities);
8160 #ifndef VK_NO_PROTOTYPES
8161 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR(
8162 VkPhysicalDevice physicalDevice,
8163 deUint32* pPropertyCount,
8164 VkDisplayProperties2KHR* pProperties);
8166 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
8167 VkPhysicalDevice physicalDevice,
8168 deUint32* pPropertyCount,
8169 VkDisplayPlaneProperties2KHR* pProperties);
8171 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR(
8172 VkPhysicalDevice physicalDevice,
8173 VkDisplayKHR display,
8174 deUint32* pPropertyCount,
8175 VkDisplayModeProperties2KHR* pProperties);
8177 VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR(
8178 VkPhysicalDevice physicalDevice,
8179 const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo,
8180 VkDisplayPlaneCapabilities2KHR* pCapabilities);
8184 #define VK_KHR_dedicated_allocation 1
8185 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3
8186 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation"
8187 typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;
8189 typedef VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfoKHR;
8193 #define VK_KHR_storage_buffer_storage_class 1
8194 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1
8195 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class"
8198 #define VK_KHR_relaxed_block_layout 1
8199 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1
8200 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout"
8203 #define VK_KHR_get_memory_requirements2 1
8204 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1
8205 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2"
8206 typedef VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2KHR;
8208 typedef VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2KHR;
8210 typedef VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2KHR;
8212 typedef VkMemoryRequirements2 VkMemoryRequirements2KHR;
8214 typedef VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2KHR;
8216 typedef void (VKAPI_PTR *PFN_vkGetImageMemoryRequirements2KHR)(VkDevice device, const VkImageMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8217 typedef void (VKAPI_PTR *PFN_vkGetBufferMemoryRequirements2KHR)(VkDevice device, const VkBufferMemoryRequirementsInfo2* pInfo, VkMemoryRequirements2* pMemoryRequirements);
8218 typedef void (VKAPI_PTR *PFN_vkGetImageSparseMemoryRequirements2KHR)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2* pInfo, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8220 #ifndef VK_NO_PROTOTYPES
8221 VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements2KHR(
8223 const VkImageMemoryRequirementsInfo2* pInfo,
8224 VkMemoryRequirements2* pMemoryRequirements);
8226 VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements2KHR(
8228 const VkBufferMemoryRequirementsInfo2* pInfo,
8229 VkMemoryRequirements2* pMemoryRequirements);
8231 VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements2KHR(
8233 const VkImageSparseMemoryRequirementsInfo2* pInfo,
8234 deUint32* pSparseMemoryRequirementCount,
8235 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements);
8239 #define VK_KHR_image_format_list 1
8240 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1
8241 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list"
8242 typedef VkImageFormatListCreateInfo VkImageFormatListCreateInfoKHR;
8246 #define VK_KHR_sampler_ycbcr_conversion 1
8247 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR;
8249 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION 14
8250 #define VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME "VK_KHR_sampler_ycbcr_conversion"
8251 typedef VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversionKHR;
8253 typedef VkSamplerYcbcrRange VkSamplerYcbcrRangeKHR;
8255 typedef VkChromaLocation VkChromaLocationKHR;
8257 typedef VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfoKHR;
8259 typedef VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfoKHR;
8261 typedef VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfoKHR;
8263 typedef VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfoKHR;
8265 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR;
8267 typedef VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatPropertiesKHR;
8269 typedef VkResult (VKAPI_PTR *PFN_vkCreateSamplerYcbcrConversionKHR)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSamplerYcbcrConversion* pYcbcrConversion);
8270 typedef void (VKAPI_PTR *PFN_vkDestroySamplerYcbcrConversionKHR)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks* pAllocator);
8272 #ifndef VK_NO_PROTOTYPES
8273 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSamplerYcbcrConversionKHR(
8275 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
8276 const VkAllocationCallbacks* pAllocator,
8277 VkSamplerYcbcrConversion* pYcbcrConversion);
8279 VKAPI_ATTR void VKAPI_CALL vkDestroySamplerYcbcrConversionKHR(
8281 VkSamplerYcbcrConversion ycbcrConversion,
8282 const VkAllocationCallbacks* pAllocator);
8286 #define VK_KHR_bind_memory2 1
8287 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1
8288 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2"
8289 typedef VkBindBufferMemoryInfo VkBindBufferMemoryInfoKHR;
8291 typedef VkBindImageMemoryInfo VkBindImageMemoryInfoKHR;
8293 typedef VkResult (VKAPI_PTR *PFN_vkBindBufferMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindBufferMemoryInfo* pBindInfos);
8294 typedef VkResult (VKAPI_PTR *PFN_vkBindImageMemory2KHR)(VkDevice device, deUint32 bindInfoCount, const VkBindImageMemoryInfo* pBindInfos);
8296 #ifndef VK_NO_PROTOTYPES
8297 VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory2KHR(
8299 deUint32 bindInfoCount,
8300 const VkBindBufferMemoryInfo* pBindInfos);
8302 VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
8304 deUint32 bindInfoCount,
8305 const VkBindImageMemoryInfo* pBindInfos);
8309 #define VK_KHR_maintenance3 1
8310 #define VK_KHR_MAINTENANCE3_SPEC_VERSION 1
8311 #define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3"
8312 typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
8314 typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
8316 typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSupportKHR)(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport);
8318 #ifndef VK_NO_PROTOTYPES
8319 VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR(
8321 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
8322 VkDescriptorSetLayoutSupport* pSupport);
8326 #define VK_KHR_draw_indirect_count 1
8327 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1
8328 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count"
8329 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8330 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
8332 #ifndef VK_NO_PROTOTYPES
8333 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR(
8334 VkCommandBuffer commandBuffer,
8336 VkDeviceSize offset,
8337 VkBuffer countBuffer,
8338 VkDeviceSize countBufferOffset,
8339 deUint32 maxDrawCount,
8342 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR(
8343 VkCommandBuffer commandBuffer,
8345 VkDeviceSize offset,
8346 VkBuffer countBuffer,
8347 VkDeviceSize countBufferOffset,
8348 deUint32 maxDrawCount,
8353 #define VK_KHR_shader_subgroup_extended_types 1
8354 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1
8355 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types"
8356 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR;
8360 #define VK_KHR_8bit_storage 1
8361 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1
8362 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage"
8363 typedef VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeaturesKHR;
8367 #define VK_KHR_shader_atomic_int64 1
8368 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1
8369 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64"
8370 typedef VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64FeaturesKHR;
8374 #define VK_KHR_shader_clock 1
8375 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1
8376 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock"
8377 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
8378 VkStructureType sType;
8380 VkBool32 shaderSubgroupClock;
8381 VkBool32 shaderDeviceClock;
8382 } VkPhysicalDeviceShaderClockFeaturesKHR;
8386 #define VK_KHR_driver_properties 1
8387 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1
8388 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties"
8389 #define VK_MAX_DRIVER_NAME_SIZE_KHR VK_MAX_DRIVER_NAME_SIZE
8390 #define VK_MAX_DRIVER_INFO_SIZE_KHR VK_MAX_DRIVER_INFO_SIZE
8391 typedef VkDriverId VkDriverIdKHR;
8393 typedef VkConformanceVersion VkConformanceVersionKHR;
8395 typedef VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverPropertiesKHR;
8399 #define VK_KHR_shader_float_controls 1
8400 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4
8401 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls"
8402 typedef VkShaderFloatControlsIndependence VkShaderFloatControlsIndependenceKHR;
8404 typedef VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsPropertiesKHR;
8408 #define VK_KHR_depth_stencil_resolve 1
8409 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1
8410 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve"
8411 typedef VkResolveModeFlagBits VkResolveModeFlagBitsKHR;
8413 typedef VkResolveModeFlags VkResolveModeFlagsKHR;
8415 typedef VkSubpassDescriptionDepthStencilResolve VkSubpassDescriptionDepthStencilResolveKHR;
8417 typedef VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolvePropertiesKHR;
8421 #define VK_KHR_swapchain_mutable_format 1
8422 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1
8423 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format"
8426 #define VK_KHR_timeline_semaphore 1
8427 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2
8428 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore"
8429 typedef VkSemaphoreType VkSemaphoreTypeKHR;
8431 typedef VkSemaphoreWaitFlagBits VkSemaphoreWaitFlagBitsKHR;
8433 typedef VkSemaphoreWaitFlags VkSemaphoreWaitFlagsKHR;
8435 typedef VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeaturesKHR;
8437 typedef VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphorePropertiesKHR;
8439 typedef VkSemaphoreTypeCreateInfo VkSemaphoreTypeCreateInfoKHR;
8441 typedef VkTimelineSemaphoreSubmitInfo VkTimelineSemaphoreSubmitInfoKHR;
8443 typedef VkSemaphoreWaitInfo VkSemaphoreWaitInfoKHR;
8445 typedef VkSemaphoreSignalInfo VkSemaphoreSignalInfoKHR;
8447 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreCounterValueKHR)(VkDevice device, VkSemaphore semaphore, deUint64* pValue);
8448 typedef VkResult (VKAPI_PTR *PFN_vkWaitSemaphoresKHR)(VkDevice device, const VkSemaphoreWaitInfo* pWaitInfo, deUint64 timeout);
8449 typedef VkResult (VKAPI_PTR *PFN_vkSignalSemaphoreKHR)(VkDevice device, const VkSemaphoreSignalInfo* pSignalInfo);
8451 #ifndef VK_NO_PROTOTYPES
8452 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreCounterValueKHR(
8454 VkSemaphore semaphore,
8457 VKAPI_ATTR VkResult VKAPI_CALL vkWaitSemaphoresKHR(
8459 const VkSemaphoreWaitInfo* pWaitInfo,
8462 VKAPI_ATTR VkResult VKAPI_CALL vkSignalSemaphoreKHR(
8464 const VkSemaphoreSignalInfo* pSignalInfo);
8468 #define VK_KHR_vulkan_memory_model 1
8469 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3
8470 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model"
8471 typedef VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeaturesKHR;
8475 #define VK_KHR_shader_terminate_invocation 1
8476 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1
8477 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation"
8478 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR {
8479 VkStructureType sType;
8481 VkBool32 shaderTerminateInvocation;
8482 } VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR;
8486 #define VK_KHR_fragment_shading_rate 1
8487 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 1
8488 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate"
8490 typedef enum VkFragmentShadingRateCombinerOpKHR {
8491 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,
8492 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,
8493 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,
8494 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,
8495 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,
8496 VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_ENUM_KHR = 0x7FFFFFFF
8497 } VkFragmentShadingRateCombinerOpKHR;
8498 typedef struct VkFragmentShadingRateAttachmentInfoKHR {
8499 VkStructureType sType;
8501 const VkAttachmentReference2* pFragmentShadingRateAttachment;
8502 VkExtent2D shadingRateAttachmentTexelSize;
8503 } VkFragmentShadingRateAttachmentInfoKHR;
8505 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {
8506 VkStructureType sType;
8508 VkExtent2D fragmentSize;
8509 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
8510 } VkPipelineFragmentShadingRateStateCreateInfoKHR;
8512 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {
8513 VkStructureType sType;
8515 VkBool32 pipelineFragmentShadingRate;
8516 VkBool32 primitiveFragmentShadingRate;
8517 VkBool32 attachmentFragmentShadingRate;
8518 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR;
8520 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
8521 VkStructureType sType;
8523 VkExtent2D minFragmentShadingRateAttachmentTexelSize;
8524 VkExtent2D maxFragmentShadingRateAttachmentTexelSize;
8525 deUint32 maxFragmentShadingRateAttachmentTexelSizeAspectRatio;
8526 VkBool32 primitiveFragmentShadingRateWithMultipleViewports;
8527 VkBool32 layeredShadingRateAttachments;
8528 VkBool32 fragmentShadingRateNonTrivialCombinerOps;
8529 VkExtent2D maxFragmentSize;
8530 deUint32 maxFragmentSizeAspectRatio;
8531 deUint32 maxFragmentShadingRateCoverageSamples;
8532 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;
8533 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;
8534 VkBool32 fragmentShadingRateWithSampleMask;
8535 VkBool32 fragmentShadingRateWithShaderSampleMask;
8536 VkBool32 fragmentShadingRateWithConservativeRasterization;
8537 VkBool32 fragmentShadingRateWithFragmentShaderInterlock;
8538 VkBool32 fragmentShadingRateWithCustomSampleLocations;
8539 VkBool32 fragmentShadingRateStrictMultiplyCombiner;
8540 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR;
8542 typedef struct VkPhysicalDeviceFragmentShadingRateKHR {
8543 VkStructureType sType;
8545 VkSampleCountFlags sampleCounts;
8546 VkExtent2D fragmentSize;
8547 } VkPhysicalDeviceFragmentShadingRateKHR;
8549 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)(VkPhysicalDevice physicalDevice, deUint32* pFragmentShadingRateCount, VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8550 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateKHR)(VkCommandBuffer commandBuffer, const VkExtent2D* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8552 #ifndef VK_NO_PROTOTYPES
8553 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceFragmentShadingRatesKHR(
8554 VkPhysicalDevice physicalDevice,
8555 deUint32* pFragmentShadingRateCount,
8556 VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);
8558 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateKHR(
8559 VkCommandBuffer commandBuffer,
8560 const VkExtent2D* pFragmentSize,
8561 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
8565 #define VK_KHR_spirv_1_4 1
8566 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1
8567 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4"
8570 #define VK_KHR_surface_protected_capabilities 1
8571 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1
8572 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities"
8573 typedef struct VkSurfaceProtectedCapabilitiesKHR {
8574 VkStructureType sType;
8576 VkBool32 supportsProtected;
8577 } VkSurfaceProtectedCapabilitiesKHR;
8581 #define VK_KHR_separate_depth_stencil_layouts 1
8582 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1
8583 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts"
8584 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR;
8586 typedef VkAttachmentReferenceStencilLayout VkAttachmentReferenceStencilLayoutKHR;
8588 typedef VkAttachmentDescriptionStencilLayout VkAttachmentDescriptionStencilLayoutKHR;
8592 #define VK_KHR_present_wait 1
8593 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1
8594 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait"
8595 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR {
8596 VkStructureType sType;
8598 VkBool32 presentWait;
8599 } VkPhysicalDevicePresentWaitFeaturesKHR;
8601 typedef VkResult (VKAPI_PTR *PFN_vkWaitForPresentKHR)(VkDevice device, VkSwapchainKHR swapchain, deUint64 presentId, deUint64 timeout);
8603 #ifndef VK_NO_PROTOTYPES
8604 VKAPI_ATTR VkResult VKAPI_CALL vkWaitForPresentKHR(
8606 VkSwapchainKHR swapchain,
8612 #define VK_KHR_uniform_buffer_standard_layout 1
8613 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1
8614 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout"
8615 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR;
8619 #define VK_KHR_buffer_device_address 1
8620 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1
8621 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address"
8622 typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
8624 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;
8626 typedef VkBufferOpaqueCaptureAddressCreateInfo VkBufferOpaqueCaptureAddressCreateInfoKHR;
8628 typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;
8630 typedef VkDeviceMemoryOpaqueCaptureAddressInfo VkDeviceMemoryOpaqueCaptureAddressInfoKHR;
8632 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8633 typedef deUint64 (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
8634 typedef deUint64 (VKAPI_PTR *PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)(VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8636 #ifndef VK_NO_PROTOTYPES
8637 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressKHR(
8639 const VkBufferDeviceAddressInfo* pInfo);
8641 VKAPI_ATTR deUint64 VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(
8643 const VkBufferDeviceAddressInfo* pInfo);
8645 VKAPI_ATTR deUint64 VKAPI_CALL vkGetDeviceMemoryOpaqueCaptureAddressKHR(
8647 const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo);
8651 #define VK_KHR_deferred_host_operations 1
8652 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
8653 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4
8654 #define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
8655 typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
8656 typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
8657 typedef deUint32 (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
8658 typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
8659 typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
8661 #ifndef VK_NO_PROTOTYPES
8662 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
8664 const VkAllocationCallbacks* pAllocator,
8665 VkDeferredOperationKHR* pDeferredOperation);
8667 VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
8669 VkDeferredOperationKHR operation,
8670 const VkAllocationCallbacks* pAllocator);
8672 VKAPI_ATTR deUint32 VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
8674 VkDeferredOperationKHR operation);
8676 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
8678 VkDeferredOperationKHR operation);
8680 VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
8682 VkDeferredOperationKHR operation);
8686 #define VK_KHR_pipeline_executable_properties 1
8687 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1
8688 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties"
8690 typedef enum VkPipelineExecutableStatisticFormatKHR {
8691 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR = 0,
8692 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR = 1,
8693 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR = 2,
8694 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR = 3,
8695 VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_MAX_ENUM_KHR = 0x7FFFFFFF
8696 } VkPipelineExecutableStatisticFormatKHR;
8697 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
8698 VkStructureType sType;
8700 VkBool32 pipelineExecutableInfo;
8701 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
8703 typedef struct VkPipelineInfoKHR {
8704 VkStructureType sType;
8706 VkPipeline pipeline;
8707 } VkPipelineInfoKHR;
8709 typedef struct VkPipelineExecutablePropertiesKHR {
8710 VkStructureType sType;
8712 VkShaderStageFlags stages;
8713 char name[VK_MAX_DESCRIPTION_SIZE];
8714 char description[VK_MAX_DESCRIPTION_SIZE];
8715 deUint32 subgroupSize;
8716 } VkPipelineExecutablePropertiesKHR;
8718 typedef struct VkPipelineExecutableInfoKHR {
8719 VkStructureType sType;
8721 VkPipeline pipeline;
8722 deUint32 executableIndex;
8723 } VkPipelineExecutableInfoKHR;
8725 typedef union VkPipelineExecutableStatisticValueKHR {
8730 } VkPipelineExecutableStatisticValueKHR;
8732 typedef struct VkPipelineExecutableStatisticKHR {
8733 VkStructureType sType;
8735 char name[VK_MAX_DESCRIPTION_SIZE];
8736 char description[VK_MAX_DESCRIPTION_SIZE];
8737 VkPipelineExecutableStatisticFormatKHR format;
8738 VkPipelineExecutableStatisticValueKHR value;
8739 } VkPipelineExecutableStatisticKHR;
8741 typedef struct VkPipelineExecutableInternalRepresentationKHR {
8742 VkStructureType sType;
8744 char name[VK_MAX_DESCRIPTION_SIZE];
8745 char description[VK_MAX_DESCRIPTION_SIZE];
8749 } VkPipelineExecutableInternalRepresentationKHR;
8751 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutablePropertiesKHR)(VkDevice device, const VkPipelineInfoKHR* pPipelineInfo, deUint32* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties);
8752 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableStatisticsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics);
8753 typedef VkResult (VKAPI_PTR *PFN_vkGetPipelineExecutableInternalRepresentationsKHR)(VkDevice device, const VkPipelineExecutableInfoKHR* pExecutableInfo, deUint32* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8755 #ifndef VK_NO_PROTOTYPES
8756 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutablePropertiesKHR(
8758 const VkPipelineInfoKHR* pPipelineInfo,
8759 deUint32* pExecutableCount,
8760 VkPipelineExecutablePropertiesKHR* pProperties);
8762 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableStatisticsKHR(
8764 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8765 deUint32* pStatisticCount,
8766 VkPipelineExecutableStatisticKHR* pStatistics);
8768 VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR(
8770 const VkPipelineExecutableInfoKHR* pExecutableInfo,
8771 deUint32* pInternalRepresentationCount,
8772 VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations);
8776 #define VK_KHR_shader_integer_dot_product 1
8777 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1
8778 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product"
8779 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR {
8780 VkStructureType sType;
8782 VkBool32 shaderIntegerDotProduct;
8783 } VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR;
8785 typedef struct VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR {
8786 VkStructureType sType;
8788 VkBool32 integerDotProduct8BitUnsignedAccelerated;
8789 VkBool32 integerDotProduct8BitSignedAccelerated;
8790 VkBool32 integerDotProduct8BitMixedSignednessAccelerated;
8791 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated;
8792 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated;
8793 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated;
8794 VkBool32 integerDotProduct16BitUnsignedAccelerated;
8795 VkBool32 integerDotProduct16BitSignedAccelerated;
8796 VkBool32 integerDotProduct16BitMixedSignednessAccelerated;
8797 VkBool32 integerDotProduct32BitUnsignedAccelerated;
8798 VkBool32 integerDotProduct32BitSignedAccelerated;
8799 VkBool32 integerDotProduct32BitMixedSignednessAccelerated;
8800 VkBool32 integerDotProduct64BitUnsignedAccelerated;
8801 VkBool32 integerDotProduct64BitSignedAccelerated;
8802 VkBool32 integerDotProduct64BitMixedSignednessAccelerated;
8803 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated;
8804 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated;
8805 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated;
8806 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated;
8807 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated;
8808 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated;
8809 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated;
8810 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated;
8811 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated;
8812 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated;
8813 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated;
8814 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated;
8815 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated;
8816 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated;
8817 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated;
8818 } VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR;
8822 #define VK_KHR_pipeline_library 1
8823 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
8824 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
8825 typedef struct VkPipelineLibraryCreateInfoKHR {
8826 VkStructureType sType;
8828 deUint32 libraryCount;
8829 const VkPipeline* pLibraries;
8830 } VkPipelineLibraryCreateInfoKHR;
8834 #define VK_KHR_shader_non_semantic_info 1
8835 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1
8836 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info"
8839 #define VK_KHR_present_id 1
8840 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1
8841 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id"
8842 typedef struct VkPresentIdKHR {
8843 VkStructureType sType;
8845 deUint32 swapchainCount;
8846 const deUint64* pPresentIds;
8849 typedef struct VkPhysicalDevicePresentIdFeaturesKHR {
8850 VkStructureType sType;
8853 } VkPhysicalDevicePresentIdFeaturesKHR;
8857 #define VK_KHR_synchronization2 1
8858 typedef deUint64 VkFlags64;
8859 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1
8860 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2"
8861 typedef VkFlags64 VkPipelineStageFlags2KHR;
8863 // Flag bits for VkPipelineStageFlagBits2KHR
8864 typedef VkFlags64 VkPipelineStageFlagBits2KHR;
8865 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_NONE_KHR = 0ULL;
8866 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = 0x00000001ULL;
8867 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = 0x00000002ULL;
8868 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = 0x00000004ULL;
8869 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = 0x00000008ULL;
8870 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = 0x00000010ULL;
8871 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = 0x00000020ULL;
8872 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = 0x00000040ULL;
8873 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = 0x00000080ULL;
8874 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = 0x00000100ULL;
8875 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = 0x00000200ULL;
8876 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = 0x00000400ULL;
8877 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = 0x00000800ULL;
8878 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = 0x00001000ULL;
8879 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = 0x00001000ULL;
8880 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = 0x00002000ULL;
8881 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_HOST_BIT_KHR = 0x00004000ULL;
8882 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = 0x00008000ULL;
8883 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = 0x00010000ULL;
8884 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COPY_BIT_KHR = 0x100000000ULL;
8885 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = 0x200000000ULL;
8886 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = 0x400000000ULL;
8887 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = 0x800000000ULL;
8888 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = 0x1000000000ULL;
8889 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL;
8890 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL;
8891 #ifdef VK_ENABLE_BETA_EXTENSIONS
8892 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL;
8894 #ifdef VK_ENABLE_BETA_EXTENSIONS
8895 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL;
8897 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL;
8898 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL;
8899 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL;
8900 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00400000ULL;
8901 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = 0x00400000ULL;
8902 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = 0x02000000ULL;
8903 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = 0x00200000ULL;
8904 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = 0x00200000ULL;
8905 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = 0x02000000ULL;
8906 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = 0x00800000ULL;
8907 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = 0x00080000ULL;
8908 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL;
8909 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL;
8910 static const VkPipelineStageFlagBits2KHR VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL;
8912 typedef VkFlags64 VkAccessFlags2KHR;
8914 // Flag bits for VkAccessFlagBits2KHR
8915 typedef VkFlags64 VkAccessFlagBits2KHR;
8916 static const VkAccessFlagBits2KHR VK_ACCESS_2_NONE_KHR = 0ULL;
8917 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = 0x00000001ULL;
8918 static const VkAccessFlagBits2KHR VK_ACCESS_2_INDEX_READ_BIT_KHR = 0x00000002ULL;
8919 static const VkAccessFlagBits2KHR VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = 0x00000004ULL;
8920 static const VkAccessFlagBits2KHR VK_ACCESS_2_UNIFORM_READ_BIT_KHR = 0x00000008ULL;
8921 static const VkAccessFlagBits2KHR VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = 0x00000010ULL;
8922 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_READ_BIT_KHR = 0x00000020ULL;
8923 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_WRITE_BIT_KHR = 0x00000040ULL;
8924 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = 0x00000080ULL;
8925 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = 0x00000100ULL;
8926 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = 0x00000200ULL;
8927 static const VkAccessFlagBits2KHR VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = 0x00000400ULL;
8928 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_READ_BIT_KHR = 0x00000800ULL;
8929 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR = 0x00001000ULL;
8930 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_READ_BIT_KHR = 0x00002000ULL;
8931 static const VkAccessFlagBits2KHR VK_ACCESS_2_HOST_WRITE_BIT_KHR = 0x00004000ULL;
8932 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_READ_BIT_KHR = 0x00008000ULL;
8933 static const VkAccessFlagBits2KHR VK_ACCESS_2_MEMORY_WRITE_BIT_KHR = 0x00010000ULL;
8934 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = 0x100000000ULL;
8935 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL;
8936 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL;
8937 #ifdef VK_ENABLE_BETA_EXTENSIONS
8938 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL;
8940 #ifdef VK_ENABLE_BETA_EXTENSIONS
8941 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL;
8943 #ifdef VK_ENABLE_BETA_EXTENSIONS
8944 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL;
8946 #ifdef VK_ENABLE_BETA_EXTENSIONS
8947 static const VkAccessFlagBits2KHR VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL;
8949 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL;
8950 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL;
8951 static const VkAccessFlagBits2KHR VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL;
8952 static const VkAccessFlagBits2KHR VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = 0x00100000ULL;
8953 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = 0x00020000ULL;
8954 static const VkAccessFlagBits2KHR VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = 0x00040000ULL;
8955 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = 0x00800000ULL;
8956 static const VkAccessFlagBits2KHR VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = 0x00800000ULL;
8957 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = 0x00200000ULL;
8958 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = 0x00400000ULL;
8959 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = 0x00200000ULL;
8960 static const VkAccessFlagBits2KHR VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
8961 static const VkAccessFlagBits2KHR VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
8962 static const VkAccessFlagBits2KHR VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
8963 static const VkAccessFlagBits2KHR VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
8966 typedef enum VkSubmitFlagBitsKHR {
8967 VK_SUBMIT_PROTECTED_BIT_KHR = 0x00000001,
8968 VK_SUBMIT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
8969 } VkSubmitFlagBitsKHR;
8970 typedef VkFlags VkSubmitFlagsKHR;
8971 typedef struct VkMemoryBarrier2KHR {
8972 VkStructureType sType;
8974 VkPipelineStageFlags2KHR srcStageMask;
8975 VkAccessFlags2KHR srcAccessMask;
8976 VkPipelineStageFlags2KHR dstStageMask;
8977 VkAccessFlags2KHR dstAccessMask;
8978 } VkMemoryBarrier2KHR;
8980 typedef struct VkBufferMemoryBarrier2KHR {
8981 VkStructureType sType;
8983 VkPipelineStageFlags2KHR srcStageMask;
8984 VkAccessFlags2KHR srcAccessMask;
8985 VkPipelineStageFlags2KHR dstStageMask;
8986 VkAccessFlags2KHR dstAccessMask;
8987 deUint32 srcQueueFamilyIndex;
8988 deUint32 dstQueueFamilyIndex;
8990 VkDeviceSize offset;
8992 } VkBufferMemoryBarrier2KHR;
8994 typedef struct VkImageMemoryBarrier2KHR {
8995 VkStructureType sType;
8997 VkPipelineStageFlags2KHR srcStageMask;
8998 VkAccessFlags2KHR srcAccessMask;
8999 VkPipelineStageFlags2KHR dstStageMask;
9000 VkAccessFlags2KHR dstAccessMask;
9001 VkImageLayout oldLayout;
9002 VkImageLayout newLayout;
9003 deUint32 srcQueueFamilyIndex;
9004 deUint32 dstQueueFamilyIndex;
9006 VkImageSubresourceRange subresourceRange;
9007 } VkImageMemoryBarrier2KHR;
9009 typedef struct VkDependencyInfoKHR {
9010 VkStructureType sType;
9012 VkDependencyFlags dependencyFlags;
9013 deUint32 memoryBarrierCount;
9014 const VkMemoryBarrier2KHR* pMemoryBarriers;
9015 deUint32 bufferMemoryBarrierCount;
9016 const VkBufferMemoryBarrier2KHR* pBufferMemoryBarriers;
9017 deUint32 imageMemoryBarrierCount;
9018 const VkImageMemoryBarrier2KHR* pImageMemoryBarriers;
9019 } VkDependencyInfoKHR;
9021 typedef struct VkSemaphoreSubmitInfoKHR {
9022 VkStructureType sType;
9024 VkSemaphore semaphore;
9026 VkPipelineStageFlags2KHR stageMask;
9027 deUint32 deviceIndex;
9028 } VkSemaphoreSubmitInfoKHR;
9030 typedef struct VkCommandBufferSubmitInfoKHR {
9031 VkStructureType sType;
9033 VkCommandBuffer commandBuffer;
9034 deUint32 deviceMask;
9035 } VkCommandBufferSubmitInfoKHR;
9037 typedef struct VkSubmitInfo2KHR {
9038 VkStructureType sType;
9040 VkSubmitFlagsKHR flags;
9041 deUint32 waitSemaphoreInfoCount;
9042 const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos;
9043 deUint32 commandBufferInfoCount;
9044 const VkCommandBufferSubmitInfoKHR* pCommandBufferInfos;
9045 deUint32 signalSemaphoreInfoCount;
9046 const VkSemaphoreSubmitInfoKHR* pSignalSemaphoreInfos;
9049 typedef struct VkPhysicalDeviceSynchronization2FeaturesKHR {
9050 VkStructureType sType;
9052 VkBool32 synchronization2;
9053 } VkPhysicalDeviceSynchronization2FeaturesKHR;
9055 typedef struct VkQueueFamilyCheckpointProperties2NV {
9056 VkStructureType sType;
9058 VkPipelineStageFlags2KHR checkpointExecutionStageMask;
9059 } VkQueueFamilyCheckpointProperties2NV;
9061 typedef struct VkCheckpointData2NV {
9062 VkStructureType sType;
9064 VkPipelineStageFlags2KHR stage;
9065 void* pCheckpointMarker;
9066 } VkCheckpointData2NV;
9068 typedef void (VKAPI_PTR *PFN_vkCmdSetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfoKHR* pDependencyInfo);
9069 typedef void (VKAPI_PTR *PFN_vkCmdResetEvent2KHR)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2KHR stageMask);
9070 typedef void (VKAPI_PTR *PFN_vkCmdWaitEvents2KHR)(VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, const VkDependencyInfoKHR* pDependencyInfos);
9071 typedef void (VKAPI_PTR *PFN_vkCmdPipelineBarrier2KHR)(VkCommandBuffer commandBuffer, const VkDependencyInfoKHR* pDependencyInfo);
9072 typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkQueryPool queryPool, deUint32 query);
9073 typedef VkResult (VKAPI_PTR *PFN_vkQueueSubmit2KHR)(VkQueue queue, deUint32 submitCount, const VkSubmitInfo2KHR* pSubmits, VkFence fence);
9074 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarker2AMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlags2KHR stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
9075 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointData2NV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointData2NV* pCheckpointData);
9077 #ifndef VK_NO_PROTOTYPES
9078 VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent2KHR(
9079 VkCommandBuffer commandBuffer,
9081 const VkDependencyInfoKHR* pDependencyInfo);
9083 VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent2KHR(
9084 VkCommandBuffer commandBuffer,
9086 VkPipelineStageFlags2KHR stageMask);
9088 VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents2KHR(
9089 VkCommandBuffer commandBuffer,
9090 deUint32 eventCount,
9091 const VkEvent* pEvents,
9092 const VkDependencyInfoKHR* pDependencyInfos);
9094 VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier2KHR(
9095 VkCommandBuffer commandBuffer,
9096 const VkDependencyInfoKHR* pDependencyInfo);
9098 VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp2KHR(
9099 VkCommandBuffer commandBuffer,
9100 VkPipelineStageFlags2KHR stage,
9101 VkQueryPool queryPool,
9104 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit2KHR(
9106 deUint32 submitCount,
9107 const VkSubmitInfo2KHR* pSubmits,
9110 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarker2AMD(
9111 VkCommandBuffer commandBuffer,
9112 VkPipelineStageFlags2KHR stage,
9114 VkDeviceSize dstOffset,
9117 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointData2NV(
9119 deUint32* pCheckpointDataCount,
9120 VkCheckpointData2NV* pCheckpointData);
9124 #define VK_KHR_shader_subgroup_uniform_control_flow 1
9125 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1
9126 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow"
9127 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
9128 VkStructureType sType;
9130 VkBool32 shaderSubgroupUniformControlFlow;
9131 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR;
9135 #define VK_KHR_zero_initialize_workgroup_memory 1
9136 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1
9137 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory"
9138 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR {
9139 VkStructureType sType;
9141 VkBool32 shaderZeroInitializeWorkgroupMemory;
9142 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR;
9146 #define VK_KHR_workgroup_memory_explicit_layout 1
9147 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1
9148 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout"
9149 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
9150 VkStructureType sType;
9152 VkBool32 workgroupMemoryExplicitLayout;
9153 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout;
9154 VkBool32 workgroupMemoryExplicitLayout8BitAccess;
9155 VkBool32 workgroupMemoryExplicitLayout16BitAccess;
9156 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR;
9160 #define VK_KHR_copy_commands2 1
9161 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1
9162 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2"
9163 typedef struct VkBufferCopy2KHR {
9164 VkStructureType sType;
9166 VkDeviceSize srcOffset;
9167 VkDeviceSize dstOffset;
9171 typedef struct VkCopyBufferInfo2KHR {
9172 VkStructureType sType;
9176 deUint32 regionCount;
9177 const VkBufferCopy2KHR* pRegions;
9178 } VkCopyBufferInfo2KHR;
9180 typedef struct VkImageCopy2KHR {
9181 VkStructureType sType;
9183 VkImageSubresourceLayers srcSubresource;
9184 VkOffset3D srcOffset;
9185 VkImageSubresourceLayers dstSubresource;
9186 VkOffset3D dstOffset;
9190 typedef struct VkCopyImageInfo2KHR {
9191 VkStructureType sType;
9194 VkImageLayout srcImageLayout;
9196 VkImageLayout dstImageLayout;
9197 deUint32 regionCount;
9198 const VkImageCopy2KHR* pRegions;
9199 } VkCopyImageInfo2KHR;
9201 typedef struct VkBufferImageCopy2KHR {
9202 VkStructureType sType;
9204 VkDeviceSize bufferOffset;
9205 deUint32 bufferRowLength;
9206 deUint32 bufferImageHeight;
9207 VkImageSubresourceLayers imageSubresource;
9208 VkOffset3D imageOffset;
9209 VkExtent3D imageExtent;
9210 } VkBufferImageCopy2KHR;
9212 typedef struct VkCopyBufferToImageInfo2KHR {
9213 VkStructureType sType;
9217 VkImageLayout dstImageLayout;
9218 deUint32 regionCount;
9219 const VkBufferImageCopy2KHR* pRegions;
9220 } VkCopyBufferToImageInfo2KHR;
9222 typedef struct VkCopyImageToBufferInfo2KHR {
9223 VkStructureType sType;
9226 VkImageLayout srcImageLayout;
9228 deUint32 regionCount;
9229 const VkBufferImageCopy2KHR* pRegions;
9230 } VkCopyImageToBufferInfo2KHR;
9232 typedef struct VkImageBlit2KHR {
9233 VkStructureType sType;
9235 VkImageSubresourceLayers srcSubresource;
9236 VkOffset3D srcOffsets[2];
9237 VkImageSubresourceLayers dstSubresource;
9238 VkOffset3D dstOffsets[2];
9241 typedef struct VkBlitImageInfo2KHR {
9242 VkStructureType sType;
9245 VkImageLayout srcImageLayout;
9247 VkImageLayout dstImageLayout;
9248 deUint32 regionCount;
9249 const VkImageBlit2KHR* pRegions;
9251 } VkBlitImageInfo2KHR;
9253 typedef struct VkImageResolve2KHR {
9254 VkStructureType sType;
9256 VkImageSubresourceLayers srcSubresource;
9257 VkOffset3D srcOffset;
9258 VkImageSubresourceLayers dstSubresource;
9259 VkOffset3D dstOffset;
9261 } VkImageResolve2KHR;
9263 typedef struct VkResolveImageInfo2KHR {
9264 VkStructureType sType;
9267 VkImageLayout srcImageLayout;
9269 VkImageLayout dstImageLayout;
9270 deUint32 regionCount;
9271 const VkImageResolve2KHR* pRegions;
9272 } VkResolveImageInfo2KHR;
9274 typedef void (VKAPI_PTR *PFN_vkCmdCopyBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9275 typedef void (VKAPI_PTR *PFN_vkCmdCopyImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo);
9276 typedef void (VKAPI_PTR *PFN_vkCmdCopyBufferToImage2KHR)(VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9277 typedef void (VKAPI_PTR *PFN_vkCmdCopyImageToBuffer2KHR)(VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9278 typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo);
9279 typedef void (VKAPI_PTR *PFN_vkCmdResolveImage2KHR)(VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo);
9281 #ifndef VK_NO_PROTOTYPES
9282 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer2KHR(
9283 VkCommandBuffer commandBuffer,
9284 const VkCopyBufferInfo2KHR* pCopyBufferInfo);
9286 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage2KHR(
9287 VkCommandBuffer commandBuffer,
9288 const VkCopyImageInfo2KHR* pCopyImageInfo);
9290 VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage2KHR(
9291 VkCommandBuffer commandBuffer,
9292 const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo);
9294 VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer2KHR(
9295 VkCommandBuffer commandBuffer,
9296 const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo);
9298 VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage2KHR(
9299 VkCommandBuffer commandBuffer,
9300 const VkBlitImageInfo2KHR* pBlitImageInfo);
9302 VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage2KHR(
9303 VkCommandBuffer commandBuffer,
9304 const VkResolveImageInfo2KHR* pResolveImageInfo);
9308 #define VK_EXT_debug_report 1
9309 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
9310 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10
9311 #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
9313 typedef enum VkDebugReportObjectTypeEXT {
9314 VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
9315 VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
9316 VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
9317 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
9318 VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
9319 VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
9320 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
9321 VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
9322 VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
9323 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
9324 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
9325 VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
9326 VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
9327 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
9328 VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
9329 VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
9330 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
9331 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
9332 VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
9333 VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
9334 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
9335 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
9336 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
9337 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
9338 VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
9339 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
9340 VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
9341 VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
9342 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
9343 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
9344 VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
9345 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
9346 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
9347 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000,
9348 VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT = 1000029000,
9349 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001,
9350 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
9351 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
9352 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
9353 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
9354 VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
9355 VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
9356 VK_DEBUG_REPORT_OBJECT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
9357 } VkDebugReportObjectTypeEXT;
9359 typedef enum VkDebugReportFlagBitsEXT {
9360 VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 0x00000001,
9361 VK_DEBUG_REPORT_WARNING_BIT_EXT = 0x00000002,
9362 VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 0x00000004,
9363 VK_DEBUG_REPORT_ERROR_BIT_EXT = 0x00000008,
9364 VK_DEBUG_REPORT_DEBUG_BIT_EXT = 0x00000010,
9365 VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9366 } VkDebugReportFlagBitsEXT;
9367 typedef VkFlags VkDebugReportFlagsEXT;
9368 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
9369 VkDebugReportFlagsEXT flags,
9370 VkDebugReportObjectTypeEXT objectType,
9373 deInt32 messageCode,
9374 const char* pLayerPrefix,
9375 const char* pMessage,
9378 typedef struct VkDebugReportCallbackCreateInfoEXT {
9379 VkStructureType sType;
9381 VkDebugReportFlagsEXT flags;
9382 PFN_vkDebugReportCallbackEXT pfnCallback;
9384 } VkDebugReportCallbackCreateInfoEXT;
9386 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
9387 typedef void (VKAPI_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
9388 typedef void (VKAPI_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, deUint64 object, deUintptr location, deInt32 messageCode, const char* pLayerPrefix, const char* pMessage);
9390 #ifndef VK_NO_PROTOTYPES
9391 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugReportCallbackEXT(
9392 VkInstance instance,
9393 const VkDebugReportCallbackCreateInfoEXT* pCreateInfo,
9394 const VkAllocationCallbacks* pAllocator,
9395 VkDebugReportCallbackEXT* pCallback);
9397 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugReportCallbackEXT(
9398 VkInstance instance,
9399 VkDebugReportCallbackEXT callback,
9400 const VkAllocationCallbacks* pAllocator);
9402 VKAPI_ATTR void VKAPI_CALL vkDebugReportMessageEXT(
9403 VkInstance instance,
9404 VkDebugReportFlagsEXT flags,
9405 VkDebugReportObjectTypeEXT objectType,
9408 deInt32 messageCode,
9409 const char* pLayerPrefix,
9410 const char* pMessage);
9414 #define VK_NV_glsl_shader 1
9415 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1
9416 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader"
9419 #define VK_EXT_depth_range_unrestricted 1
9420 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1
9421 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted"
9424 #define VK_IMG_filter_cubic 1
9425 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1
9426 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic"
9429 #define VK_AMD_rasterization_order 1
9430 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1
9431 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order"
9433 typedef enum VkRasterizationOrderAMD {
9434 VK_RASTERIZATION_ORDER_STRICT_AMD = 0,
9435 VK_RASTERIZATION_ORDER_RELAXED_AMD = 1,
9436 VK_RASTERIZATION_ORDER_MAX_ENUM_AMD = 0x7FFFFFFF
9437 } VkRasterizationOrderAMD;
9438 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
9439 VkStructureType sType;
9441 VkRasterizationOrderAMD rasterizationOrder;
9442 } VkPipelineRasterizationStateRasterizationOrderAMD;
9446 #define VK_AMD_shader_trinary_minmax 1
9447 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1
9448 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax"
9451 #define VK_AMD_shader_explicit_vertex_parameter 1
9452 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1
9453 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter"
9456 #define VK_EXT_debug_marker 1
9457 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4
9458 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker"
9459 typedef struct VkDebugMarkerObjectNameInfoEXT {
9460 VkStructureType sType;
9462 VkDebugReportObjectTypeEXT objectType;
9464 const char* pObjectName;
9465 } VkDebugMarkerObjectNameInfoEXT;
9467 typedef struct VkDebugMarkerObjectTagInfoEXT {
9468 VkStructureType sType;
9470 VkDebugReportObjectTypeEXT objectType;
9475 } VkDebugMarkerObjectTagInfoEXT;
9477 typedef struct VkDebugMarkerMarkerInfoEXT {
9478 VkStructureType sType;
9480 const char* pMarkerName;
9482 } VkDebugMarkerMarkerInfoEXT;
9484 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectTagEXT)(VkDevice device, const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9485 typedef VkResult (VKAPI_PTR *PFN_vkDebugMarkerSetObjectNameEXT)(VkDevice device, const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9486 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerBeginEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9487 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerEndEXT)(VkCommandBuffer commandBuffer);
9488 typedef void (VKAPI_PTR *PFN_vkCmdDebugMarkerInsertEXT)(VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9490 #ifndef VK_NO_PROTOTYPES
9491 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectTagEXT(
9493 const VkDebugMarkerObjectTagInfoEXT* pTagInfo);
9495 VKAPI_ATTR VkResult VKAPI_CALL vkDebugMarkerSetObjectNameEXT(
9497 const VkDebugMarkerObjectNameInfoEXT* pNameInfo);
9499 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerBeginEXT(
9500 VkCommandBuffer commandBuffer,
9501 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9503 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerEndEXT(
9504 VkCommandBuffer commandBuffer);
9506 VKAPI_ATTR void VKAPI_CALL vkCmdDebugMarkerInsertEXT(
9507 VkCommandBuffer commandBuffer,
9508 const VkDebugMarkerMarkerInfoEXT* pMarkerInfo);
9512 #define VK_AMD_gcn_shader 1
9513 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1
9514 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader"
9517 #define VK_NV_dedicated_allocation 1
9518 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1
9519 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation"
9520 typedef struct VkDedicatedAllocationImageCreateInfoNV {
9521 VkStructureType sType;
9523 VkBool32 dedicatedAllocation;
9524 } VkDedicatedAllocationImageCreateInfoNV;
9526 typedef struct VkDedicatedAllocationBufferCreateInfoNV {
9527 VkStructureType sType;
9529 VkBool32 dedicatedAllocation;
9530 } VkDedicatedAllocationBufferCreateInfoNV;
9532 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
9533 VkStructureType sType;
9537 } VkDedicatedAllocationMemoryAllocateInfoNV;
9541 #define VK_EXT_transform_feedback 1
9542 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1
9543 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback"
9544 typedef VkFlags VkPipelineRasterizationStateStreamCreateFlagsEXT;
9545 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
9546 VkStructureType sType;
9548 VkBool32 transformFeedback;
9549 VkBool32 geometryStreams;
9550 } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
9552 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
9553 VkStructureType sType;
9555 deUint32 maxTransformFeedbackStreams;
9556 deUint32 maxTransformFeedbackBuffers;
9557 VkDeviceSize maxTransformFeedbackBufferSize;
9558 deUint32 maxTransformFeedbackStreamDataSize;
9559 deUint32 maxTransformFeedbackBufferDataSize;
9560 deUint32 maxTransformFeedbackBufferDataStride;
9561 VkBool32 transformFeedbackQueries;
9562 VkBool32 transformFeedbackStreamsLinesTriangles;
9563 VkBool32 transformFeedbackRasterizationStreamSelect;
9564 VkBool32 transformFeedbackDraw;
9565 } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
9567 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT {
9568 VkStructureType sType;
9570 VkPipelineRasterizationStateStreamCreateFlagsEXT flags;
9571 deUint32 rasterizationStream;
9572 } VkPipelineRasterizationStateStreamCreateInfoEXT;
9574 typedef void (VKAPI_PTR *PFN_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes);
9575 typedef void (VKAPI_PTR *PFN_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9576 typedef void (VKAPI_PTR *PFN_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer commandBuffer, deUint32 firstCounterBuffer, deUint32 counterBufferCount, const VkBuffer* pCounterBuffers, const VkDeviceSize* pCounterBufferOffsets);
9577 typedef void (VKAPI_PTR *PFN_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, VkQueryControlFlags flags, deUint32 index);
9578 typedef void (VKAPI_PTR *PFN_vkCmdEndQueryIndexedEXT)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 query, deUint32 index);
9579 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer commandBuffer, deUint32 instanceCount, deUint32 firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, deUint32 counterOffset, deUint32 vertexStride);
9581 #ifndef VK_NO_PROTOTYPES
9582 VKAPI_ATTR void VKAPI_CALL vkCmdBindTransformFeedbackBuffersEXT(
9583 VkCommandBuffer commandBuffer,
9584 deUint32 firstBinding,
9585 deUint32 bindingCount,
9586 const VkBuffer* pBuffers,
9587 const VkDeviceSize* pOffsets,
9588 const VkDeviceSize* pSizes);
9590 VKAPI_ATTR void VKAPI_CALL vkCmdBeginTransformFeedbackEXT(
9591 VkCommandBuffer commandBuffer,
9592 deUint32 firstCounterBuffer,
9593 deUint32 counterBufferCount,
9594 const VkBuffer* pCounterBuffers,
9595 const VkDeviceSize* pCounterBufferOffsets);
9597 VKAPI_ATTR void VKAPI_CALL vkCmdEndTransformFeedbackEXT(
9598 VkCommandBuffer commandBuffer,
9599 deUint32 firstCounterBuffer,
9600 deUint32 counterBufferCount,
9601 const VkBuffer* pCounterBuffers,
9602 const VkDeviceSize* pCounterBufferOffsets);
9604 VKAPI_ATTR void VKAPI_CALL vkCmdBeginQueryIndexedEXT(
9605 VkCommandBuffer commandBuffer,
9606 VkQueryPool queryPool,
9608 VkQueryControlFlags flags,
9611 VKAPI_ATTR void VKAPI_CALL vkCmdEndQueryIndexedEXT(
9612 VkCommandBuffer commandBuffer,
9613 VkQueryPool queryPool,
9617 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectByteCountEXT(
9618 VkCommandBuffer commandBuffer,
9619 deUint32 instanceCount,
9620 deUint32 firstInstance,
9621 VkBuffer counterBuffer,
9622 VkDeviceSize counterBufferOffset,
9623 deUint32 counterOffset,
9624 deUint32 vertexStride);
9628 #define VK_NVX_binary_import 1
9629 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX)
9630 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX)
9631 #define VK_NVX_BINARY_IMPORT_SPEC_VERSION 1
9632 #define VK_NVX_BINARY_IMPORT_EXTENSION_NAME "VK_NVX_binary_import"
9633 typedef struct VkCuModuleCreateInfoNVX {
9634 VkStructureType sType;
9638 } VkCuModuleCreateInfoNVX;
9640 typedef struct VkCuFunctionCreateInfoNVX {
9641 VkStructureType sType;
9643 VkCuModuleNVX module;
9645 } VkCuFunctionCreateInfoNVX;
9647 typedef struct VkCuLaunchInfoNVX {
9648 VkStructureType sType;
9650 VkCuFunctionNVX function;
9657 deUint32 sharedMemBytes;
9658 deUintptr paramCount;
9659 const void* const * pParams;
9660 deUintptr extraCount;
9661 const void* const * pExtras;
9662 } VkCuLaunchInfoNVX;
9664 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuModuleNVX)(VkDevice device, const VkCuModuleCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuModuleNVX* pModule);
9665 typedef VkResult (VKAPI_PTR *PFN_vkCreateCuFunctionNVX)(VkDevice device, const VkCuFunctionCreateInfoNVX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCuFunctionNVX* pFunction);
9666 typedef void (VKAPI_PTR *PFN_vkDestroyCuModuleNVX)(VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks* pAllocator);
9667 typedef void (VKAPI_PTR *PFN_vkDestroyCuFunctionNVX)(VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks* pAllocator);
9668 typedef void (VKAPI_PTR *PFN_vkCmdCuLaunchKernelNVX)(VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX* pLaunchInfo);
9670 #ifndef VK_NO_PROTOTYPES
9671 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuModuleNVX(
9673 const VkCuModuleCreateInfoNVX* pCreateInfo,
9674 const VkAllocationCallbacks* pAllocator,
9675 VkCuModuleNVX* pModule);
9677 VKAPI_ATTR VkResult VKAPI_CALL vkCreateCuFunctionNVX(
9679 const VkCuFunctionCreateInfoNVX* pCreateInfo,
9680 const VkAllocationCallbacks* pAllocator,
9681 VkCuFunctionNVX* pFunction);
9683 VKAPI_ATTR void VKAPI_CALL vkDestroyCuModuleNVX(
9685 VkCuModuleNVX module,
9686 const VkAllocationCallbacks* pAllocator);
9688 VKAPI_ATTR void VKAPI_CALL vkDestroyCuFunctionNVX(
9690 VkCuFunctionNVX function,
9691 const VkAllocationCallbacks* pAllocator);
9693 VKAPI_ATTR void VKAPI_CALL vkCmdCuLaunchKernelNVX(
9694 VkCommandBuffer commandBuffer,
9695 const VkCuLaunchInfoNVX* pLaunchInfo);
9699 #define VK_NVX_image_view_handle 1
9700 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2
9701 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle"
9702 typedef struct VkImageViewHandleInfoNVX {
9703 VkStructureType sType;
9705 VkImageView imageView;
9706 VkDescriptorType descriptorType;
9708 } VkImageViewHandleInfoNVX;
9710 typedef struct VkImageViewAddressPropertiesNVX {
9711 VkStructureType sType;
9713 VkDeviceAddress deviceAddress;
9715 } VkImageViewAddressPropertiesNVX;
9717 typedef deUint32 (VKAPI_PTR *PFN_vkGetImageViewHandleNVX)(VkDevice device, const VkImageViewHandleInfoNVX* pInfo);
9718 typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewAddressNVX)(VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties);
9720 #ifndef VK_NO_PROTOTYPES
9721 VKAPI_ATTR deUint32 VKAPI_CALL vkGetImageViewHandleNVX(
9723 const VkImageViewHandleInfoNVX* pInfo);
9725 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewAddressNVX(
9727 VkImageView imageView,
9728 VkImageViewAddressPropertiesNVX* pProperties);
9732 #define VK_AMD_draw_indirect_count 1
9733 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2
9734 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count"
9735 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9736 typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
9738 #ifndef VK_NO_PROTOTYPES
9739 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountAMD(
9740 VkCommandBuffer commandBuffer,
9742 VkDeviceSize offset,
9743 VkBuffer countBuffer,
9744 VkDeviceSize countBufferOffset,
9745 deUint32 maxDrawCount,
9748 VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountAMD(
9749 VkCommandBuffer commandBuffer,
9751 VkDeviceSize offset,
9752 VkBuffer countBuffer,
9753 VkDeviceSize countBufferOffset,
9754 deUint32 maxDrawCount,
9759 #define VK_AMD_negative_viewport_height 1
9760 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1
9761 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height"
9764 #define VK_AMD_gpu_shader_half_float 1
9765 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2
9766 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float"
9769 #define VK_AMD_shader_ballot 1
9770 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1
9771 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot"
9774 #define VK_AMD_texture_gather_bias_lod 1
9775 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1
9776 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod"
9777 typedef struct VkTextureLODGatherFormatPropertiesAMD {
9778 VkStructureType sType;
9780 VkBool32 supportsTextureGatherLODBiasAMD;
9781 } VkTextureLODGatherFormatPropertiesAMD;
9785 #define VK_AMD_shader_info 1
9786 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1
9787 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info"
9789 typedef enum VkShaderInfoTypeAMD {
9790 VK_SHADER_INFO_TYPE_STATISTICS_AMD = 0,
9791 VK_SHADER_INFO_TYPE_BINARY_AMD = 1,
9792 VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = 2,
9793 VK_SHADER_INFO_TYPE_MAX_ENUM_AMD = 0x7FFFFFFF
9794 } VkShaderInfoTypeAMD;
9795 typedef struct VkShaderResourceUsageAMD {
9796 deUint32 numUsedVgprs;
9797 deUint32 numUsedSgprs;
9798 deUint32 ldsSizePerLocalWorkGroup;
9799 deUintptr ldsUsageSizeInBytes;
9800 deUintptr scratchMemUsageInBytes;
9801 } VkShaderResourceUsageAMD;
9803 typedef struct VkShaderStatisticsInfoAMD {
9804 VkShaderStageFlags shaderStageMask;
9805 VkShaderResourceUsageAMD resourceUsage;
9806 deUint32 numPhysicalVgprs;
9807 deUint32 numPhysicalSgprs;
9808 deUint32 numAvailableVgprs;
9809 deUint32 numAvailableSgprs;
9810 deUint32 computeWorkGroupSize[3];
9811 } VkShaderStatisticsInfoAMD;
9813 typedef VkResult (VKAPI_PTR *PFN_vkGetShaderInfoAMD)(VkDevice device, VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, deUintptr* pInfoSize, void* pInfo);
9815 #ifndef VK_NO_PROTOTYPES
9816 VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderInfoAMD(
9818 VkPipeline pipeline,
9819 VkShaderStageFlagBits shaderStage,
9820 VkShaderInfoTypeAMD infoType,
9821 deUintptr* pInfoSize,
9826 #define VK_AMD_shader_image_load_store_lod 1
9827 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1
9828 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod"
9831 #define VK_NV_corner_sampled_image 1
9832 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2
9833 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image"
9834 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
9835 VkStructureType sType;
9837 VkBool32 cornerSampledImage;
9838 } VkPhysicalDeviceCornerSampledImageFeaturesNV;
9842 #define VK_IMG_format_pvrtc 1
9843 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1
9844 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc"
9847 #define VK_NV_external_memory_capabilities 1
9848 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1
9849 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities"
9851 typedef enum VkExternalMemoryHandleTypeFlagBitsNV {
9852 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV = 0x00000001,
9853 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV = 0x00000002,
9854 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV = 0x00000004,
9855 VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV = 0x00000008,
9856 VK_EXTERNAL_MEMORY_HANDLE_TYPE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9857 } VkExternalMemoryHandleTypeFlagBitsNV;
9858 typedef VkFlags VkExternalMemoryHandleTypeFlagsNV;
9860 typedef enum VkExternalMemoryFeatureFlagBitsNV {
9861 VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV = 0x00000001,
9862 VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV = 0x00000002,
9863 VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV = 0x00000004,
9864 VK_EXTERNAL_MEMORY_FEATURE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
9865 } VkExternalMemoryFeatureFlagBitsNV;
9866 typedef VkFlags VkExternalMemoryFeatureFlagsNV;
9867 typedef struct VkExternalImageFormatPropertiesNV {
9868 VkImageFormatProperties imageFormatProperties;
9869 VkExternalMemoryFeatureFlagsNV externalMemoryFeatures;
9870 VkExternalMemoryHandleTypeFlagsNV exportFromImportedHandleTypes;
9871 VkExternalMemoryHandleTypeFlagsNV compatibleHandleTypes;
9872 } VkExternalImageFormatPropertiesNV;
9874 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9876 #ifndef VK_NO_PROTOTYPES
9877 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
9878 VkPhysicalDevice physicalDevice,
9881 VkImageTiling tiling,
9882 VkImageUsageFlags usage,
9883 VkImageCreateFlags flags,
9884 VkExternalMemoryHandleTypeFlagsNV externalHandleType,
9885 VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties);
9889 #define VK_NV_external_memory 1
9890 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1
9891 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory"
9892 typedef struct VkExternalMemoryImageCreateInfoNV {
9893 VkStructureType sType;
9895 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9896 } VkExternalMemoryImageCreateInfoNV;
9898 typedef struct VkExportMemoryAllocateInfoNV {
9899 VkStructureType sType;
9901 VkExternalMemoryHandleTypeFlagsNV handleTypes;
9902 } VkExportMemoryAllocateInfoNV;
9906 #define VK_EXT_validation_flags 1
9907 #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2
9908 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags"
9910 typedef enum VkValidationCheckEXT {
9911 VK_VALIDATION_CHECK_ALL_EXT = 0,
9912 VK_VALIDATION_CHECK_SHADERS_EXT = 1,
9913 VK_VALIDATION_CHECK_MAX_ENUM_EXT = 0x7FFFFFFF
9914 } VkValidationCheckEXT;
9915 typedef struct VkValidationFlagsEXT {
9916 VkStructureType sType;
9918 deUint32 disabledValidationCheckCount;
9919 const VkValidationCheckEXT* pDisabledValidationChecks;
9920 } VkValidationFlagsEXT;
9924 #define VK_EXT_shader_subgroup_ballot 1
9925 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1
9926 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot"
9929 #define VK_EXT_shader_subgroup_vote 1
9930 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1
9931 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote"
9934 #define VK_EXT_texture_compression_astc_hdr 1
9935 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1
9936 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr"
9937 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
9938 VkStructureType sType;
9940 VkBool32 textureCompressionASTC_HDR;
9941 } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
9945 #define VK_EXT_astc_decode_mode 1
9946 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1
9947 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode"
9948 typedef struct VkImageViewASTCDecodeModeEXT {
9949 VkStructureType sType;
9951 VkFormat decodeMode;
9952 } VkImageViewASTCDecodeModeEXT;
9954 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
9955 VkStructureType sType;
9957 VkBool32 decodeModeSharedExponent;
9958 } VkPhysicalDeviceASTCDecodeFeaturesEXT;
9962 #define VK_EXT_conditional_rendering 1
9963 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
9964 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
9966 typedef enum VkConditionalRenderingFlagBitsEXT {
9967 VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT = 0x00000001,
9968 VK_CONDITIONAL_RENDERING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
9969 } VkConditionalRenderingFlagBitsEXT;
9970 typedef VkFlags VkConditionalRenderingFlagsEXT;
9971 typedef struct VkConditionalRenderingBeginInfoEXT {
9972 VkStructureType sType;
9975 VkDeviceSize offset;
9976 VkConditionalRenderingFlagsEXT flags;
9977 } VkConditionalRenderingBeginInfoEXT;
9979 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
9980 VkStructureType sType;
9982 VkBool32 conditionalRendering;
9983 VkBool32 inheritedConditionalRendering;
9984 } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
9986 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT {
9987 VkStructureType sType;
9989 VkBool32 conditionalRenderingEnable;
9990 } VkCommandBufferInheritanceConditionalRenderingInfoEXT;
9992 typedef void (VKAPI_PTR *PFN_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer commandBuffer, const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
9993 typedef void (VKAPI_PTR *PFN_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer commandBuffer);
9995 #ifndef VK_NO_PROTOTYPES
9996 VKAPI_ATTR void VKAPI_CALL vkCmdBeginConditionalRenderingEXT(
9997 VkCommandBuffer commandBuffer,
9998 const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin);
10000 VKAPI_ATTR void VKAPI_CALL vkCmdEndConditionalRenderingEXT(
10001 VkCommandBuffer commandBuffer);
10005 #define VK_NV_clip_space_w_scaling 1
10006 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1
10007 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling"
10008 typedef struct VkViewportWScalingNV {
10011 } VkViewportWScalingNV;
10013 typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
10014 VkStructureType sType;
10016 VkBool32 viewportWScalingEnable;
10017 deUint32 viewportCount;
10018 const VkViewportWScalingNV* pViewportWScalings;
10019 } VkPipelineViewportWScalingStateCreateInfoNV;
10021 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkViewportWScalingNV* pViewportWScalings);
10023 #ifndef VK_NO_PROTOTYPES
10024 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingNV(
10025 VkCommandBuffer commandBuffer,
10026 deUint32 firstViewport,
10027 deUint32 viewportCount,
10028 const VkViewportWScalingNV* pViewportWScalings);
10032 #define VK_EXT_direct_mode_display 1
10033 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1
10034 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display"
10035 typedef VkResult (VKAPI_PTR *PFN_vkReleaseDisplayEXT)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
10037 #ifndef VK_NO_PROTOTYPES
10038 VKAPI_ATTR VkResult VKAPI_CALL vkReleaseDisplayEXT(
10039 VkPhysicalDevice physicalDevice,
10040 VkDisplayKHR display);
10044 #define VK_EXT_display_surface_counter 1
10045 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1
10046 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter"
10048 typedef enum VkSurfaceCounterFlagBitsEXT {
10049 VK_SURFACE_COUNTER_VBLANK_BIT_EXT = 0x00000001,
10050 VK_SURFACE_COUNTER_VBLANK_EXT = VK_SURFACE_COUNTER_VBLANK_BIT_EXT,
10051 VK_SURFACE_COUNTER_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10052 } VkSurfaceCounterFlagBitsEXT;
10053 typedef VkFlags VkSurfaceCounterFlagsEXT;
10054 typedef struct VkSurfaceCapabilities2EXT {
10055 VkStructureType sType;
10057 deUint32 minImageCount;
10058 deUint32 maxImageCount;
10059 VkExtent2D currentExtent;
10060 VkExtent2D minImageExtent;
10061 VkExtent2D maxImageExtent;
10062 deUint32 maxImageArrayLayers;
10063 VkSurfaceTransformFlagsKHR supportedTransforms;
10064 VkSurfaceTransformFlagBitsKHR currentTransform;
10065 VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
10066 VkImageUsageFlags supportedUsageFlags;
10067 VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
10068 } VkSurfaceCapabilities2EXT;
10070 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
10072 #ifndef VK_NO_PROTOTYPES
10073 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilities2EXT(
10074 VkPhysicalDevice physicalDevice,
10075 VkSurfaceKHR surface,
10076 VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
10080 #define VK_EXT_display_control 1
10081 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1
10082 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control"
10084 typedef enum VkDisplayPowerStateEXT {
10085 VK_DISPLAY_POWER_STATE_OFF_EXT = 0,
10086 VK_DISPLAY_POWER_STATE_SUSPEND_EXT = 1,
10087 VK_DISPLAY_POWER_STATE_ON_EXT = 2,
10088 VK_DISPLAY_POWER_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
10089 } VkDisplayPowerStateEXT;
10091 typedef enum VkDeviceEventTypeEXT {
10092 VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT = 0,
10093 VK_DEVICE_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10094 } VkDeviceEventTypeEXT;
10096 typedef enum VkDisplayEventTypeEXT {
10097 VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT = 0,
10098 VK_DISPLAY_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
10099 } VkDisplayEventTypeEXT;
10100 typedef struct VkDisplayPowerInfoEXT {
10101 VkStructureType sType;
10103 VkDisplayPowerStateEXT powerState;
10104 } VkDisplayPowerInfoEXT;
10106 typedef struct VkDeviceEventInfoEXT {
10107 VkStructureType sType;
10109 VkDeviceEventTypeEXT deviceEvent;
10110 } VkDeviceEventInfoEXT;
10112 typedef struct VkDisplayEventInfoEXT {
10113 VkStructureType sType;
10115 VkDisplayEventTypeEXT displayEvent;
10116 } VkDisplayEventInfoEXT;
10118 typedef struct VkSwapchainCounterCreateInfoEXT {
10119 VkStructureType sType;
10121 VkSurfaceCounterFlagsEXT surfaceCounters;
10122 } VkSwapchainCounterCreateInfoEXT;
10124 typedef VkResult (VKAPI_PTR *PFN_vkDisplayPowerControlEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10125 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDeviceEventEXT)(VkDevice device, const VkDeviceEventInfoEXT* pDeviceEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10126 typedef VkResult (VKAPI_PTR *PFN_vkRegisterDisplayEventEXT)(VkDevice device, VkDisplayKHR display, const VkDisplayEventInfoEXT* pDisplayEventInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
10127 typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainCounterEXT)(VkDevice device, VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, deUint64* pCounterValue);
10129 #ifndef VK_NO_PROTOTYPES
10130 VKAPI_ATTR VkResult VKAPI_CALL vkDisplayPowerControlEXT(
10132 VkDisplayKHR display,
10133 const VkDisplayPowerInfoEXT* pDisplayPowerInfo);
10135 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDeviceEventEXT(
10137 const VkDeviceEventInfoEXT* pDeviceEventInfo,
10138 const VkAllocationCallbacks* pAllocator,
10141 VKAPI_ATTR VkResult VKAPI_CALL vkRegisterDisplayEventEXT(
10143 VkDisplayKHR display,
10144 const VkDisplayEventInfoEXT* pDisplayEventInfo,
10145 const VkAllocationCallbacks* pAllocator,
10148 VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainCounterEXT(
10150 VkSwapchainKHR swapchain,
10151 VkSurfaceCounterFlagBitsEXT counter,
10152 deUint64* pCounterValue);
10156 #define VK_GOOGLE_display_timing 1
10157 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1
10158 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing"
10159 typedef struct VkRefreshCycleDurationGOOGLE {
10160 deUint64 refreshDuration;
10161 } VkRefreshCycleDurationGOOGLE;
10163 typedef struct VkPastPresentationTimingGOOGLE {
10164 deUint32 presentID;
10165 deUint64 desiredPresentTime;
10166 deUint64 actualPresentTime;
10167 deUint64 earliestPresentTime;
10168 deUint64 presentMargin;
10169 } VkPastPresentationTimingGOOGLE;
10171 typedef struct VkPresentTimeGOOGLE {
10172 deUint32 presentID;
10173 deUint64 desiredPresentTime;
10174 } VkPresentTimeGOOGLE;
10176 typedef struct VkPresentTimesInfoGOOGLE {
10177 VkStructureType sType;
10179 deUint32 swapchainCount;
10180 const VkPresentTimeGOOGLE* pTimes;
10181 } VkPresentTimesInfoGOOGLE;
10183 typedef VkResult (VKAPI_PTR *PFN_vkGetRefreshCycleDurationGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10184 typedef VkResult (VKAPI_PTR *PFN_vkGetPastPresentationTimingGOOGLE)(VkDevice device, VkSwapchainKHR swapchain, deUint32* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
10186 #ifndef VK_NO_PROTOTYPES
10187 VKAPI_ATTR VkResult VKAPI_CALL vkGetRefreshCycleDurationGOOGLE(
10189 VkSwapchainKHR swapchain,
10190 VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties);
10192 VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
10194 VkSwapchainKHR swapchain,
10195 deUint32* pPresentationTimingCount,
10196 VkPastPresentationTimingGOOGLE* pPresentationTimings);
10200 #define VK_NV_sample_mask_override_coverage 1
10201 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1
10202 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage"
10205 #define VK_NV_geometry_shader_passthrough 1
10206 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1
10207 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough"
10210 #define VK_NV_viewport_array2 1
10211 #define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1
10212 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2"
10215 #define VK_NVX_multiview_per_view_attributes 1
10216 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1
10217 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes"
10218 typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
10219 VkStructureType sType;
10221 VkBool32 perViewPositionAllComponents;
10222 } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
10226 #define VK_NV_viewport_swizzle 1
10227 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1
10228 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle"
10230 typedef enum VkViewportCoordinateSwizzleNV {
10231 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV = 0,
10232 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV = 1,
10233 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV = 2,
10234 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV = 3,
10235 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV = 4,
10236 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV = 5,
10237 VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV = 6,
10238 VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV = 7,
10239 VK_VIEWPORT_COORDINATE_SWIZZLE_MAX_ENUM_NV = 0x7FFFFFFF
10240 } VkViewportCoordinateSwizzleNV;
10241 typedef VkFlags VkPipelineViewportSwizzleStateCreateFlagsNV;
10242 typedef struct VkViewportSwizzleNV {
10243 VkViewportCoordinateSwizzleNV x;
10244 VkViewportCoordinateSwizzleNV y;
10245 VkViewportCoordinateSwizzleNV z;
10246 VkViewportCoordinateSwizzleNV w;
10247 } VkViewportSwizzleNV;
10249 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
10250 VkStructureType sType;
10252 VkPipelineViewportSwizzleStateCreateFlagsNV flags;
10253 deUint32 viewportCount;
10254 const VkViewportSwizzleNV* pViewportSwizzles;
10255 } VkPipelineViewportSwizzleStateCreateInfoNV;
10259 #define VK_EXT_discard_rectangles 1
10260 #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1
10261 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles"
10263 typedef enum VkDiscardRectangleModeEXT {
10264 VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT = 0,
10265 VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT = 1,
10266 VK_DISCARD_RECTANGLE_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10267 } VkDiscardRectangleModeEXT;
10268 typedef VkFlags VkPipelineDiscardRectangleStateCreateFlagsEXT;
10269 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
10270 VkStructureType sType;
10272 deUint32 maxDiscardRectangles;
10273 } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
10275 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
10276 VkStructureType sType;
10278 VkPipelineDiscardRectangleStateCreateFlagsEXT flags;
10279 VkDiscardRectangleModeEXT discardRectangleMode;
10280 deUint32 discardRectangleCount;
10281 const VkRect2D* pDiscardRectangles;
10282 } VkPipelineDiscardRectangleStateCreateInfoEXT;
10284 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, deUint32 firstDiscardRectangle, deUint32 discardRectangleCount, const VkRect2D* pDiscardRectangles);
10286 #ifndef VK_NO_PROTOTYPES
10287 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT(
10288 VkCommandBuffer commandBuffer,
10289 deUint32 firstDiscardRectangle,
10290 deUint32 discardRectangleCount,
10291 const VkRect2D* pDiscardRectangles);
10295 #define VK_EXT_conservative_rasterization 1
10296 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1
10297 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization"
10299 typedef enum VkConservativeRasterizationModeEXT {
10300 VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT = 0,
10301 VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT = 1,
10302 VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT = 2,
10303 VK_CONSERVATIVE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
10304 } VkConservativeRasterizationModeEXT;
10305 typedef VkFlags VkPipelineRasterizationConservativeStateCreateFlagsEXT;
10306 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
10307 VkStructureType sType;
10309 float primitiveOverestimationSize;
10310 float maxExtraPrimitiveOverestimationSize;
10311 float extraPrimitiveOverestimationSizeGranularity;
10312 VkBool32 primitiveUnderestimation;
10313 VkBool32 conservativePointAndLineRasterization;
10314 VkBool32 degenerateTrianglesRasterized;
10315 VkBool32 degenerateLinesRasterized;
10316 VkBool32 fullyCoveredFragmentShaderInputVariable;
10317 VkBool32 conservativeRasterizationPostDepthCoverage;
10318 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
10320 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
10321 VkStructureType sType;
10323 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags;
10324 VkConservativeRasterizationModeEXT conservativeRasterizationMode;
10325 float extraPrimitiveOverestimationSize;
10326 } VkPipelineRasterizationConservativeStateCreateInfoEXT;
10330 #define VK_EXT_depth_clip_enable 1
10331 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1
10332 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable"
10333 typedef VkFlags VkPipelineRasterizationDepthClipStateCreateFlagsEXT;
10334 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
10335 VkStructureType sType;
10337 VkBool32 depthClipEnable;
10338 } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
10340 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT {
10341 VkStructureType sType;
10343 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags;
10344 VkBool32 depthClipEnable;
10345 } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
10349 #define VK_EXT_swapchain_colorspace 1
10350 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4
10351 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace"
10354 #define VK_EXT_hdr_metadata 1
10355 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2
10356 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata"
10357 typedef struct VkXYColorEXT {
10362 typedef struct VkHdrMetadataEXT {
10363 VkStructureType sType;
10365 VkXYColorEXT displayPrimaryRed;
10366 VkXYColorEXT displayPrimaryGreen;
10367 VkXYColorEXT displayPrimaryBlue;
10368 VkXYColorEXT whitePoint;
10369 float maxLuminance;
10370 float minLuminance;
10371 float maxContentLightLevel;
10372 float maxFrameAverageLightLevel;
10373 } VkHdrMetadataEXT;
10375 typedef void (VKAPI_PTR *PFN_vkSetHdrMetadataEXT)(VkDevice device, deUint32 swapchainCount, const VkSwapchainKHR* pSwapchains, const VkHdrMetadataEXT* pMetadata);
10377 #ifndef VK_NO_PROTOTYPES
10378 VKAPI_ATTR void VKAPI_CALL vkSetHdrMetadataEXT(
10380 deUint32 swapchainCount,
10381 const VkSwapchainKHR* pSwapchains,
10382 const VkHdrMetadataEXT* pMetadata);
10386 #define VK_EXT_external_memory_dma_buf 1
10387 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1
10388 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf"
10391 #define VK_EXT_queue_family_foreign 1
10392 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1
10393 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign"
10394 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U)
10397 #define VK_EXT_debug_utils 1
10398 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT)
10399 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2
10400 #define VK_EXT_DEBUG_UTILS_EXTENSION_NAME "VK_EXT_debug_utils"
10401 typedef VkFlags VkDebugUtilsMessengerCallbackDataFlagsEXT;
10403 typedef enum VkDebugUtilsMessageSeverityFlagBitsEXT {
10404 VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001,
10405 VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010,
10406 VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100,
10407 VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000,
10408 VK_DEBUG_UTILS_MESSAGE_SEVERITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10409 } VkDebugUtilsMessageSeverityFlagBitsEXT;
10411 typedef enum VkDebugUtilsMessageTypeFlagBitsEXT {
10412 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001,
10413 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002,
10414 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004,
10415 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
10416 } VkDebugUtilsMessageTypeFlagBitsEXT;
10417 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT;
10418 typedef VkFlags VkDebugUtilsMessageSeverityFlagsEXT;
10419 typedef VkFlags VkDebugUtilsMessengerCreateFlagsEXT;
10420 typedef struct VkDebugUtilsLabelEXT {
10421 VkStructureType sType;
10423 const char* pLabelName;
10425 } VkDebugUtilsLabelEXT;
10427 typedef struct VkDebugUtilsObjectNameInfoEXT {
10428 VkStructureType sType;
10430 VkObjectType objectType;
10431 deUint64 objectHandle;
10432 const char* pObjectName;
10433 } VkDebugUtilsObjectNameInfoEXT;
10435 typedef struct VkDebugUtilsMessengerCallbackDataEXT {
10436 VkStructureType sType;
10438 VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
10439 const char* pMessageIdName;
10440 deInt32 messageIdNumber;
10441 const char* pMessage;
10442 deUint32 queueLabelCount;
10443 const VkDebugUtilsLabelEXT* pQueueLabels;
10444 deUint32 cmdBufLabelCount;
10445 const VkDebugUtilsLabelEXT* pCmdBufLabels;
10446 deUint32 objectCount;
10447 const VkDebugUtilsObjectNameInfoEXT* pObjects;
10448 } VkDebugUtilsMessengerCallbackDataEXT;
10450 typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
10451 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10452 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10453 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
10456 typedef struct VkDebugUtilsMessengerCreateInfoEXT {
10457 VkStructureType sType;
10459 VkDebugUtilsMessengerCreateFlagsEXT flags;
10460 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity;
10461 VkDebugUtilsMessageTypeFlagsEXT messageType;
10462 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback;
10464 } VkDebugUtilsMessengerCreateInfoEXT;
10466 typedef struct VkDebugUtilsObjectTagInfoEXT {
10467 VkStructureType sType;
10469 VkObjectType objectType;
10470 deUint64 objectHandle;
10474 } VkDebugUtilsObjectTagInfoEXT;
10476 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectNameEXT)(VkDevice device, const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10477 typedef VkResult (VKAPI_PTR *PFN_vkSetDebugUtilsObjectTagEXT)(VkDevice device, const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10478 typedef void (VKAPI_PTR *PFN_vkQueueBeginDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10479 typedef void (VKAPI_PTR *PFN_vkQueueEndDebugUtilsLabelEXT)(VkQueue queue);
10480 typedef void (VKAPI_PTR *PFN_vkQueueInsertDebugUtilsLabelEXT)(VkQueue queue, const VkDebugUtilsLabelEXT* pLabelInfo);
10481 typedef void (VKAPI_PTR *PFN_vkCmdBeginDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10482 typedef void (VKAPI_PTR *PFN_vkCmdEndDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer);
10483 typedef void (VKAPI_PTR *PFN_vkCmdInsertDebugUtilsLabelEXT)(VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT* pLabelInfo);
10484 typedef VkResult (VKAPI_PTR *PFN_vkCreateDebugUtilsMessengerEXT)(VkInstance instance, const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugUtilsMessengerEXT* pMessenger);
10485 typedef void (VKAPI_PTR *PFN_vkDestroyDebugUtilsMessengerEXT)(VkInstance instance, VkDebugUtilsMessengerEXT messenger, const VkAllocationCallbacks* pAllocator);
10486 typedef void (VKAPI_PTR *PFN_vkSubmitDebugUtilsMessageEXT)(VkInstance instance, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageTypes, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10488 #ifndef VK_NO_PROTOTYPES
10489 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectNameEXT(
10491 const VkDebugUtilsObjectNameInfoEXT* pNameInfo);
10493 VKAPI_ATTR VkResult VKAPI_CALL vkSetDebugUtilsObjectTagEXT(
10495 const VkDebugUtilsObjectTagInfoEXT* pTagInfo);
10497 VKAPI_ATTR void VKAPI_CALL vkQueueBeginDebugUtilsLabelEXT(
10499 const VkDebugUtilsLabelEXT* pLabelInfo);
10501 VKAPI_ATTR void VKAPI_CALL vkQueueEndDebugUtilsLabelEXT(
10504 VKAPI_ATTR void VKAPI_CALL vkQueueInsertDebugUtilsLabelEXT(
10506 const VkDebugUtilsLabelEXT* pLabelInfo);
10508 VKAPI_ATTR void VKAPI_CALL vkCmdBeginDebugUtilsLabelEXT(
10509 VkCommandBuffer commandBuffer,
10510 const VkDebugUtilsLabelEXT* pLabelInfo);
10512 VKAPI_ATTR void VKAPI_CALL vkCmdEndDebugUtilsLabelEXT(
10513 VkCommandBuffer commandBuffer);
10515 VKAPI_ATTR void VKAPI_CALL vkCmdInsertDebugUtilsLabelEXT(
10516 VkCommandBuffer commandBuffer,
10517 const VkDebugUtilsLabelEXT* pLabelInfo);
10519 VKAPI_ATTR VkResult VKAPI_CALL vkCreateDebugUtilsMessengerEXT(
10520 VkInstance instance,
10521 const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
10522 const VkAllocationCallbacks* pAllocator,
10523 VkDebugUtilsMessengerEXT* pMessenger);
10525 VKAPI_ATTR void VKAPI_CALL vkDestroyDebugUtilsMessengerEXT(
10526 VkInstance instance,
10527 VkDebugUtilsMessengerEXT messenger,
10528 const VkAllocationCallbacks* pAllocator);
10530 VKAPI_ATTR void VKAPI_CALL vkSubmitDebugUtilsMessageEXT(
10531 VkInstance instance,
10532 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
10533 VkDebugUtilsMessageTypeFlagsEXT messageTypes,
10534 const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);
10538 #define VK_EXT_sampler_filter_minmax 1
10539 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2
10540 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax"
10541 typedef VkSamplerReductionMode VkSamplerReductionModeEXT;
10543 typedef VkSamplerReductionModeCreateInfo VkSamplerReductionModeCreateInfoEXT;
10545 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
10549 #define VK_AMD_gpu_shader_int16 1
10550 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2
10551 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16"
10554 #define VK_AMD_mixed_attachment_samples 1
10555 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1
10556 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples"
10559 #define VK_AMD_shader_fragment_mask 1
10560 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1
10561 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask"
10564 #define VK_EXT_inline_uniform_block 1
10565 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1
10566 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block"
10567 typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
10568 VkStructureType sType;
10570 VkBool32 inlineUniformBlock;
10571 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind;
10572 } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
10574 typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
10575 VkStructureType sType;
10577 deUint32 maxInlineUniformBlockSize;
10578 deUint32 maxPerStageDescriptorInlineUniformBlocks;
10579 deUint32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
10580 deUint32 maxDescriptorSetInlineUniformBlocks;
10581 deUint32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
10582 } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
10584 typedef struct VkWriteDescriptorSetInlineUniformBlockEXT {
10585 VkStructureType sType;
10589 } VkWriteDescriptorSetInlineUniformBlockEXT;
10591 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfoEXT {
10592 VkStructureType sType;
10594 deUint32 maxInlineUniformBlockBindings;
10595 } VkDescriptorPoolInlineUniformBlockCreateInfoEXT;
10599 #define VK_EXT_shader_stencil_export 1
10600 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1
10601 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export"
10604 #define VK_EXT_sample_locations 1
10605 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1
10606 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations"
10607 typedef struct VkSampleLocationEXT {
10610 } VkSampleLocationEXT;
10612 typedef struct VkSampleLocationsInfoEXT {
10613 VkStructureType sType;
10615 VkSampleCountFlagBits sampleLocationsPerPixel;
10616 VkExtent2D sampleLocationGridSize;
10617 deUint32 sampleLocationsCount;
10618 const VkSampleLocationEXT* pSampleLocations;
10619 } VkSampleLocationsInfoEXT;
10621 typedef struct VkAttachmentSampleLocationsEXT {
10622 deUint32 attachmentIndex;
10623 VkSampleLocationsInfoEXT sampleLocationsInfo;
10624 } VkAttachmentSampleLocationsEXT;
10626 typedef struct VkSubpassSampleLocationsEXT {
10627 deUint32 subpassIndex;
10628 VkSampleLocationsInfoEXT sampleLocationsInfo;
10629 } VkSubpassSampleLocationsEXT;
10631 typedef struct VkRenderPassSampleLocationsBeginInfoEXT {
10632 VkStructureType sType;
10634 deUint32 attachmentInitialSampleLocationsCount;
10635 const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;
10636 deUint32 postSubpassSampleLocationsCount;
10637 const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;
10638 } VkRenderPassSampleLocationsBeginInfoEXT;
10640 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
10641 VkStructureType sType;
10643 VkBool32 sampleLocationsEnable;
10644 VkSampleLocationsInfoEXT sampleLocationsInfo;
10645 } VkPipelineSampleLocationsStateCreateInfoEXT;
10647 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
10648 VkStructureType sType;
10650 VkSampleCountFlags sampleLocationSampleCounts;
10651 VkExtent2D maxSampleLocationGridSize;
10652 float sampleLocationCoordinateRange[2];
10653 deUint32 sampleLocationSubPixelBits;
10654 VkBool32 variableSampleLocations;
10655 } VkPhysicalDeviceSampleLocationsPropertiesEXT;
10657 typedef struct VkMultisamplePropertiesEXT {
10658 VkStructureType sType;
10660 VkExtent2D maxSampleLocationGridSize;
10661 } VkMultisamplePropertiesEXT;
10663 typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEXT)(VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10664 typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice physicalDevice, VkSampleCountFlagBits samples, VkMultisamplePropertiesEXT* pMultisampleProperties);
10666 #ifndef VK_NO_PROTOTYPES
10667 VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEXT(
10668 VkCommandBuffer commandBuffer,
10669 const VkSampleLocationsInfoEXT* pSampleLocationsInfo);
10671 VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMultisamplePropertiesEXT(
10672 VkPhysicalDevice physicalDevice,
10673 VkSampleCountFlagBits samples,
10674 VkMultisamplePropertiesEXT* pMultisampleProperties);
10678 #define VK_EXT_blend_operation_advanced 1
10679 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2
10680 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced"
10682 typedef enum VkBlendOverlapEXT {
10683 VK_BLEND_OVERLAP_UNCORRELATED_EXT = 0,
10684 VK_BLEND_OVERLAP_DISJOINT_EXT = 1,
10685 VK_BLEND_OVERLAP_CONJOINT_EXT = 2,
10686 VK_BLEND_OVERLAP_MAX_ENUM_EXT = 0x7FFFFFFF
10687 } VkBlendOverlapEXT;
10688 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
10689 VkStructureType sType;
10691 VkBool32 advancedBlendCoherentOperations;
10692 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
10694 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
10695 VkStructureType sType;
10697 deUint32 advancedBlendMaxColorAttachments;
10698 VkBool32 advancedBlendIndependentBlend;
10699 VkBool32 advancedBlendNonPremultipliedSrcColor;
10700 VkBool32 advancedBlendNonPremultipliedDstColor;
10701 VkBool32 advancedBlendCorrelatedOverlap;
10702 VkBool32 advancedBlendAllOperations;
10703 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
10705 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
10706 VkStructureType sType;
10708 VkBool32 srcPremultiplied;
10709 VkBool32 dstPremultiplied;
10710 VkBlendOverlapEXT blendOverlap;
10711 } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
10715 #define VK_NV_fragment_coverage_to_color 1
10716 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1
10717 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color"
10718 typedef VkFlags VkPipelineCoverageToColorStateCreateFlagsNV;
10719 typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
10720 VkStructureType sType;
10722 VkPipelineCoverageToColorStateCreateFlagsNV flags;
10723 VkBool32 coverageToColorEnable;
10724 deUint32 coverageToColorLocation;
10725 } VkPipelineCoverageToColorStateCreateInfoNV;
10729 #define VK_NV_framebuffer_mixed_samples 1
10730 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1
10731 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples"
10733 typedef enum VkCoverageModulationModeNV {
10734 VK_COVERAGE_MODULATION_MODE_NONE_NV = 0,
10735 VK_COVERAGE_MODULATION_MODE_RGB_NV = 1,
10736 VK_COVERAGE_MODULATION_MODE_ALPHA_NV = 2,
10737 VK_COVERAGE_MODULATION_MODE_RGBA_NV = 3,
10738 VK_COVERAGE_MODULATION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
10739 } VkCoverageModulationModeNV;
10740 typedef VkFlags VkPipelineCoverageModulationStateCreateFlagsNV;
10741 typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
10742 VkStructureType sType;
10744 VkPipelineCoverageModulationStateCreateFlagsNV flags;
10745 VkCoverageModulationModeNV coverageModulationMode;
10746 VkBool32 coverageModulationTableEnable;
10747 deUint32 coverageModulationTableCount;
10748 const float* pCoverageModulationTable;
10749 } VkPipelineCoverageModulationStateCreateInfoNV;
10753 #define VK_NV_fill_rectangle 1
10754 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1
10755 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle"
10758 #define VK_NV_shader_sm_builtins 1
10759 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1
10760 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins"
10761 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
10762 VkStructureType sType;
10764 deUint32 shaderSMCount;
10765 deUint32 shaderWarpsPerSM;
10766 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
10768 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
10769 VkStructureType sType;
10771 VkBool32 shaderSMBuiltins;
10772 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
10776 #define VK_EXT_post_depth_coverage 1
10777 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1
10778 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage"
10781 #define VK_EXT_image_drm_format_modifier 1
10782 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 1
10783 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier"
10784 typedef struct VkDrmFormatModifierPropertiesEXT {
10785 deUint64 drmFormatModifier;
10786 deUint32 drmFormatModifierPlaneCount;
10787 VkFormatFeatureFlags drmFormatModifierTilingFeatures;
10788 } VkDrmFormatModifierPropertiesEXT;
10790 typedef struct VkDrmFormatModifierPropertiesListEXT {
10791 VkStructureType sType;
10793 deUint32 drmFormatModifierCount;
10794 VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties;
10795 } VkDrmFormatModifierPropertiesListEXT;
10797 typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
10798 VkStructureType sType;
10800 deUint64 drmFormatModifier;
10801 VkSharingMode sharingMode;
10802 deUint32 queueFamilyIndexCount;
10803 const deUint32* pQueueFamilyIndices;
10804 } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
10806 typedef struct VkImageDrmFormatModifierListCreateInfoEXT {
10807 VkStructureType sType;
10809 deUint32 drmFormatModifierCount;
10810 const deUint64* pDrmFormatModifiers;
10811 } VkImageDrmFormatModifierListCreateInfoEXT;
10813 typedef struct VkImageDrmFormatModifierExplicitCreateInfoEXT {
10814 VkStructureType sType;
10816 deUint64 drmFormatModifier;
10817 deUint32 drmFormatModifierPlaneCount;
10818 const VkSubresourceLayout* pPlaneLayouts;
10819 } VkImageDrmFormatModifierExplicitCreateInfoEXT;
10821 typedef struct VkImageDrmFormatModifierPropertiesEXT {
10822 VkStructureType sType;
10824 deUint64 drmFormatModifier;
10825 } VkImageDrmFormatModifierPropertiesEXT;
10827 typedef VkResult (VKAPI_PTR *PFN_vkGetImageDrmFormatModifierPropertiesEXT)(VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties);
10829 #ifndef VK_NO_PROTOTYPES
10830 VKAPI_ATTR VkResult VKAPI_CALL vkGetImageDrmFormatModifierPropertiesEXT(
10833 VkImageDrmFormatModifierPropertiesEXT* pProperties);
10837 #define VK_EXT_validation_cache 1
10838 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT)
10839 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1
10840 #define VK_EXT_VALIDATION_CACHE_EXTENSION_NAME "VK_EXT_validation_cache"
10842 typedef enum VkValidationCacheHeaderVersionEXT {
10843 VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT = 1,
10844 VK_VALIDATION_CACHE_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF
10845 } VkValidationCacheHeaderVersionEXT;
10846 typedef VkFlags VkValidationCacheCreateFlagsEXT;
10847 typedef struct VkValidationCacheCreateInfoEXT {
10848 VkStructureType sType;
10850 VkValidationCacheCreateFlagsEXT flags;
10851 deUintptr initialDataSize;
10852 const void* pInitialData;
10853 } VkValidationCacheCreateInfoEXT;
10855 typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
10856 VkStructureType sType;
10858 VkValidationCacheEXT validationCache;
10859 } VkShaderModuleValidationCacheCreateInfoEXT;
10861 typedef VkResult (VKAPI_PTR *PFN_vkCreateValidationCacheEXT)(VkDevice device, const VkValidationCacheCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkValidationCacheEXT* pValidationCache);
10862 typedef void (VKAPI_PTR *PFN_vkDestroyValidationCacheEXT)(VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks* pAllocator);
10863 typedef VkResult (VKAPI_PTR *PFN_vkMergeValidationCachesEXT)(VkDevice device, VkValidationCacheEXT dstCache, deUint32 srcCacheCount, const VkValidationCacheEXT* pSrcCaches);
10864 typedef VkResult (VKAPI_PTR *PFN_vkGetValidationCacheDataEXT)(VkDevice device, VkValidationCacheEXT validationCache, deUintptr* pDataSize, void* pData);
10866 #ifndef VK_NO_PROTOTYPES
10867 VKAPI_ATTR VkResult VKAPI_CALL vkCreateValidationCacheEXT(
10869 const VkValidationCacheCreateInfoEXT* pCreateInfo,
10870 const VkAllocationCallbacks* pAllocator,
10871 VkValidationCacheEXT* pValidationCache);
10873 VKAPI_ATTR void VKAPI_CALL vkDestroyValidationCacheEXT(
10875 VkValidationCacheEXT validationCache,
10876 const VkAllocationCallbacks* pAllocator);
10878 VKAPI_ATTR VkResult VKAPI_CALL vkMergeValidationCachesEXT(
10880 VkValidationCacheEXT dstCache,
10881 deUint32 srcCacheCount,
10882 const VkValidationCacheEXT* pSrcCaches);
10884 VKAPI_ATTR VkResult VKAPI_CALL vkGetValidationCacheDataEXT(
10886 VkValidationCacheEXT validationCache,
10887 deUintptr* pDataSize,
10892 #define VK_EXT_descriptor_indexing 1
10893 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2
10894 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing"
10895 typedef VkDescriptorBindingFlagBits VkDescriptorBindingFlagBitsEXT;
10897 typedef VkDescriptorBindingFlags VkDescriptorBindingFlagsEXT;
10899 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
10901 typedef VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
10903 typedef VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
10905 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
10907 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
10911 #define VK_EXT_shader_viewport_index_layer 1
10912 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1
10913 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer"
10916 #define VK_NV_shading_rate_image 1
10917 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3
10918 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image"
10920 typedef enum VkShadingRatePaletteEntryNV {
10921 VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV = 0,
10922 VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV = 1,
10923 VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV = 2,
10924 VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV = 3,
10925 VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV = 4,
10926 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV = 5,
10927 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV = 6,
10928 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV = 7,
10929 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV = 8,
10930 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
10931 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV = 10,
10932 VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV = 11,
10933 VK_SHADING_RATE_PALETTE_ENTRY_MAX_ENUM_NV = 0x7FFFFFFF
10934 } VkShadingRatePaletteEntryNV;
10936 typedef enum VkCoarseSampleOrderTypeNV {
10937 VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0,
10938 VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV = 1,
10939 VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV = 2,
10940 VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV = 3,
10941 VK_COARSE_SAMPLE_ORDER_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
10942 } VkCoarseSampleOrderTypeNV;
10943 typedef struct VkShadingRatePaletteNV {
10944 deUint32 shadingRatePaletteEntryCount;
10945 const VkShadingRatePaletteEntryNV* pShadingRatePaletteEntries;
10946 } VkShadingRatePaletteNV;
10948 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV {
10949 VkStructureType sType;
10951 VkBool32 shadingRateImageEnable;
10952 deUint32 viewportCount;
10953 const VkShadingRatePaletteNV* pShadingRatePalettes;
10954 } VkPipelineViewportShadingRateImageStateCreateInfoNV;
10956 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
10957 VkStructureType sType;
10959 VkBool32 shadingRateImage;
10960 VkBool32 shadingRateCoarseSampleOrder;
10961 } VkPhysicalDeviceShadingRateImageFeaturesNV;
10963 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
10964 VkStructureType sType;
10966 VkExtent2D shadingRateTexelSize;
10967 deUint32 shadingRatePaletteSize;
10968 deUint32 shadingRateMaxCoarseSamples;
10969 } VkPhysicalDeviceShadingRateImagePropertiesNV;
10971 typedef struct VkCoarseSampleLocationNV {
10975 } VkCoarseSampleLocationNV;
10977 typedef struct VkCoarseSampleOrderCustomNV {
10978 VkShadingRatePaletteEntryNV shadingRate;
10979 deUint32 sampleCount;
10980 deUint32 sampleLocationCount;
10981 const VkCoarseSampleLocationNV* pSampleLocations;
10982 } VkCoarseSampleOrderCustomNV;
10984 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
10985 VkStructureType sType;
10987 VkCoarseSampleOrderTypeNV sampleOrderType;
10988 deUint32 customSampleOrderCount;
10989 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders;
10990 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
10992 typedef void (VKAPI_PTR *PFN_vkCmdBindShadingRateImageNV)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
10993 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer commandBuffer, deUint32 firstViewport, deUint32 viewportCount, const VkShadingRatePaletteNV* pShadingRatePalettes);
10994 typedef void (VKAPI_PTR *PFN_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer commandBuffer, VkCoarseSampleOrderTypeNV sampleOrderType, deUint32 customSampleOrderCount, const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
10996 #ifndef VK_NO_PROTOTYPES
10997 VKAPI_ATTR void VKAPI_CALL vkCmdBindShadingRateImageNV(
10998 VkCommandBuffer commandBuffer,
10999 VkImageView imageView,
11000 VkImageLayout imageLayout);
11002 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportShadingRatePaletteNV(
11003 VkCommandBuffer commandBuffer,
11004 deUint32 firstViewport,
11005 deUint32 viewportCount,
11006 const VkShadingRatePaletteNV* pShadingRatePalettes);
11008 VKAPI_ATTR void VKAPI_CALL vkCmdSetCoarseSampleOrderNV(
11009 VkCommandBuffer commandBuffer,
11010 VkCoarseSampleOrderTypeNV sampleOrderType,
11011 deUint32 customSampleOrderCount,
11012 const VkCoarseSampleOrderCustomNV* pCustomSampleOrders);
11016 #define VK_NV_ray_tracing 1
11017 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV)
11018 #define VK_NV_RAY_TRACING_SPEC_VERSION 3
11019 #define VK_NV_RAY_TRACING_EXTENSION_NAME "VK_NV_ray_tracing"
11020 #define VK_SHADER_UNUSED_KHR (~0U)
11021 #define VK_SHADER_UNUSED_NV VK_SHADER_UNUSED_KHR
11023 typedef enum VkRayTracingShaderGroupTypeKHR {
11024 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0,
11025 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR = 1,
11026 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR = 2,
11027 VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR,
11028 VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR,
11029 VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV = VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR,
11030 VK_RAY_TRACING_SHADER_GROUP_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11031 } VkRayTracingShaderGroupTypeKHR;
11032 typedef VkRayTracingShaderGroupTypeKHR VkRayTracingShaderGroupTypeNV;
11035 typedef enum VkGeometryTypeKHR {
11036 VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0,
11037 VK_GEOMETRY_TYPE_AABBS_KHR = 1,
11038 VK_GEOMETRY_TYPE_INSTANCES_KHR = 2,
11039 VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR,
11040 VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR,
11041 VK_GEOMETRY_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11042 } VkGeometryTypeKHR;
11043 typedef VkGeometryTypeKHR VkGeometryTypeNV;
11046 typedef enum VkAccelerationStructureTypeKHR {
11047 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR = 0,
11048 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR = 1,
11049 VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR = 2,
11050 VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
11051 VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV = VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR,
11052 VK_ACCELERATION_STRUCTURE_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
11053 } VkAccelerationStructureTypeKHR;
11054 typedef VkAccelerationStructureTypeKHR VkAccelerationStructureTypeNV;
11057 typedef enum VkCopyAccelerationStructureModeKHR {
11058 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0,
11059 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR = 1,
11060 VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR = 2,
11061 VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR = 3,
11062 VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
11063 VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV = VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
11064 VK_COPY_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
11065 } VkCopyAccelerationStructureModeKHR;
11066 typedef VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeNV;
11069 typedef enum VkAccelerationStructureMemoryRequirementsTypeNV {
11070 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV = 0,
11071 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV = 1,
11072 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV = 2,
11073 VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
11074 } VkAccelerationStructureMemoryRequirementsTypeNV;
11076 typedef enum VkGeometryFlagBitsKHR {
11077 VK_GEOMETRY_OPAQUE_BIT_KHR = 0x00000001,
11078 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR = 0x00000002,
11079 VK_GEOMETRY_OPAQUE_BIT_NV = VK_GEOMETRY_OPAQUE_BIT_KHR,
11080 VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV = VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR,
11081 VK_GEOMETRY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11082 } VkGeometryFlagBitsKHR;
11083 typedef VkFlags VkGeometryFlagsKHR;
11084 typedef VkGeometryFlagsKHR VkGeometryFlagsNV;
11086 typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV;
11089 typedef enum VkGeometryInstanceFlagBitsKHR {
11090 VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001,
11091 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002,
11092 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004,
11093 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008,
11094 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR,
11095 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
11096 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
11097 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
11098 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR,
11099 VK_GEOMETRY_INSTANCE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11100 } VkGeometryInstanceFlagBitsKHR;
11101 typedef VkFlags VkGeometryInstanceFlagsKHR;
11102 typedef VkGeometryInstanceFlagsKHR VkGeometryInstanceFlagsNV;
11104 typedef VkGeometryInstanceFlagBitsKHR VkGeometryInstanceFlagBitsNV;
11107 typedef enum VkBuildAccelerationStructureFlagBitsKHR {
11108 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR = 0x00000001,
11109 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR = 0x00000002,
11110 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR = 0x00000004,
11111 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008,
11112 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010,
11113 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020,
11114 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
11115 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
11116 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
11117 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
11118 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR,
11119 VK_BUILD_ACCELERATION_STRUCTURE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
11120 } VkBuildAccelerationStructureFlagBitsKHR;
11121 typedef VkFlags VkBuildAccelerationStructureFlagsKHR;
11122 typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV;
11124 typedef VkBuildAccelerationStructureFlagBitsKHR VkBuildAccelerationStructureFlagBitsNV;
11126 typedef struct VkRayTracingShaderGroupCreateInfoNV {
11127 VkStructureType sType;
11129 VkRayTracingShaderGroupTypeKHR type;
11130 deUint32 generalShader;
11131 deUint32 closestHitShader;
11132 deUint32 anyHitShader;
11133 deUint32 intersectionShader;
11134 } VkRayTracingShaderGroupCreateInfoNV;
11136 typedef struct VkRayTracingPipelineCreateInfoNV {
11137 VkStructureType sType;
11139 VkPipelineCreateFlags flags;
11140 deUint32 stageCount;
11141 const VkPipelineShaderStageCreateInfo* pStages;
11142 deUint32 groupCount;
11143 const VkRayTracingShaderGroupCreateInfoNV* pGroups;
11144 deUint32 maxRecursionDepth;
11145 VkPipelineLayout layout;
11146 VkPipeline basePipelineHandle;
11147 deInt32 basePipelineIndex;
11148 } VkRayTracingPipelineCreateInfoNV;
11150 typedef struct VkGeometryTrianglesNV {
11151 VkStructureType sType;
11153 VkBuffer vertexData;
11154 VkDeviceSize vertexOffset;
11155 deUint32 vertexCount;
11156 VkDeviceSize vertexStride;
11157 VkFormat vertexFormat;
11158 VkBuffer indexData;
11159 VkDeviceSize indexOffset;
11160 deUint32 indexCount;
11161 VkIndexType indexType;
11162 VkBuffer transformData;
11163 VkDeviceSize transformOffset;
11164 } VkGeometryTrianglesNV;
11166 typedef struct VkGeometryAABBNV {
11167 VkStructureType sType;
11172 VkDeviceSize offset;
11173 } VkGeometryAABBNV;
11175 typedef struct VkGeometryDataNV {
11176 VkGeometryTrianglesNV triangles;
11177 VkGeometryAABBNV aabbs;
11178 } VkGeometryDataNV;
11180 typedef struct VkGeometryNV {
11181 VkStructureType sType;
11183 VkGeometryTypeKHR geometryType;
11184 VkGeometryDataNV geometry;
11185 VkGeometryFlagsKHR flags;
11188 typedef struct VkAccelerationStructureInfoNV {
11189 VkStructureType sType;
11191 VkAccelerationStructureTypeNV type;
11192 VkBuildAccelerationStructureFlagsNV flags;
11193 deUint32 instanceCount;
11194 deUint32 geometryCount;
11195 const VkGeometryNV* pGeometries;
11196 } VkAccelerationStructureInfoNV;
11198 typedef struct VkAccelerationStructureCreateInfoNV {
11199 VkStructureType sType;
11201 VkDeviceSize compactedSize;
11202 VkAccelerationStructureInfoNV info;
11203 } VkAccelerationStructureCreateInfoNV;
11205 typedef struct VkBindAccelerationStructureMemoryInfoNV {
11206 VkStructureType sType;
11208 VkAccelerationStructureNV accelerationStructure;
11209 VkDeviceMemory memory;
11210 VkDeviceSize memoryOffset;
11211 deUint32 deviceIndexCount;
11212 const deUint32* pDeviceIndices;
11213 } VkBindAccelerationStructureMemoryInfoNV;
11215 typedef struct VkWriteDescriptorSetAccelerationStructureNV {
11216 VkStructureType sType;
11218 deUint32 accelerationStructureCount;
11219 const VkAccelerationStructureNV* pAccelerationStructures;
11220 } VkWriteDescriptorSetAccelerationStructureNV;
11222 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV {
11223 VkStructureType sType;
11225 VkAccelerationStructureMemoryRequirementsTypeNV type;
11226 VkAccelerationStructureNV accelerationStructure;
11227 } VkAccelerationStructureMemoryRequirementsInfoNV;
11229 typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
11230 VkStructureType sType;
11232 deUint32 shaderGroupHandleSize;
11233 deUint32 maxRecursionDepth;
11234 deUint32 maxShaderGroupStride;
11235 deUint32 shaderGroupBaseAlignment;
11236 deUint64 maxGeometryCount;
11237 deUint64 maxInstanceCount;
11238 deUint64 maxTriangleCount;
11239 deUint32 maxDescriptorSetAccelerationStructures;
11240 } VkPhysicalDeviceRayTracingPropertiesNV;
11242 typedef struct VkTransformMatrixKHR {
11243 float matrix[3][4];
11244 } VkTransformMatrixKHR;
11246 typedef VkTransformMatrixKHR VkTransformMatrixNV;
11248 typedef struct VkAabbPositionsKHR {
11255 } VkAabbPositionsKHR;
11257 typedef VkAabbPositionsKHR VkAabbPositionsNV;
11259 typedef struct VkAccelerationStructureInstanceKHR {
11260 VkTransformMatrixKHR transform;
11261 deUint32 instanceCustomIndex:24;
11263 deUint32 instanceShaderBindingTableRecordOffset:24;
11264 VkGeometryInstanceFlagsKHR flags:8;
11265 deUint64 accelerationStructureReference;
11266 } VkAccelerationStructureInstanceKHR;
11268 typedef VkAccelerationStructureInstanceKHR VkAccelerationStructureInstanceNV;
11270 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureNV)(VkDevice device, const VkAccelerationStructureCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureNV* pAccelerationStructure);
11271 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, const VkAllocationCallbacks* pAllocator);
11272 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsNV)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements);
11273 typedef VkResult (VKAPI_PTR *PFN_vkBindAccelerationStructureMemoryNV)(VkDevice device, deUint32 bindInfoCount, const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11274 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);
11275 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode);
11276 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);
11277 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesNV)(VkDevice device, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoNV* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
11278 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11279 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupHandlesNV)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
11280 typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureHandleNV)(VkDevice device, VkAccelerationStructureNV accelerationStructure, deUintptr dataSize, void* pData);
11281 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesNV)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureNV* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
11282 typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice device, VkPipeline pipeline, deUint32 shader);
11284 #ifndef VK_NO_PROTOTYPES
11285 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureNV(
11287 const VkAccelerationStructureCreateInfoNV* pCreateInfo,
11288 const VkAllocationCallbacks* pAllocator,
11289 VkAccelerationStructureNV* pAccelerationStructure);
11291 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureNV(
11293 VkAccelerationStructureNV accelerationStructure,
11294 const VkAllocationCallbacks* pAllocator);
11296 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsNV(
11298 const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo,
11299 VkMemoryRequirements2KHR* pMemoryRequirements);
11301 VKAPI_ATTR VkResult VKAPI_CALL vkBindAccelerationStructureMemoryNV(
11303 deUint32 bindInfoCount,
11304 const VkBindAccelerationStructureMemoryInfoNV* pBindInfos);
11306 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureNV(
11307 VkCommandBuffer commandBuffer,
11308 const VkAccelerationStructureInfoNV* pInfo,
11309 VkBuffer instanceData,
11310 VkDeviceSize instanceOffset,
11312 VkAccelerationStructureNV dst,
11313 VkAccelerationStructureNV src,
11315 VkDeviceSize scratchOffset);
11317 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureNV(
11318 VkCommandBuffer commandBuffer,
11319 VkAccelerationStructureNV dst,
11320 VkAccelerationStructureNV src,
11321 VkCopyAccelerationStructureModeKHR mode);
11323 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysNV(
11324 VkCommandBuffer commandBuffer,
11325 VkBuffer raygenShaderBindingTableBuffer,
11326 VkDeviceSize raygenShaderBindingOffset,
11327 VkBuffer missShaderBindingTableBuffer,
11328 VkDeviceSize missShaderBindingOffset,
11329 VkDeviceSize missShaderBindingStride,
11330 VkBuffer hitShaderBindingTableBuffer,
11331 VkDeviceSize hitShaderBindingOffset,
11332 VkDeviceSize hitShaderBindingStride,
11333 VkBuffer callableShaderBindingTableBuffer,
11334 VkDeviceSize callableShaderBindingOffset,
11335 VkDeviceSize callableShaderBindingStride,
11340 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesNV(
11342 VkPipelineCache pipelineCache,
11343 deUint32 createInfoCount,
11344 const VkRayTracingPipelineCreateInfoNV* pCreateInfos,
11345 const VkAllocationCallbacks* pAllocator,
11346 VkPipeline* pPipelines);
11348 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesKHR(
11350 VkPipeline pipeline,
11351 deUint32 firstGroup,
11352 deUint32 groupCount,
11353 deUintptr dataSize,
11356 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingShaderGroupHandlesNV(
11358 VkPipeline pipeline,
11359 deUint32 firstGroup,
11360 deUint32 groupCount,
11361 deUintptr dataSize,
11364 VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureHandleNV(
11366 VkAccelerationStructureNV accelerationStructure,
11367 deUintptr dataSize,
11370 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesNV(
11371 VkCommandBuffer commandBuffer,
11372 deUint32 accelerationStructureCount,
11373 const VkAccelerationStructureNV* pAccelerationStructures,
11374 VkQueryType queryType,
11375 VkQueryPool queryPool,
11376 deUint32 firstQuery);
11378 VKAPI_ATTR VkResult VKAPI_CALL vkCompileDeferredNV(
11380 VkPipeline pipeline,
11385 #define VK_NV_representative_fragment_test 1
11386 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2
11387 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test"
11388 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
11389 VkStructureType sType;
11391 VkBool32 representativeFragmentTest;
11392 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
11394 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
11395 VkStructureType sType;
11397 VkBool32 representativeFragmentTestEnable;
11398 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
11402 #define VK_EXT_filter_cubic 1
11403 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3
11404 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic"
11405 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
11406 VkStructureType sType;
11408 VkImageViewType imageViewType;
11409 } VkPhysicalDeviceImageViewImageFormatInfoEXT;
11411 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT {
11412 VkStructureType sType;
11414 VkBool32 filterCubic;
11415 VkBool32 filterCubicMinmax;
11416 } VkFilterCubicImageViewImageFormatPropertiesEXT;
11420 #define VK_QCOM_render_pass_shader_resolve 1
11421 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4
11422 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve"
11425 #define VK_EXT_global_priority 1
11426 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2
11427 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority"
11429 typedef enum VkQueueGlobalPriorityEXT {
11430 VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT = 128,
11431 VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT = 256,
11432 VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT = 512,
11433 VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT = 1024,
11434 VK_QUEUE_GLOBAL_PRIORITY_MAX_ENUM_EXT = 0x7FFFFFFF
11435 } VkQueueGlobalPriorityEXT;
11436 typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
11437 VkStructureType sType;
11439 VkQueueGlobalPriorityEXT globalPriority;
11440 } VkDeviceQueueGlobalPriorityCreateInfoEXT;
11444 #define VK_EXT_external_memory_host 1
11445 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1
11446 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host"
11447 typedef struct VkImportMemoryHostPointerInfoEXT {
11448 VkStructureType sType;
11450 VkExternalMemoryHandleTypeFlagBits handleType;
11451 void* pHostPointer;
11452 } VkImportMemoryHostPointerInfoEXT;
11454 typedef struct VkMemoryHostPointerPropertiesEXT {
11455 VkStructureType sType;
11457 deUint32 memoryTypeBits;
11458 } VkMemoryHostPointerPropertiesEXT;
11460 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
11461 VkStructureType sType;
11463 VkDeviceSize minImportedHostPointerAlignment;
11464 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
11466 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, const void* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11468 #ifndef VK_NO_PROTOTYPES
11469 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(
11471 VkExternalMemoryHandleTypeFlagBits handleType,
11472 const void* pHostPointer,
11473 VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties);
11477 #define VK_AMD_buffer_marker 1
11478 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1
11479 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker"
11480 typedef void (VKAPI_PTR *PFN_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, deUint32 marker);
11482 #ifndef VK_NO_PROTOTYPES
11483 VKAPI_ATTR void VKAPI_CALL vkCmdWriteBufferMarkerAMD(
11484 VkCommandBuffer commandBuffer,
11485 VkPipelineStageFlagBits pipelineStage,
11486 VkBuffer dstBuffer,
11487 VkDeviceSize dstOffset,
11492 #define VK_AMD_pipeline_compiler_control 1
11493 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1
11494 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control"
11496 typedef enum VkPipelineCompilerControlFlagBitsAMD {
11497 VK_PIPELINE_COMPILER_CONTROL_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
11498 } VkPipelineCompilerControlFlagBitsAMD;
11499 typedef VkFlags VkPipelineCompilerControlFlagsAMD;
11500 typedef struct VkPipelineCompilerControlCreateInfoAMD {
11501 VkStructureType sType;
11503 VkPipelineCompilerControlFlagsAMD compilerControlFlags;
11504 } VkPipelineCompilerControlCreateInfoAMD;
11508 #define VK_EXT_calibrated_timestamps 1
11509 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2
11510 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps"
11512 typedef enum VkTimeDomainEXT {
11513 VK_TIME_DOMAIN_DEVICE_EXT = 0,
11514 VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1,
11515 VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2,
11516 VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3,
11517 VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
11519 typedef struct VkCalibratedTimestampInfoEXT {
11520 VkStructureType sType;
11522 VkTimeDomainEXT timeDomain;
11523 } VkCalibratedTimestampInfoEXT;
11525 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, deUint32* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains);
11526 typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, deUint32 timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, deUint64* pTimestamps, deUint64* pMaxDeviation);
11528 #ifndef VK_NO_PROTOTYPES
11529 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11530 VkPhysicalDevice physicalDevice,
11531 deUint32* pTimeDomainCount,
11532 VkTimeDomainEXT* pTimeDomains);
11534 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(
11536 deUint32 timestampCount,
11537 const VkCalibratedTimestampInfoEXT* pTimestampInfos,
11538 deUint64* pTimestamps,
11539 deUint64* pMaxDeviation);
11543 #define VK_AMD_shader_core_properties 1
11544 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2
11545 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties"
11546 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
11547 VkStructureType sType;
11549 deUint32 shaderEngineCount;
11550 deUint32 shaderArraysPerEngineCount;
11551 deUint32 computeUnitsPerShaderArray;
11552 deUint32 simdPerComputeUnit;
11553 deUint32 wavefrontsPerSimd;
11554 deUint32 wavefrontSize;
11555 deUint32 sgprsPerSimd;
11556 deUint32 minSgprAllocation;
11557 deUint32 maxSgprAllocation;
11558 deUint32 sgprAllocationGranularity;
11559 deUint32 vgprsPerSimd;
11560 deUint32 minVgprAllocation;
11561 deUint32 maxVgprAllocation;
11562 deUint32 vgprAllocationGranularity;
11563 } VkPhysicalDeviceShaderCorePropertiesAMD;
11567 #define VK_AMD_memory_overallocation_behavior 1
11568 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1
11569 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior"
11571 typedef enum VkMemoryOverallocationBehaviorAMD {
11572 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD = 0,
11573 VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD = 1,
11574 VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD = 2,
11575 VK_MEMORY_OVERALLOCATION_BEHAVIOR_MAX_ENUM_AMD = 0x7FFFFFFF
11576 } VkMemoryOverallocationBehaviorAMD;
11577 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD {
11578 VkStructureType sType;
11580 VkMemoryOverallocationBehaviorAMD overallocationBehavior;
11581 } VkDeviceMemoryOverallocationCreateInfoAMD;
11585 #define VK_EXT_vertex_attribute_divisor 1
11586 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3
11587 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor"
11588 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
11589 VkStructureType sType;
11591 deUint32 maxVertexAttribDivisor;
11592 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
11594 typedef struct VkVertexInputBindingDivisorDescriptionEXT {
11597 } VkVertexInputBindingDivisorDescriptionEXT;
11599 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
11600 VkStructureType sType;
11602 deUint32 vertexBindingDivisorCount;
11603 const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors;
11604 } VkPipelineVertexInputDivisorStateCreateInfoEXT;
11606 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
11607 VkStructureType sType;
11609 VkBool32 vertexAttributeInstanceRateDivisor;
11610 VkBool32 vertexAttributeInstanceRateZeroDivisor;
11611 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
11615 #define VK_EXT_pipeline_creation_feedback 1
11616 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1
11617 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback"
11619 typedef enum VkPipelineCreationFeedbackFlagBitsEXT {
11620 VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT = 0x00000001,
11621 VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT = 0x00000002,
11622 VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT = 0x00000004,
11623 VK_PIPELINE_CREATION_FEEDBACK_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
11624 } VkPipelineCreationFeedbackFlagBitsEXT;
11625 typedef VkFlags VkPipelineCreationFeedbackFlagsEXT;
11626 typedef struct VkPipelineCreationFeedbackEXT {
11627 VkPipelineCreationFeedbackFlagsEXT flags;
11629 } VkPipelineCreationFeedbackEXT;
11631 typedef struct VkPipelineCreationFeedbackCreateInfoEXT {
11632 VkStructureType sType;
11634 VkPipelineCreationFeedbackEXT* pPipelineCreationFeedback;
11635 deUint32 pipelineStageCreationFeedbackCount;
11636 VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
11637 } VkPipelineCreationFeedbackCreateInfoEXT;
11641 #define VK_NV_shader_subgroup_partitioned 1
11642 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1
11643 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
11646 #define VK_NV_compute_shader_derivatives 1
11647 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1
11648 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives"
11649 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
11650 VkStructureType sType;
11652 VkBool32 computeDerivativeGroupQuads;
11653 VkBool32 computeDerivativeGroupLinear;
11654 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
11658 #define VK_NV_mesh_shader 1
11659 #define VK_NV_MESH_SHADER_SPEC_VERSION 1
11660 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader"
11661 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
11662 VkStructureType sType;
11664 VkBool32 taskShader;
11665 VkBool32 meshShader;
11666 } VkPhysicalDeviceMeshShaderFeaturesNV;
11668 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
11669 VkStructureType sType;
11671 deUint32 maxDrawMeshTasksCount;
11672 deUint32 maxTaskWorkGroupInvocations;
11673 deUint32 maxTaskWorkGroupSize[3];
11674 deUint32 maxTaskTotalMemorySize;
11675 deUint32 maxTaskOutputCount;
11676 deUint32 maxMeshWorkGroupInvocations;
11677 deUint32 maxMeshWorkGroupSize[3];
11678 deUint32 maxMeshTotalMemorySize;
11679 deUint32 maxMeshOutputVertices;
11680 deUint32 maxMeshOutputPrimitives;
11681 deUint32 maxMeshMultiviewViewCount;
11682 deUint32 meshOutputPerVertexGranularity;
11683 deUint32 meshOutputPerPrimitiveGranularity;
11684 } VkPhysicalDeviceMeshShaderPropertiesNV;
11686 typedef struct VkDrawMeshTasksIndirectCommandNV {
11687 deUint32 taskCount;
11688 deUint32 firstTask;
11689 } VkDrawMeshTasksIndirectCommandNV;
11691 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksNV)(VkCommandBuffer commandBuffer, deUint32 taskCount, deUint32 firstTask);
11692 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride);
11693 typedef void (VKAPI_PTR *PFN_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, deUint32 maxDrawCount, deUint32 stride);
11695 #ifndef VK_NO_PROTOTYPES
11696 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksNV(
11697 VkCommandBuffer commandBuffer,
11698 deUint32 taskCount,
11699 deUint32 firstTask);
11701 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectNV(
11702 VkCommandBuffer commandBuffer,
11704 VkDeviceSize offset,
11705 deUint32 drawCount,
11708 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMeshTasksIndirectCountNV(
11709 VkCommandBuffer commandBuffer,
11711 VkDeviceSize offset,
11712 VkBuffer countBuffer,
11713 VkDeviceSize countBufferOffset,
11714 deUint32 maxDrawCount,
11719 #define VK_NV_fragment_shader_barycentric 1
11720 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1
11721 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric"
11722 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
11723 VkStructureType sType;
11725 VkBool32 fragmentShaderBarycentric;
11726 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
11730 #define VK_NV_shader_image_footprint 1
11731 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2
11732 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint"
11733 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
11734 VkStructureType sType;
11736 VkBool32 imageFootprint;
11737 } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
11741 #define VK_NV_scissor_exclusive 1
11742 #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1
11743 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive"
11744 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV {
11745 VkStructureType sType;
11747 deUint32 exclusiveScissorCount;
11748 const VkRect2D* pExclusiveScissors;
11749 } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
11751 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
11752 VkStructureType sType;
11754 VkBool32 exclusiveScissor;
11755 } VkPhysicalDeviceExclusiveScissorFeaturesNV;
11757 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, deUint32 firstExclusiveScissor, deUint32 exclusiveScissorCount, const VkRect2D* pExclusiveScissors);
11759 #ifndef VK_NO_PROTOTYPES
11760 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV(
11761 VkCommandBuffer commandBuffer,
11762 deUint32 firstExclusiveScissor,
11763 deUint32 exclusiveScissorCount,
11764 const VkRect2D* pExclusiveScissors);
11768 #define VK_NV_device_diagnostic_checkpoints 1
11769 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
11770 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
11771 typedef struct VkQueueFamilyCheckpointPropertiesNV {
11772 VkStructureType sType;
11774 VkPipelineStageFlags checkpointExecutionStageMask;
11775 } VkQueueFamilyCheckpointPropertiesNV;
11777 typedef struct VkCheckpointDataNV {
11778 VkStructureType sType;
11780 VkPipelineStageFlagBits stage;
11781 void* pCheckpointMarker;
11782 } VkCheckpointDataNV;
11784 typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
11785 typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, deUint32* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
11787 #ifndef VK_NO_PROTOTYPES
11788 VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
11789 VkCommandBuffer commandBuffer,
11790 const void* pCheckpointMarker);
11792 VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
11794 deUint32* pCheckpointDataCount,
11795 VkCheckpointDataNV* pCheckpointData);
11799 #define VK_INTEL_shader_integer_functions2 1
11800 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1
11801 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2"
11802 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
11803 VkStructureType sType;
11805 VkBool32 shaderIntegerFunctions2;
11806 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
11810 #define VK_INTEL_performance_query 1
11811 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL)
11812 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2
11813 #define VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME "VK_INTEL_performance_query"
11815 typedef enum VkPerformanceConfigurationTypeINTEL {
11816 VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL = 0,
11817 VK_PERFORMANCE_CONFIGURATION_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11818 } VkPerformanceConfigurationTypeINTEL;
11820 typedef enum VkQueryPoolSamplingModeINTEL {
11821 VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL = 0,
11822 VK_QUERY_POOL_SAMPLING_MODE_MAX_ENUM_INTEL = 0x7FFFFFFF
11823 } VkQueryPoolSamplingModeINTEL;
11825 typedef enum VkPerformanceOverrideTypeINTEL {
11826 VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL = 0,
11827 VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL = 1,
11828 VK_PERFORMANCE_OVERRIDE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11829 } VkPerformanceOverrideTypeINTEL;
11831 typedef enum VkPerformanceParameterTypeINTEL {
11832 VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL = 0,
11833 VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL = 1,
11834 VK_PERFORMANCE_PARAMETER_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11835 } VkPerformanceParameterTypeINTEL;
11837 typedef enum VkPerformanceValueTypeINTEL {
11838 VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL = 0,
11839 VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL = 1,
11840 VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL = 2,
11841 VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL = 3,
11842 VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL = 4,
11843 VK_PERFORMANCE_VALUE_TYPE_MAX_ENUM_INTEL = 0x7FFFFFFF
11844 } VkPerformanceValueTypeINTEL;
11845 typedef union VkPerformanceValueDataINTEL {
11849 VkBool32 valueBool;
11850 const char* valueString;
11851 } VkPerformanceValueDataINTEL;
11853 typedef struct VkPerformanceValueINTEL {
11854 VkPerformanceValueTypeINTEL type;
11855 VkPerformanceValueDataINTEL data;
11856 } VkPerformanceValueINTEL;
11858 typedef struct VkInitializePerformanceApiInfoINTEL {
11859 VkStructureType sType;
11862 } VkInitializePerformanceApiInfoINTEL;
11864 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL {
11865 VkStructureType sType;
11867 VkQueryPoolSamplingModeINTEL performanceCountersSampling;
11868 } VkQueryPoolPerformanceQueryCreateInfoINTEL;
11870 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL VkQueryPoolCreateInfoINTEL;
11872 typedef struct VkPerformanceMarkerInfoINTEL {
11873 VkStructureType sType;
11876 } VkPerformanceMarkerInfoINTEL;
11878 typedef struct VkPerformanceStreamMarkerInfoINTEL {
11879 VkStructureType sType;
11882 } VkPerformanceStreamMarkerInfoINTEL;
11884 typedef struct VkPerformanceOverrideInfoINTEL {
11885 VkStructureType sType;
11887 VkPerformanceOverrideTypeINTEL type;
11889 deUint64 parameter;
11890 } VkPerformanceOverrideInfoINTEL;
11892 typedef struct VkPerformanceConfigurationAcquireInfoINTEL {
11893 VkStructureType sType;
11895 VkPerformanceConfigurationTypeINTEL type;
11896 } VkPerformanceConfigurationAcquireInfoINTEL;
11898 typedef VkResult (VKAPI_PTR *PFN_vkInitializePerformanceApiINTEL)(VkDevice device, const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11899 typedef void (VKAPI_PTR *PFN_vkUninitializePerformanceApiINTEL)(VkDevice device);
11900 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11901 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceStreamMarkerINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11902 typedef VkResult (VKAPI_PTR *PFN_vkCmdSetPerformanceOverrideINTEL)(VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11903 typedef VkResult (VKAPI_PTR *PFN_vkAcquirePerformanceConfigurationINTEL)(VkDevice device, const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration);
11904 typedef VkResult (VKAPI_PTR *PFN_vkReleasePerformanceConfigurationINTEL)(VkDevice device, VkPerformanceConfigurationINTEL configuration);
11905 typedef VkResult (VKAPI_PTR *PFN_vkQueueSetPerformanceConfigurationINTEL)(VkQueue queue, VkPerformanceConfigurationINTEL configuration);
11906 typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue);
11908 #ifndef VK_NO_PROTOTYPES
11909 VKAPI_ATTR VkResult VKAPI_CALL vkInitializePerformanceApiINTEL(
11911 const VkInitializePerformanceApiInfoINTEL* pInitializeInfo);
11913 VKAPI_ATTR void VKAPI_CALL vkUninitializePerformanceApiINTEL(
11916 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceMarkerINTEL(
11917 VkCommandBuffer commandBuffer,
11918 const VkPerformanceMarkerInfoINTEL* pMarkerInfo);
11920 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceStreamMarkerINTEL(
11921 VkCommandBuffer commandBuffer,
11922 const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo);
11924 VKAPI_ATTR VkResult VKAPI_CALL vkCmdSetPerformanceOverrideINTEL(
11925 VkCommandBuffer commandBuffer,
11926 const VkPerformanceOverrideInfoINTEL* pOverrideInfo);
11928 VKAPI_ATTR VkResult VKAPI_CALL vkAcquirePerformanceConfigurationINTEL(
11930 const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo,
11931 VkPerformanceConfigurationINTEL* pConfiguration);
11933 VKAPI_ATTR VkResult VKAPI_CALL vkReleasePerformanceConfigurationINTEL(
11935 VkPerformanceConfigurationINTEL configuration);
11937 VKAPI_ATTR VkResult VKAPI_CALL vkQueueSetPerformanceConfigurationINTEL(
11939 VkPerformanceConfigurationINTEL configuration);
11941 VKAPI_ATTR VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(
11943 VkPerformanceParameterTypeINTEL parameter,
11944 VkPerformanceValueINTEL* pValue);
11948 #define VK_EXT_pci_bus_info 1
11949 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2
11950 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info"
11951 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
11952 VkStructureType sType;
11954 deUint32 pciDomain;
11956 deUint32 pciDevice;
11957 deUint32 pciFunction;
11958 } VkPhysicalDevicePCIBusInfoPropertiesEXT;
11962 #define VK_AMD_display_native_hdr 1
11963 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1
11964 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr"
11965 typedef struct VkDisplayNativeHdrSurfaceCapabilitiesAMD {
11966 VkStructureType sType;
11968 VkBool32 localDimmingSupport;
11969 } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
11971 typedef struct VkSwapchainDisplayNativeHdrCreateInfoAMD {
11972 VkStructureType sType;
11974 VkBool32 localDimmingEnable;
11975 } VkSwapchainDisplayNativeHdrCreateInfoAMD;
11977 typedef void (VKAPI_PTR *PFN_vkSetLocalDimmingAMD)(VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable);
11979 #ifndef VK_NO_PROTOTYPES
11980 VKAPI_ATTR void VKAPI_CALL vkSetLocalDimmingAMD(
11982 VkSwapchainKHR swapChain,
11983 VkBool32 localDimmingEnable);
11987 #define VK_EXT_fragment_density_map 1
11988 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 1
11989 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map"
11990 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
11991 VkStructureType sType;
11993 VkBool32 fragmentDensityMap;
11994 VkBool32 fragmentDensityMapDynamic;
11995 VkBool32 fragmentDensityMapNonSubsampledImages;
11996 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
11998 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
11999 VkStructureType sType;
12001 VkExtent2D minFragmentDensityTexelSize;
12002 VkExtent2D maxFragmentDensityTexelSize;
12003 VkBool32 fragmentDensityInvocations;
12004 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
12006 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT {
12007 VkStructureType sType;
12009 VkAttachmentReference fragmentDensityMapAttachment;
12010 } VkRenderPassFragmentDensityMapCreateInfoEXT;
12014 #define VK_EXT_scalar_block_layout 1
12015 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1
12016 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout"
12017 typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeaturesEXT;
12021 #define VK_GOOGLE_hlsl_functionality1 1
12022 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1
12023 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
12026 #define VK_GOOGLE_decorate_string 1
12027 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1
12028 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string"
12031 #define VK_EXT_subgroup_size_control 1
12032 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2
12033 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control"
12034 typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
12035 VkStructureType sType;
12037 VkBool32 subgroupSizeControl;
12038 VkBool32 computeFullSubgroups;
12039 } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
12041 typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
12042 VkStructureType sType;
12044 deUint32 minSubgroupSize;
12045 deUint32 maxSubgroupSize;
12046 deUint32 maxComputeWorkgroupSubgroups;
12047 VkShaderStageFlags requiredSubgroupSizeStages;
12048 } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
12050 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
12051 VkStructureType sType;
12053 deUint32 requiredSubgroupSize;
12054 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
12058 #define VK_AMD_shader_core_properties2 1
12059 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1
12060 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2"
12062 typedef enum VkShaderCorePropertiesFlagBitsAMD {
12063 VK_SHADER_CORE_PROPERTIES_FLAG_BITS_MAX_ENUM_AMD = 0x7FFFFFFF
12064 } VkShaderCorePropertiesFlagBitsAMD;
12065 typedef VkFlags VkShaderCorePropertiesFlagsAMD;
12066 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
12067 VkStructureType sType;
12069 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
12070 deUint32 activeComputeUnitCount;
12071 } VkPhysicalDeviceShaderCoreProperties2AMD;
12075 #define VK_AMD_device_coherent_memory 1
12076 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1
12077 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory"
12078 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
12079 VkStructureType sType;
12081 VkBool32 deviceCoherentMemory;
12082 } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
12086 #define VK_EXT_shader_image_atomic_int64 1
12087 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1
12088 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64"
12089 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
12090 VkStructureType sType;
12092 VkBool32 shaderImageInt64Atomics;
12093 VkBool32 sparseImageInt64Atomics;
12094 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT;
12098 #define VK_EXT_memory_budget 1
12099 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1
12100 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget"
12101 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
12102 VkStructureType sType;
12104 VkDeviceSize heapBudget[VK_MAX_MEMORY_HEAPS];
12105 VkDeviceSize heapUsage[VK_MAX_MEMORY_HEAPS];
12106 } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
12110 #define VK_EXT_memory_priority 1
12111 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1
12112 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority"
12113 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
12114 VkStructureType sType;
12116 VkBool32 memoryPriority;
12117 } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
12119 typedef struct VkMemoryPriorityAllocateInfoEXT {
12120 VkStructureType sType;
12123 } VkMemoryPriorityAllocateInfoEXT;
12127 #define VK_NV_dedicated_allocation_image_aliasing 1
12128 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1
12129 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing"
12130 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
12131 VkStructureType sType;
12133 VkBool32 dedicatedAllocationImageAliasing;
12134 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
12138 #define VK_EXT_buffer_device_address 1
12139 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2
12140 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address"
12141 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
12142 VkStructureType sType;
12144 VkBool32 bufferDeviceAddress;
12145 VkBool32 bufferDeviceAddressCaptureReplay;
12146 VkBool32 bufferDeviceAddressMultiDevice;
12147 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
12149 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
12151 typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;
12153 typedef struct VkBufferDeviceAddressCreateInfoEXT {
12154 VkStructureType sType;
12156 VkDeviceAddress deviceAddress;
12157 } VkBufferDeviceAddressCreateInfoEXT;
12159 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetBufferDeviceAddressEXT)(VkDevice device, const VkBufferDeviceAddressInfo* pInfo);
12161 #ifndef VK_NO_PROTOTYPES
12162 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetBufferDeviceAddressEXT(
12164 const VkBufferDeviceAddressInfo* pInfo);
12168 #define VK_EXT_tooling_info 1
12169 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1
12170 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info"
12172 typedef enum VkToolPurposeFlagBitsEXT {
12173 VK_TOOL_PURPOSE_VALIDATION_BIT_EXT = 0x00000001,
12174 VK_TOOL_PURPOSE_PROFILING_BIT_EXT = 0x00000002,
12175 VK_TOOL_PURPOSE_TRACING_BIT_EXT = 0x00000004,
12176 VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT = 0x00000008,
12177 VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT = 0x00000010,
12178 VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT = 0x00000020,
12179 VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT = 0x00000040,
12180 VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
12181 } VkToolPurposeFlagBitsEXT;
12182 typedef VkFlags VkToolPurposeFlagsEXT;
12183 typedef struct VkPhysicalDeviceToolPropertiesEXT {
12184 VkStructureType sType;
12186 char name[VK_MAX_EXTENSION_NAME_SIZE];
12187 char version[VK_MAX_EXTENSION_NAME_SIZE];
12188 VkToolPurposeFlagsEXT purposes;
12189 char description[VK_MAX_DESCRIPTION_SIZE];
12190 char layer[VK_MAX_EXTENSION_NAME_SIZE];
12191 } VkPhysicalDeviceToolPropertiesEXT;
12193 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceToolPropertiesEXT)(VkPhysicalDevice physicalDevice, deUint32* pToolCount, VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12195 #ifndef VK_NO_PROTOTYPES
12196 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceToolPropertiesEXT(
12197 VkPhysicalDevice physicalDevice,
12198 deUint32* pToolCount,
12199 VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
12203 #define VK_EXT_separate_stencil_usage 1
12204 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1
12205 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage"
12206 typedef VkImageStencilUsageCreateInfo VkImageStencilUsageCreateInfoEXT;
12210 #define VK_EXT_validation_features 1
12211 #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5
12212 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features"
12214 typedef enum VkValidationFeatureEnableEXT {
12215 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT = 0,
12216 VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT = 1,
12217 VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT = 2,
12218 VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT = 3,
12219 VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT = 4,
12220 VK_VALIDATION_FEATURE_ENABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12221 } VkValidationFeatureEnableEXT;
12223 typedef enum VkValidationFeatureDisableEXT {
12224 VK_VALIDATION_FEATURE_DISABLE_ALL_EXT = 0,
12225 VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT = 1,
12226 VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT = 2,
12227 VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT = 3,
12228 VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT = 4,
12229 VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT = 5,
12230 VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT = 6,
12231 VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT = 7,
12232 VK_VALIDATION_FEATURE_DISABLE_MAX_ENUM_EXT = 0x7FFFFFFF
12233 } VkValidationFeatureDisableEXT;
12234 typedef struct VkValidationFeaturesEXT {
12235 VkStructureType sType;
12237 deUint32 enabledValidationFeatureCount;
12238 const VkValidationFeatureEnableEXT* pEnabledValidationFeatures;
12239 deUint32 disabledValidationFeatureCount;
12240 const VkValidationFeatureDisableEXT* pDisabledValidationFeatures;
12241 } VkValidationFeaturesEXT;
12245 #define VK_NV_cooperative_matrix 1
12246 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1
12247 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix"
12249 typedef enum VkComponentTypeNV {
12250 VK_COMPONENT_TYPE_FLOAT16_NV = 0,
12251 VK_COMPONENT_TYPE_FLOAT32_NV = 1,
12252 VK_COMPONENT_TYPE_FLOAT64_NV = 2,
12253 VK_COMPONENT_TYPE_SINT8_NV = 3,
12254 VK_COMPONENT_TYPE_SINT16_NV = 4,
12255 VK_COMPONENT_TYPE_SINT32_NV = 5,
12256 VK_COMPONENT_TYPE_SINT64_NV = 6,
12257 VK_COMPONENT_TYPE_UINT8_NV = 7,
12258 VK_COMPONENT_TYPE_UINT16_NV = 8,
12259 VK_COMPONENT_TYPE_UINT32_NV = 9,
12260 VK_COMPONENT_TYPE_UINT64_NV = 10,
12261 VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12262 } VkComponentTypeNV;
12264 typedef enum VkScopeNV {
12265 VK_SCOPE_DEVICE_NV = 1,
12266 VK_SCOPE_WORKGROUP_NV = 2,
12267 VK_SCOPE_SUBGROUP_NV = 3,
12268 VK_SCOPE_QUEUE_FAMILY_NV = 5,
12269 VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF
12271 typedef struct VkCooperativeMatrixPropertiesNV {
12272 VkStructureType sType;
12277 VkComponentTypeNV AType;
12278 VkComponentTypeNV BType;
12279 VkComponentTypeNV CType;
12280 VkComponentTypeNV DType;
12282 } VkCooperativeMatrixPropertiesNV;
12284 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
12285 VkStructureType sType;
12287 VkBool32 cooperativeMatrix;
12288 VkBool32 cooperativeMatrixRobustBufferAccess;
12289 } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
12291 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
12292 VkStructureType sType;
12294 VkShaderStageFlags cooperativeMatrixSupportedStages;
12295 } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
12297 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkCooperativeMatrixPropertiesNV* pProperties);
12299 #ifndef VK_NO_PROTOTYPES
12300 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
12301 VkPhysicalDevice physicalDevice,
12302 deUint32* pPropertyCount,
12303 VkCooperativeMatrixPropertiesNV* pProperties);
12307 #define VK_NV_coverage_reduction_mode 1
12308 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1
12309 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode"
12311 typedef enum VkCoverageReductionModeNV {
12312 VK_COVERAGE_REDUCTION_MODE_MERGE_NV = 0,
12313 VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV = 1,
12314 VK_COVERAGE_REDUCTION_MODE_MAX_ENUM_NV = 0x7FFFFFFF
12315 } VkCoverageReductionModeNV;
12316 typedef VkFlags VkPipelineCoverageReductionStateCreateFlagsNV;
12317 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
12318 VkStructureType sType;
12320 VkBool32 coverageReductionMode;
12321 } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
12323 typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
12324 VkStructureType sType;
12326 VkPipelineCoverageReductionStateCreateFlagsNV flags;
12327 VkCoverageReductionModeNV coverageReductionMode;
12328 } VkPipelineCoverageReductionStateCreateInfoNV;
12330 typedef struct VkFramebufferMixedSamplesCombinationNV {
12331 VkStructureType sType;
12333 VkCoverageReductionModeNV coverageReductionMode;
12334 VkSampleCountFlagBits rasterizationSamples;
12335 VkSampleCountFlags depthStencilSamples;
12336 VkSampleCountFlags colorSamples;
12337 } VkFramebufferMixedSamplesCombinationNV;
12339 typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)(VkPhysicalDevice physicalDevice, deUint32* pCombinationCount, VkFramebufferMixedSamplesCombinationNV* pCombinations);
12341 #ifndef VK_NO_PROTOTYPES
12342 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
12343 VkPhysicalDevice physicalDevice,
12344 deUint32* pCombinationCount,
12345 VkFramebufferMixedSamplesCombinationNV* pCombinations);
12349 #define VK_EXT_fragment_shader_interlock 1
12350 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1
12351 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock"
12352 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
12353 VkStructureType sType;
12355 VkBool32 fragmentShaderSampleInterlock;
12356 VkBool32 fragmentShaderPixelInterlock;
12357 VkBool32 fragmentShaderShadingRateInterlock;
12358 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
12362 #define VK_EXT_ycbcr_image_arrays 1
12363 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1
12364 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays"
12365 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
12366 VkStructureType sType;
12368 VkBool32 ycbcrImageArrays;
12369 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
12373 #define VK_EXT_provoking_vertex 1
12374 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1
12375 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex"
12377 typedef enum VkProvokingVertexModeEXT {
12378 VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT = 0,
12379 VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT = 1,
12380 VK_PROVOKING_VERTEX_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12381 } VkProvokingVertexModeEXT;
12382 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT {
12383 VkStructureType sType;
12385 VkBool32 provokingVertexLast;
12386 VkBool32 transformFeedbackPreservesProvokingVertex;
12387 } VkPhysicalDeviceProvokingVertexFeaturesEXT;
12389 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT {
12390 VkStructureType sType;
12392 VkBool32 provokingVertexModePerPipeline;
12393 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex;
12394 } VkPhysicalDeviceProvokingVertexPropertiesEXT;
12396 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT {
12397 VkStructureType sType;
12399 VkProvokingVertexModeEXT provokingVertexMode;
12400 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT;
12404 #define VK_EXT_headless_surface 1
12405 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1
12406 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface"
12407 typedef VkFlags VkHeadlessSurfaceCreateFlagsEXT;
12408 typedef struct VkHeadlessSurfaceCreateInfoEXT {
12409 VkStructureType sType;
12411 VkHeadlessSurfaceCreateFlagsEXT flags;
12412 } VkHeadlessSurfaceCreateInfoEXT;
12414 typedef VkResult (VKAPI_PTR *PFN_vkCreateHeadlessSurfaceEXT)(VkInstance instance, const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
12416 #ifndef VK_NO_PROTOTYPES
12417 VKAPI_ATTR VkResult VKAPI_CALL vkCreateHeadlessSurfaceEXT(
12418 VkInstance instance,
12419 const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo,
12420 const VkAllocationCallbacks* pAllocator,
12421 VkSurfaceKHR* pSurface);
12425 #define VK_EXT_line_rasterization 1
12426 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1
12427 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization"
12429 typedef enum VkLineRasterizationModeEXT {
12430 VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT = 0,
12431 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = 1,
12432 VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT = 2,
12433 VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = 3,
12434 VK_LINE_RASTERIZATION_MODE_MAX_ENUM_EXT = 0x7FFFFFFF
12435 } VkLineRasterizationModeEXT;
12436 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
12437 VkStructureType sType;
12439 VkBool32 rectangularLines;
12440 VkBool32 bresenhamLines;
12441 VkBool32 smoothLines;
12442 VkBool32 stippledRectangularLines;
12443 VkBool32 stippledBresenhamLines;
12444 VkBool32 stippledSmoothLines;
12445 } VkPhysicalDeviceLineRasterizationFeaturesEXT;
12447 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
12448 VkStructureType sType;
12450 deUint32 lineSubPixelPrecisionBits;
12451 } VkPhysicalDeviceLineRasterizationPropertiesEXT;
12453 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT {
12454 VkStructureType sType;
12456 VkLineRasterizationModeEXT lineRasterizationMode;
12457 VkBool32 stippledLineEnable;
12458 deUint32 lineStippleFactor;
12459 deUint16 lineStipplePattern;
12460 } VkPipelineRasterizationLineStateCreateInfoEXT;
12462 typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEXT)(VkCommandBuffer commandBuffer, deUint32 lineStippleFactor, deUint16 lineStipplePattern);
12464 #ifndef VK_NO_PROTOTYPES
12465 VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEXT(
12466 VkCommandBuffer commandBuffer,
12467 deUint32 lineStippleFactor,
12468 deUint16 lineStipplePattern);
12472 #define VK_EXT_shader_atomic_float 1
12473 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1
12474 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float"
12475 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
12476 VkStructureType sType;
12478 VkBool32 shaderBufferFloat32Atomics;
12479 VkBool32 shaderBufferFloat32AtomicAdd;
12480 VkBool32 shaderBufferFloat64Atomics;
12481 VkBool32 shaderBufferFloat64AtomicAdd;
12482 VkBool32 shaderSharedFloat32Atomics;
12483 VkBool32 shaderSharedFloat32AtomicAdd;
12484 VkBool32 shaderSharedFloat64Atomics;
12485 VkBool32 shaderSharedFloat64AtomicAdd;
12486 VkBool32 shaderImageFloat32Atomics;
12487 VkBool32 shaderImageFloat32AtomicAdd;
12488 VkBool32 sparseImageFloat32Atomics;
12489 VkBool32 sparseImageFloat32AtomicAdd;
12490 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
12494 #define VK_EXT_host_query_reset 1
12495 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1
12496 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset"
12497 typedef VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeaturesEXT;
12499 typedef void (VKAPI_PTR *PFN_vkResetQueryPoolEXT)(VkDevice device, VkQueryPool queryPool, deUint32 firstQuery, deUint32 queryCount);
12501 #ifndef VK_NO_PROTOTYPES
12502 VKAPI_ATTR void VKAPI_CALL vkResetQueryPoolEXT(
12504 VkQueryPool queryPool,
12505 deUint32 firstQuery,
12506 deUint32 queryCount);
12510 #define VK_EXT_index_type_uint8 1
12511 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1
12512 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8"
12513 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
12514 VkStructureType sType;
12516 VkBool32 indexTypeUint8;
12517 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
12521 #define VK_EXT_extended_dynamic_state 1
12522 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1
12523 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state"
12524 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
12525 VkStructureType sType;
12527 VkBool32 extendedDynamicState;
12528 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
12530 typedef void (VKAPI_PTR *PFN_vkCmdSetCullModeEXT)(VkCommandBuffer commandBuffer, VkCullModeFlags cullMode);
12531 typedef void (VKAPI_PTR *PFN_vkCmdSetFrontFaceEXT)(VkCommandBuffer commandBuffer, VkFrontFace frontFace);
12532 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveTopologyEXT)(VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology);
12533 typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports);
12534 typedef void (VKAPI_PTR *PFN_vkCmdSetScissorWithCountEXT)(VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors);
12535 typedef void (VKAPI_PTR *PFN_vkCmdBindVertexBuffers2EXT)(VkCommandBuffer commandBuffer, deUint32 firstBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets, const VkDeviceSize* pSizes, const VkDeviceSize* pStrides);
12536 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthTestEnable);
12537 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthWriteEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable);
12538 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthCompareOpEXT)(VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp);
12539 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBoundsTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable);
12540 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilTestEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable);
12541 typedef void (VKAPI_PTR *PFN_vkCmdSetStencilOpEXT)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp);
12543 #ifndef VK_NO_PROTOTYPES
12544 VKAPI_ATTR void VKAPI_CALL vkCmdSetCullModeEXT(
12545 VkCommandBuffer commandBuffer,
12546 VkCullModeFlags cullMode);
12548 VKAPI_ATTR void VKAPI_CALL vkCmdSetFrontFaceEXT(
12549 VkCommandBuffer commandBuffer,
12550 VkFrontFace frontFace);
12552 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveTopologyEXT(
12553 VkCommandBuffer commandBuffer,
12554 VkPrimitiveTopology primitiveTopology);
12556 VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWithCountEXT(
12557 VkCommandBuffer commandBuffer,
12558 deUint32 viewportCount,
12559 const VkViewport* pViewports);
12561 VKAPI_ATTR void VKAPI_CALL vkCmdSetScissorWithCountEXT(
12562 VkCommandBuffer commandBuffer,
12563 deUint32 scissorCount,
12564 const VkRect2D* pScissors);
12566 VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers2EXT(
12567 VkCommandBuffer commandBuffer,
12568 deUint32 firstBinding,
12569 deUint32 bindingCount,
12570 const VkBuffer* pBuffers,
12571 const VkDeviceSize* pOffsets,
12572 const VkDeviceSize* pSizes,
12573 const VkDeviceSize* pStrides);
12575 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthTestEnableEXT(
12576 VkCommandBuffer commandBuffer,
12577 VkBool32 depthTestEnable);
12579 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthWriteEnableEXT(
12580 VkCommandBuffer commandBuffer,
12581 VkBool32 depthWriteEnable);
12583 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthCompareOpEXT(
12584 VkCommandBuffer commandBuffer,
12585 VkCompareOp depthCompareOp);
12587 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBoundsTestEnableEXT(
12588 VkCommandBuffer commandBuffer,
12589 VkBool32 depthBoundsTestEnable);
12591 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilTestEnableEXT(
12592 VkCommandBuffer commandBuffer,
12593 VkBool32 stencilTestEnable);
12595 VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilOpEXT(
12596 VkCommandBuffer commandBuffer,
12597 VkStencilFaceFlags faceMask,
12598 VkStencilOp failOp,
12599 VkStencilOp passOp,
12600 VkStencilOp depthFailOp,
12601 VkCompareOp compareOp);
12605 #define VK_EXT_shader_atomic_float2 1
12606 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1
12607 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2"
12608 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT {
12609 VkStructureType sType;
12611 VkBool32 shaderBufferFloat16Atomics;
12612 VkBool32 shaderBufferFloat16AtomicAdd;
12613 VkBool32 shaderBufferFloat16AtomicMinMax;
12614 VkBool32 shaderBufferFloat32AtomicMinMax;
12615 VkBool32 shaderBufferFloat64AtomicMinMax;
12616 VkBool32 shaderSharedFloat16Atomics;
12617 VkBool32 shaderSharedFloat16AtomicAdd;
12618 VkBool32 shaderSharedFloat16AtomicMinMax;
12619 VkBool32 shaderSharedFloat32AtomicMinMax;
12620 VkBool32 shaderSharedFloat64AtomicMinMax;
12621 VkBool32 shaderImageFloat32AtomicMinMax;
12622 VkBool32 sparseImageFloat32AtomicMinMax;
12623 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT;
12627 #define VK_EXT_shader_demote_to_helper_invocation 1
12628 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1
12629 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation"
12630 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
12631 VkStructureType sType;
12633 VkBool32 shaderDemoteToHelperInvocation;
12634 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
12638 #define VK_NV_device_generated_commands 1
12639 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV)
12640 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3
12641 #define VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_NV_device_generated_commands"
12643 typedef enum VkIndirectCommandsTokenTypeNV {
12644 VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV = 0,
12645 VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV = 1,
12646 VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV = 2,
12647 VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV = 3,
12648 VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV = 4,
12649 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV = 5,
12650 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6,
12651 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7,
12652 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
12653 } VkIndirectCommandsTokenTypeNV;
12655 typedef enum VkIndirectStateFlagBitsNV {
12656 VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV = 0x00000001,
12657 VK_INDIRECT_STATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12658 } VkIndirectStateFlagBitsNV;
12659 typedef VkFlags VkIndirectStateFlagsNV;
12661 typedef enum VkIndirectCommandsLayoutUsageFlagBitsNV {
12662 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV = 0x00000001,
12663 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV = 0x00000002,
12664 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV = 0x00000004,
12665 VK_INDIRECT_COMMANDS_LAYOUT_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
12666 } VkIndirectCommandsLayoutUsageFlagBitsNV;
12667 typedef VkFlags VkIndirectCommandsLayoutUsageFlagsNV;
12668 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
12669 VkStructureType sType;
12671 deUint32 maxGraphicsShaderGroupCount;
12672 deUint32 maxIndirectSequenceCount;
12673 deUint32 maxIndirectCommandsTokenCount;
12674 deUint32 maxIndirectCommandsStreamCount;
12675 deUint32 maxIndirectCommandsTokenOffset;
12676 deUint32 maxIndirectCommandsStreamStride;
12677 deUint32 minSequencesCountBufferOffsetAlignment;
12678 deUint32 minSequencesIndexBufferOffsetAlignment;
12679 deUint32 minIndirectCommandsBufferOffsetAlignment;
12680 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
12682 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
12683 VkStructureType sType;
12685 VkBool32 deviceGeneratedCommands;
12686 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
12688 typedef struct VkGraphicsShaderGroupCreateInfoNV {
12689 VkStructureType sType;
12691 deUint32 stageCount;
12692 const VkPipelineShaderStageCreateInfo* pStages;
12693 const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
12694 const VkPipelineTessellationStateCreateInfo* pTessellationState;
12695 } VkGraphicsShaderGroupCreateInfoNV;
12697 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV {
12698 VkStructureType sType;
12700 deUint32 groupCount;
12701 const VkGraphicsShaderGroupCreateInfoNV* pGroups;
12702 deUint32 pipelineCount;
12703 const VkPipeline* pPipelines;
12704 } VkGraphicsPipelineShaderGroupsCreateInfoNV;
12706 typedef struct VkBindShaderGroupIndirectCommandNV {
12707 deUint32 groupIndex;
12708 } VkBindShaderGroupIndirectCommandNV;
12710 typedef struct VkBindIndexBufferIndirectCommandNV {
12711 VkDeviceAddress bufferAddress;
12713 VkIndexType indexType;
12714 } VkBindIndexBufferIndirectCommandNV;
12716 typedef struct VkBindVertexBufferIndirectCommandNV {
12717 VkDeviceAddress bufferAddress;
12720 } VkBindVertexBufferIndirectCommandNV;
12722 typedef struct VkSetStateFlagsIndirectCommandNV {
12724 } VkSetStateFlagsIndirectCommandNV;
12726 typedef struct VkIndirectCommandsStreamNV {
12728 VkDeviceSize offset;
12729 } VkIndirectCommandsStreamNV;
12731 typedef struct VkIndirectCommandsLayoutTokenNV {
12732 VkStructureType sType;
12734 VkIndirectCommandsTokenTypeNV tokenType;
12737 deUint32 vertexBindingUnit;
12738 VkBool32 vertexDynamicStride;
12739 VkPipelineLayout pushconstantPipelineLayout;
12740 VkShaderStageFlags pushconstantShaderStageFlags;
12741 deUint32 pushconstantOffset;
12742 deUint32 pushconstantSize;
12743 VkIndirectStateFlagsNV indirectStateFlags;
12744 deUint32 indexTypeCount;
12745 const VkIndexType* pIndexTypes;
12746 const deUint32* pIndexTypeValues;
12747 } VkIndirectCommandsLayoutTokenNV;
12749 typedef struct VkIndirectCommandsLayoutCreateInfoNV {
12750 VkStructureType sType;
12752 VkIndirectCommandsLayoutUsageFlagsNV flags;
12753 VkPipelineBindPoint pipelineBindPoint;
12754 deUint32 tokenCount;
12755 const VkIndirectCommandsLayoutTokenNV* pTokens;
12756 deUint32 streamCount;
12757 const deUint32* pStreamStrides;
12758 } VkIndirectCommandsLayoutCreateInfoNV;
12760 typedef struct VkGeneratedCommandsInfoNV {
12761 VkStructureType sType;
12763 VkPipelineBindPoint pipelineBindPoint;
12764 VkPipeline pipeline;
12765 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12766 deUint32 streamCount;
12767 const VkIndirectCommandsStreamNV* pStreams;
12768 deUint32 sequencesCount;
12769 VkBuffer preprocessBuffer;
12770 VkDeviceSize preprocessOffset;
12771 VkDeviceSize preprocessSize;
12772 VkBuffer sequencesCountBuffer;
12773 VkDeviceSize sequencesCountOffset;
12774 VkBuffer sequencesIndexBuffer;
12775 VkDeviceSize sequencesIndexOffset;
12776 } VkGeneratedCommandsInfoNV;
12778 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV {
12779 VkStructureType sType;
12781 VkPipelineBindPoint pipelineBindPoint;
12782 VkPipeline pipeline;
12783 VkIndirectCommandsLayoutNV indirectCommandsLayout;
12784 deUint32 maxSequencesCount;
12785 } VkGeneratedCommandsMemoryRequirementsInfoNV;
12787 typedef void (VKAPI_PTR *PFN_vkGetGeneratedCommandsMemoryRequirementsNV)(VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, VkMemoryRequirements2* pMemoryRequirements);
12788 typedef void (VKAPI_PTR *PFN_vkCmdPreprocessGeneratedCommandsNV)(VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12789 typedef void (VKAPI_PTR *PFN_vkCmdExecuteGeneratedCommandsNV)(VkCommandBuffer commandBuffer, VkBool32 isPreprocessed, const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12790 typedef void (VKAPI_PTR *PFN_vkCmdBindPipelineShaderGroupNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, deUint32 groupIndex);
12791 typedef VkResult (VKAPI_PTR *PFN_vkCreateIndirectCommandsLayoutNV)(VkDevice device, const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12792 typedef void (VKAPI_PTR *PFN_vkDestroyIndirectCommandsLayoutNV)(VkDevice device, VkIndirectCommandsLayoutNV indirectCommandsLayout, const VkAllocationCallbacks* pAllocator);
12794 #ifndef VK_NO_PROTOTYPES
12795 VKAPI_ATTR void VKAPI_CALL vkGetGeneratedCommandsMemoryRequirementsNV(
12797 const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo,
12798 VkMemoryRequirements2* pMemoryRequirements);
12800 VKAPI_ATTR void VKAPI_CALL vkCmdPreprocessGeneratedCommandsNV(
12801 VkCommandBuffer commandBuffer,
12802 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12804 VKAPI_ATTR void VKAPI_CALL vkCmdExecuteGeneratedCommandsNV(
12805 VkCommandBuffer commandBuffer,
12806 VkBool32 isPreprocessed,
12807 const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo);
12809 VKAPI_ATTR void VKAPI_CALL vkCmdBindPipelineShaderGroupNV(
12810 VkCommandBuffer commandBuffer,
12811 VkPipelineBindPoint pipelineBindPoint,
12812 VkPipeline pipeline,
12813 deUint32 groupIndex);
12815 VKAPI_ATTR VkResult VKAPI_CALL vkCreateIndirectCommandsLayoutNV(
12817 const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo,
12818 const VkAllocationCallbacks* pAllocator,
12819 VkIndirectCommandsLayoutNV* pIndirectCommandsLayout);
12821 VKAPI_ATTR void VKAPI_CALL vkDestroyIndirectCommandsLayoutNV(
12823 VkIndirectCommandsLayoutNV indirectCommandsLayout,
12824 const VkAllocationCallbacks* pAllocator);
12828 #define VK_NV_inherited_viewport_scissor 1
12829 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1
12830 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor"
12831 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV {
12832 VkStructureType sType;
12834 VkBool32 inheritedViewportScissor2D;
12835 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV;
12837 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV {
12838 VkStructureType sType;
12840 VkBool32 viewportScissor2D;
12841 deUint32 viewportDepthCount;
12842 const VkViewport* pViewportDepths;
12843 } VkCommandBufferInheritanceViewportScissorInfoNV;
12847 #define VK_EXT_texel_buffer_alignment 1
12848 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1
12849 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment"
12850 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
12851 VkStructureType sType;
12853 VkBool32 texelBufferAlignment;
12854 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
12856 typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
12857 VkStructureType sType;
12859 VkDeviceSize storageTexelBufferOffsetAlignmentBytes;
12860 VkBool32 storageTexelBufferOffsetSingleTexelAlignment;
12861 VkDeviceSize uniformTexelBufferOffsetAlignmentBytes;
12862 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment;
12863 } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
12867 #define VK_QCOM_render_pass_transform 1
12868 #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
12869 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
12870 typedef struct VkRenderPassTransformBeginInfoQCOM {
12871 VkStructureType sType;
12873 VkSurfaceTransformFlagBitsKHR transform;
12874 } VkRenderPassTransformBeginInfoQCOM;
12876 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM {
12877 VkStructureType sType;
12879 VkSurfaceTransformFlagBitsKHR transform;
12880 VkRect2D renderArea;
12881 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM;
12885 #define VK_EXT_device_memory_report 1
12886 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2
12887 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report"
12889 typedef enum VkDeviceMemoryReportEventTypeEXT {
12890 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT = 0,
12891 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT = 1,
12892 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT = 2,
12893 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT = 3,
12894 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT = 4,
12895 VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
12896 } VkDeviceMemoryReportEventTypeEXT;
12897 typedef VkFlags VkDeviceMemoryReportFlagsEXT;
12898 typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT {
12899 VkStructureType sType;
12901 VkBool32 deviceMemoryReport;
12902 } VkPhysicalDeviceDeviceMemoryReportFeaturesEXT;
12904 typedef struct VkDeviceMemoryReportCallbackDataEXT {
12905 VkStructureType sType;
12907 VkDeviceMemoryReportFlagsEXT flags;
12908 VkDeviceMemoryReportEventTypeEXT type;
12909 deUint64 memoryObjectId;
12911 VkObjectType objectType;
12912 deUint64 objectHandle;
12913 deUint32 heapIndex;
12914 } VkDeviceMemoryReportCallbackDataEXT;
12916 typedef void (VKAPI_PTR *PFN_vkDeviceMemoryReportCallbackEXT)(
12917 const VkDeviceMemoryReportCallbackDataEXT* pCallbackData,
12920 typedef struct VkDeviceDeviceMemoryReportCreateInfoEXT {
12921 VkStructureType sType;
12923 VkDeviceMemoryReportFlagsEXT flags;
12924 PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback;
12926 } VkDeviceDeviceMemoryReportCreateInfoEXT;
12930 #define VK_EXT_acquire_drm_display 1
12931 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1
12932 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display"
12933 typedef VkResult (VKAPI_PTR *PFN_vkAcquireDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, VkDisplayKHR display);
12934 typedef VkResult (VKAPI_PTR *PFN_vkGetDrmDisplayEXT)(VkPhysicalDevice physicalDevice, deInt32 drmFd, deUint32 connectorId, VkDisplayKHR* display);
12936 #ifndef VK_NO_PROTOTYPES
12937 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireDrmDisplayEXT(
12938 VkPhysicalDevice physicalDevice,
12940 VkDisplayKHR display);
12942 VKAPI_ATTR VkResult VKAPI_CALL vkGetDrmDisplayEXT(
12943 VkPhysicalDevice physicalDevice,
12945 deUint32 connectorId,
12946 VkDisplayKHR* display);
12950 #define VK_EXT_robustness2 1
12951 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1
12952 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2"
12953 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
12954 VkStructureType sType;
12956 VkBool32 robustBufferAccess2;
12957 VkBool32 robustImageAccess2;
12958 VkBool32 nullDescriptor;
12959 } VkPhysicalDeviceRobustness2FeaturesEXT;
12961 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
12962 VkStructureType sType;
12964 VkDeviceSize robustStorageBufferAccessSizeAlignment;
12965 VkDeviceSize robustUniformBufferAccessSizeAlignment;
12966 } VkPhysicalDeviceRobustness2PropertiesEXT;
12970 #define VK_EXT_custom_border_color 1
12971 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12
12972 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color"
12973 typedef struct VkSamplerCustomBorderColorCreateInfoEXT {
12974 VkStructureType sType;
12976 VkClearColorValue customBorderColor;
12978 } VkSamplerCustomBorderColorCreateInfoEXT;
12980 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
12981 VkStructureType sType;
12983 deUint32 maxCustomBorderColorSamplers;
12984 } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
12986 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
12987 VkStructureType sType;
12989 VkBool32 customBorderColors;
12990 VkBool32 customBorderColorWithoutFormat;
12991 } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
12995 #define VK_GOOGLE_user_type 1
12996 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1
12997 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type"
13000 #define VK_EXT_private_data 1
13001 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPrivateDataSlotEXT)
13002 #define VK_EXT_PRIVATE_DATA_SPEC_VERSION 1
13003 #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data"
13005 typedef enum VkPrivateDataSlotCreateFlagBitsEXT {
13006 VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
13007 } VkPrivateDataSlotCreateFlagBitsEXT;
13008 typedef VkFlags VkPrivateDataSlotCreateFlagsEXT;
13009 typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
13010 VkStructureType sType;
13012 VkBool32 privateData;
13013 } VkPhysicalDevicePrivateDataFeaturesEXT;
13015 typedef struct VkDevicePrivateDataCreateInfoEXT {
13016 VkStructureType sType;
13018 deUint32 privateDataSlotRequestCount;
13019 } VkDevicePrivateDataCreateInfoEXT;
13021 typedef struct VkPrivateDataSlotCreateInfoEXT {
13022 VkStructureType sType;
13024 VkPrivateDataSlotCreateFlagsEXT flags;
13025 } VkPrivateDataSlotCreateInfoEXT;
13027 typedef VkResult (VKAPI_PTR *PFN_vkCreatePrivateDataSlotEXT)(VkDevice device, const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPrivateDataSlotEXT* pPrivateDataSlot);
13028 typedef void (VKAPI_PTR *PFN_vkDestroyPrivateDataSlotEXT)(VkDevice device, VkPrivateDataSlotEXT privateDataSlot, const VkAllocationCallbacks* pAllocator);
13029 typedef VkResult (VKAPI_PTR *PFN_vkSetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64 data);
13030 typedef void (VKAPI_PTR *PFN_vkGetPrivateDataEXT)(VkDevice device, VkObjectType objectType, deUint64 objectHandle, VkPrivateDataSlotEXT privateDataSlot, deUint64* pData);
13032 #ifndef VK_NO_PROTOTYPES
13033 VKAPI_ATTR VkResult VKAPI_CALL vkCreatePrivateDataSlotEXT(
13035 const VkPrivateDataSlotCreateInfoEXT* pCreateInfo,
13036 const VkAllocationCallbacks* pAllocator,
13037 VkPrivateDataSlotEXT* pPrivateDataSlot);
13039 VKAPI_ATTR void VKAPI_CALL vkDestroyPrivateDataSlotEXT(
13041 VkPrivateDataSlotEXT privateDataSlot,
13042 const VkAllocationCallbacks* pAllocator);
13044 VKAPI_ATTR VkResult VKAPI_CALL vkSetPrivateDataEXT(
13046 VkObjectType objectType,
13047 deUint64 objectHandle,
13048 VkPrivateDataSlotEXT privateDataSlot,
13051 VKAPI_ATTR void VKAPI_CALL vkGetPrivateDataEXT(
13053 VkObjectType objectType,
13054 deUint64 objectHandle,
13055 VkPrivateDataSlotEXT privateDataSlot,
13060 #define VK_EXT_pipeline_creation_cache_control 1
13061 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3
13062 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control"
13063 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
13064 VkStructureType sType;
13066 VkBool32 pipelineCreationCacheControl;
13067 } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
13071 #define VK_NV_device_diagnostics_config 1
13072 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 1
13073 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config"
13075 typedef enum VkDeviceDiagnosticsConfigFlagBitsNV {
13076 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV = 0x00000001,
13077 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV = 0x00000002,
13078 VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV = 0x00000004,
13079 VK_DEVICE_DIAGNOSTICS_CONFIG_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF
13080 } VkDeviceDiagnosticsConfigFlagBitsNV;
13081 typedef VkFlags VkDeviceDiagnosticsConfigFlagsNV;
13082 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
13083 VkStructureType sType;
13085 VkBool32 diagnosticsConfig;
13086 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
13088 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
13089 VkStructureType sType;
13091 VkDeviceDiagnosticsConfigFlagsNV flags;
13092 } VkDeviceDiagnosticsConfigCreateInfoNV;
13096 #define VK_QCOM_render_pass_store_ops 1
13097 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2
13098 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
13101 #define VK_NV_fragment_shading_rate_enums 1
13102 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1
13103 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums"
13105 typedef enum VkFragmentShadingRateTypeNV {
13106 VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV = 0,
13107 VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV = 1,
13108 VK_FRAGMENT_SHADING_RATE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13109 } VkFragmentShadingRateTypeNV;
13111 typedef enum VkFragmentShadingRateNV {
13112 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV = 0,
13113 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV = 1,
13114 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV = 4,
13115 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV = 5,
13116 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV = 6,
13117 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV = 9,
13118 VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV = 10,
13119 VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV = 11,
13120 VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV = 12,
13121 VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV = 13,
13122 VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV = 14,
13123 VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV = 15,
13124 VK_FRAGMENT_SHADING_RATE_MAX_ENUM_NV = 0x7FFFFFFF
13125 } VkFragmentShadingRateNV;
13126 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
13127 VkStructureType sType;
13129 VkBool32 fragmentShadingRateEnums;
13130 VkBool32 supersampleFragmentShadingRates;
13131 VkBool32 noInvocationFragmentShadingRates;
13132 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV;
13134 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
13135 VkStructureType sType;
13137 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount;
13138 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV;
13140 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV {
13141 VkStructureType sType;
13143 VkFragmentShadingRateTypeNV shadingRateType;
13144 VkFragmentShadingRateNV shadingRate;
13145 VkFragmentShadingRateCombinerOpKHR combinerOps[2];
13146 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV;
13148 typedef void (VKAPI_PTR *PFN_vkCmdSetFragmentShadingRateEnumNV)(VkCommandBuffer commandBuffer, VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13150 #ifndef VK_NO_PROTOTYPES
13151 VKAPI_ATTR void VKAPI_CALL vkCmdSetFragmentShadingRateEnumNV(
13152 VkCommandBuffer commandBuffer,
13153 VkFragmentShadingRateNV shadingRate,
13154 const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);
13158 #define VK_NV_ray_tracing_motion_blur 1
13159 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1
13160 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur"
13162 typedef enum VkAccelerationStructureMotionInstanceTypeNV {
13163 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV = 0,
13164 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV = 1,
13165 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV = 2,
13166 VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
13167 } VkAccelerationStructureMotionInstanceTypeNV;
13168 typedef VkFlags VkAccelerationStructureMotionInfoFlagsNV;
13169 typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV;
13170 typedef union VkDeviceOrHostAddressConstKHR {
13171 VkDeviceAddress deviceAddress;
13172 const void* hostAddress;
13173 } VkDeviceOrHostAddressConstKHR;
13175 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV {
13176 VkStructureType sType;
13178 VkDeviceOrHostAddressConstKHR vertexData;
13179 } VkAccelerationStructureGeometryMotionTrianglesDataNV;
13181 typedef struct VkAccelerationStructureMotionInfoNV {
13182 VkStructureType sType;
13184 deUint32 maxInstances;
13185 VkAccelerationStructureMotionInfoFlagsNV flags;
13186 } VkAccelerationStructureMotionInfoNV;
13188 typedef struct VkAccelerationStructureMatrixMotionInstanceNV {
13189 VkTransformMatrixKHR transformT0;
13190 VkTransformMatrixKHR transformT1;
13191 deUint32 instanceCustomIndex:24;
13193 deUint32 instanceShaderBindingTableRecordOffset:24;
13194 VkGeometryInstanceFlagsKHR flags:8;
13195 deUint64 accelerationStructureReference;
13196 } VkAccelerationStructureMatrixMotionInstanceNV;
13198 typedef struct VkSRTDataNV {
13217 typedef struct VkAccelerationStructureSRTMotionInstanceNV {
13218 VkSRTDataNV transformT0;
13219 VkSRTDataNV transformT1;
13220 deUint32 instanceCustomIndex:24;
13222 deUint32 instanceShaderBindingTableRecordOffset:24;
13223 VkGeometryInstanceFlagsKHR flags:8;
13224 deUint64 accelerationStructureReference;
13225 } VkAccelerationStructureSRTMotionInstanceNV;
13227 typedef union VkAccelerationStructureMotionInstanceDataNV {
13228 VkAccelerationStructureInstanceKHR staticInstance;
13229 VkAccelerationStructureMatrixMotionInstanceNV matrixMotionInstance;
13230 VkAccelerationStructureSRTMotionInstanceNV srtMotionInstance;
13231 } VkAccelerationStructureMotionInstanceDataNV;
13233 typedef struct VkAccelerationStructureMotionInstanceNV {
13234 VkAccelerationStructureMotionInstanceTypeNV type;
13235 VkAccelerationStructureMotionInstanceFlagsNV flags;
13236 VkAccelerationStructureMotionInstanceDataNV data;
13237 } VkAccelerationStructureMotionInstanceNV;
13239 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV {
13240 VkStructureType sType;
13242 VkBool32 rayTracingMotionBlur;
13243 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect;
13244 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV;
13248 #define VK_EXT_ycbcr_2plane_444_formats 1
13249 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1
13250 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats"
13251 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
13252 VkStructureType sType;
13254 VkBool32 ycbcr2plane444Formats;
13255 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT;
13259 #define VK_EXT_fragment_density_map2 1
13260 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1
13261 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2"
13262 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
13263 VkStructureType sType;
13265 VkBool32 fragmentDensityMapDeferred;
13266 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
13268 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
13269 VkStructureType sType;
13271 VkBool32 subsampledLoads;
13272 VkBool32 subsampledCoarseReconstructionEarlyAccess;
13273 deUint32 maxSubsampledArrayLayers;
13274 deUint32 maxDescriptorSetSubsampledSamplers;
13275 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
13279 #define VK_QCOM_rotated_copy_commands 1
13280 #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1
13281 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands"
13282 typedef struct VkCopyCommandTransformInfoQCOM {
13283 VkStructureType sType;
13285 VkSurfaceTransformFlagBitsKHR transform;
13286 } VkCopyCommandTransformInfoQCOM;
13290 #define VK_EXT_image_robustness 1
13291 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1
13292 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness"
13293 typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
13294 VkStructureType sType;
13296 VkBool32 robustImageAccess;
13297 } VkPhysicalDeviceImageRobustnessFeaturesEXT;
13301 #define VK_EXT_4444_formats 1
13302 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1
13303 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
13304 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
13305 VkStructureType sType;
13307 VkBool32 formatA4R4G4B4;
13308 VkBool32 formatA4B4G4R4;
13309 } VkPhysicalDevice4444FormatsFeaturesEXT;
13313 #define VK_NV_acquire_winrt_display 1
13314 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
13315 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
13316 typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
13317 typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, deUint32 deviceRelativeId, VkDisplayKHR* pDisplay);
13319 #ifndef VK_NO_PROTOTYPES
13320 VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
13321 VkPhysicalDevice physicalDevice,
13322 VkDisplayKHR display);
13324 VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
13325 VkPhysicalDevice physicalDevice,
13326 deUint32 deviceRelativeId,
13327 VkDisplayKHR* pDisplay);
13331 #define VK_VALVE_mutable_descriptor_type 1
13332 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1
13333 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type"
13334 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE {
13335 VkStructureType sType;
13337 VkBool32 mutableDescriptorType;
13338 } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE;
13340 typedef struct VkMutableDescriptorTypeListVALVE {
13341 deUint32 descriptorTypeCount;
13342 const VkDescriptorType* pDescriptorTypes;
13343 } VkMutableDescriptorTypeListVALVE;
13345 typedef struct VkMutableDescriptorTypeCreateInfoVALVE {
13346 VkStructureType sType;
13348 deUint32 mutableDescriptorTypeListCount;
13349 const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists;
13350 } VkMutableDescriptorTypeCreateInfoVALVE;
13354 #define VK_EXT_vertex_input_dynamic_state 1
13355 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2
13356 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state"
13357 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT {
13358 VkStructureType sType;
13360 VkBool32 vertexInputDynamicState;
13361 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT;
13363 typedef struct VkVertexInputBindingDescription2EXT {
13364 VkStructureType sType;
13368 VkVertexInputRate inputRate;
13370 } VkVertexInputBindingDescription2EXT;
13372 typedef struct VkVertexInputAttributeDescription2EXT {
13373 VkStructureType sType;
13379 } VkVertexInputAttributeDescription2EXT;
13381 typedef void (VKAPI_PTR *PFN_vkCmdSetVertexInputEXT)(VkCommandBuffer commandBuffer, deUint32 vertexBindingDescriptionCount, const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions, deUint32 vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13383 #ifndef VK_NO_PROTOTYPES
13384 VKAPI_ATTR void VKAPI_CALL vkCmdSetVertexInputEXT(
13385 VkCommandBuffer commandBuffer,
13386 deUint32 vertexBindingDescriptionCount,
13387 const VkVertexInputBindingDescription2EXT* pVertexBindingDescriptions,
13388 deUint32 vertexAttributeDescriptionCount,
13389 const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions);
13393 #define VK_EXT_physical_device_drm 1
13394 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1
13395 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm"
13396 typedef struct VkPhysicalDeviceDrmPropertiesEXT {
13397 VkStructureType sType;
13399 VkBool32 hasPrimary;
13400 VkBool32 hasRender;
13401 deInt64 primaryMajor;
13402 deInt64 primaryMinor;
13403 deInt64 renderMajor;
13404 deInt64 renderMinor;
13405 } VkPhysicalDeviceDrmPropertiesEXT;
13409 #define VK_HUAWEI_subpass_shading 1
13410 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
13411 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
13412 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI {
13413 VkStructureType sType;
13415 VkRenderPass renderPass;
13417 } VkSubpassShadingPipelineCreateInfoHUAWEI;
13419 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI {
13420 VkStructureType sType;
13422 VkBool32 subpassShading;
13423 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI;
13425 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI {
13426 VkStructureType sType;
13428 deUint32 maxSubpassShadingWorkgroupSizeAspectRatio;
13429 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI;
13431 typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)(VkDevice device, VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize);
13432 typedef void (VKAPI_PTR *PFN_vkCmdSubpassShadingHUAWEI)(VkCommandBuffer commandBuffer);
13434 #ifndef VK_NO_PROTOTYPES
13435 VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
13437 VkRenderPass renderpass,
13438 VkExtent2D* pMaxWorkgroupSize);
13440 VKAPI_ATTR void VKAPI_CALL vkCmdSubpassShadingHUAWEI(
13441 VkCommandBuffer commandBuffer);
13445 #define VK_HUAWEI_invocation_mask 1
13446 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1
13447 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask"
13448 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI {
13449 VkStructureType sType;
13451 VkBool32 invocationMask;
13452 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI;
13454 typedef void (VKAPI_PTR *PFN_vkCmdBindInvocationMaskHUAWEI)(VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout);
13456 #ifndef VK_NO_PROTOTYPES
13457 VKAPI_ATTR void VKAPI_CALL vkCmdBindInvocationMaskHUAWEI(
13458 VkCommandBuffer commandBuffer,
13459 VkImageView imageView,
13460 VkImageLayout imageLayout);
13464 #define VK_NV_external_memory_rdma 1
13465 typedef void* VkRemoteAddressNV;
13466 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1
13467 #define VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME "VK_NV_external_memory_rdma"
13468 typedef struct VkMemoryGetRemoteAddressInfoNV {
13469 VkStructureType sType;
13471 VkDeviceMemory memory;
13472 VkExternalMemoryHandleTypeFlagBits handleType;
13473 } VkMemoryGetRemoteAddressInfoNV;
13475 typedef struct VkPhysicalDeviceExternalMemoryRDMAFeaturesNV {
13476 VkStructureType sType;
13478 VkBool32 externalMemoryRDMA;
13479 } VkPhysicalDeviceExternalMemoryRDMAFeaturesNV;
13481 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryRemoteAddressNV)(VkDevice device, const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress);
13483 #ifndef VK_NO_PROTOTYPES
13484 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryRemoteAddressNV(
13486 const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo,
13487 VkRemoteAddressNV* pAddress);
13491 #define VK_EXT_extended_dynamic_state2 1
13492 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
13493 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
13494 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT {
13495 VkStructureType sType;
13497 VkBool32 extendedDynamicState2;
13498 VkBool32 extendedDynamicState2LogicOp;
13499 VkBool32 extendedDynamicState2PatchControlPoints;
13500 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT;
13502 typedef void (VKAPI_PTR *PFN_vkCmdSetPatchControlPointsEXT)(VkCommandBuffer commandBuffer, deUint32 patchControlPoints);
13503 typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizerDiscardEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable);
13504 typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBiasEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable);
13505 typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEXT)(VkCommandBuffer commandBuffer, VkLogicOp logicOp);
13506 typedef void (VKAPI_PTR *PFN_vkCmdSetPrimitiveRestartEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable);
13508 #ifndef VK_NO_PROTOTYPES
13509 VKAPI_ATTR void VKAPI_CALL vkCmdSetPatchControlPointsEXT(
13510 VkCommandBuffer commandBuffer,
13511 deUint32 patchControlPoints);
13513 VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizerDiscardEnableEXT(
13514 VkCommandBuffer commandBuffer,
13515 VkBool32 rasterizerDiscardEnable);
13517 VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBiasEnableEXT(
13518 VkCommandBuffer commandBuffer,
13519 VkBool32 depthBiasEnable);
13521 VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEXT(
13522 VkCommandBuffer commandBuffer,
13523 VkLogicOp logicOp);
13525 VKAPI_ATTR void VKAPI_CALL vkCmdSetPrimitiveRestartEnableEXT(
13526 VkCommandBuffer commandBuffer,
13527 VkBool32 primitiveRestartEnable);
13531 #define VK_EXT_color_write_enable 1
13532 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1
13533 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable"
13534 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT {
13535 VkStructureType sType;
13537 VkBool32 colorWriteEnable;
13538 } VkPhysicalDeviceColorWriteEnableFeaturesEXT;
13540 typedef struct VkPipelineColorWriteCreateInfoEXT {
13541 VkStructureType sType;
13543 deUint32 attachmentCount;
13544 const VkBool32* pColorWriteEnables;
13545 } VkPipelineColorWriteCreateInfoEXT;
13547 typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteEnableEXT)(VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkBool32* pColorWriteEnables);
13549 #ifndef VK_NO_PROTOTYPES
13550 VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteEnableEXT(
13551 VkCommandBuffer commandBuffer,
13552 deUint32 attachmentCount,
13553 const VkBool32* pColorWriteEnables);
13557 #define VK_EXT_global_priority_query 1
13558 #define VK_MAX_GLOBAL_PRIORITY_SIZE_EXT 16U
13559 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1
13560 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query"
13561 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT {
13562 VkStructureType sType;
13564 VkBool32 globalPriorityQuery;
13565 } VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT;
13567 typedef struct VkQueueFamilyGlobalPriorityPropertiesEXT {
13568 VkStructureType sType;
13570 deUint32 priorityCount;
13571 VkQueueGlobalPriorityEXT priorities[VK_MAX_GLOBAL_PRIORITY_SIZE_EXT];
13572 } VkQueueFamilyGlobalPriorityPropertiesEXT;
13576 #define VK_EXT_multi_draw 1
13577 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1
13578 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw"
13579 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT {
13580 VkStructureType sType;
13582 VkBool32 multiDraw;
13583 } VkPhysicalDeviceMultiDrawFeaturesEXT;
13585 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT {
13586 VkStructureType sType;
13588 deUint32 maxMultiDrawCount;
13589 } VkPhysicalDeviceMultiDrawPropertiesEXT;
13591 typedef struct VkMultiDrawInfoEXT {
13592 deUint32 firstVertex;
13593 deUint32 vertexCount;
13594 } VkMultiDrawInfoEXT;
13596 typedef struct VkMultiDrawIndexedInfoEXT {
13597 deUint32 firstIndex;
13598 deUint32 indexCount;
13599 deInt32 vertexOffset;
13600 } VkMultiDrawIndexedInfoEXT;
13602 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawInfoEXT* pVertexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride);
13603 typedef void (VKAPI_PTR *PFN_vkCmdDrawMultiIndexedEXT)(VkCommandBuffer commandBuffer, deUint32 drawCount, const VkMultiDrawIndexedInfoEXT* pIndexInfo, deUint32 instanceCount, deUint32 firstInstance, deUint32 stride, const deInt32* pVertexOffset);
13605 #ifndef VK_NO_PROTOTYPES
13606 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiEXT(
13607 VkCommandBuffer commandBuffer,
13608 deUint32 drawCount,
13609 const VkMultiDrawInfoEXT* pVertexInfo,
13610 deUint32 instanceCount,
13611 deUint32 firstInstance,
13614 VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT(
13615 VkCommandBuffer commandBuffer,
13616 deUint32 drawCount,
13617 const VkMultiDrawIndexedInfoEXT* pIndexInfo,
13618 deUint32 instanceCount,
13619 deUint32 firstInstance,
13621 const deInt32* pVertexOffset);
13625 #define VK_EXT_load_store_op_none 1
13626 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
13627 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
13630 #define VK_KHR_acceleration_structure 1
13631 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
13632 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 12
13633 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
13635 typedef enum VkBuildAccelerationStructureModeKHR {
13636 VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR = 0,
13637 VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR = 1,
13638 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF
13639 } VkBuildAccelerationStructureModeKHR;
13641 typedef enum VkAccelerationStructureBuildTypeKHR {
13642 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
13643 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
13644 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
13645 VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
13646 } VkAccelerationStructureBuildTypeKHR;
13648 typedef enum VkAccelerationStructureCompatibilityKHR {
13649 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0,
13650 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1,
13651 VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF
13652 } VkAccelerationStructureCompatibilityKHR;
13654 typedef enum VkAccelerationStructureCreateFlagBitsKHR {
13655 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
13656 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
13657 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
13658 } VkAccelerationStructureCreateFlagBitsKHR;
13659 typedef VkFlags VkAccelerationStructureCreateFlagsKHR;
13660 typedef union VkDeviceOrHostAddressKHR {
13661 VkDeviceAddress deviceAddress;
13663 } VkDeviceOrHostAddressKHR;
13665 typedef struct VkAccelerationStructureBuildRangeInfoKHR {
13666 deUint32 primitiveCount;
13667 deUint32 primitiveOffset;
13668 deUint32 firstVertex;
13669 deUint32 transformOffset;
13670 } VkAccelerationStructureBuildRangeInfoKHR;
13672 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
13673 VkStructureType sType;
13675 VkFormat vertexFormat;
13676 VkDeviceOrHostAddressConstKHR vertexData;
13677 VkDeviceSize vertexStride;
13678 deUint32 maxVertex;
13679 VkIndexType indexType;
13680 VkDeviceOrHostAddressConstKHR indexData;
13681 VkDeviceOrHostAddressConstKHR transformData;
13682 } VkAccelerationStructureGeometryTrianglesDataKHR;
13684 typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
13685 VkStructureType sType;
13687 VkDeviceOrHostAddressConstKHR data;
13688 VkDeviceSize stride;
13689 } VkAccelerationStructureGeometryAabbsDataKHR;
13691 typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
13692 VkStructureType sType;
13694 VkBool32 arrayOfPointers;
13695 VkDeviceOrHostAddressConstKHR data;
13696 } VkAccelerationStructureGeometryInstancesDataKHR;
13698 typedef union VkAccelerationStructureGeometryDataKHR {
13699 VkAccelerationStructureGeometryTrianglesDataKHR triangles;
13700 VkAccelerationStructureGeometryAabbsDataKHR aabbs;
13701 VkAccelerationStructureGeometryInstancesDataKHR instances;
13702 } VkAccelerationStructureGeometryDataKHR;
13704 typedef struct VkAccelerationStructureGeometryKHR {
13705 VkStructureType sType;
13707 VkGeometryTypeKHR geometryType;
13708 VkAccelerationStructureGeometryDataKHR geometry;
13709 VkGeometryFlagsKHR flags;
13710 } VkAccelerationStructureGeometryKHR;
13712 typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
13713 VkStructureType sType;
13715 VkAccelerationStructureTypeKHR type;
13716 VkBuildAccelerationStructureFlagsKHR flags;
13717 VkBuildAccelerationStructureModeKHR mode;
13718 VkAccelerationStructureKHR srcAccelerationStructure;
13719 VkAccelerationStructureKHR dstAccelerationStructure;
13720 deUint32 geometryCount;
13721 const VkAccelerationStructureGeometryKHR* pGeometries;
13722 const VkAccelerationStructureGeometryKHR* const* ppGeometries;
13723 VkDeviceOrHostAddressKHR scratchData;
13724 } VkAccelerationStructureBuildGeometryInfoKHR;
13726 typedef struct VkAccelerationStructureCreateInfoKHR {
13727 VkStructureType sType;
13729 VkAccelerationStructureCreateFlagsKHR createFlags;
13731 VkDeviceSize offset;
13733 VkAccelerationStructureTypeKHR type;
13734 VkDeviceAddress deviceAddress;
13735 } VkAccelerationStructureCreateInfoKHR;
13737 typedef struct VkWriteDescriptorSetAccelerationStructureKHR {
13738 VkStructureType sType;
13740 deUint32 accelerationStructureCount;
13741 const VkAccelerationStructureKHR* pAccelerationStructures;
13742 } VkWriteDescriptorSetAccelerationStructureKHR;
13744 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR {
13745 VkStructureType sType;
13747 VkBool32 accelerationStructure;
13748 VkBool32 accelerationStructureCaptureReplay;
13749 VkBool32 accelerationStructureIndirectBuild;
13750 VkBool32 accelerationStructureHostCommands;
13751 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind;
13752 } VkPhysicalDeviceAccelerationStructureFeaturesKHR;
13754 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR {
13755 VkStructureType sType;
13757 deUint64 maxGeometryCount;
13758 deUint64 maxInstanceCount;
13759 deUint64 maxPrimitiveCount;
13760 deUint32 maxPerStageDescriptorAccelerationStructures;
13761 deUint32 maxPerStageDescriptorUpdateAfterBindAccelerationStructures;
13762 deUint32 maxDescriptorSetAccelerationStructures;
13763 deUint32 maxDescriptorSetUpdateAfterBindAccelerationStructures;
13764 deUint32 minAccelerationStructureScratchOffsetAlignment;
13765 } VkPhysicalDeviceAccelerationStructurePropertiesKHR;
13767 typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
13768 VkStructureType sType;
13770 VkAccelerationStructureKHR accelerationStructure;
13771 } VkAccelerationStructureDeviceAddressInfoKHR;
13773 typedef struct VkAccelerationStructureVersionInfoKHR {
13774 VkStructureType sType;
13776 const deUint8* pVersionData;
13777 } VkAccelerationStructureVersionInfoKHR;
13779 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
13780 VkStructureType sType;
13782 VkAccelerationStructureKHR src;
13783 VkDeviceOrHostAddressKHR dst;
13784 VkCopyAccelerationStructureModeKHR mode;
13785 } VkCopyAccelerationStructureToMemoryInfoKHR;
13787 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
13788 VkStructureType sType;
13790 VkDeviceOrHostAddressConstKHR src;
13791 VkAccelerationStructureKHR dst;
13792 VkCopyAccelerationStructureModeKHR mode;
13793 } VkCopyMemoryToAccelerationStructureInfoKHR;
13795 typedef struct VkCopyAccelerationStructureInfoKHR {
13796 VkStructureType sType;
13798 VkAccelerationStructureKHR src;
13799 VkAccelerationStructureKHR dst;
13800 VkCopyAccelerationStructureModeKHR mode;
13801 } VkCopyAccelerationStructureInfoKHR;
13803 typedef struct VkAccelerationStructureBuildSizesInfoKHR {
13804 VkStructureType sType;
13806 VkDeviceSize accelerationStructureSize;
13807 VkDeviceSize updateScratchSize;
13808 VkDeviceSize buildScratchSize;
13809 } VkAccelerationStructureBuildSizesInfoKHR;
13811 typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
13812 typedef void (VKAPI_PTR *PFN_vkDestroyAccelerationStructureKHR)(VkDevice device, VkAccelerationStructureKHR accelerationStructure, const VkAllocationCallbacks* pAllocator);
13813 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13814 typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer commandBuffer, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkDeviceAddress* pIndirectDeviceAddresses, const deUint32* pIndirectStrides, const deUint32* const* ppMaxPrimitiveCounts);
13815 typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructuresKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, deUint32 infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13816 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR* pInfo);
13817 typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13818 typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13819 typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, deUintptr dataSize, void* pData, deUintptr stride);
13820 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
13821 typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13822 typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13823 typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13824 typedef void (VKAPI_PTR *PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)(VkCommandBuffer commandBuffer, deUint32 accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, deUint32 firstQuery);
13825 typedef void (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionInfoKHR* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility);
13826 typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureBuildSizesKHR)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, const deUint32* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13828 #ifndef VK_NO_PROTOTYPES
13829 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
13831 const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
13832 const VkAllocationCallbacks* pAllocator,
13833 VkAccelerationStructureKHR* pAccelerationStructure);
13835 VKAPI_ATTR void VKAPI_CALL vkDestroyAccelerationStructureKHR(
13837 VkAccelerationStructureKHR accelerationStructure,
13838 const VkAllocationCallbacks* pAllocator);
13840 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(
13841 VkCommandBuffer commandBuffer,
13842 deUint32 infoCount,
13843 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13844 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13846 VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(
13847 VkCommandBuffer commandBuffer,
13848 deUint32 infoCount,
13849 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13850 const VkDeviceAddress* pIndirectDeviceAddresses,
13851 const deUint32* pIndirectStrides,
13852 const deUint32* const* ppMaxPrimitiveCounts);
13854 VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructuresKHR(
13856 VkDeferredOperationKHR deferredOperation,
13857 deUint32 infoCount,
13858 const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
13859 const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos);
13861 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
13863 VkDeferredOperationKHR deferredOperation,
13864 const VkCopyAccelerationStructureInfoKHR* pInfo);
13866 VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
13868 VkDeferredOperationKHR deferredOperation,
13869 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13871 VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
13873 VkDeferredOperationKHR deferredOperation,
13874 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13876 VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
13878 deUint32 accelerationStructureCount,
13879 const VkAccelerationStructureKHR* pAccelerationStructures,
13880 VkQueryType queryType,
13881 deUintptr dataSize,
13885 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
13886 VkCommandBuffer commandBuffer,
13887 const VkCopyAccelerationStructureInfoKHR* pInfo);
13889 VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
13890 VkCommandBuffer commandBuffer,
13891 const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
13893 VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
13894 VkCommandBuffer commandBuffer,
13895 const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
13897 VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
13899 const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
13901 VKAPI_ATTR void VKAPI_CALL vkCmdWriteAccelerationStructuresPropertiesKHR(
13902 VkCommandBuffer commandBuffer,
13903 deUint32 accelerationStructureCount,
13904 const VkAccelerationStructureKHR* pAccelerationStructures,
13905 VkQueryType queryType,
13906 VkQueryPool queryPool,
13907 deUint32 firstQuery);
13909 VKAPI_ATTR void VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
13911 const VkAccelerationStructureVersionInfoKHR* pVersionInfo,
13912 VkAccelerationStructureCompatibilityKHR* pCompatibility);
13914 VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureBuildSizesKHR(
13916 VkAccelerationStructureBuildTypeKHR buildType,
13917 const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo,
13918 const deUint32* pMaxPrimitiveCounts,
13919 VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo);
13923 #define VK_KHR_ray_tracing_pipeline 1
13924 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1
13925 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline"
13927 typedef enum VkShaderGroupShaderKHR {
13928 VK_SHADER_GROUP_SHADER_GENERAL_KHR = 0,
13929 VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR = 1,
13930 VK_SHADER_GROUP_SHADER_ANY_HIT_KHR = 2,
13931 VK_SHADER_GROUP_SHADER_INTERSECTION_KHR = 3,
13932 VK_SHADER_GROUP_SHADER_MAX_ENUM_KHR = 0x7FFFFFFF
13933 } VkShaderGroupShaderKHR;
13934 typedef struct VkRayTracingShaderGroupCreateInfoKHR {
13935 VkStructureType sType;
13937 VkRayTracingShaderGroupTypeKHR type;
13938 deUint32 generalShader;
13939 deUint32 closestHitShader;
13940 deUint32 anyHitShader;
13941 deUint32 intersectionShader;
13942 const void* pShaderGroupCaptureReplayHandle;
13943 } VkRayTracingShaderGroupCreateInfoKHR;
13945 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
13946 VkStructureType sType;
13948 deUint32 maxPipelineRayPayloadSize;
13949 deUint32 maxPipelineRayHitAttributeSize;
13950 } VkRayTracingPipelineInterfaceCreateInfoKHR;
13952 typedef struct VkRayTracingPipelineCreateInfoKHR {
13953 VkStructureType sType;
13955 VkPipelineCreateFlags flags;
13956 deUint32 stageCount;
13957 const VkPipelineShaderStageCreateInfo* pStages;
13958 deUint32 groupCount;
13959 const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
13960 deUint32 maxPipelineRayRecursionDepth;
13961 const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;
13962 const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
13963 const VkPipelineDynamicStateCreateInfo* pDynamicState;
13964 VkPipelineLayout layout;
13965 VkPipeline basePipelineHandle;
13966 deInt32 basePipelineIndex;
13967 } VkRayTracingPipelineCreateInfoKHR;
13969 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR {
13970 VkStructureType sType;
13972 VkBool32 rayTracingPipeline;
13973 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay;
13974 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed;
13975 VkBool32 rayTracingPipelineTraceRaysIndirect;
13976 VkBool32 rayTraversalPrimitiveCulling;
13977 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR;
13979 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR {
13980 VkStructureType sType;
13982 deUint32 shaderGroupHandleSize;
13983 deUint32 maxRayRecursionDepth;
13984 deUint32 maxShaderGroupStride;
13985 deUint32 shaderGroupBaseAlignment;
13986 deUint32 shaderGroupHandleCaptureReplaySize;
13987 deUint32 maxRayDispatchInvocationCount;
13988 deUint32 shaderGroupHandleAlignment;
13989 deUint32 maxRayHitAttributeSize;
13990 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR;
13992 typedef struct VkStridedDeviceAddressRegionKHR {
13993 VkDeviceAddress deviceAddress;
13994 VkDeviceSize stride;
13996 } VkStridedDeviceAddressRegionKHR;
13998 typedef struct VkTraceRaysIndirectCommandKHR {
14002 } VkTraceRaysIndirectCommandKHR;
14004 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);
14005 typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, deUint32 createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
14006 typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, deUint32 firstGroup, deUint32 groupCount, deUintptr dataSize, void* pData);
14007 typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress);
14008 typedef VkDeviceSize (VKAPI_PTR *PFN_vkGetRayTracingShaderGroupStackSizeKHR)(VkDevice device, VkPipeline pipeline, deUint32 group, VkShaderGroupShaderKHR groupShader);
14009 typedef void (VKAPI_PTR *PFN_vkCmdSetRayTracingPipelineStackSizeKHR)(VkCommandBuffer commandBuffer, deUint32 pipelineStackSize);
14011 #ifndef VK_NO_PROTOTYPES
14012 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
14013 VkCommandBuffer commandBuffer,
14014 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
14015 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
14016 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
14017 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
14022 VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
14024 VkDeferredOperationKHR deferredOperation,
14025 VkPipelineCache pipelineCache,
14026 deUint32 createInfoCount,
14027 const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
14028 const VkAllocationCallbacks* pAllocator,
14029 VkPipeline* pPipelines);
14031 VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
14033 VkPipeline pipeline,
14034 deUint32 firstGroup,
14035 deUint32 groupCount,
14036 deUintptr dataSize,
14039 VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
14040 VkCommandBuffer commandBuffer,
14041 const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable,
14042 const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable,
14043 const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable,
14044 const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable,
14045 VkDeviceAddress indirectDeviceAddress);
14047 VKAPI_ATTR VkDeviceSize VKAPI_CALL vkGetRayTracingShaderGroupStackSizeKHR(
14049 VkPipeline pipeline,
14051 VkShaderGroupShaderKHR groupShader);
14053 VKAPI_ATTR void VKAPI_CALL vkCmdSetRayTracingPipelineStackSizeKHR(
14054 VkCommandBuffer commandBuffer,
14055 deUint32 pipelineStackSize);
14059 #define VK_KHR_ray_query 1
14060 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1
14061 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query"
14062 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR {
14063 VkStructureType sType;
14066 } VkPhysicalDeviceRayQueryFeaturesKHR;